Add stagingProperties
Change-Id: Ic7de551f8843fd70a77f738e33028e25c020bb3c
diff --git a/libs/hwui/RenderNode.h b/libs/hwui/RenderNode.h
index 177f33e..9a7f9b4 100644
--- a/libs/hwui/RenderNode.h
+++ b/libs/hwui/RenderNode.h
@@ -112,10 +112,19 @@
}
}
- RenderProperties& properties() {
+ const RenderProperties& properties() {
return mProperties;
}
+ const RenderProperties& stagingProperties() {
+ return mStagingProperties;
+ }
+
+ RenderProperties& mutateStagingProperties() {
+ mNeedsPropertiesSync = true;
+ return mStagingProperties;
+ }
+
bool isProjectionReceiver() {
return properties().isProjectionReceiver();
}
@@ -128,6 +137,8 @@
return properties().getHeight();
}
+ void updateProperties();
+
private:
typedef key_value_pair_t<float, DrawDisplayListOp*> ZDrawDisplayListOpPair;
@@ -143,8 +154,6 @@
kPositiveZChildren
};
- void outputViewProperties(const int level);
-
void applyViewPropertyTransforms(mat4& matrix, bool true3dTransform = false);
void computeOrderingImpl(DrawDisplayListOp* opState,
@@ -183,7 +192,10 @@
String8 mName;
bool mDestroyed; // used for debugging crash, TODO: remove once invalid state crash fixed
+ bool mNeedsPropertiesSync;
RenderProperties mProperties;
+ RenderProperties mStagingProperties;
+
DisplayListData* mDisplayListData;
/**