diff --git a/include/ui/Rect.h b/include/ui/Rect.h index 31e28d27f..40d11665d 100644 --- a/include/ui/Rect.h +++ b/include/ui/Rect.h @@ -18,6 +18,7 @@ #define ANDROID_UI_RECT #include +#include #include #include @@ -43,6 +44,22 @@ public: bottom = h; } + inline Rect(uint32_t w, uint32_t h) { + if (w > INT32_MAX) { + ALOG(LOG_WARN, "Rect", + "Width %u too large for Rect class, clamping", w); + w = INT32_MAX; + } + if (h > INT32_MAX) { + ALOG(LOG_WARN, "Rect", + "Height %u too large for Rect class, clamping", h); + h = INT32_MAX; + } + left = top = 0; + right = w; + bottom = h; + } + inline Rect(int32_t l, int32_t t, int32_t r, int32_t b) { left = l; top = t;