Separate Simple Backend creation from initialization.
[chromium-blink-merge.git] / ui / gfx / insets.h
blob31e9f53c88fd9c05c6059c419ac83050e2e62ca5
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.
5 #ifndef UI_GFX_INSETS_H_
6 #define UI_GFX_INSETS_H_
8 #include <string>
10 #include "build/build_config.h"
11 #include "ui/base/ui_export.h"
12 #include "ui/gfx/insets_base.h"
14 #if defined(TOOLKIT_GTK)
15 typedef struct _GtkBorder GtkBorder;
16 #endif
18 namespace gfx {
20 // An integer versin of gfx::Insets.
21 class UI_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
29 ~Insets();
31 Insets Scale(float scale) const {
32 return Scale(scale, scale);
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));
42 // Returns a string representation of the insets.
43 std::string ToString() const;
46 #if !defined(COMPILER_MSVC)
47 extern template class InsetsBase<Insets, int>;
48 #endif
50 } // namespace gfx
52 #endif // UI_GFX_INSETS_H_