diff options
author | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-11 09:07:01 +0000 |
---|---|---|
committer | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-11 09:07:01 +0000 |
commit | e5c45f6c5f6778f1da0053ccbb8d95a15bdbcc14 (patch) | |
tree | d319bff466a413f5e090a542e058ce7ef7ed2b85 /ui/gfx/point.h | |
parent | 394633964593be10c6bb220c73083e1b8308bf23 (diff) | |
download | chromium_src-e5c45f6c5f6778f1da0053ccbb8d95a15bdbcc14.zip chromium_src-e5c45f6c5f6778f1da0053ccbb8d95a15bdbcc14.tar.gz chromium_src-e5c45f6c5f6778f1da0053ccbb8d95a15bdbcc14.tar.bz2 |
Use template for Point/Size/Rect and remove duplicates
BUG=114664
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10014027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131737 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gfx/point.h')
-rw-r--r-- | ui/gfx/point.h | 64 |
1 files changed, 4 insertions, 60 deletions
diff --git a/ui/gfx/point.h b/ui/gfx/point.h index fe39e3b..27bf098 100644 --- a/ui/gfx/point.h +++ b/ui/gfx/point.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -6,10 +6,8 @@ #define UI_GFX_POINT_H_ #pragma once -#include <string> - -#include "build/build_config.h" #include "ui/base/ui_export.h" +#include "ui/gfx/point_base.h" #if defined(OS_WIN) typedef unsigned long DWORD; @@ -21,7 +19,7 @@ typedef struct tagPOINT POINT; namespace gfx { // A point has an x and y coordinate. -class UI_EXPORT Point { +class UI_EXPORT Point : public PointBase<Point, int> { public: Point(); Point(int x, int y); @@ -36,57 +34,7 @@ class UI_EXPORT Point { explicit Point(const CGPoint& point); #endif - ~Point() {} - - int x() const { return x_; } - int y() const { return y_; } - - void SetPoint(int x, int y) { - x_ = x; - y_ = y; - } - - void set_x(int x) { x_ = x; } - void set_y(int y) { y_ = y; } - - void Offset(int delta_x, int delta_y) { - x_ += delta_x; - y_ += delta_y; - } - - Point Add(const Point& other) const{ - Point copy = *this; - copy.Offset(other.x_, other.y_); - return copy; - } - - Point Subtract(const Point& other) const { - Point copy = *this; - copy.Offset(-other.x_, -other.y_); - return copy; - } - - Point Middle(const Point& other) const { - return Point((x_ + other.x_) / 2, (y_ + other.y_) / 2); - } - - bool operator==(const Point& rhs) const { - return x_ == rhs.x_ && y_ == rhs.y_; - } - - bool operator!=(const Point& rhs) const { - return !(*this == rhs); - } - - // A point is less than another point if its y-value is closer - // to the origin. If the y-values are the same, then point with - // the x-value closer to the origin is considered less than the - // other. - // This comparison is required to use Points in sets, or sorted - // vectors. - bool operator<(const Point& rhs) const { - return (y_ == rhs.y_) ? (x_ < rhs.x_) : (y_ < rhs.y_); - } + virtual ~Point() {} #if defined(OS_WIN) POINT ToPOINT() const; @@ -96,10 +44,6 @@ class UI_EXPORT Point { // Returns a string representation of point. std::string ToString() const; - - private: - int x_; - int y_; }; } // namespace gfx |