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 CHROME_BROWSER_UI_COCOA_DOWNLOAD_BACKGROUND_THEME_H_ 6 #define CHROME_BROWSER_UI_COCOA_DOWNLOAD_BACKGROUND_THEME_H_ 7 8 #import <Cocoa/Cocoa.h> 9 10 #include "base/mac/scoped_nsobject.h" 11 #include "ui/base/theme_provider.h" 12 13 class BackgroundTheme : public ui::ThemeProvider { 14 public: 15 BackgroundTheme(ui::ThemeProvider* provider); 16 virtual ~BackgroundTheme(); 17 18 // Overridden from ui::ThemeProvider: 19 virtual bool UsingSystemTheme() const OVERRIDE; 20 virtual gfx::ImageSkia* GetImageSkiaNamed(int id) const OVERRIDE; 21 virtual SkColor GetColor(int id) const OVERRIDE; 22 virtual int GetDisplayProperty(int id) const OVERRIDE; 23 virtual bool ShouldUseNativeFrame() const OVERRIDE; 24 virtual bool HasCustomImage(int id) const OVERRIDE; 25 virtual base::RefCountedMemory* GetRawData( 26 int id, 27 ui::ScaleFactor scale_factor) const OVERRIDE; 28 virtual NSImage* GetNSImageNamed(int id) const OVERRIDE; 29 virtual NSColor* GetNSImageColorNamed(int id) const OVERRIDE; 30 virtual NSColor* GetNSColor(int id) const OVERRIDE; 31 virtual NSColor* GetNSColorTint(int id) const OVERRIDE; 32 virtual NSGradient* GetNSGradient(int id) const OVERRIDE; 33 34 private: 35 ui::ThemeProvider* provider_; 36 base::scoped_nsobject<NSGradient> buttonGradient_; 37 base::scoped_nsobject<NSGradient> buttonPressedGradient_; 38 base::scoped_nsobject<NSColor> borderColor_; 39 }; 40 41 #endif // CHROME_BROWSER_UI_COCOA_DOWNLOAD_BACKGROUND_THEME_H_ 42