21 #include "../SDL_internal.h" 34 const Uint32 modulateR = info->
r;
35 const Uint32 modulateG = info->
g;
36 const Uint32 modulateB = info->
b;
37 const Uint32 modulateA = info->
a;
57 while (info->
dst_h--) {
63 while (posy >= 0x10000L) {
68 if (posx >= 0x10000L) {
69 while (posx >= 0x10000L) {
74 (info->
src + (srcy * info->
src_pitch) + (srcx * srcbpp));
87 srcpixel = (srcR << src_fmt->
Rshift) |
90 if ((srcpixel & rgbmask) == ckey) {
100 DISEMBLE_RGB(dst, dstbpp, dst_fmt, dstpixel, dstR, dstG,
106 srcR = (srcR * modulateR) / 255;
107 srcG = (srcG * modulateG) / 255;
108 srcB = (srcB * modulateB) / 255;
111 srcA = (srcA * modulateA) / 255;
116 srcR = (srcR * srcA) / 255;
117 srcG = (srcG * srcA) / 255;
118 srcB = (srcB * srcA) / 255;
129 dstR = srcR + ((255 - srcA) * dstR) / 255;
130 dstG = srcG + ((255 - srcA) * dstG) / 255;
131 dstB = srcB + ((255 - srcA) * dstB) / 255;
132 dstA = srcA + ((255 - srcA) * dstA) / 255;
146 dstR = (srcR *
dstR) / 255;
147 dstG = (srcG *
dstG) / 255;
148 dstB = (srcB *
dstB) / 255;
151 if (dst_fmt->
Amask) {
#define SDL_COPY_MODULATE_COLOR
#define SDL_COPY_COLORKEY
SDL_PixelFormat * src_fmt
void SDL_Blit_Slow(SDL_BlitInfo *info)
#define ASSEMBLE_RGBA(buf, bpp, fmt, r, g, b, a)
#define DISEMBLE_RGBA(buf, bpp, fmt, Pixel, r, g, b, a)
#define ASSEMBLE_RGB(buf, bpp, fmt, r, g, b)
SDL_PixelFormat * dst_fmt
#define SDL_COPY_MODULATE_ALPHA
#define DISEMBLE_RGB(buf, bpp, fmt, Pixel, r, g, b)