Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(115)

Unified Diff: ui/gfx/rect_base_impl.h

Issue 11269022: Add Vector2d classes that represent offsets, instead of using Point. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: RenderText fixup Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/gfx/rect_base_impl.h
diff --git a/ui/gfx/rect_base_impl.h b/ui/gfx/rect_base_impl.h
index 291929df4654df2c2684488530a2ece06f1c2e1c..5ca9afafc41cff3ec394d447a7fb6a4c0091c203 100644
--- a/ui/gfx/rect_base_impl.h
+++ b/ui/gfx/rect_base_impl.h
@@ -32,9 +32,10 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::RectBase(
- const PointClass& origin, const SizeClass& size)
+RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ RectBase(const PointClass& origin, const SizeClass& size)
: origin_(origin), size_(size) {
}
@@ -42,9 +43,10 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::RectBase(
- const SizeClass& size)
+RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ RectBase(const SizeClass& size)
: size_(size) {
}
@@ -52,9 +54,10 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::RectBase(
- const PointClass& origin)
+RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ RectBase(const PointClass& origin)
: origin_(origin) {
}
@@ -62,16 +65,19 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::~RectBase() {}
+RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ ~RectBase() {}
template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-void RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::SetRect(
- Type x, Type y, Type width, Type height) {
+void RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ SetRect(Type x, Type y, Type width, Type height) {
origin_.SetPoint(x, y);
set_width(width);
set_height(height);
@@ -81,9 +87,10 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-void RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::Inset(
- const InsetsClass& insets) {
+void RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ Inset(const InsetsClass& insets) {
Inset(insets.left(), insets.top(), insets.right(), insets.bottom());
}
@@ -91,9 +98,10 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-void RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::Inset(
- Type left, Type top, Type right, Type bottom) {
+void RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ Inset(Type left, Type top, Type right, Type bottom) {
Offset(left, top);
set_width(std::max(width() - left - right, static_cast<Type>(0)));
set_height(std::max(height() - top - bottom, static_cast<Type>(0)));
@@ -103,9 +111,10 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-void RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::Offset(
- Type horizontal, Type vertical) {
+void RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ Offset(Type horizontal, Type vertical) {
origin_.Offset(horizontal, vertical);
}
@@ -113,9 +122,10 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-bool RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::operator<(
- const Class& other) const {
+bool RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ operator<(const Class& other) const {
if (origin_ == other.origin_) {
if (width() == other.width()) {
return height() < other.height();
@@ -131,9 +141,10 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-bool RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::Contains(
- Type point_x, Type point_y) const {
+bool RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ Contains(Type point_x, Type point_y) const {
return (point_x >= x()) && (point_x < right()) &&
(point_y >= y()) && (point_y < bottom());
}
@@ -142,9 +153,10 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-bool RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::Contains(
- const Class& rect) const {
+bool RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ Contains(const Class& rect) const {
return (rect.x() >= x() && rect.right() <= right() &&
rect.y() >= y() && rect.bottom() <= bottom());
}
@@ -153,9 +165,10 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-bool RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::Intersects(
- const Class& rect) const {
+bool RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ Intersects(const Class& rect) const {
return !(rect.x() >= right() || rect.right() <= x() ||
rect.y() >= bottom() || rect.bottom() <= y());
}
@@ -164,9 +177,10 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-void RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::Intersect(
- const Class& rect) {
+void RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ Intersect(const Class& rect) {
if (IsEmpty() || rect.IsEmpty()) {
SetRect(0, 0, 0, 0);
return;
@@ -187,9 +201,10 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-void RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::Union(
- const Class& rect) {
+void RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ Union(const Class& rect) {
if (IsEmpty()) {
*this = rect;
return;
@@ -209,9 +224,10 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-void RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::Subtract(
- const Class& rect) {
+void RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ Subtract(const Class& rect) {
if (!Intersects(rect))
return;
if (rect.Contains(*static_cast<const Class*>(this))) {
@@ -246,9 +262,10 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-void RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::AdjustToFit(
- const Class& rect) {
+void RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ AdjustToFit(const Class& rect) {
Type new_x = x();
Type new_y = y();
Type new_width = width();
@@ -262,9 +279,10 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-PointClass RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::
- CenterPoint() const {
+PointClass RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass,
+ Type>::CenterPoint() const {
return PointClass(x() + width() / 2, y() + height() / 2);
}
@@ -272,8 +290,9 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-void RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::
+void RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
ClampToCenteredSize(const SizeClass& size) {
Type new_width = std::min(width(), size.width());
Type new_height = std::min(height(), size.height());
@@ -286,9 +305,10 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-void RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::SplitVertically(
- Class* left_half, Class* right_half) const {
+void RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ SplitVertically(Class* left_half, Class* right_half) const {
DCHECK(left_half);
DCHECK(right_half);
@@ -303,9 +323,10 @@ template<typename Class,
typename PointClass,
typename SizeClass,
typename InsetsClass,
+ typename VectorClass,
typename Type>
-bool RectBase<Class, PointClass, SizeClass, InsetsClass, Type>::SharesEdgeWith(
- const Class& rect) const {
+bool RectBase<Class, PointClass, SizeClass, InsetsClass, VectorClass, Type>::
+ SharesEdgeWith(const Class& rect) const {
return (y() == rect.y() && height() == rect.height() &&
(x() == rect.right() || right() == rect.x())) ||
(x() == rect.x() && width() == rect.width() &&

Powered by Google App Engine
This is Rietveld 408576698