summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/skia/src/core/SkSpriteBlitter_ARGB32.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/skia/src/core/SkSpriteBlitter_ARGB32.cpp')
-rw-r--r--chromium/third_party/skia/src/core/SkSpriteBlitter_ARGB32.cpp30
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: