summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/RefreshRateOverlay.cpp
diff options
context:
space:
mode:
author chaviw <chaviw@google.com> 2021-03-11 16:44:42 -0600
committer chaviw <chaviw@google.com> 2021-03-30 15:53:01 -0500
commit9a93ea66bb7116b8821877a69991ae94557b1303 (patch)
tree40a457bee0e057406fb8b35ad418383c909812e0 /services/surfaceflinger/RefreshRateOverlay.cpp
parent9fc9513410b4b3e6889f5b201e5235ec062bddcd (diff)
Remove setFrame from BufferStateLayer
Replace setFrame with setCrop, setMatrix, and setPosition Test: SurfaceFlinger_tests Test: ASurfaceControlTest Bug: 170765639 Change-Id: I32ee0e3e48e5171d99a5f5af0b7583165d4dd9f9
Diffstat (limited to 'services/surfaceflinger/RefreshRateOverlay.cpp')
-rw-r--r--services/surfaceflinger/RefreshRateOverlay.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/services/surfaceflinger/RefreshRateOverlay.cpp b/services/surfaceflinger/RefreshRateOverlay.cpp
index 1d00cc38f2..7a3e433660 100644
--- a/services/surfaceflinger/RefreshRateOverlay.cpp
+++ b/services/surfaceflinger/RefreshRateOverlay.cpp
@@ -231,8 +231,14 @@ const std::vector<sp<GraphicBuffer>>& RefreshRateOverlay::getOrCreateBuffers(uin
void RefreshRateOverlay::setViewport(ui::Size viewport) {
Rect frame((3 * viewport.width) >> 4, viewport.height >> 5);
frame.offsetBy(viewport.width >> 5, viewport.height >> 4);
- mLayer->setFrame(frame);
+ layer_state_t::matrix22_t matrix;
+ matrix.dsdx = frame.getWidth() / static_cast<float>(SevenSegmentDrawer::getWidth());
+ matrix.dtdx = 0;
+ matrix.dtdy = 0;
+ matrix.dsdy = frame.getHeight() / static_cast<float>(SevenSegmentDrawer::getHeight());
+ mLayer->setMatrix(matrix, true);
+ mLayer->setPosition(frame.left, frame.top);
mFlinger.mTransactionFlags.fetch_or(eTransactionMask);
}