OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UI_GFX_INSETS_H_ | 5 // TODO(beng): remove once callsites are patched. |
6 #define UI_GFX_INSETS_H_ | 6 #include "ui/gfx/geometry/insets.h" |
7 | 7 |
8 #include <string> | |
9 | |
10 #include "build/build_config.h" | |
11 #include "ui/gfx/gfx_export.h" | |
12 #include "ui/gfx/insets_base.h" | |
13 | |
14 #if defined(TOOLKIT_GTK) | |
15 typedef struct _GtkBorder GtkBorder; | |
16 #endif | |
17 | |
18 namespace gfx { | |
19 | |
20 // An integer version of gfx::Insets. | |
21 class GFX_EXPORT Insets : public InsetsBase<Insets, int> { | |
22 public: | |
23 Insets(); | |
24 Insets(int top, int left, int bottom, int right); | |
25 #if defined(TOOLKIT_GTK) | |
26 explicit Insets(const GtkBorder& border); | |
27 #endif | |
28 | |
29 ~Insets(); | |
30 | |
31 Insets Scale(float scale) const { | |
32 return Scale(scale, scale); | |
33 } | |
34 | |
35 Insets Scale(float x_scale, float y_scale) const { | |
36 return Insets(static_cast<int>(top() * y_scale), | |
37 static_cast<int>(left() * x_scale), | |
38 static_cast<int>(bottom() * y_scale), | |
39 static_cast<int>(right() * x_scale)); | |
40 } | |
41 | |
42 // Returns a string representation of the insets. | |
43 std::string ToString() const; | |
44 }; | |
45 | |
46 #if !defined(COMPILER_MSVC) | |
47 extern template class InsetsBase<Insets, int>; | |
48 #endif | |
49 | |
50 } // namespace gfx | |
51 | |
52 #endif // UI_GFX_INSETS_H_ | |
OLD | NEW |