Home | History | Annotate | Download | only in gfx
      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