| Index: src/core/SkBlitter_RGB16.cpp
|
| diff --git a/src/core/SkBlitter_RGB16.cpp b/src/core/SkBlitter_RGB16.cpp
|
| index 256cbc6936f6daad6a1c48c798936a3b184dbfc0..b01800b51f52aec576a5fc61fa5dbb292d1f3ebb 100644
|
| --- a/src/core/SkBlitter_RGB16.cpp
|
| +++ b/src/core/SkBlitter_RGB16.cpp
|
| @@ -12,7 +12,6 @@
|
| #include "SkColorPriv.h"
|
| #include "SkDither.h"
|
| #include "SkShader.h"
|
| -#include "SkTemplatesPriv.h"
|
| #include "SkUtils.h"
|
| #include "SkXfermode.h"
|
|
|
| @@ -1013,7 +1012,9 @@ void SkRGB16_Shader_Xfermode_Blitter::blitAntiH(int x, int y,
|
| ///////////////////////////////////////////////////////////////////////////////
|
|
|
| SkBlitter* SkBlitter_ChooseD565(const SkBitmap& device, const SkPaint& paint,
|
| - void* storage, size_t storageSize) {
|
| + SkTBlitterAllocator* allocator) {
|
| + SkASSERT(allocator != NULL);
|
| +
|
| SkBlitter* blitter;
|
| SkShader* shader = paint.getShader();
|
| SkXfermode* mode = paint.getXfermode();
|
| @@ -1023,31 +1024,25 @@ SkBlitter* SkBlitter_ChooseD565(const SkBitmap& device, const SkPaint& paint,
|
|
|
| if (shader) {
|
| if (mode) {
|
| - SK_PLACEMENT_NEW_ARGS(blitter, SkRGB16_Shader_Xfermode_Blitter,
|
| - storage, storageSize, (device, paint));
|
| + blitter = allocator->createT<SkRGB16_Shader_Xfermode_Blitter>(device, paint);
|
| } else if (shader->canCallShadeSpan16()) {
|
| - SK_PLACEMENT_NEW_ARGS(blitter, SkRGB16_Shader16_Blitter,
|
| - storage, storageSize, (device, paint));
|
| + blitter = allocator->createT<SkRGB16_Shader16_Blitter>(device, paint);
|
| } else {
|
| - SK_PLACEMENT_NEW_ARGS(blitter, SkRGB16_Shader_Blitter,
|
| - storage, storageSize, (device, paint));
|
| + blitter = allocator->createT<SkRGB16_Shader_Blitter>(device, paint);
|
| }
|
| } else {
|
| // no shader, no xfermode, (and we always ignore colorfilter)
|
| SkColor color = paint.getColor();
|
| if (0 == SkColorGetA(color)) {
|
| - SK_PLACEMENT_NEW(blitter, SkNullBlitter, storage, storageSize);
|
| + blitter = allocator->createT<SkNullBlitter>();
|
| #ifdef USE_BLACK_BLITTER
|
| } else if (SK_ColorBLACK == color) {
|
| - SK_PLACEMENT_NEW_ARGS(blitter, SkRGB16_Black_Blitter, storage,
|
| - storageSize, (device, paint));
|
| + blitter = allocator->createT<SkRGB16_Black_Blitter>(device, paint);
|
| #endif
|
| } else if (0xFF == SkColorGetA(color)) {
|
| - SK_PLACEMENT_NEW_ARGS(blitter, SkRGB16_Opaque_Blitter, storage,
|
| - storageSize, (device, paint));
|
| + blitter = allocator->createT<SkRGB16_Opaque_Blitter>(device, paint);
|
| } else {
|
| - SK_PLACEMENT_NEW_ARGS(blitter, SkRGB16_Blitter, storage,
|
| - storageSize, (device, paint));
|
| + blitter = allocator->createT<SkRGB16_Blitter>(device, paint);
|
| }
|
| }
|
|
|
|
|