diff options
author | 2021-07-02 00:22:38 -0700 | |
---|---|---|
committer | 2021-07-02 15:05:36 -0700 | |
commit | a8f66857922d6af72782ebb863f79e077473e64f (patch) | |
tree | 4033d55f49ffff94d09bc40221eb0d892bce2f5a /services/surfaceflinger/RegionSamplingThread.cpp | |
parent | 9345fd4c678edc21f21ff9d245776580b3d40b72 (diff) |
Fix color sampling for landscape
Region sampling listener accepts coordinates already in the correct orientation, no additional transforms are needed.
Bug: 178777512
Test: download Google I/O 2019 app, check system gesture navigation bar
color
Change-Id: I73f78a2a8390beb29b7ab33b2bed2b0326d367b1
Diffstat (limited to 'services/surfaceflinger/RegionSamplingThread.cpp')
-rw-r--r-- | services/surfaceflinger/RegionSamplingThread.cpp | 27 |
1 files changed, 3 insertions, 24 deletions
diff --git a/services/surfaceflinger/RegionSamplingThread.cpp b/services/surfaceflinger/RegionSamplingThread.cpp index 653aca6cde..aa2fec56ad 100644 --- a/services/surfaceflinger/RegionSamplingThread.cpp +++ b/services/surfaceflinger/RegionSamplingThread.cpp @@ -287,33 +287,12 @@ void RegionSamplingThread::captureSample() { descriptors.emplace_back(descriptor); } - auto dx = 0; - auto dy = 0; - switch (orientation) { - case ui::Transform::ROT_90: - dx = displaySize.getWidth(); - break; - case ui::Transform::ROT_180: - dx = displaySize.getWidth(); - dy = displaySize.getHeight(); - break; - case ui::Transform::ROT_270: - dy = displaySize.getHeight(); - break; - default: - break; - } - - ui::Transform t(orientation); - auto screencapRegion = t.transform(sampleRegion); - screencapRegion = screencapRegion.translate(dx, dy); - const Rect sampledBounds = sampleRegion.bounds(); + constexpr bool kUseIdentityTransform = false; SurfaceFlinger::RenderAreaFuture renderAreaFuture = ftl::defer([=] { - return DisplayRenderArea::create(displayWeak, screencapRegion.bounds(), - sampledBounds.getSize(), ui::Dataspace::V0_SRGB, - orientation); + return DisplayRenderArea::create(displayWeak, sampledBounds, sampledBounds.getSize(), + ui::Dataspace::V0_SRGB, kUseIdentityTransform); }); std::unordered_set<sp<IRegionSamplingListener>, SpHash<IRegionSamplingListener>> listeners; |