34 const Uint32 modulateR = info->
r;
35 const Uint32 modulateG = info->
g;
36 const Uint32 modulateB = info->
b;
37 const Uint32 modulateA = info->
a;
39 Uint32 srcR, srcG, srcB, srcA;
41 Uint32 dstR, dstG, dstB, dstA;
55 while (info->
dst_h--) {
61 while (posy >= 0x10000L) {
66 if (posx >= 0x10000L) {
67 while (posx >= 0x10000L) {
72 (info->
src + (srcy * info->
src_pitch) + (srcx * srcbpp));
85 srcpixel = (srcR << src_fmt->
Rshift) |
104 srcR = (srcR * modulateR) / 255;
105 srcG = (srcG * modulateG) / 255;
106 srcB = (srcB * modulateB) / 255;
109 srcA = (srcA * modulateA) / 255;
114 srcR = (srcR * srcA) / 255;
115 srcG = (srcG * srcA) / 255;
116 srcB = (srcB * srcA) / 255;
127 dstR = srcR + ((255 - srcA) * dstR) / 255;
128 dstG = srcG + ((255 - srcA) * dstG) / 255;
129 dstB = srcB + ((255 - srcA) * dstB) / 255;
143 dstR = (srcR * dstR) / 255;
144 dstG = (srcG * dstG) / 255;
145 dstB = (srcB * dstB) / 255;
148 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)
uint32_t Uint32
An unsigned 32-bit integer type.
#define DISEMBLE_RGBA(buf, bpp, fmt, Pixel, r, g, b, a)
#define ASSEMBLE_RGB(buf, bpp, fmt, r, g, b)
SDL_PixelFormat * dst_fmt
GLenum GLsizei GLsizei GLsizei GLsizei GLbitfield flags
#define SDL_COPY_MODULATE_ALPHA
uint8_t Uint8
An unsigned 8-bit integer type.
#define DISEMBLE_RGB(buf, bpp, fmt, Pixel, r, g, b)