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 9 BackgroundTheme::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 28 BackgroundTheme::~BackgroundTheme() {} 29 30 gfx::ImageSkia* BackgroundTheme::GetImageSkiaNamed(int id) const { 31 return NULL; 32 } 33 34 SkColor BackgroundTheme::GetColor(int id) const { 35 return SkColor(); 36 } 37 38 bool BackgroundTheme::GetDisplayProperty(int id, int* result) const { 39 return false; 40 } 41 42 bool BackgroundTheme::ShouldUseNativeFrame() const { 43 return false; 44 } 45 46 bool BackgroundTheme::HasCustomImage(int id) const { 47 return false; 48 } 49 50 base::RefCountedMemory* BackgroundTheme::GetRawData( 51 int id, 52 ui::ScaleFactor scale_factor) const { 53 return NULL; 54 } 55 56 NSImage* BackgroundTheme::GetNSImageNamed(int id) const { 57 return nil; 58 } 59 60 NSColor* BackgroundTheme::GetNSImageColorNamed(int id) const { 61 return nil; 62 } 63 64 NSColor* BackgroundTheme::GetNSColor(int id) const { 65 return provider_->GetNSColor(id); 66 } 67 68 NSColor* BackgroundTheme::GetNSColorTint(int id) const { 69 if (id == ThemeProperties::TINT_BUTTONS) 70 return borderColor_.get(); 71 72 return provider_->GetNSColorTint(id); 73 } 74 75 NSGradient* 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