equal
deleted
inserted
replaced
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); |