[email protected] | 209da9b7 | 2013-05-25 14:20:45 | [diff] [blame] | 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_BASE_DEFAULT_THEME_PROVIDER_H_ | ||||
6 | #define UI_BASE_DEFAULT_THEME_PROVIDER_H_ | ||||
7 | |||||
8 | #include <vector> | ||||
9 | |||||
[email protected] | 209da9b7 | 2013-05-25 14:20:45 | [diff] [blame] | 10 | #include "base/compiler_specific.h" |
avi | 20f6a6d53 | 2015-12-23 08:05:24 | [diff] [blame] | 11 | #include "base/macros.h" |
12 | #include "build/build_config.h" | ||||
[email protected] | 209da9b7 | 2013-05-25 14:20:45 | [diff] [blame] | 13 | #include "ui/base/theme_provider.h" |
[email protected] | 9552c2d | 2014-01-06 02:05:32 | [diff] [blame] | 14 | #include "ui/base/ui_base_export.h" |
[email protected] | 209da9b7 | 2013-05-25 14:20:45 | [diff] [blame] | 15 | |
16 | namespace ui { | ||||
17 | class ResourceBundle; | ||||
18 | } | ||||
19 | |||||
20 | namespace ui { | ||||
21 | |||||
[email protected] | 9552c2d | 2014-01-06 02:05:32 | [diff] [blame] | 22 | class UI_BASE_EXPORT DefaultThemeProvider : public ThemeProvider { |
[email protected] | 209da9b7 | 2013-05-25 14:20:45 | [diff] [blame] | 23 | public: |
24 | DefaultThemeProvider(); | ||||
dcheng | 0803879 | 2014-10-21 10:53:26 | [diff] [blame] | 25 | ~DefaultThemeProvider() override; |
[email protected] | 209da9b7 | 2013-05-25 14:20:45 | [diff] [blame] | 26 | |
27 | // Overridden from ui::ThemeProvider: | ||||
dcheng | 0803879 | 2014-10-21 10:53:26 | [diff] [blame] | 28 | gfx::ImageSkia* GetImageSkiaNamed(int id) const override; |
29 | SkColor GetColor(int id) const override; | ||||
30 | int GetDisplayProperty(int id) const override; | ||||
31 | bool ShouldUseNativeFrame() const override; | ||||
32 | bool HasCustomImage(int id) const override; | ||||
33 | base::RefCountedMemory* GetRawData(int id, ui::ScaleFactor scale_factor) | ||||
34 | const override; | ||||
[email protected] | 209da9b7 | 2013-05-25 14:20:45 | [diff] [blame] | 35 | |
[email protected] | 7b497d03 | 2014-07-16 05:56:49 | [diff] [blame] | 36 | #if defined(OS_MACOSX) |
estade | 68691b28 | 2015-12-11 21:50:40 | [diff] [blame] | 37 | bool UsingSystemTheme() const override; |
shrike | 945c1250 | 2016-03-01 01:57:30 | [diff] [blame] | 38 | bool InIncognitoMode() const override; |
39 | bool HasCustomColor(int id) const override; | ||||
dcheng | 0803879 | 2014-10-21 10:53:26 | [diff] [blame] | 40 | NSImage* GetNSImageNamed(int id) const override; |
41 | NSColor* GetNSImageColorNamed(int id) const override; | ||||
42 | NSColor* GetNSColor(int id) const override; | ||||
43 | NSColor* GetNSColorTint(int id) const override; | ||||
44 | NSGradient* GetNSGradient(int id) const override; | ||||
[email protected] | 209da9b7 | 2013-05-25 14:20:45 | [diff] [blame] | 45 | #endif |
46 | |||||
47 | private: | ||||
48 | DISALLOW_COPY_AND_ASSIGN(DefaultThemeProvider); | ||||
49 | }; | ||||
50 | |||||
51 | } // namespace ui | ||||
52 | |||||
53 | #endif // UI_BASE_DEFAULT_THEME_PROVIDER_H_ |