summaryrefslogtreecommitdiffstats
path: root/include/surfaceflinger/ISurfaceComposer.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/surfaceflinger/ISurfaceComposer.h')
-rw-r--r--include/surfaceflinger/ISurfaceComposer.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/include/surfaceflinger/ISurfaceComposer.h b/include/surfaceflinger/ISurfaceComposer.h
index da4d56f..1bab7d7 100644
--- a/include/surfaceflinger/ISurfaceComposer.h
+++ b/include/surfaceflinger/ISurfaceComposer.h
@@ -42,7 +42,7 @@ public:
eDestroyBackbuffer = 0x00000020,
eSecure = 0x00000080,
eNonPremultiplied = 0x00000100,
- ePushBuffers = 0x00000200,
+ eOpaque = 0x00000400,
eFXSurfaceNormal = 0x00000000,
eFXSurfaceBlur = 0x00010000,
@@ -121,7 +121,8 @@ public:
virtual status_t captureScreen(DisplayID dpy,
sp<IMemoryHeap>* heap,
uint32_t* width, uint32_t* height, PixelFormat* format,
- uint32_t reqWidth, uint32_t reqHeight) = 0;
+ uint32_t reqWidth, uint32_t reqHeight,
+ uint32_t minLayerZ, uint32_t maxLayerZ) = 0;
virtual status_t turnElectronBeamOff(int32_t mode) = 0;
virtual status_t turnElectronBeamOn(int32_t mode) = 0;
@@ -130,6 +131,13 @@ public:
* This is an ASYNCHRONOUS call.
*/
virtual void signal() const = 0;
+
+ /* Create a new GraphicBuffer for the client to use. SurfaceFlinger will
+ * not maintain a reference to the GraphicBuffer, so the underlying native
+ * handle will be freed once the client references are released.
+ */
+ virtual sp<GraphicBuffer> createGraphicBuffer(uint32_t w, uint32_t h,
+ PixelFormat format, uint32_t usage) const = 0;
};
// ----------------------------------------------------------------------------
@@ -143,6 +151,7 @@ public:
BOOT_FINISHED = IBinder::FIRST_CALL_TRANSACTION,
CREATE_CONNECTION,
CREATE_CLIENT_CONNECTION,
+ CREATE_GRAPHIC_BUFFER,
GET_CBLK,
OPEN_GLOBAL_TRANSACTION,
CLOSE_GLOBAL_TRANSACTION,