Home | History | Annotate | Download | only in download
      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