libui: add the Rect::transform method
This change adds a method to Rect to transform a rectangle by a graphics HAL
transform.
Change-Id: Ic0d0988e731bdb5662faee41a5927b1242891658
Bug: 6299171
diff --git a/include/ui/Rect.h b/include/ui/Rect.h
index 9e98bc5..bd82061 100644
--- a/include/ui/Rect.h
+++ b/include/ui/Rect.h
@@ -136,10 +136,18 @@
void translate(int32_t dx, int32_t dy) { // legacy, don't use.
offsetBy(dx, dy);
}
-
+
Rect& offsetTo(int32_t x, int32_t y);
Rect& offsetBy(int32_t x, int32_t y);
bool intersect(const Rect& with, Rect* result) const;
+
+ // Create a new Rect by transforming this one using a graphics HAL
+ // transform. This rectangle is defined in a coordinate space starting at
+ // the origin and extending to (width, height). If the transform includes
+ // a ROT90 then the output rectangle is defined in a space extending to
+ // (height, width). Otherwise the output rectangle is in the same space as
+ // the input.
+ Rect transform(uint32_t xform, int32_t width, int32_t height);
};
ANDROID_BASIC_TYPES_TRAITS(Rect)