aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar reed <reed@google.com>2014-12-22 16:12:38 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2014-12-22 16:12:38 -0800
commit0acf1b4b3645772d220c720313821bac389751b5 (patch)
tree80d0bf7eb9a71df24f3947659c29716f0693776b /src
parent8fc6c2d82c1f30ff82274334c01f0799def6a609 (diff)
add private flag for sprite-as-bitmap
Diffstat (limited to 'src')
-rw-r--r--src/core/SkCanvas.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index c7fb2dd47f..09b9783cb9 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -42,6 +42,14 @@ bool SkCanvas::Internal_Private_GetIgnoreSaveLayerBounds() {
return gIgnoreSaveLayerBounds;
}
+static bool gTreatSpriteAsBitmap;
+void SkCanvas::Internal_Private_SetTreatSpriteAsBitmap(bool spriteAsBitmap) {
+ gTreatSpriteAsBitmap = spriteAsBitmap;
+}
+bool SkCanvas::Internal_Private_GetTreatSpriteAsBitmap() {
+ return gTreatSpriteAsBitmap;
+}
+
// experimental for faster tiled drawing...
//#define SK_ENABLE_CLIP_QUICKREJECT
@@ -1190,6 +1198,14 @@ void SkCanvas::internalDrawDevice(SkBaseDevice* srcDev, int x, int y,
void SkCanvas::drawSprite(const SkBitmap& bitmap, int x, int y,
const SkPaint* paint) {
+ if (gTreatSpriteAsBitmap) {
+ this->save();
+ this->resetMatrix();
+ this->drawBitmap(bitmap, SkIntToScalar(x), SkIntToScalar(y), paint);
+ this->restore();
+ return;
+ }
+
TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawSprite()");
if (bitmap.drawsNothing()) {
return;