summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2010-10-04 20:06:51 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-10-04 20:06:51 -0700
commitbba3b8efbe7dc9dd6fa326103ef7ddefc28d5ba5 (patch)
tree5da8b6283591ad47c1edca60a110fb3837a2459b /include
parent9fa7926beaf6c7fe32159a7e41fae9f618ec7504 (diff)
parent19058877df9bf94f197a72855f810f7f6bf8d068 (diff)
downloadframeworks_base-bba3b8efbe7dc9dd6fa326103ef7ddefc28d5ba5.zip
frameworks_base-bba3b8efbe7dc9dd6fa326103ef7ddefc28d5ba5.tar.gz
frameworks_base-bba3b8efbe7dc9dd6fa326103ef7ddefc28d5ba5.tar.bz2
am 19058877: Merge "refactored screenshot code" into gingerbread
Merge commit '19058877df9bf94f197a72855f810f7f6bf8d068' into gingerbread-plus-aosp * commit '19058877df9bf94f197a72855f810f7f6bf8d068': refactored screenshot code
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