diff options
author | Mathias Agopian <mathias@google.com> | 2010-10-04 20:06:51 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-10-04 20:06:51 -0700 |
commit | bba3b8efbe7dc9dd6fa326103ef7ddefc28d5ba5 (patch) | |
tree | 5da8b6283591ad47c1edca60a110fb3837a2459b /include | |
parent | 9fa7926beaf6c7fe32159a7e41fae9f618ec7504 (diff) | |
parent | 19058877df9bf94f197a72855f810f7f6bf8d068 (diff) | |
download | frameworks_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.h | 3 | ||||
-rw-r--r-- | include/surfaceflinger/SurfaceComposerClient.h | 30 |
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 |