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