summaryrefslogtreecommitdiffstats
path: root/include/ui/Rect.h
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2009-05-26 17:44:57 -0700
committerMathias Agopian <mathias@google.com>2009-05-26 17:47:39 -0700
commit35801cea5f301c0e1d7a93b15a8f73f98e6b1033 (patch)
tree2cad208ad6212d912b6f3476c98c0873f8d56fd4 /include/ui/Rect.h
parent7419ebc96fa5ae665dd4426dc5a4277c9ae1f325 (diff)
downloadframeworks_native-35801cea5f301c0e1d7a93b15a8f73f98e6b1033.zip
frameworks_native-35801cea5f301c0e1d7a93b15a8f73f98e6b1033.tar.gz
frameworks_native-35801cea5f301c0e1d7a93b15a8f73f98e6b1033.tar.bz2
minor clean-up to Rect and Point.
- return "const" objects for overloaded operators to disallow constructs like: (a+b) = c; - don't return references to non-static members, it's not always safe. - Point.cpp was empty, so get rid of it
Diffstat (limited to 'include/ui/Rect.h')
-rw-r--r--include/ui/Rect.h40
1 files changed, 17 insertions, 23 deletions
diff --git a/include/ui/Rect.h b/include/ui/Rect.h
index d232847..da72944 100644
--- a/include/ui/Rect.h
+++ b/include/ui/Rect.h
@@ -33,23 +33,16 @@ public:
// we don't provide copy-ctor and operator= on purpose
// because we want the compiler generated versions
- inline Rect()
- {
+ inline Rect() {
}
-
inline Rect(int w, int h)
- : left(0), top(0), right(w), bottom(h)
- {
+ : left(0), top(0), right(w), bottom(h) {
}
-
inline Rect(int l, int t, int r, int b)
- : left(l), top(t), right(r), bottom(b)
- {
+ : left(l), top(t), right(r), bottom(b) {
}
-
inline Rect(const Point& lt, const Point& rb)
- : left(lt.x), top(lt.y), right(rb.x), bottom(rb.y)
- {
+ : left(lt.x), top(lt.y), right(rb.x), bottom(rb.y) {
}
void makeInvalid();
@@ -78,21 +71,22 @@ public:
return bottom-top;
}
- // returns left-top Point non-const reference, can be assigned
- inline Point& leftTop() {
- return reinterpret_cast<Point&>(left);
+ void setLeftTop(const Point& lt) {
+ left = lt.x;
+ top = lt.y;
}
- // returns right bottom non-const reference, can be assigned
- inline Point& rightBottom() {
- return reinterpret_cast<Point&>(right);
+
+ void setRightBottom(const Point& rb) {
+ right = rb.x;
+ bottom = rb.y;
}
// the following 4 functions return the 4 corners of the rect as Point
- inline const Point& leftTop() const {
- return reinterpret_cast<const Point&>(left);
+ Point leftTop() const {
+ return Point(left, top);
}
- inline const Point& rightBottom() const {
- return reinterpret_cast<const Point&>(right);
+ Point rightBottom() const {
+ return Point(right, bottom);
}
Point rightTop() const {
return Point(right, top);
@@ -133,8 +127,8 @@ public:
Rect& operator -= (const Point& rhs) {
return offsetBy(-rhs.x, -rhs.y);
}
- Rect operator + (const Point& rhs) const;
- Rect operator - (const Point& rhs) const;
+ const Rect operator + (const Point& rhs) const;
+ const Rect operator - (const Point& rhs) const;
void translate(int dx, int dy) { // legacy, don't use.
offsetBy(dx, dy);