| 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 #ifndef SkColorPriv_DEFINED | 10 #ifndef SkColorPriv_DEFINED |
| (...skipping 820 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 831 int dstB = SkGetPackedB32(dst); | 831 int dstB = SkGetPackedB32(dst); |
| 832 | 832 |
| 833 // LCD blitting is only supported if the dst is known/required | 833 // LCD blitting is only supported if the dst is known/required |
| 834 // to be opaque | 834 // to be opaque |
| 835 return SkPackARGB32(0xFF, | 835 return SkPackARGB32(0xFF, |
| 836 SkBlend32(srcR, dstR, maskR), | 836 SkBlend32(srcR, dstR, maskR), |
| 837 SkBlend32(srcG, dstG, maskG), | 837 SkBlend32(srcG, dstG, maskG), |
| 838 SkBlend32(srcB, dstB, maskB)); | 838 SkBlend32(srcB, dstB, maskB)); |
| 839 } | 839 } |
| 840 | 840 |
| 841 static inline void SkBlitLCD16Row(SkPMColor dst[], const uint16_t src[], | 841 static inline void SkBlitLCD16Row(SkPMColor dst[], const uint16_t mask[], |
| 842 SkColor color, int width, SkPMColor) { | 842 SkColor src, int width, SkPMColor) { |
| 843 int srcA = SkColorGetA(color); | 843 int srcA = SkColorGetA(src); |
| 844 int srcR = SkColorGetR(color); | 844 int srcR = SkColorGetR(src); |
| 845 int srcG = SkColorGetG(color); | 845 int srcG = SkColorGetG(src); |
| 846 int srcB = SkColorGetB(color); | 846 int srcB = SkColorGetB(src); |
| 847 | 847 |
| 848 srcA = SkAlpha255To256(srcA); | 848 srcA = SkAlpha255To256(srcA); |
| 849 | 849 |
| 850 for (int i = 0; i < width; i++) { | 850 for (int i = 0; i < width; i++) { |
| 851 dst[i] = SkBlendLCD16(srcA, srcR, srcG, srcB, dst[i], src[i]); | 851 dst[i] = SkBlendLCD16(srcA, srcR, srcG, srcB, dst[i], mask[i]); |
| 852 } | 852 } |
| 853 } | 853 } |
| 854 | 854 |
| 855 static inline void SkBlitLCD16OpaqueRow(SkPMColor dst[], const uint16_t src[], | 855 static inline void SkBlitLCD16OpaqueRow(SkPMColor dst[], const uint16_t mask[], |
| 856 SkColor color, int width, | 856 SkColor src, int width, |
| 857 SkPMColor opaqueDst) { | 857 SkPMColor opaqueDst) { |
| 858 int srcR = SkColorGetR(color); | 858 int srcR = SkColorGetR(src); |
| 859 int srcG = SkColorGetG(color); | 859 int srcG = SkColorGetG(src); |
| 860 int srcB = SkColorGetB(color); | 860 int srcB = SkColorGetB(src); |
| 861 | 861 |
| 862 for (int i = 0; i < width; i++) { | 862 for (int i = 0; i < width; i++) { |
| 863 dst[i] = SkBlendLCD16Opaque(srcR, srcG, srcB, dst[i], src[i], | 863 dst[i] = SkBlendLCD16Opaque(srcR, srcG, srcB, dst[i], mask[i], |
| 864 opaqueDst); | 864 opaqueDst); |
| 865 } | 865 } |
| 866 } | 866 } |
| 867 | 867 |
| 868 #endif | 868 #endif |
| OLD | NEW |