Source Code (Use browser search to find items of interest.)
Class Index
kscd'BitmapPut (./kdemultimedia/kscd/kscdmagic/bitmap.h:32)
struct BitmapPut {
static void go(
SrcType *src, int srcWidth, int srcHeight,
DestType *dest, int destWidth, int destHeight,
int srcX,int srcY,int destX, int destY, int width,int height) {
if (srcX < 0) {
destX -= srcX;
width += srcX;
srcX = 0;
}
if (srcY < 0) {
destY -= srcY;
height+= srcY;
srcY = 0;
}
if (destX < 0) {
srcX -= destX;
width += destX;
destX = 0;
}
if (destY < 0) {
srcY -= destY;
height+= destY;
destY = 0;
}
if (srcX+width > srcWidth) {
width = srcWidth - srcX;
}
if (srcY+height > srcHeight) {
height = srcHeight - srcY;
}
if (destX+width > destWidth) {
width = destWidth - destX;
}
if (destY+height > destHeight) {
height = destHeight - destY;
}
if (width <= 0 || height <= 0) return;
int srcSkip = srcWidth - width, destSkip = destWidth - width;
int i;
src += srcX + srcY * srcWidth;
dest += destX + destY * destWidth;
for(;height--;src+=srcSkip,dest+=destSkip)
for(i=width;i--;src++,dest++)
*dest = transfer(*src,*dest);
}};
kscd'BitmapPut::go() (./kdemultimedia/kscd/kscdmagic/bitmap.h:34)
static void go(
SrcType *src, int srcWidth, int srcHeight,
DestType *dest, int destWidth, int destHeight,
int srcX,int srcY,int destX, int destY, int width,int height) {
if (srcX < 0) {
destX -= srcX;
width += srcX;
srcX = 0;
}
if (srcY < 0) {
destY -= srcY;
height+= srcY;
srcY = 0;
}
if (destX < 0) {
srcX -= destX;
width += destX;
destX = 0;
}
if (destY < 0) {
srcY -= destY;
height+= destY;
destY = 0;
}
if (srcX+width > srcWidth) {
width = srcWidth - srcX;
}
if (srcY+height > srcHeight) {
height = srcHeight - srcY;
}
if (destX+width > destWidth) {
width = destWidth - destX;
}
if (destY+height > destHeight) {
height = destHeight - destY;
}
if (width <= 0 || height <= 0) return;
int srcSkip = srcWidth - width, destSkip = destWidth - width;
int i;
src += srcX + srcY * srcWidth;
dest += destX + destY * destWidth;
for(;height--;src+=srcSkip,dest+=destSkip)
for(i=width;i--;src++,dest++)
*dest = transfer(*src,*dest);
}};