summaryrefslogtreecommitdiffstats
path: root/libs/hwui/DeferredDisplayList.h
diff options
context:
space:
mode:
authorChris Craik <ccraik@google.com>2013-10-25 18:30:17 -0700
committerChris Craik <ccraik@google.com>2013-12-12 10:18:23 -0800
commitf57776b2d195f0937906eb88b777bb55ccc36967 (patch)
treef2c160bb0860a6f3d0f883cdf0c520892a1bde24 /libs/hwui/DeferredDisplayList.h
parentc3c4d36df01631883a79163da841ca222497c9d3 (diff)
downloadframeworks_base-f57776b2d195f0937906eb88b777bb55ccc36967.zip
frameworks_base-f57776b2d195f0937906eb88b777bb55ccc36967.tar.gz
frameworks_base-f57776b2d195f0937906eb88b777bb55ccc36967.tar.bz2
3d view system!
True 3d transformations are now supported by DisplayLists and the renderer, initially with the translationZ property on view. Renderer operations used directly by DisplayList (formerly, clip/save/restore/saveLayer) are now more simply managed by allocating them temporarily on the handler's allocator, which exists for a single frame. This is much simpler than continuing to expand the pool of pre-allocated DisplayListOps now that more operations are called directly by DisplayList, especially with z ordered drawing. Still TODO: -APIs for camera positioning, shadows -Make Z apis public, and expose through XML -Make invalidation / input 3d aware Change-Id: I95fe6fa03f9b6ddd34a7e0c6ec8dd9fe47c6c6eb
Diffstat (limited to 'libs/hwui/DeferredDisplayList.h')
-rw-r--r--libs/hwui/DeferredDisplayList.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/hwui/DeferredDisplayList.h b/libs/hwui/DeferredDisplayList.h
index 3dcbd0b..fca3588 100644
--- a/libs/hwui/DeferredDisplayList.h
+++ b/libs/hwui/DeferredDisplayList.h
@@ -79,13 +79,13 @@ public:
};
class DeferredDisplayList {
+ friend class DeferStateStruct; // used to give access to allocator
public:
DeferredDisplayList(const Rect& bounds, bool avoidOverdraw = true) :
mBounds(bounds), mAvoidOverdraw(avoidOverdraw) {
clear();
}
~DeferredDisplayList() { clear(); }
- void reset(const Rect& bounds) { mBounds.set(bounds); }
enum OpBatchId {
kOpBatch_None = 0, // Don't batch
@@ -120,6 +120,8 @@ public:
void addDrawOp(OpenGLRenderer& renderer, DrawOp* op);
private:
+ DeferredDisplayList(const DeferredDisplayList& other); // disallow copy
+
DeferredDisplayState* createState() {
return new (mAllocator) DeferredDisplayState();
}