summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJamie Gennis <jgennis@google.com>2012-10-15 18:24:43 -0700
committerJamie Gennis <jgennis@google.com>2012-10-15 19:09:04 -0700
commit2d5e230292c27d59f4c096bc742a0a19abf811c1 (patch)
treeb8017bb03c4eb1907757de6352059ff84e33646f /include
parent9bdaa60b809b223d14619d1f13afdd38acb1738d (diff)
downloadframeworks_native-2d5e230292c27d59f4c096bc742a0a19abf811c1.zip
frameworks_native-2d5e230292c27d59f4c096bc742a0a19abf811c1.tar.gz
frameworks_native-2d5e230292c27d59f4c096bc742a0a19abf811c1.tar.bz2
SurfaceFlinger: add animation transactions
This change adds a transaction flag for WindowManager to indicate that a transaction is being used to animate windows around the screen. SurfaceFlinger will not allow more than one of these transactions to be outstanding at a time to prevent the animation "frames" from being dropped. Bug: 7353840 Change-Id: I6488a6e0e1ed13d27356d2203c9dc766dc6b1759
Diffstat (limited to 'include')
-rw-r--r--include/gui/ISurfaceComposer.h1
-rw-r--r--include/gui/SurfaceComposerClient.h5
2 files changed, 5 insertions, 1 deletions
diff --git a/include/gui/ISurfaceComposer.h b/include/gui/ISurfaceComposer.h
index 5d2d8d7..002aafc 100644
--- a/include/gui/ISurfaceComposer.h
+++ b/include/gui/ISurfaceComposer.h
@@ -46,6 +46,7 @@ public:
// flags for setTransactionState()
enum {
eSynchronous = 0x01,
+ eAnimation = 0x02,
};
enum {
diff --git a/include/gui/SurfaceComposerClient.h b/include/gui/SurfaceComposerClient.h
index 581ec8d..21d16a9 100644
--- a/include/gui/SurfaceComposerClient.h
+++ b/include/gui/SurfaceComposerClient.h
@@ -101,10 +101,13 @@ public:
//! Open a composer transaction on all active SurfaceComposerClients.
static void openGlobalTransaction();
-
+
//! Close a composer transaction on all active SurfaceComposerClients.
static void closeGlobalTransaction(bool synchronous = false);
+ //! Flag the currently open transaction as an animation transaction.
+ static void setAnimationTransaction();
+
status_t hide(SurfaceID id);
status_t show(SurfaceID id);
status_t setFlags(SurfaceID id, uint32_t flags, uint32_t mask);