blob: 91ee8d86d113f0a29ab9e7f76b47e8bb64a8cff6 [file] [log] [blame]
[email protected]209da9b72013-05-25 14:20:451// 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]209da9b72013-05-25 14:20:4510#include "base/compiler_specific.h"
avi20f6a6d532015-12-23 08:05:2411#include "base/macros.h"
12#include "build/build_config.h"
[email protected]209da9b72013-05-25 14:20:4513#include "ui/base/theme_provider.h"
[email protected]9552c2d2014-01-06 02:05:3214#include "ui/base/ui_base_export.h"
[email protected]209da9b72013-05-25 14:20:4515
16namespace ui {
17class ResourceBundle;
18}
19
20namespace ui {
21
[email protected]9552c2d2014-01-06 02:05:3222class UI_BASE_EXPORT DefaultThemeProvider : public ThemeProvider {
[email protected]209da9b72013-05-25 14:20:4523 public:
24 DefaultThemeProvider();
dcheng08038792014-10-21 10:53:2625 ~DefaultThemeProvider() override;
[email protected]209da9b72013-05-25 14:20:4526
27 // Overridden from ui::ThemeProvider:
dcheng08038792014-10-21 10:53:2628 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]209da9b72013-05-25 14:20:4535
[email protected]7b497d032014-07-16 05:56:4936#if defined(OS_MACOSX)
estade68691b282015-12-11 21:50:4037 bool UsingSystemTheme() const override;
shrike945c12502016-03-01 01:57:3038 bool InIncognitoMode() const override;
39 bool HasCustomColor(int id) const override;
dcheng08038792014-10-21 10:53:2640 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]209da9b72013-05-25 14:20:4545#endif
46
47 private:
48 DISALLOW_COPY_AND_ASSIGN(DefaultThemeProvider);
49};
50
51} // namespace ui
52
53#endif // UI_BASE_DEFAULT_THEME_PROVIDER_H_