diff options
Diffstat (limited to 'services/surfaceflinger/Layer.h')
-rw-r--r-- | services/surfaceflinger/Layer.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/services/surfaceflinger/Layer.h b/services/surfaceflinger/Layer.h index f0fe58a..1d4eee7 100644 --- a/services/surfaceflinger/Layer.h +++ b/services/surfaceflinger/Layer.h @@ -142,6 +142,7 @@ public: void computeGeometry(const sp<const DisplayDevice>& hw, Mesh& mesh, bool useIdentityTransform) const; + Rect computeBounds(const Region& activeTransparentRegion) const; Rect computeBounds() const; sp<IBinder> getHandle(); @@ -209,6 +210,8 @@ public: void onLayerDisplayed(const sp<const DisplayDevice>& hw, HWComposer::HWCLayerInterface* layer); + bool shouldPresentNow(const DispSync& dispSync) const; + /* * called before composition. * returns true if the layer has pending updates. @@ -329,7 +332,8 @@ protected: private: // Interface implementation for SurfaceFlingerConsumer::ContentsChangedListener - virtual void onFrameAvailable(); + virtual void onFrameAvailable(const BufferItem& item); + virtual void onFrameReplaced(const BufferItem& item); virtual void onSidebandStreamChanged(); void commitTransaction(); @@ -403,6 +407,10 @@ private: // This layer can be a cursor on some displays. bool mPotentialCursor; + + // Local copy of the queued contents of the incoming BufferQueue + mutable Mutex mQueueItemLock; + Vector<BufferItem> mQueueItems; }; // --------------------------------------------------------------------------- |