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_NATIVE_THEME_COMMON_THEME_H_
6 #define UI_NATIVE_THEME_COMMON_THEME_H_
8 #include "base/memory/scoped_ptr.h"
9 #include "ui/native_theme/native_theme.h"
19 // Drawing code that is common for all platforms.
21 // Returns true and |color| if |color_id| is found, or false otherwise.
22 bool NATIVE_THEME_EXPORT
CommonThemeGetSystemColor(
23 NativeTheme::ColorId color_id
,
26 gfx::Size NATIVE_THEME_EXPORT
CommonThemeGetPartSize(
27 NativeTheme::Part part
,
28 NativeTheme::State state
,
29 const NativeTheme::ExtraParams
& extra
);
31 void NATIVE_THEME_EXPORT
CommonThemePaintComboboxArrow(
33 const gfx::Rect
& rect
);
35 void NATIVE_THEME_EXPORT
CommonThemePaintMenuSeparator(
37 const gfx::Rect
& rect
,
38 const NativeTheme::MenuSeparatorExtraParams
& extra
);
40 void NATIVE_THEME_EXPORT
CommonThemePaintMenuGutter(SkCanvas
* canvas
,
41 const gfx::Rect
& rect
);
43 void NATIVE_THEME_EXPORT
CommonThemePaintMenuBackground(SkCanvas
* canvas
,
44 const gfx::Rect
& rect
);
46 void NATIVE_THEME_EXPORT
CommonThemePaintMenuItemBackground(
48 NativeTheme::State state
,
49 const gfx::Rect
& rect
);
51 // Creates a gfx::Canvas wrapping an SkCanvas.
52 scoped_ptr
<gfx::Canvas
> NATIVE_THEME_EXPORT
CommonThemeCreateCanvas(
57 #endif // UI_NATIVE_THEME_COMMON_THEME_H_