Expose setScalingMode from Surface.
While we are here fix a validation error causing
NATIVE_WINDOW_SCALING_MODE_NO_SCALE_CROP to never be applied.
Furthermore, we remove GLConsumer logic causing the scaling mode to
be reinitialized when buffers change.
Bug: 26010823
Change-Id: I1bf1e4fdc2eded67ff401783cf24f920e4684326
diff --git a/include/gui/Surface.h b/include/gui/Surface.h
index f9fc6df..bcc3fff 100644
--- a/include/gui/Surface.h
+++ b/include/gui/Surface.h
@@ -112,6 +112,11 @@
// See IGraphicBufferProducer::getNextFrameNumber
uint64_t getNextFrameNumber() const;
+ /* Set the scaling mode to be used with a Surface.
+ * See NATIVE_WINDOW_SET_SCALING_MODE and its parameters
+ * in <system/window.h>. */
+ int setScalingMode(int mode);
+
protected:
virtual ~Surface();
@@ -177,7 +182,6 @@
virtual int setBuffersDimensions(uint32_t width, uint32_t height);
virtual int setBuffersUserDimensions(uint32_t width, uint32_t height);
virtual int setBuffersFormat(PixelFormat format);
- virtual int setScalingMode(int mode);
virtual int setBuffersTransform(uint32_t transform);
virtual int setBuffersStickyTransform(uint32_t transform);
virtual int setBuffersTimestamp(int64_t timestamp);