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 3 // found in the LICENSE file. 4 5 #include "ui/gfx/point.h" 6 7 #if defined(OS_WIN) 8 #include <windows.h> 9 #endif 10 11 #include "base/strings/stringprintf.h" 12 13 namespace gfx { 14 15 template class PointBase<Point, int, Vector2d>; 16 17 #if defined(OS_WIN) 18 Point::Point(DWORD point) : PointBase<Point, int, Vector2d>(0, 0){ 19 POINTS points = MAKEPOINTS(point); 20 set_x(points.x); 21 set_y(points.y); 22 } 23 24 Point::Point(const POINT& point) 25 : PointBase<Point, int, Vector2d>(point.x, point.y) { 26 } 27 28 Point& Point::operator=(const POINT& point) { 29 set_x(point.x); 30 set_y(point.y); 31 return *this; 32 } 33 34 POINT Point::ToPOINT() const { 35 POINT p; 36 p.x = x(); 37 p.y = y(); 38 return p; 39 } 40 #elif defined(OS_MACOSX) 41 Point::Point(const CGPoint& point) 42 : PointBase<Point, int, Vector2d>(point.x, point.y) { 43 } 44 45 CGPoint Point::ToCGPoint() const { 46 return CGPointMake(x(), y()); 47 } 48 #endif 49 50 std::string Point::ToString() const { 51 return base::StringPrintf("%d,%d", x(), y()); 52 } 53 54 } // namespace gfx 55