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 gfx::ImageSkia* BackgroundTheme::GetImageSkiaNamed(int id) const {
34 SkColor BackgroundTheme::GetColor(int id) const {
38 int BackgroundTheme::GetDisplayProperty(int id) const {
42 bool BackgroundTheme::ShouldUseNativeFrame() const {
46 bool BackgroundTheme::HasCustomImage(int id) const {
50 base::RefCountedMemory* BackgroundTheme::GetRawData(
52 ui::ScaleFactor scale_factor) const {
56 NSImage* BackgroundTheme::GetNSImageNamed(int id) const {
60 NSColor* BackgroundTheme::GetNSImageColorNamed(int id) const {
64 NSColor* BackgroundTheme::GetNSColor(int id) const {
65 return provider_->GetNSColor(id);
68 NSColor* BackgroundTheme::GetNSColorTint(int id) const {
69 if (id == ThemeProperties::TINT_BUTTONS)
70 return borderColor_.get();
72 return provider_->GetNSColorTint(id);
75 NSGradient* BackgroundTheme::GetNSGradient(int id) const {
77 case ThemeProperties::GRADIENT_TOOLBAR_BUTTON:
78 case ThemeProperties::GRADIENT_TOOLBAR_BUTTON_INACTIVE:
79 return buttonGradient_.get();
80 case ThemeProperties::GRADIENT_TOOLBAR_BUTTON_PRESSED:
81 case ThemeProperties::GRADIENT_TOOLBAR_BUTTON_PRESSED_INACTIVE:
82 return buttonPressedGradient_.get();
84 return provider_->GetNSGradient(id);