comparison src/video/SDL_blit_slow.c @ 5187:d976b67150c5

Restored SDL_BLENDMODE_MOD for MAME
author Sam Lantinga <slouken@libsdl.org>
date Fri, 04 Feb 2011 19:50:56 -0800
parents e743b9c3f6d6
children b530ef003506
comparison
equal deleted inserted replaced
5186:227d81a4b66c 5187:d976b67150c5
115 srcR = (srcR * srcA) / 255; 115 srcR = (srcR * srcA) / 255;
116 srcG = (srcG * srcA) / 255; 116 srcG = (srcG * srcA) / 255;
117 srcB = (srcB * srcA) / 255; 117 srcB = (srcB * srcA) / 255;
118 } 118 }
119 } 119 }
120 switch (flags & (SDL_COPY_BLEND | SDL_COPY_ADD)) { 120 switch (flags & (SDL_COPY_BLEND | SDL_COPY_ADD | SDL_COPY_MOD)) {
121 case 0: 121 case 0:
122 dstR = srcR; 122 dstR = srcR;
123 dstG = srcG; 123 dstG = srcG;
124 dstB = srcB; 124 dstB = srcB;
125 dstA = srcA; 125 dstA = srcA;
138 dstG = 255; 138 dstG = 255;
139 dstB = srcB + dstB; 139 dstB = srcB + dstB;
140 if (dstB > 255) 140 if (dstB > 255)
141 dstB = 255; 141 dstB = 255;
142 break; 142 break;
143 case SDL_COPY_MOD:
144 dstR = (srcR * dstR) / 255;
145 dstG = (srcG * dstG) / 255;
146 dstB = (srcB * dstB) / 255;
147 break;
143 } 148 }
144 if (dst_fmt->Amask) { 149 if (dst_fmt->Amask) {
145 ASSEMBLE_RGBA(dst, dstbpp, dst_fmt, dstR, dstG, dstB, dstA); 150 ASSEMBLE_RGBA(dst, dstbpp, dst_fmt, dstR, dstG, dstB, dstA);
146 } else { 151 } else {
147 ASSEMBLE_RGB(dst, dstbpp, dst_fmt, dstR, dstG, dstB); 152 ASSEMBLE_RGB(dst, dstbpp, dst_fmt, dstR, dstG, dstB);