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