diff --git a/include/ui/Rect.h b/include/ui/Rect.h
index 308da7b..c2c2675 100644
--- a/include/ui/Rect.h
+++ b/include/ui/Rect.h
@@ -65,15 +65,22 @@
     }
 
     // rectangle's width
-    inline int32_t width() const {
+    inline int32_t getWidth() const {
         return right-left;
     }
     
     // rectangle's height
-    inline int32_t height() const {
+    inline int32_t getHeight() const {
         return bottom-top;
     }
 
+    inline Rect getBounds() const {
+        return Rect(right-left, bottom-top);
+    }
+
+    inline int32_t width() const { return getWidth(); }
+    inline int32_t height() const { return getHeight(); }
+
     void setLeftTop(const Point& lt) {
         left = lt.x;
         top  = lt.y;
