diff options
Diffstat (limited to 'services/surfaceflinger/MessageQueue.h')
-rw-r--r-- | services/surfaceflinger/MessageQueue.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/services/surfaceflinger/MessageQueue.h b/services/surfaceflinger/MessageQueue.h index 710b2c2..b77e08e 100644 --- a/services/surfaceflinger/MessageQueue.h +++ b/services/surfaceflinger/MessageQueue.h @@ -62,8 +62,9 @@ private: class MessageQueue { class Handler : public MessageHandler { enum { - eventMaskInvalidate = 0x1, - eventMaskRefresh = 0x2 + eventMaskInvalidate = 0x1, + eventMaskRefresh = 0x2, + eventMaskTransaction = 0x4 }; MessageQueue& mQueue; int32_t mEventMask; @@ -72,6 +73,7 @@ class MessageQueue { virtual void handleMessage(const Message& message); void dispatchRefresh(); void dispatchInvalidate(); + void dispatchTransaction(); }; friend class Handler; @@ -89,8 +91,9 @@ class MessageQueue { public: enum { - INVALIDATE = 0, - REFRESH = 1, + INVALIDATE = 0, + REFRESH = 1, + TRANSACTION = 2 }; MessageQueue(); @@ -100,8 +103,13 @@ public: void waitMessage(); status_t postMessage(const sp<MessageBase>& message, nsecs_t reltime=0); + + // sends INVALIDATE message at next VSYNC void invalidate(); + // sends REFRESH message at next VSYNC void refresh(); + // sends TRANSACTION message immediately + void invalidateTransactionNow(); }; // --------------------------------------------------------------------------- |