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