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/size.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 SizeBase<Size, int>; 16 17 #if defined(OS_MACOSX) 18 Size::Size(const CGSize& s) 19 : SizeBase<Size, int>(s.width, s.height) { 20 } 21 22 Size& Size::operator=(const CGSize& s) { 23 set_width(s.width); 24 set_height(s.height); 25 return *this; 26 } 27 #endif 28 29 #if defined(OS_WIN) 30 SIZE Size::ToSIZE() const { 31 SIZE s; 32 s.cx = width(); 33 s.cy = height(); 34 return s; 35 } 36 #elif defined(OS_MACOSX) 37 CGSize Size::ToCGSize() const { 38 return CGSizeMake(width(), height()); 39 } 40 #endif 41 42 std::string Size::ToString() const { 43 return base::StringPrintf("%dx%d", width(), height()); 44 } 45 46 } // namespace gfx 47