Home | History | Annotate | Download | only in base
      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 
     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 
     15 namespace ui {
     16 class ResourceBundle;
     17 }
     18 
     19 namespace ui {
     20 
     21 class 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 int GetDisplayProperty(int id) 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)
     37   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;
     41   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_
     53