aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/image/SkImageShader.cpp43
1 files changed, 0 insertions, 43 deletions
diff --git a/src/image/SkImageShader.cpp b/src/image/SkImageShader.cpp
index e009b4a849..1417ac863e 100644
--- a/src/image/SkImageShader.cpp
+++ b/src/image/SkImageShader.cpp
@@ -8,7 +8,6 @@
#include "SkBitmapController.h"
#include "SkBitmapProcShader.h"
#include "SkBitmapProvider.h"
-#include "SkColorShader.h"
#include "SkColorTable.h"
#include "SkEmptyShader.h"
#include "SkFixedAlloc.h"
@@ -101,58 +100,16 @@ static bool bitmap_is_too_big(int w, int h) {
return w > kMaxSize || h > kMaxSize;
}
-// returns true and set color if the bitmap can be drawn as a single color
-// (for efficiency)
-static bool can_use_color_shader(const SkImage* image, SkColor* color) {
-#ifdef SK_BUILD_FOR_ANDROID_FRAMEWORK
- // HWUI does not support color shaders (see b/22390304)
- return false;
-#endif
-
- if (1 != image->width() || 1 != image->height()) {
- return false;
- }
-
- SkPixmap pmap;
- if (!image->peekPixels(&pmap)) {
- return false;
- }
-
- switch (pmap.colorType()) {
- case kN32_SkColorType:
- *color = SkUnPreMultiply::PMColorToColor(*pmap.addr32(0, 0));
- return true;
- case kRGB_565_SkColorType:
- *color = SkPixel16ToColor(*pmap.addr16(0, 0));
- return true;
- case kIndex_8_SkColorType: {
- const SkColorTable& ctable = *pmap.ctable();
- *color = SkUnPreMultiply::PMColorToColor(ctable[*pmap.addr8(0, 0)]);
- return true;
- }
- default: // just skip the other configs for now
- break;
- }
- return false;
-}
-
sk_sp<SkShader> SkImageShader::Make(sk_sp<SkImage> image, TileMode tx, TileMode ty,
const SkMatrix* localMatrix,
SkTBlitterAllocator* allocator) {
SkShader* shader;
- SkColor color;
if (!image || bitmap_is_too_big(image->width(), image->height())) {
if (nullptr == allocator) {
shader = new SkEmptyShader;
} else {
shader = allocator->createT<SkEmptyShader>();
}
- } else if (can_use_color_shader(image.get(), &color)) {
- if (nullptr == allocator) {
- shader = new SkColorShader(color);
- } else {
- shader = allocator->createT<SkColorShader>(color);
- }
} else {
if (nullptr == allocator) {
shader = new SkImageShader(image, tx, ty, localMatrix);