Update transform isolation to handle command chunks
bug:15570351
Prevent drawing transformations on a ViewGroup's canvas from directly
affecting the transformation of the children through the renderer,
since it's already baked into mTransformFromParent at record time.
Change-Id: I6310a2260dfe4def0bde1fd2c5b93791a645d586
diff --git a/libs/hwui/StatefulBaseRenderer.h b/libs/hwui/StatefulBaseRenderer.h
index 3957d36..c6974b4 100644
--- a/libs/hwui/StatefulBaseRenderer.h
+++ b/libs/hwui/StatefulBaseRenderer.h
@@ -69,7 +69,6 @@
// int alpha, SkXfermode::Mode mode, int flags);
// Matrix
- void getMatrix(Matrix4* outMatrix) const;
virtual void getMatrix(SkMatrix* outMatrix) const;
virtual void translate(float dx, float dy, float dz = 0.0f);
virtual void rotate(float degrees);
@@ -100,6 +99,10 @@
void setClippingRoundRect(LinearAllocator& allocator,
const Rect& rect, float radius);
+ inline const mat4* currentTransform() const {
+ return mSnapshot->transform;
+ }
+
protected:
const Rect& getRenderTargetClipBounds() const { return mSnapshot->getRenderTargetClip(); }
@@ -134,10 +137,6 @@
return mSnapshot->clipRect;
}
- inline const mat4* currentTransform() const {
- return mSnapshot->transform;
- }
-
inline const Snapshot* currentSnapshot() const {
return mSnapshot != NULL ? mSnapshot.get() : mFirstSnapshot.get();
}