diff options
Diffstat (limited to 'chromium/third_party/skia/src/core/SkSpriteBlitter_ARGB32.cpp')
-rw-r--r-- | chromium/third_party/skia/src/core/SkSpriteBlitter_ARGB32.cpp | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/chromium/third_party/skia/src/core/SkSpriteBlitter_ARGB32.cpp b/chromium/third_party/skia/src/core/SkSpriteBlitter_ARGB32.cpp index 8255336c659..a4ae41c689b 100644 --- a/chromium/third_party/skia/src/core/SkSpriteBlitter_ARGB32.cpp +++ b/chromium/third_party/skia/src/core/SkSpriteBlitter_ARGB32.cpp @@ -20,7 +20,7 @@ class Sprite_D32_S32 : public SkSpriteBlitter { public: Sprite_D32_S32(const SkBitmap& src, U8CPU alpha) : INHERITED(src) { - SkASSERT(src.config() == SkBitmap::kARGB_8888_Config); + SkASSERT(src.colorType() == kN32_SkColorType); unsigned flags32 = 0; if (255 != alpha) { @@ -263,11 +263,10 @@ public: /////////////////////////////////////////////////////////////////////////////// -#include "SkTemplatesPriv.h" +SkSpriteBlitter* SkSpriteBlitter::ChooseD32(const SkBitmap& source, const SkPaint& paint, + SkTBlitterAllocator* allocator) { + SkASSERT(allocator != NULL); -SkSpriteBlitter* SkSpriteBlitter::ChooseD32(const SkBitmap& source, - const SkPaint& paint, - void* storage, size_t storageSize) { if (paint.getMaskFilter() != NULL) { return NULL; } @@ -277,33 +276,28 @@ SkSpriteBlitter* SkSpriteBlitter::ChooseD32(const SkBitmap& source, SkColorFilter* filter = paint.getColorFilter(); SkSpriteBlitter* blitter = NULL; - switch (source.config()) { - case SkBitmap::kARGB_4444_Config: + switch (source.colorType()) { + case kARGB_4444_SkColorType: if (alpha != 0xFF) { return NULL; // we only have opaque sprites } if (xfermode || filter) { - SK_PLACEMENT_NEW_ARGS(blitter, Sprite_D32_S4444_XferFilter, - storage, storageSize, (source, paint)); + blitter = allocator->createT<Sprite_D32_S4444_XferFilter>(source, paint); } else if (source.isOpaque()) { - SK_PLACEMENT_NEW_ARGS(blitter, Sprite_D32_S4444_Opaque, - storage, storageSize, (source)); + blitter = allocator->createT<Sprite_D32_S4444_Opaque>(source); } else { - SK_PLACEMENT_NEW_ARGS(blitter, Sprite_D32_S4444, - storage, storageSize, (source)); + blitter = allocator->createT<Sprite_D32_S4444>(source); } break; - case SkBitmap::kARGB_8888_Config: + case kN32_SkColorType: if (xfermode || filter) { if (255 == alpha) { // this can handle xfermode or filter, but not alpha - SK_PLACEMENT_NEW_ARGS(blitter, Sprite_D32_S32A_XferFilter, - storage, storageSize, (source, paint)); + blitter = allocator->createT<Sprite_D32_S32A_XferFilter>(source, paint); } } else { // this can handle alpha, but not xfermode or filter - SK_PLACEMENT_NEW_ARGS(blitter, Sprite_D32_S32, - storage, storageSize, (source, alpha)); + blitter = allocator->createT<Sprite_D32_S32>(source, alpha); } break; default: |