Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / ui / native_theme / native_theme_mac.h
1 // Copyright (c) 2013 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 #ifndef UI_NATIVE_THEME_NATIVE_THEME_MAC_H_
6 #define UI_NATIVE_THEME_NATIVE_THEME_MAC_H_
7
8 #include "ui/native_theme/fallback_theme.h"
9 #include "ui/native_theme/native_theme_export.h"
10
11 namespace ui {
12
13 // Mac implementation of native theme support.
14 // TODO(tapted): This should not use FallbackTheme. http://crbug.com/379086.
15 class NativeThemeMac : public FallbackTheme {
16  public:
17   static NativeThemeMac* instance();
18
19   // Overridden from NativeTheme:
20   virtual SkColor GetSystemColor(ColorId color_id) const OVERRIDE;
21
22   // Overridden from NativeThemeBase:
23   virtual void PaintScrollbarTrack(
24       SkCanvas* canvas,
25       Part part,
26       State state,
27       const ScrollbarTrackExtraParams& extra_params,
28       const gfx::Rect& rect) const OVERRIDE;
29   virtual void PaintScrollbarThumb(SkCanvas* sk_canvas,
30                                    Part part,
31                                    State state,
32                                    const gfx::Rect& rect) const OVERRIDE;
33   virtual void PaintScrollbarCorner(SkCanvas* canvas,
34                                     State state,
35                                     const gfx::Rect& rect) const OVERRIDE;
36   virtual void PaintMenuPopupBackground(
37       SkCanvas* canvas,
38       const gfx::Size& size,
39       const MenuBackgroundExtraParams& menu_background) const OVERRIDE;
40   virtual void PaintMenuItemBackground(
41       SkCanvas* canvas,
42       State state,
43       const gfx::Rect& rect,
44       const MenuListExtraParams& menu_list) const OVERRIDE;
45
46  private:
47   NativeThemeMac();
48   virtual ~NativeThemeMac();
49
50   DISALLOW_COPY_AND_ASSIGN(NativeThemeMac);
51 };
52
53 }  // namespace ui
54
55 #endif  // UI_NATIVE_THEME_NATIVE_THEME_MAC_H_