summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2010-09-24 11:26:58 -0700
committerMathias Agopian <mathias@google.com>2010-09-24 14:56:39 -0700
commit1b0b30d04304392748a8a4ab5a69e52a19f51b3a (patch)
tree24e2ab128b4ce30f158f9113765ac7b6befb1805 /include
parent05c53113e0c73c7cab61edf53524c61c20a547c2 (diff)
downloadframeworks_native-1b0b30d04304392748a8a4ab5a69e52a19f51b3a.zip
frameworks_native-1b0b30d04304392748a8a4ab5a69e52a19f51b3a.tar.gz
frameworks_native-1b0b30d04304392748a8a4ab5a69e52a19f51b3a.tar.bz2
add support for [1974164] Be able to take a screen shot on the device
screenshots are taken using ISurfaceComposer::captureScreen() which returns the size of the screenshot and an IMemoryHeap containing the data. screenshots have limitations: - they will always fail if a secure window is up on screen - require GL_OES_framebuffer_object extension - in some situation, video planes won't been captured Change-Id: I741c68a2d2984fb139039301c3349e6780e2cd58
Diffstat (limited to 'include')
-rw-r--r--include/surfaceflinger/ISurfaceComposer.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/surfaceflinger/ISurfaceComposer.h b/include/surfaceflinger/ISurfaceComposer.h
index dd44aa5..76307b2 100644
--- a/include/surfaceflinger/ISurfaceComposer.h
+++ b/include/surfaceflinger/ISurfaceComposer.h
@@ -110,6 +110,13 @@ public:
*/
virtual void bootFinished() = 0;
+ /* Capture the specified screen. requires READ_FRAME_BUFFER permission
+ * This function will fail if there is a secure window on screen.
+ */
+ virtual status_t captureScreen(DisplayID dpy,
+ sp<IMemoryHeap>* heap,
+ uint32_t* width, uint32_t* height, PixelFormat* format) = 0;
+
/* Signal surfaceflinger that there might be some work to do
* This is an ASYNCHRONOUS call.
*/
@@ -133,7 +140,8 @@ public:
SET_ORIENTATION,
FREEZE_DISPLAY,
UNFREEZE_DISPLAY,
- SIGNAL
+ SIGNAL,
+ CAPTURE_SCREEN
};
virtual status_t onTransact( uint32_t code,