summaryrefslogtreecommitdiff
path: root/libs/gui/ScreenCaptureResults.cpp
diff options
context:
space:
mode:
author Alec Mouri <alecmouri@google.com> 2024-09-13 15:03:02 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-09-13 15:03:02 +0000
commitde3019c89c0cd6d24f9f2037ad60fa57a2a9345e (patch)
treebb998b17ed1927d2a44a3559e39ed3ff2e7ab7e5 /libs/gui/ScreenCaptureResults.cpp
parent25f78d0ea920370a94689247bef1641d85bf9d48 (diff)
parent1b1853f92528a2214f0337decf4685250334a43c (diff)
Merge "Support capturing a gainmapped screenshot" into main
Diffstat (limited to 'libs/gui/ScreenCaptureResults.cpp')
-rw-r--r--libs/gui/ScreenCaptureResults.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/libs/gui/ScreenCaptureResults.cpp b/libs/gui/ScreenCaptureResults.cpp
index 601a5f9b33..2de023e5b2 100644
--- a/libs/gui/ScreenCaptureResults.cpp
+++ b/libs/gui/ScreenCaptureResults.cpp
@@ -40,6 +40,13 @@ status_t ScreenCaptureResults::writeToParcel(android::Parcel* parcel) const {
SAFE_PARCEL(parcel->writeBool, capturedSecureLayers);
SAFE_PARCEL(parcel->writeBool, capturedHdrLayers);
SAFE_PARCEL(parcel->writeUint32, static_cast<uint32_t>(capturedDataspace));
+ if (optionalGainMap != nullptr) {
+ SAFE_PARCEL(parcel->writeBool, true);
+ SAFE_PARCEL(parcel->write, *optionalGainMap);
+ } else {
+ SAFE_PARCEL(parcel->writeBool, false);
+ }
+ SAFE_PARCEL(parcel->writeFloat, hdrSdrRatio);
return NO_ERROR;
}
@@ -68,6 +75,14 @@ status_t ScreenCaptureResults::readFromParcel(const android::Parcel* parcel) {
uint32_t dataspace = 0;
SAFE_PARCEL(parcel->readUint32, &dataspace);
capturedDataspace = static_cast<ui::Dataspace>(dataspace);
+
+ bool hasGainmap;
+ SAFE_PARCEL(parcel->readBool, &hasGainmap);
+ if (hasGainmap) {
+ optionalGainMap = new GraphicBuffer();
+ SAFE_PARCEL(parcel->read, *optionalGainMap);
+ }
+ SAFE_PARCEL(parcel->readFloat, &hdrSdrRatio);
return NO_ERROR;
}