|  | // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | #ifndef UI_NATIVE_THEME_NATIVE_THEME_MAC_H_ | 
|  | #define UI_NATIVE_THEME_NATIVE_THEME_MAC_H_ | 
|  |  | 
|  | #include "ui/native_theme/fallback_theme.h" | 
|  | #include "ui/native_theme/native_theme_export.h" | 
|  |  | 
|  | namespace ui { | 
|  |  | 
|  | // Mac implementation of native theme support. | 
|  | // TODO(tapted): This should not use FallbackTheme. http://crbug.com/379086. | 
|  | class NativeThemeMac : public FallbackTheme { | 
|  | public: | 
|  | static NativeThemeMac* instance(); | 
|  |  | 
|  | // Overridden from NativeTheme: | 
|  | SkColor GetSystemColor(ColorId color_id) const override; | 
|  |  | 
|  | // Overridden from NativeThemeBase: | 
|  | void PaintScrollbarTrack(SkCanvas* canvas, | 
|  | Part part, | 
|  | State state, | 
|  | const ScrollbarTrackExtraParams& extra_params, | 
|  | const gfx::Rect& rect) const override; | 
|  | void PaintScrollbarThumb(SkCanvas* sk_canvas, | 
|  | Part part, | 
|  | State state, | 
|  | const gfx::Rect& rect) const override; | 
|  | void PaintScrollbarCorner(SkCanvas* canvas, | 
|  | State state, | 
|  | const gfx::Rect& rect) const override; | 
|  | void PaintMenuPopupBackground( | 
|  | SkCanvas* canvas, | 
|  | const gfx::Size& size, | 
|  | const MenuBackgroundExtraParams& menu_background) const override; | 
|  | void PaintMenuItemBackground( | 
|  | SkCanvas* canvas, | 
|  | State state, | 
|  | const gfx::Rect& rect, | 
|  | const MenuListExtraParams& menu_list) const override; | 
|  |  | 
|  | private: | 
|  | NativeThemeMac(); | 
|  | ~NativeThemeMac() override; | 
|  |  | 
|  | DISALLOW_COPY_AND_ASSIGN(NativeThemeMac); | 
|  | }; | 
|  |  | 
|  | }  // namespace ui | 
|  |  | 
|  | #endif  // UI_NATIVE_THEME_NATIVE_THEME_MAC_H_ |