diff options
author | Chris Craik <ccraik@google.com> | 2013-10-25 18:30:17 -0700 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2013-12-12 10:18:23 -0800 |
commit | f57776b2d195f0937906eb88b777bb55ccc36967 (patch) | |
tree | f2c160bb0860a6f3d0f883cdf0c520892a1bde24 /libs/hwui/DeferredDisplayList.h | |
parent | c3c4d36df01631883a79163da841ca222497c9d3 (diff) | |
download | frameworks_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.h | 4 |
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(); } |