| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2006 The Android Open Source Project | 3 * Copyright 2006 The Android Open Source Project |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 | 9 |
| 10 #include "SkSpriteBlitter.h" | 10 #include "SkSpriteBlitter.h" |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 128 const uint32_t* SK_RESTRICT src = fSource->getAddr32(x - fLeft, | 128 const uint32_t* SK_RESTRICT src = fSource->getAddr32(x - fLeft, |
| 129 y - fTop); | 129 y - fTop); |
| 130 size_t dstRB = fDevice->rowBytes(); | 130 size_t dstRB = fDevice->rowBytes(); |
| 131 size_t srcRB = fSource->rowBytes(); | 131 size_t srcRB = fSource->rowBytes(); |
| 132 SkColorFilter* colorFilter = fColorFilter; | 132 SkColorFilter* colorFilter = fColorFilter; |
| 133 SkXfermode* xfermode = fXfermode; | 133 SkXfermode* xfermode = fXfermode; |
| 134 | 134 |
| 135 do { | 135 do { |
| 136 const SkPMColor* tmp = src; | 136 const SkPMColor* tmp = src; |
| 137 | 137 |
| 138 if (NULL != colorFilter) { | 138 if (colorFilter) { |
| 139 colorFilter->filterSpan(src, width, fBuffer); | 139 colorFilter->filterSpan(src, width, fBuffer); |
| 140 tmp = fBuffer; | 140 tmp = fBuffer; |
| 141 } | 141 } |
| 142 | 142 |
| 143 if (NULL != xfermode) { | 143 if (xfermode) { |
| 144 xfermode->xfer32(dst, tmp, width, NULL); | 144 xfermode->xfer32(dst, tmp, width, NULL); |
| 145 } else { | 145 } else { |
| 146 fProc32(dst, tmp, width, fAlpha); | 146 fProc32(dst, tmp, width, fAlpha); |
| 147 } | 147 } |
| 148 | 148 |
| 149 dst = (uint32_t* SK_RESTRICT)((char*)dst + dstRB); | 149 dst = (uint32_t* SK_RESTRICT)((char*)dst + dstRB); |
| 150 src = (const uint32_t* SK_RESTRICT)((const char*)src + srcRB); | 150 src = (const uint32_t* SK_RESTRICT)((const char*)src + srcRB); |
| 151 } while (--height != 0); | 151 } while (--height != 0); |
| 152 } | 152 } |
| 153 | 153 |
| (...skipping 22 matching lines...) Expand all Loading... |
| 176 y - fTop); | 176 y - fTop); |
| 177 size_t dstRB = fDevice->rowBytes(); | 177 size_t dstRB = fDevice->rowBytes(); |
| 178 size_t srcRB = fSource->rowBytes(); | 178 size_t srcRB = fSource->rowBytes(); |
| 179 SkPMColor* SK_RESTRICT buffer = fBuffer; | 179 SkPMColor* SK_RESTRICT buffer = fBuffer; |
| 180 SkColorFilter* colorFilter = fColorFilter; | 180 SkColorFilter* colorFilter = fColorFilter; |
| 181 SkXfermode* xfermode = fXfermode; | 181 SkXfermode* xfermode = fXfermode; |
| 182 | 182 |
| 183 do { | 183 do { |
| 184 fillbuffer(buffer, src, width); | 184 fillbuffer(buffer, src, width); |
| 185 | 185 |
| 186 if (NULL != colorFilter) { | 186 if (colorFilter) { |
| 187 colorFilter->filterSpan(buffer, width, buffer); | 187 colorFilter->filterSpan(buffer, width, buffer); |
| 188 } | 188 } |
| 189 if (NULL != xfermode) { | 189 if (xfermode) { |
| 190 xfermode->xfer32(dst, buffer, width, NULL); | 190 xfermode->xfer32(dst, buffer, width, NULL); |
| 191 } else { | 191 } else { |
| 192 fProc32(dst, buffer, width, fAlpha); | 192 fProc32(dst, buffer, width, fAlpha); |
| 193 } | 193 } |
| 194 | 194 |
| 195 dst = (SkPMColor* SK_RESTRICT)((char*)dst + dstRB); | 195 dst = (SkPMColor* SK_RESTRICT)((char*)dst + dstRB); |
| 196 src = (const SkPMColor16* SK_RESTRICT)((const char*)src + srcRB); | 196 src = (const SkPMColor16* SK_RESTRICT)((const char*)src + srcRB); |
| 197 } while (--height != 0); | 197 } while (--height != 0); |
| 198 } | 198 } |
| 199 | 199 |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 298 } else { | 298 } else { |
| 299 // this can handle alpha, but not xfermode or filter | 299 // this can handle alpha, but not xfermode or filter |
| 300 blitter = allocator->createT<Sprite_D32_S32>(source, alpha); | 300 blitter = allocator->createT<Sprite_D32_S32>(source, alpha); |
| 301 } | 301 } |
| 302 break; | 302 break; |
| 303 default: | 303 default: |
| 304 break; | 304 break; |
| 305 } | 305 } |
| 306 return blitter; | 306 return blitter; |
| 307 } | 307 } |
| OLD | NEW |