summaryrefslogtreecommitdiffstats
path: root/include/gui
diff options
context:
space:
mode:
authorJesse Hall <jessehall@google.com>2013-08-08 12:15:49 -0700
committerJesse Hall <jessehall@google.com>2013-08-08 13:12:29 -0700
commit6c913be9ca95fd6b556d056e165a4ba6dc69795b (patch)
treee6a1bc9d78a1a7eef75dd736ddf302357cc8987a /include/gui
parent74020ca133095e1dff635ee74d9e9657d0ceac3b (diff)
downloadframeworks_native-6c913be9ca95fd6b556d056e165a4ba6dc69795b.zip
frameworks_native-6c913be9ca95fd6b556d056e165a4ba6dc69795b.tar.gz
frameworks_native-6c913be9ca95fd6b556d056e165a4ba6dc69795b.tar.bz2
Add ISurfaceComposer::destroyDisplay
Bug: 10191053 Change-Id: Ia89286f95421344a60ffedaaca5825c4e3cd7f9e
Diffstat (limited to 'include/gui')
-rw-r--r--include/gui/ISurfaceComposer.h8
-rw-r--r--include/gui/SurfaceComposerClient.h9
2 files changed, 13 insertions, 4 deletions
diff --git a/include/gui/ISurfaceComposer.h b/include/gui/ISurfaceComposer.h
index 0606aff..5c3c99c 100644
--- a/include/gui/ISurfaceComposer.h
+++ b/include/gui/ISurfaceComposer.h
@@ -70,12 +70,17 @@ public:
/* return an IDisplayEventConnection */
virtual sp<IDisplayEventConnection> createDisplayEventConnection() = 0;
- /* create a display
+ /* create a virtual display
* requires ACCESS_SURFACE_FLINGER permission.
*/
virtual sp<IBinder> createDisplay(const String8& displayName,
bool secure) = 0;
+ /* destroy a virtual display
+ * requires ACCESS_SURFACE_FLINGER permission.
+ */
+ virtual void destroyDisplay(const sp<IBinder>& display) = 0;
+
/* get the token for the existing default displays. possible values
* for id are eDisplayIdMain and eDisplayIdHdmi.
*/
@@ -130,6 +135,7 @@ public:
CREATE_GRAPHIC_BUFFER_ALLOC,
CREATE_DISPLAY_EVENT_CONNECTION,
CREATE_DISPLAY,
+ DESTROY_DISPLAY,
GET_BUILT_IN_DISPLAY,
SET_TRANSACTION_STATE,
AUTHENTICATE_SURFACE,
diff --git a/include/gui/SurfaceComposerClient.h b/include/gui/SurfaceComposerClient.h
index 643d7cf..e982bcd 100644
--- a/include/gui/SurfaceComposerClient.h
+++ b/include/gui/SurfaceComposerClient.h
@@ -48,7 +48,7 @@ class Region;
class SurfaceComposerClient : public RefBase
{
friend class Composer;
-public:
+public:
SurfaceComposerClient();
virtual ~SurfaceComposerClient();
@@ -57,7 +57,7 @@ public:
// Return the connection of this client
sp<IBinder> connection() const;
-
+
// Forcibly remove connection before all references have gone away.
void dispose();
@@ -86,9 +86,12 @@ public:
uint32_t flags = 0 // usage flags
);
- //! Create a display
+ //! Create a virtual display
static sp<IBinder> createDisplay(const String8& displayName, bool secure);
+ //! Destroy a virtual display
+ static void destroyDisplay(const sp<IBinder>& display);
+
//! Get the token for the existing default displays.
//! Possible values for id are eDisplayIdMain and eDisplayIdHdmi.
static sp<IBinder> getBuiltInDisplay(int32_t id);