summaryrefslogtreecommitdiffstats
path: root/ui/gfx/point.h
diff options
context:
space:
mode:
authoroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-11 09:07:01 +0000
committeroshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-11 09:07:01 +0000
commite5c45f6c5f6778f1da0053ccbb8d95a15bdbcc14 (patch)
treed319bff466a413f5e090a542e058ce7ef7ed2b85 /ui/gfx/point.h
parent394633964593be10c6bb220c73083e1b8308bf23 (diff)
downloadchromium_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.h64
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