| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2006 The Android Open Source Project | 2 * Copyright 2006 The Android Open Source Project |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #ifndef SkColorPriv_DEFINED | 8 #ifndef SkColorPriv_DEFINED |
| 9 #define SkColorPriv_DEFINED | 9 #define SkColorPriv_DEFINED |
| 10 | 10 |
| (...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 338 #define SkGetPackedR32(packed) ((uint32_t)((packed) << (24 - SK_R32_SHIFT))
>> 24) | 338 #define SkGetPackedR32(packed) ((uint32_t)((packed) << (24 - SK_R32_SHIFT))
>> 24) |
| 339 #define SkGetPackedG32(packed) ((uint32_t)((packed) << (24 - SK_G32_SHIFT))
>> 24) | 339 #define SkGetPackedG32(packed) ((uint32_t)((packed) << (24 - SK_G32_SHIFT))
>> 24) |
| 340 #define SkGetPackedB32(packed) ((uint32_t)((packed) << (24 - SK_B32_SHIFT))
>> 24) | 340 #define SkGetPackedB32(packed) ((uint32_t)((packed) << (24 - SK_B32_SHIFT))
>> 24) |
| 341 | 341 |
| 342 #define SkA32Assert(a) SkASSERT((unsigned)(a) <= SK_A32_MASK) | 342 #define SkA32Assert(a) SkASSERT((unsigned)(a) <= SK_A32_MASK) |
| 343 #define SkR32Assert(r) SkASSERT((unsigned)(r) <= SK_R32_MASK) | 343 #define SkR32Assert(r) SkASSERT((unsigned)(r) <= SK_R32_MASK) |
| 344 #define SkG32Assert(g) SkASSERT((unsigned)(g) <= SK_G32_MASK) | 344 #define SkG32Assert(g) SkASSERT((unsigned)(g) <= SK_G32_MASK) |
| 345 #define SkB32Assert(b) SkASSERT((unsigned)(b) <= SK_B32_MASK) | 345 #define SkB32Assert(b) SkASSERT((unsigned)(b) <= SK_B32_MASK) |
| 346 | 346 |
| 347 #ifdef SK_DEBUG | 347 #ifdef SK_DEBUG |
| 348 static inline void SkPMColorAssert(SkPMColor c) { | 348 #define SkPMColorAssert(color_value) \ |
| 349 unsigned a = SkGetPackedA32(c); | 349 do { \ |
| 350 unsigned r = SkGetPackedR32(c); | 350 SkPMColor pm_color_value = (color_value); \ |
| 351 unsigned g = SkGetPackedG32(c); | 351 uint32_t alpha_color_value = SkGetPackedA32(pm_color_value); \ |
| 352 unsigned b = SkGetPackedB32(c); | 352 SkA32Assert(alpha_color_value); \ |
| 353 | 353 SkASSERT(SkGetPackedR32(pm_color_value) <= alpha_color_value); \ |
| 354 SkA32Assert(a); | 354 SkASSERT(SkGetPackedG32(pm_color_value) <= alpha_color_value); \ |
| 355 SkASSERT(r <= a); | 355 SkASSERT(SkGetPackedB32(pm_color_value) <= alpha_color_value); \ |
| 356 SkASSERT(g <= a); | 356 } while (false) |
| 357 SkASSERT(b <= a); | |
| 358 } | |
| 359 #else | 357 #else |
| 360 #define SkPMColorAssert(c) | 358 #define SkPMColorAssert(c) |
| 361 #endif | 359 #endif |
| 362 | 360 |
| 363 /** | 361 /** |
| 364 * Pack the components into a SkPMColor, checking (in the debug version) that | 362 * Pack the components into a SkPMColor, checking (in the debug version) that |
| 365 * the components are 0..255, and are already premultiplied (i.e. alpha >= colo
r) | 363 * the components are 0..255, and are already premultiplied (i.e. alpha >= colo
r) |
| 366 */ | 364 */ |
| 367 static inline SkPMColor SkPackARGB32(U8CPU a, U8CPU r, U8CPU g, U8CPU b) { | 365 static inline SkPMColor SkPackARGB32(U8CPU a, U8CPU r, U8CPU g, U8CPU b) { |
| 368 SkA32Assert(a); | 366 SkA32Assert(a); |
| (...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1050 int srcG = SkColorGetG(src); | 1048 int srcG = SkColorGetG(src); |
| 1051 int srcB = SkColorGetB(src); | 1049 int srcB = SkColorGetB(src); |
| 1052 | 1050 |
| 1053 for (int i = 0; i < width; i++) { | 1051 for (int i = 0; i < width; i++) { |
| 1054 dst[i] = SkBlendLCD16Opaque(srcR, srcG, srcB, dst[i], mask[i], | 1052 dst[i] = SkBlendLCD16Opaque(srcR, srcG, srcB, dst[i], mask[i], |
| 1055 opaqueDst); | 1053 opaqueDst); |
| 1056 } | 1054 } |
| 1057 } | 1055 } |
| 1058 | 1056 |
| 1059 #endif | 1057 #endif |
| OLD | NEW |