Index: src/core/SkSpriteBlitter_RGB16.cpp |
diff --git a/src/core/SkSpriteBlitter_RGB16.cpp b/src/core/SkSpriteBlitter_RGB16.cpp |
index ca0eb5031144a91b56014f37497b40946cef113c..3cd8306c9b7137f06106261b0773679c237fd8dc 100644 |
--- a/src/core/SkSpriteBlitter_RGB16.cpp |
+++ b/src/core/SkSpriteBlitter_RGB16.cpp |
@@ -56,8 +56,7 @@ public: |
// overrides |
void blitRect(int x, int y, int width, int height) override { |
uint16_t* SK_RESTRICT dst = fDevice->getAddr16(x, y); |
- const uint16_t* SK_RESTRICT src = fSource->getAddr16(x - fLeft, |
- y - fTop); |
+ const uint16_t* SK_RESTRICT src = fSource->addr16(x - fLeft, y - fTop); |
size_t dstRB = fDevice->rowBytes(); |
size_t srcRB = fSource->rowBytes(); |
@@ -82,7 +81,7 @@ public: |
#define SkSPRITE_DST_TYPE uint16_t |
#define SkSPRITE_SRC_TYPE uint16_t |
#define SkSPRITE_DST_GETADDR getAddr16 |
-#define SkSPRITE_SRC_GETADDR getAddr16 |
+#define SkSPRITE_SRC_GETADDR addr16 |
#define SkSPRITE_PREAMBLE(srcBM, x, y) int scale = SkAlpha255To256(fSrcAlpha); |
#define SkSPRITE_BLIT_PIXEL(dst, src) D16_S16_Blend_Pixel(dst, src, scale) |
#define SkSPRITE_NEXT_ROW |
@@ -104,7 +103,7 @@ public: |
#define SkSPRITE_DST_TYPE uint16_t |
#define SkSPRITE_SRC_TYPE SkPMColor16 |
#define SkSPRITE_DST_GETADDR getAddr16 |
-#define SkSPRITE_SRC_GETADDR getAddr16 |
+#define SkSPRITE_SRC_GETADDR addr16 |
#define SkSPRITE_PREAMBLE(srcBM, x, y) |
#define SkSPRITE_BLIT_PIXEL(dst, src) D16_S4444_Opaque(dst, src) |
#define SkSPRITE_NEXT_ROW |
@@ -125,7 +124,7 @@ public: |
#define SkSPRITE_DST_TYPE uint16_t |
#define SkSPRITE_SRC_TYPE uint16_t |
#define SkSPRITE_DST_GETADDR getAddr16 |
-#define SkSPRITE_SRC_GETADDR getAddr16 |
+#define SkSPRITE_SRC_GETADDR addr16 |
#define SkSPRITE_PREAMBLE(srcBM, x, y) int scale = SkAlpha15To16(fSrcAlpha); |
#define SkSPRITE_BLIT_PIXEL(dst, src) D16_S4444_Blend(dst, src, scale) |
#define SkSPRITE_NEXT_ROW |
@@ -141,8 +140,8 @@ public: |
#define SkSPRITE_DST_TYPE uint16_t |
#define SkSPRITE_SRC_TYPE uint8_t |
#define SkSPRITE_DST_GETADDR getAddr16 |
-#define SkSPRITE_SRC_GETADDR getAddr8 |
-#define SkSPRITE_PREAMBLE(srcBM, x, y) const SkPMColor* ctable = srcBM.getColorTable()->readColors() |
+#define SkSPRITE_SRC_GETADDR addr8 |
+#define SkSPRITE_PREAMBLE(srcBM, x, y) const SkPMColor* ctable = srcBM.ctable()->readColors() |
#define SkSPRITE_BLIT_PIXEL(dst, src) D16_S32A_Opaque_Pixel(dst, ctable[src]) |
#define SkSPRITE_NEXT_ROW |
#define SkSPRITE_POSTAMBLE(srcBM) |
@@ -155,8 +154,8 @@ public: |
#define SkSPRITE_DST_TYPE uint16_t |
#define SkSPRITE_SRC_TYPE uint8_t |
#define SkSPRITE_DST_GETADDR getAddr16 |
-#define SkSPRITE_SRC_GETADDR getAddr8 |
-#define SkSPRITE_PREAMBLE(srcBM, x, y) const SkPMColor* ctable = srcBM.getColorTable()->readColors(); unsigned src_scale = SkAlpha255To256(fSrcAlpha); |
+#define SkSPRITE_SRC_GETADDR addr8 |
+#define SkSPRITE_PREAMBLE(srcBM, x, y) const SkPMColor* ctable = srcBM.ctable()->readColors(); unsigned src_scale = SkAlpha255To256(fSrcAlpha); |
#define SkSPRITE_BLIT_PIXEL(dst, src) D16_S32A_Blend_Pixel(dst, ctable[src], src_scale) |
#define SkSPRITE_NEXT_ROW |
#define SkSPRITE_POSTAMBLE(srcBM) |
@@ -233,8 +232,8 @@ static void blitrow_d16_si8(uint16_t* SK_RESTRICT dst, |
#define SkSPRITE_DST_TYPE uint16_t |
#define SkSPRITE_SRC_TYPE uint8_t |
#define SkSPRITE_DST_GETADDR getAddr16 |
-#define SkSPRITE_SRC_GETADDR getAddr8 |
-#define SkSPRITE_PREAMBLE(srcBM, x, y) const uint16_t* ctable = srcBM.getColorTable()->read16BitCache() |
+#define SkSPRITE_SRC_GETADDR addr8 |
+#define SkSPRITE_PREAMBLE(srcBM, x, y) const uint16_t* ctable = srcBM.ctable()->read16BitCache() |
#define SkSPRITE_BLIT_PIXEL(dst, src) *dst = ctable[src] |
#define SkSPRITE_NEXT_ROW |
#define SkSPRITE_POSTAMBLE(srcBM) |
@@ -247,8 +246,8 @@ static void blitrow_d16_si8(uint16_t* SK_RESTRICT dst, |
#define SkSPRITE_DST_TYPE uint16_t |
#define SkSPRITE_SRC_TYPE uint8_t |
#define SkSPRITE_DST_GETADDR getAddr16 |
-#define SkSPRITE_SRC_GETADDR getAddr8 |
-#define SkSPRITE_PREAMBLE(srcBM, x, y) const uint16_t* ctable = srcBM.getColorTable()->read16BitCache(); unsigned src_scale = SkAlpha255To256(fSrcAlpha); |
+#define SkSPRITE_SRC_GETADDR addr8 |
+#define SkSPRITE_PREAMBLE(srcBM, x, y) const uint16_t* ctable = srcBM.ctable()->read16BitCache(); unsigned src_scale = SkAlpha255To256(fSrcAlpha); |
#define SkSPRITE_BLIT_PIXEL(dst, src) D16_S16_Blend_Pixel(dst, ctable[src], src_scale) |
#define SkSPRITE_NEXT_ROW |
#define SkSPRITE_POSTAMBLE(srcBM) |
@@ -261,11 +260,11 @@ public: |
Sprite_D16_S32_BlitRowProc(const SkBitmap& source) |
: SkSpriteBlitter(source) {} |
- // overrides |
- |
- virtual void setup(const SkBitmap& device, int left, int top, |
+ bool setup(const SkBitmap& device, int left, int top, |
const SkPaint& paint) override { |
- this->INHERITED::setup(device, left, top, paint); |
+ if (!this->INHERITED::setup(device, left, top, paint)) { |
+ return false; |
+ } |
unsigned flags = 0; |
@@ -279,12 +278,12 @@ public: |
flags |= SkBlitRow::kDither_Flag; |
} |
fProc = SkBlitRow::Factory16(flags); |
+ return true; |
} |
void blitRect(int x, int y, int width, int height) override { |
uint16_t* SK_RESTRICT dst = fDevice->getAddr16(x, y); |
- const SkPMColor* SK_RESTRICT src = fSource->getAddr32(x - fLeft, |
- y - fTop); |
+ const SkPMColor* SK_RESTRICT src = fSource->addr32(x - fLeft, y - fTop); |
size_t dstRB = fDevice->rowBytes(); |
size_t srcRB = fSource->rowBytes(); |
SkBlitRow::Proc16 proc = fProc; |