1// Copyright (c) 2012 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_AURA_H_
6#define UI_NATIVE_THEME_NATIVE_THEME_AURA_H_
7
8#include "base/basictypes.h"
9#include "base/compiler_specific.h"
10#include "ui/native_theme/fallback_theme.h"
11
12namespace ui {
13
14// Aura implementation of native theme support.
15class NATIVE_THEME_EXPORT NativeThemeAura : public FallbackTheme {
16 public:
17  static NativeThemeAura* instance();
18
19 private:
20  NativeThemeAura();
21  virtual ~NativeThemeAura();
22
23  // Overridden from NativeThemeBase:
24  virtual void PaintMenuPopupBackground(
25      SkCanvas* canvas,
26      const gfx::Size& size,
27      const MenuBackgroundExtraParams& menu_background) const OVERRIDE;
28  virtual void PaintMenuItemBackground(
29      SkCanvas* canvas,
30      State state,
31      const gfx::Rect& rect,
32      const MenuListExtraParams& menu_list) const OVERRIDE;
33  virtual void PaintScrollbarTrack(
34      SkCanvas* canvas,
35      Part part,
36      State state,
37      const ScrollbarTrackExtraParams& extra_params,
38      const gfx::Rect& rect) const OVERRIDE;
39  virtual void PaintScrollbarThumb(SkCanvas* canvas,
40                                   Part part,
41                                   State state,
42                                   const gfx::Rect& rect) const OVERRIDE;
43
44  DISALLOW_COPY_AND_ASSIGN(NativeThemeAura);
45};
46
47}  // namespace ui
48
49#endif  // UI_NATIVE_THEME_NATIVE_THEME_AURA_H_
50