summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2010-10-04 20:04:42 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-10-04 20:04:42 -0700
commit566b728c933c0fe7d333d426bc420fcd363aa3d1 (patch)
tree89429eeb590b58be15f9a29f494eb7b6b07c4ad3 /include
parent7b8fda505eec0103cc20db198c3287939ce1e7f2 (diff)
parentdf85c455c34a920d22a8e3f7459a1cc615efcd27 (diff)
downloadframeworks_native-566b728c933c0fe7d333d426bc420fcd363aa3d1.zip
frameworks_native-566b728c933c0fe7d333d426bc420fcd363aa3d1.tar.gz
frameworks_native-566b728c933c0fe7d333d426bc420fcd363aa3d1.tar.bz2
Merge "refactored screenshot code" into gingerbread
Diffstat (limited to 'include')
-rw-r--r--include/surfaceflinger/ISurfaceComposer.h3
-rw-r--r--include/surfaceflinger/SurfaceComposerClient.h30
2 files changed, 32 insertions, 1 deletions
diff --git a/include/surfaceflinger/ISurfaceComposer.h b/include/surfaceflinger/ISurfaceComposer.h
index 76307b2..6533600 100644
--- a/include/surfaceflinger/ISurfaceComposer.h
+++ b/include/surfaceflinger/ISurfaceComposer.h
@@ -115,7 +115,8 @@ public:
*/
virtual status_t captureScreen(DisplayID dpy,
sp<IMemoryHeap>* heap,
- uint32_t* width, uint32_t* height, PixelFormat* format) = 0;
+ uint32_t* width, uint32_t* height, PixelFormat* format,
+ uint32_t reqWidth, uint32_t reqHeight) = 0;
/* Signal surfaceflinger that there might be some work to do
* This is an ASYNCHRONOUS call.
diff --git a/include/surfaceflinger/SurfaceComposerClient.h b/include/surfaceflinger/SurfaceComposerClient.h
index 8773d71..a80832d 100644
--- a/include/surfaceflinger/SurfaceComposerClient.h
+++ b/include/surfaceflinger/SurfaceComposerClient.h
@@ -170,6 +170,36 @@ private:
};
// ---------------------------------------------------------------------------
+
+class ScreenshotClient
+{
+ sp<IMemoryHeap> mHeap;
+ uint32_t mWidth;
+ uint32_t mHeight;
+ PixelFormat mFormat;
+public:
+ ScreenshotClient();
+
+ // frees the previous screenshot and capture a new one
+ status_t update();
+ status_t update(uint32_t reqWidth, uint32_t reqHeight);
+
+ // release memory occupied by the screenshot
+ void release();
+
+ // pixels are valid until this object is freed or
+ // release() or update() is called
+ void const* getPixels() const;
+
+ uint32_t getWidth() const;
+ uint32_t getHeight() const;
+ PixelFormat getFormat() const;
+ uint32_t getStride() const;
+ // size of allocated memory in bytes
+ size_t getSize() const;
+};
+
+// ---------------------------------------------------------------------------
}; // namespace android
#endif // ANDROID_SF_SURFACE_COMPOSER_CLIENT_H