Index: src/core/SkRecordDraw.cpp |
diff --git a/src/core/SkRecordDraw.cpp b/src/core/SkRecordDraw.cpp |
index d0e8c4cf48b8354e56e4f0f0c92a214d96c11821..c3739705174ff0a6ae6eb8bd5dba8ca79d58b3d1 100644 |
--- a/src/core/SkRecordDraw.cpp |
+++ b/src/core/SkRecordDraw.cpp |
@@ -87,6 +87,8 @@ DRAW(ClipRRect, clipRRect(r.rrect, r.opAA.op, r.opAA.aa)); |
DRAW(ClipRect, clipRect(r.rect, r.opAA.op, r.opAA.aa)); |
DRAW(ClipRegion, clipRegion(r.region, r.op)); |
+DRAW(TranslateZ, SkCanvas::translateZ(r.z)); |
+ |
DRAW(DrawBitmap, drawBitmap(r.bitmap.shallowCopy(), r.left, r.top, r.paint)); |
DRAW(DrawBitmapNine, drawBitmapNine(r.bitmap.shallowCopy(), r.center, r.dst, r.paint)); |
DRAW(DrawBitmapRect, |
@@ -287,6 +289,8 @@ private: |
void trackBounds(const ClipPath&) { this->pushControl(); } |
void trackBounds(const ClipRegion&) { this->pushControl(); } |
+ void trackBounds(const TranslateZ&) { this->pushControl(); } |
+ |
// For all other ops, we can calculate and store the bounds directly now. |
template <typename T> void trackBounds(const T& op) { |
fBounds[fCurrentOp] = this->bounds(op); |