summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/gui/SurfaceComposerClient.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/libs/gui/SurfaceComposerClient.cpp b/libs/gui/SurfaceComposerClient.cpp
index 3bee3fc..6e13207 100644
--- a/libs/gui/SurfaceComposerClient.cpp
+++ b/libs/gui/SurfaceComposerClient.cpp
@@ -166,6 +166,7 @@ public:
uint32_t orientation,
const Rect& layerStackRect,
const Rect& displayRect);
+ void setDisplaySize(const sp<IBinder>& token, uint32_t width, uint32_t height);
static void setAnimationTransaction() {
Composer::getInstance().setAnimationTransactionImpl();
@@ -426,6 +427,14 @@ void Composer::setDisplayProjection(const sp<IBinder>& token,
mForceSynchronous = true; // TODO: do we actually still need this?
}
+void Composer::setDisplaySize(const sp<IBinder>& token, uint32_t width, uint32_t height) {
+ Mutex::Autolock _l(mLock);
+ DisplayState& s(getDisplayStateLocked(token));
+ s.width = width;
+ s.height = height;
+ s.what |= DisplayState::eDisplaySizeChanged;
+}
+
// ---------------------------------------------------------------------------
SurfaceComposerClient::SurfaceComposerClient()
@@ -621,6 +630,11 @@ void SurfaceComposerClient::setDisplayProjection(const sp<IBinder>& token,
layerStackRect, displayRect);
}
+void SurfaceComposerClient::setDisplaySize(const sp<IBinder>& token,
+ uint32_t width, uint32_t height) {
+ Composer::getInstance().setDisplaySize(token, width, height);
+}
+
// ----------------------------------------------------------------------------
status_t SurfaceComposerClient::getDisplayConfigs(