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.
5 #include "chrome/browser/ui/cocoa/download/background_theme.h"
7 #import "chrome/browser/themes/theme_properties.h"
9 BackgroundTheme::BackgroundTheme(ui::ThemeProvider* provider) :
11 NSColor* bgColor = [NSColor colorWithCalibratedRed:241/255.0
15 NSColor* clickedColor = [NSColor colorWithCalibratedRed:239/255.0
21 [[NSColor colorWithCalibratedWhite:0 alpha:36/255.0] retain]);
22 buttonGradient_.reset([[NSGradient alloc]
23 initWithColors:[NSArray arrayWithObject:bgColor]]);
24 buttonPressedGradient_.reset([[NSGradient alloc]
25 initWithColors:[NSArray arrayWithObject:clickedColor]]);
28 BackgroundTheme::~BackgroundTheme() {}
30 bool BackgroundTheme::UsingSystemTheme() const {
34 gfx::ImageSkia* BackgroundTheme::GetImageSkiaNamed(int id) const {
38 SkColor BackgroundTheme::GetColor(int id) const {
42 int BackgroundTheme::GetDisplayProperty(int id) const {
46 bool BackgroundTheme::ShouldUseNativeFrame() const {
50 bool BackgroundTheme::HasCustomImage(int id) const {
54 base::RefCountedMemory* BackgroundTheme::GetRawData(
56 ui::ScaleFactor scale_factor) const {
60 NSImage* BackgroundTheme::GetNSImageNamed(int id) const {
64 NSColor* BackgroundTheme::GetNSImageColorNamed(int id) const {
68 NSColor* BackgroundTheme::GetNSColor(int id) const {
69 return provider_->GetNSColor(id);
72 NSColor* BackgroundTheme::GetNSColorTint(int id) const {
73 if (id == ThemeProperties::TINT_BUTTONS)
74 return borderColor_.get();
76 return provider_->GetNSColorTint(id);
79 NSGradient* BackgroundTheme::GetNSGradient(int id) const {
81 case ThemeProperties::GRADIENT_TOOLBAR_BUTTON:
82 case ThemeProperties::GRADIENT_TOOLBAR_BUTTON_INACTIVE:
83 return buttonGradient_.get();
84 case ThemeProperties::GRADIENT_TOOLBAR_BUTTON_PRESSED:
85 case ThemeProperties::GRADIENT_TOOLBAR_BUTTON_PRESSED_INACTIVE:
86 return buttonPressedGradient_.get();
88 return provider_->GetNSGradient(id);