diff options
| author | 2013-03-01 13:42:57 -0800 | |
|---|---|---|
| committer | 2013-03-01 22:53:39 -0800 | |
| commit | 2a9fc493dfdba67108e4335bb1fe931bc1e2a025 (patch) | |
| tree | 552d2161fb4e8ea2254e1a07210b6e52fa67367f /include/gui/SurfaceComposerClient.h | |
| parent | eb0d12963d271052c24abb025d698504df9e7573 (diff) | |
rework screenshot API and implementation
- SurfaceFlinger now supports to take a screenshot
directly into an IGraphicBufferProducer
- reimplement the IMemoryHeap screenshot on top
of the above
- reimplement LayerScreenshot such that its
BufferQueue is directly used as the destination
of the screenshot. LayerScreenshot is now a thin
wrapper around Layer
Bug: 6940974
Change-Id: I69a2096b44b91acbb99eba16f83a9c78d94e0d10
Diffstat (limited to 'include/gui/SurfaceComposerClient.h')
| -rw-r--r-- | include/gui/SurfaceComposerClient.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/gui/SurfaceComposerClient.h b/include/gui/SurfaceComposerClient.h index 9e4d6fc301..38c931d230 100644 --- a/include/gui/SurfaceComposerClient.h +++ b/include/gui/SurfaceComposerClient.h @@ -156,10 +156,19 @@ private: class ScreenshotClient { +public: + static status_t capture( + const sp<IBinder>& display, + const sp<IGraphicBufferProducer>& producer, + uint32_t reqWidth, uint32_t reqHeight, + uint32_t minLayerZ, uint32_t maxLayerZ); + +private: sp<IMemoryHeap> mHeap; uint32_t mWidth; uint32_t mHeight; PixelFormat mFormat; + public: ScreenshotClient(); |