blob: 2594dfbf66a9d86308cc3b24a41c2b2488d7e5c0 [file] [log] [blame]
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +01001// 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_BASE_DEFAULT_THEME_PROVIDER_H_
6#define UI_BASE_DEFAULT_THEME_PROVIDER_H_
7
8#include <vector>
9
10#include "base/basictypes.h"
11#include "base/compiler_specific.h"
12#include "ui/base/theme_provider.h"
13#include "ui/base/ui_export.h"
14
15namespace ui {
16class ResourceBundle;
17}
18
19namespace ui {
20
21class UI_EXPORT DefaultThemeProvider : public ThemeProvider {
22 public:
23 DefaultThemeProvider();
24 virtual ~DefaultThemeProvider();
25
26 // Overridden from ui::ThemeProvider:
27 virtual gfx::ImageSkia* GetImageSkiaNamed(int id) const OVERRIDE;
28 virtual SkColor GetColor(int id) const OVERRIDE;
29 virtual bool GetDisplayProperty(int id, int* result) const OVERRIDE;
30 virtual bool ShouldUseNativeFrame() const OVERRIDE;
31 virtual bool HasCustomImage(int id) const OVERRIDE;
32 virtual base::RefCountedMemory* GetRawData(
33 int id,
34 ui::ScaleFactor scale_factor) const OVERRIDE;
35
36#if defined(OS_MACOSX) && !defined(TOOLKIT_VIEWS)
Ben Murdochbb1529c2013-08-08 10:24:53 +010037 virtual NSImage* GetNSImageNamed(int id) const OVERRIDE;
38 virtual NSColor* GetNSImageColorNamed(int id) const OVERRIDE;
39 virtual NSColor* GetNSColor(int id) const OVERRIDE;
40 virtual NSColor* GetNSColorTint(int id) const OVERRIDE;
Torne (Richard Coles)90dce4d2013-05-29 14:40:03 +010041 virtual NSGradient* GetNSGradient(int id) const OVERRIDE;
42#elif defined(OS_POSIX) && !defined(TOOLKIT_VIEWS) && !defined(OS_ANDROID)
43 virtual GdkPixbuf* GetRTLEnabledPixbufNamed(int id) const OVERRIDE;
44#endif
45
46 private:
47 DISALLOW_COPY_AND_ASSIGN(DefaultThemeProvider);
48};
49
50} // namespace ui
51
52#endif // UI_BASE_DEFAULT_THEME_PROVIDER_H_