| Index: src/core/SkSpriteBlitter_ARGB32.cpp
|
| diff --git a/src/core/SkSpriteBlitter_ARGB32.cpp b/src/core/SkSpriteBlitter_ARGB32.cpp
|
| index 3e8612dda3e9e6cdace44dbfb8ff73877efe5e83..8ee433a26899fd77c4e1fdfafd91526733832360 100644
|
| --- a/src/core/SkSpriteBlitter_ARGB32.cpp
|
| +++ b/src/core/SkSpriteBlitter_ARGB32.cpp
|
| @@ -263,11 +263,10 @@ public:
|
|
|
| ///////////////////////////////////////////////////////////////////////////////
|
|
|
| -#include "SkTemplatesPriv.h"
|
| +SkSpriteBlitter* SkSpriteBlitter::ChooseD32(const SkBitmap& source, const SkPaint& paint,
|
| + SkStackAllocator<kBlitterStorageByteCount>* allocator) {
|
| + SkASSERT(allocator != NULL);
|
|
|
| -SkSpriteBlitter* SkSpriteBlitter::ChooseD32(const SkBitmap& source,
|
| - const SkPaint& paint,
|
| - void* storage, size_t storageSize) {
|
| if (paint.getMaskFilter() != NULL) {
|
| return NULL;
|
| }
|
| @@ -283,27 +282,28 @@ SkSpriteBlitter* SkSpriteBlitter::ChooseD32(const SkBitmap& source,
|
| return NULL; // we only have opaque sprites
|
| }
|
| if (xfermode || filter) {
|
| - SK_PLACEMENT_NEW_ARGS(blitter, Sprite_D32_S4444_XferFilter,
|
| - storage, storageSize, (source, paint));
|
| + SkSTACK_ALLOCATE(blitter, (*allocator),
|
| + Sprite_D32_S4444_XferFilter, (source, paint));
|
| } else if (source.isOpaque()) {
|
| - SK_PLACEMENT_NEW_ARGS(blitter, Sprite_D32_S4444_Opaque,
|
| - storage, storageSize, (source));
|
| + SkSTACK_ALLOCATE(blitter, (*allocator),
|
| + Sprite_D32_S4444_Opaque, (source));
|
| } else {
|
| - SK_PLACEMENT_NEW_ARGS(blitter, Sprite_D32_S4444,
|
| - storage, storageSize, (source));
|
| + SkSTACK_ALLOCATE(blitter, (*allocator), Sprite_D32_S4444,
|
| + (source));
|
| }
|
| break;
|
| case kPMColor_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));
|
| + SkSTACK_ALLOCATE(blitter, (*allocator),
|
| + 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));
|
| + SkSTACK_ALLOCATE(blitter, (*allocator), Sprite_D32_S32,
|
| + (source, alpha));
|
| }
|
| break;
|
| default:
|
|
|