summaryrefslogtreecommitdiff
path: root/libs/hwui/RenderNode.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/hwui/RenderNode.h')
-rw-r--r--libs/hwui/RenderNode.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/libs/hwui/RenderNode.h b/libs/hwui/RenderNode.h
index e5b9d7c395b6..78537011667f 100644
--- a/libs/hwui/RenderNode.h
+++ b/libs/hwui/RenderNode.h
@@ -65,6 +65,11 @@ class SaveOp;
class RestoreToCountOp;
class DrawDisplayListOp;
+struct TreeInfo {
+ bool hasFunctors;
+ // TODO: Damage calculations? Flag to skip staging pushes for RT animations?
+};
+
/**
* Primary class for storing recorded canvas commands, as well as per-View/ViewGroup display properties.
*
@@ -141,10 +146,7 @@ public:
return properties().getHeight();
}
- ANDROID_API void pushStagingChanges();
-
- // Returns true if this RenderNode or any of its children have functors
- bool hasFunctors();
+ ANDROID_API void prepareTree(TreeInfo& info);
private:
typedef key_value_pair_t<float, DrawDisplayListOp*> ZDrawDisplayListOpPair;
@@ -203,7 +205,9 @@ private:
const char* mText;
};
- static void pushSubTreeStagingChanges(DisplayListData* subtree);
+ void prepareTreeImpl(TreeInfo& info);
+ void pushStagingChanges(TreeInfo& info);
+ void prepareSubTree(TreeInfo& info, DisplayListData* subtree);
String8 mName;
bool mDestroyed; // used for debugging crash, TODO: remove once invalid state crash fixed