• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_
56