SurfaceFlinger: SCALING_MODE_FREEZE cropping support
This change adss support for applying a buffer crop to layers with the
SCALING_MODE_FREEZE scaling mode. These layers do not scale the image, but
rather treat all pixels outside the crop rectangle as fully transparent.
Change-Id: I762518e56a37aef7747f9b581df2f2589b232c49
Bug: 6299171
diff --git a/services/surfaceflinger/Transform.h b/services/surfaceflinger/Transform.h
index ec74243..4fe261a 100644
--- a/services/surfaceflinger/Transform.h
+++ b/services/surfaceflinger/Transform.h
@@ -77,6 +77,7 @@
Rect makeBounds(int w, int h) const;
void transform(float* point, int x, int y) const;
Region transform(const Region& reg) const;
+ Rect transform(const Rect& bounds) const;
Transform operator * (const Transform& rhs) const;
// for debugging
@@ -112,7 +113,6 @@
// assumes the last row is < 0 , 0 , 1 >
vec2 transform(const vec2& v) const;
vec3 transform(const vec3& v) const;
- Rect transform(const Rect& bounds) const;
uint32_t type() const;
static bool absIsOne(float f);
static bool isZero(float f);