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/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