summaryrefslogtreecommitdiffstats
path: root/libs/hwui/DisplayListRenderer.cpp
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2014-04-15 16:18:08 -0700
committerChris Craik <ccraik@google.com>2014-04-23 16:15:11 -0700
commit3f085429fd47ebd32ac2463b3eae2a5a6c17be25 (patch)
tree2930b7ee50ce98092fde97546a3d546c817038f1 /libs/hwui/DisplayListRenderer.cpp
parentfbb54b8363b66e0b22d519ee20d1a50e8b5340ee (diff)
downloadframeworks_base-3f085429fd47ebd32ac2463b3eae2a5a6c17be25.zip
frameworks_base-3f085429fd47ebd32ac2463b3eae2a5a6c17be25.tar.gz
frameworks_base-3f085429fd47ebd32ac2463b3eae2a5a6c17be25.tar.bz2
Clip TouchFeedbackDrawable effect to receiver Outline
Projected RenderNodes are now wrapped with a ClipRect or masked SaveLayer, so that they are clipped to the outline of the projection receiver surface. Change-Id: I1d4afc1bb5d638d650bc0b1dac51a498f216773e
Diffstat (limited to 'libs/hwui/DisplayListRenderer.cpp')
-rw-r--r--libs/hwui/DisplayListRenderer.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/libs/hwui/DisplayListRenderer.cpp b/libs/hwui/DisplayListRenderer.cpp
index 6c73d68..e36d975 100644
--- a/libs/hwui/DisplayListRenderer.cpp
+++ b/libs/hwui/DisplayListRenderer.cpp
@@ -184,20 +184,15 @@ status_t DisplayListRenderer::drawDisplayList(RenderNode* displayList,
// dirty is an out parameter and should not be recorded,
// it matters only when replaying the display list
- // TODO: To be safe, the display list should be ref-counted in the
- // resources cache, but we rely on the caller (UI toolkit) to
- // do the right thing for now
+ if (displayList->stagingProperties().isProjectionReceiver()) {
+ // use staging property, since recording on UI thread
+ mDisplayListData->projectionReceiveIndex = mDisplayListData->displayListOps.size();
+ }
DrawDisplayListOp* op = new (alloc()) DrawDisplayListOp(displayList,
flags, *currentTransform());
addDrawOp(op);
mDisplayListData->addChild(op);
-
- if (displayList->stagingProperties().isProjectionReceiver()) {
- // use staging property, since recording on UI thread
- mDisplayListData->projectionReceiveIndex = mDisplayListData->displayListOps.size() - 1;
- }
-
return DrawGlInfo::kStatusDone;
}