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 11namespace ui { 12 13// Mac implementation of native theme support. 14// TODO(tapted): This should not use FallbackTheme. http://crbug.com/379086. 15class 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