diff options
Diffstat (limited to 'libs/hwui/RenderNode.cpp')
-rw-r--r-- | libs/hwui/RenderNode.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp index d3daec8e7dd3..f0cf42f2f634 100644 --- a/libs/hwui/RenderNode.cpp +++ b/libs/hwui/RenderNode.cpp @@ -107,6 +107,23 @@ void RenderNode::updateProperties() { } } +bool RenderNode::hasFunctors() { + if (!mDisplayListData) return false; + + if (mDisplayListData->functorCount) { + return true; + } + + for (size_t i = 0; i < mDisplayListData->children.size(); i++) { + RenderNode* childNode = mDisplayListData->children[i]->mDisplayList; + if (childNode->hasFunctors()) { + return true; + } + } + + return false; +} + /* * For property operations, we pass a savecount of 0, since the operations aren't part of the * displaylist, and thus don't have to compensate for the record-time/playback-time discrepancy in |