summaryrefslogtreecommitdiffstats
path: root/libs/surfaceflinger_client/ISurfaceComposer.cpp
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 /libs/surfaceflinger_client/ISurfaceComposer.cpp
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 'libs/surfaceflinger_client/ISurfaceComposer.cpp')
-rw-r--r--libs/surfaceflinger_client/ISurfaceComposer.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/libs/surfaceflinger_client/ISurfaceComposer.cpp b/libs/surfaceflinger_client/ISurfaceComposer.cpp
index 040060e..d676f5e 100644
--- a/libs/surfaceflinger_client/ISurfaceComposer.cpp
+++ b/libs/surfaceflinger_client/ISurfaceComposer.cpp
@@ -126,11 +126,14 @@ public:
virtual status_t captureScreen(DisplayID dpy,
sp<IMemoryHeap>* heap,
- uint32_t* width, uint32_t* height, PixelFormat* format)
+ uint32_t* width, uint32_t* height, PixelFormat* format,
+ uint32_t reqWidth, uint32_t reqHeight)
{
Parcel data, reply;
data.writeInterfaceToken(ISurfaceComposer::getInterfaceDescriptor());
data.writeInt32(dpy);
+ data.writeInt32(reqWidth);
+ data.writeInt32(reqHeight);
remote()->transact(BnSurfaceComposer::CAPTURE_SCREEN, data, &reply);
*heap = interface_cast<IMemoryHeap>(reply.readStrongBinder());
*width = reply.readInt32();
@@ -208,10 +211,13 @@ status_t BnSurfaceComposer::onTransact(
case CAPTURE_SCREEN: {
CHECK_INTERFACE(ISurfaceComposer, data, reply);
DisplayID dpy = data.readInt32();
+ uint32_t reqWidth = data.readInt32();
+ uint32_t reqHeight = data.readInt32();
sp<IMemoryHeap> heap;
uint32_t w, h;
PixelFormat f;
- status_t res = captureScreen(dpy, &heap, &w, &h, &f);
+ status_t res = captureScreen(dpy, &heap, &w, &h, &f,
+ reqWidth, reqHeight);
reply->writeStrongBinder(heap->asBinder());
reply->writeInt32(w);
reply->writeInt32(h);