aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/utils/SkDeferredCanvas.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/SkDeferredCanvas.cpp')
-rw-r--r--src/utils/SkDeferredCanvas.cpp59
1 files changed, 7 insertions, 52 deletions
diff --git a/src/utils/SkDeferredCanvas.cpp b/src/utils/SkDeferredCanvas.cpp
index 7e4539a5a7..d5cf97bd04 100644
--- a/src/utils/SkDeferredCanvas.cpp
+++ b/src/utils/SkDeferredCanvas.cpp
@@ -32,17 +32,10 @@ enum PlaybackMode {
kSilent_PlaybackMode,
};
-static uint64_t image_area(const SkImage* image) {
- return sk_64_mul(image->width(), image->height());
-}
-
-static bool should_draw_immediately(const SkBitmap* bitmap, const SkImage* image,
- const SkPaint* paint, size_t bitmapSizeThreshold) {
+static bool should_draw_immediately(const SkBitmap* bitmap, const SkPaint* paint,
+ size_t bitmapSizeThreshold) {
if (bitmap && ((bitmap->getTexture() && !bitmap->isImmutable()) ||
- (bitmap->getSize() > bitmapSizeThreshold))) {
- return true;
- }
- if (image && (image_area(image) > bitmapSizeThreshold)) {
+ (bitmap->getSize() > bitmapSizeThreshold))) {
return true;
}
if (paint) {
@@ -209,11 +202,6 @@ protected:
void drawSprite(const SkDraw&, const SkBitmap& bitmap,
int x, int y, const SkPaint& paint) override
{SkASSERT(0);}
- void drawImage(const SkDraw&, const SkImage*, SkScalar, SkScalar, const SkPaint&) override
- {SkASSERT(0);}
- void drawImageRect(const SkDraw&, const SkImage*, const SkRect*, const SkRect&,
- const SkPaint&) override
- {SkASSERT(0);}
void drawText(const SkDraw&, const void* text, size_t len,
SkScalar x, SkScalar y, const SkPaint& paint) override
{SkASSERT(0);}
@@ -493,15 +481,11 @@ class AutoImmediateDrawIfNeeded {
public:
AutoImmediateDrawIfNeeded(SkDeferredCanvas& canvas, const SkBitmap* bitmap,
const SkPaint* paint) {
- this->init(canvas, bitmap, NULL, paint);
- }
- AutoImmediateDrawIfNeeded(SkDeferredCanvas& canvas, const SkImage* image,
- const SkPaint* paint) {
- this->init(canvas, NULL, image, paint);
+ this->init(canvas, bitmap, paint);
}
AutoImmediateDrawIfNeeded(SkDeferredCanvas& canvas, const SkPaint* paint) {
- this->init(canvas, NULL, NULL, paint);
+ this->init(canvas, NULL, paint);
}
~AutoImmediateDrawIfNeeded() {
@@ -510,10 +494,9 @@ public:
}
}
private:
- void init(SkDeferredCanvas& canvas, const SkBitmap* bitmap, const SkImage* image,
- const SkPaint* paint) {
+ void init(SkDeferredCanvas& canvas, const SkBitmap* bitmap, const SkPaint* paint) {
if (canvas.isDeferredDrawing() &&
- should_draw_immediately(bitmap, image, paint, canvas.getBitmapSizeThreshold())) {
+ should_draw_immediately(bitmap, paint, canvas.getBitmapSizeThreshold())) {
canvas.setDeferredDrawing(false);
fCanvas = &canvas;
} else {
@@ -853,34 +836,6 @@ void SkDeferredCanvas::onDrawBitmapRect(const SkBitmap& bitmap, const SkRect* sr
this->recordedDrawCommand();
}
-
-void SkDeferredCanvas::onDrawImage(const SkImage* image, SkScalar x, SkScalar y,
- const SkPaint* paint) {
- SkRect bounds = SkRect::MakeXYWH(x, y,
- SkIntToScalar(image->width()), SkIntToScalar(image->height()));
- if (fDeferredDrawing &&
- this->isFullFrame(&bounds, paint) &&
- isPaintOpaque(paint, image)) {
- this->getDeferredDevice()->skipPendingCommands();
- }
-
- AutoImmediateDrawIfNeeded autoDraw(*this, image, paint);
- this->drawingCanvas()->drawImage(image, x, y, paint);
- this->recordedDrawCommand();
-}
-void SkDeferredCanvas::onDrawImageRect(const SkImage* image, const SkRect* src, const SkRect& dst,
- const SkPaint* paint) {
- if (fDeferredDrawing &&
- this->isFullFrame(&dst, paint) &&
- isPaintOpaque(paint, image)) {
- this->getDeferredDevice()->skipPendingCommands();
- }
-
- AutoImmediateDrawIfNeeded autoDraw(*this, image, paint);
- this->drawingCanvas()->drawImageRect(image, src, dst, paint);
- this->recordedDrawCommand();
-}
-
void SkDeferredCanvas::onDrawBitmapNine(const SkBitmap& bitmap,
const SkIRect& center, const SkRect& dst,
const SkPaint* paint) {