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

Side by Side Diff: ui/gfx/point.cc

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, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/gfx/point.h" 5 #include "ui/gfx/point.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <windows.h> 8 #include <windows.h>
9 #endif 9 #endif
10 10
11 #include "base/stringprintf.h" 11 #include "base/stringprintf.h"
12 12
13 namespace gfx { 13 namespace gfx {
14 14
15 template class PointBase<Point, int>; 15 template class PointBase<Point, int, Vector2d>;
16 16
17 Point::Point() : PointBase<Point, int>(0, 0) { 17 Point::Point() : PointBase<Point, int, Vector2d>(0, 0) {
18 } 18 }
19 19
20 Point::Point(int x, int y) : PointBase<Point, int>(x, y) { 20 Point::Point(int x, int y) : PointBase<Point, int, Vector2d>(x, y) {
21 } 21 }
22 22
23 #if defined(OS_WIN) 23 #if defined(OS_WIN)
24 Point::Point(DWORD point) : PointBase<Point, int>(0, 0){ 24 Point::Point(DWORD point) : PointBase<Point, int, Vector2d>(0, 0){
25 POINTS points = MAKEPOINTS(point); 25 POINTS points = MAKEPOINTS(point);
26 set_x(points.x); 26 set_x(points.x);
27 set_y(points.y); 27 set_y(points.y);
28 } 28 }
29 29
30 Point::Point(const POINT& point) : PointBase<Point, int>(point.x, point.y) { 30 Point::Point(const POINT& point)
31 : PointBase<Point, int, Vector2d>(point.x, point.y) {
31 } 32 }
32 33
33 Point& Point::operator=(const POINT& point) { 34 Point& Point::operator=(const POINT& point) {
34 set_x(point.x); 35 set_x(point.x);
35 set_y(point.y); 36 set_y(point.y);
36 return *this; 37 return *this;
37 } 38 }
38 39
39 POINT Point::ToPOINT() const { 40 POINT Point::ToPOINT() const {
40 POINT p; 41 POINT p;
41 p.x = x(); 42 p.x = x();
42 p.y = y(); 43 p.y = y();
43 return p; 44 return p;
44 } 45 }
45 #elif defined(OS_MACOSX) 46 #elif defined(OS_MACOSX)
46 Point::Point(const CGPoint& point) : PointBase<Point, int>(point.x, point.y) { 47 Point::Point(const CGPoint& point)
48 : PointBase<Point, int, Vector2d>(point.x, point.y) {
47 } 49 }
48 50
49 CGPoint Point::ToCGPoint() const { 51 CGPoint Point::ToCGPoint() const {
50 return CGPointMake(x(), y()); 52 return CGPointMake(x(), y());
51 } 53 }
52 #endif 54 #endif
53 55
54 std::string Point::ToString() const { 56 std::string Point::ToString() const {
55 return base::StringPrintf("%d,%d", x(), y()); 57 return base::StringPrintf("%d,%d", x(), y());
56 } 58 }
57 59
58 } // namespace gfx 60 } // namespace gfx
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698