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#include "chrome/browser/ui/cocoa/download/background_theme.h" 6 7#import "chrome/browser/themes/theme_properties.h" 8 9BackgroundTheme::BackgroundTheme(ui::ThemeProvider* provider) : 10 provider_(provider) { 11 NSColor* bgColor = [NSColor colorWithCalibratedRed:241/255.0 12 green:245/255.0 13 blue:250/255.0 14 alpha:77/255.0]; 15 NSColor* clickedColor = [NSColor colorWithCalibratedRed:239/255.0 16 green:245/255.0 17 blue:252/255.0 18 alpha:51/255.0]; 19 20 borderColor_.reset( 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]]); 26} 27 28BackgroundTheme::~BackgroundTheme() {} 29 30gfx::ImageSkia* BackgroundTheme::GetImageSkiaNamed(int id) const { 31 return NULL; 32} 33 34SkColor BackgroundTheme::GetColor(int id) const { 35 return SkColor(); 36} 37 38int BackgroundTheme::GetDisplayProperty(int id) const { 39 return -1; 40} 41 42bool BackgroundTheme::ShouldUseNativeFrame() const { 43 return false; 44} 45 46bool BackgroundTheme::HasCustomImage(int id) const { 47 return false; 48} 49 50base::RefCountedMemory* BackgroundTheme::GetRawData( 51 int id, 52 ui::ScaleFactor scale_factor) const { 53 return NULL; 54} 55 56NSImage* BackgroundTheme::GetNSImageNamed(int id) const { 57 return nil; 58} 59 60NSColor* BackgroundTheme::GetNSImageColorNamed(int id) const { 61 return nil; 62} 63 64NSColor* BackgroundTheme::GetNSColor(int id) const { 65 return provider_->GetNSColor(id); 66} 67 68NSColor* BackgroundTheme::GetNSColorTint(int id) const { 69 if (id == ThemeProperties::TINT_BUTTONS) 70 return borderColor_.get(); 71 72 return provider_->GetNSColorTint(id); 73} 74 75NSGradient* BackgroundTheme::GetNSGradient(int id) const { 76 switch (id) { 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(); 83 default: 84 return provider_->GetNSGradient(id); 85 } 86} 87 88 89