1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/cocoa/download/background_theme.h"
#import "chrome/browser/themes/theme_properties.h"
BackgroundTheme::BackgroundTheme(ui::ThemeProvider* provider) :
provider_(provider) {
NSColor* bgColor = [NSColor colorWithCalibratedRed:241/255.0
green:245/255.0
blue:250/255.0
alpha:77/255.0];
NSColor* clickedColor = [NSColor colorWithCalibratedRed:239/255.0
green:245/255.0
blue:252/255.0
alpha:51/255.0];
borderColor_.reset(
[[NSColor colorWithCalibratedWhite:0 alpha:36/255.0] retain]);
buttonGradient_.reset([[NSGradient alloc]
initWithColors:[NSArray arrayWithObject:bgColor]]);
buttonPressedGradient_.reset([[NSGradient alloc]
initWithColors:[NSArray arrayWithObject:clickedColor]]);
}
BackgroundTheme::~BackgroundTheme() {}
bool BackgroundTheme::UsingSystemTheme() const {
return true;
}
gfx::ImageSkia* BackgroundTheme::GetImageSkiaNamed(int id) const {
return NULL;
}
SkColor BackgroundTheme::GetColor(int id) const {
return SkColor();
}
int BackgroundTheme::GetDisplayProperty(int id) const {
return -1;
}
bool BackgroundTheme::ShouldUseNativeFrame() const {
return false;
}
bool BackgroundTheme::HasCustomImage(int id) const {
return false;
}
base::RefCountedMemory* BackgroundTheme::GetRawData(
int id,
ui::ScaleFactor scale_factor) const {
return NULL;
}
NSImage* BackgroundTheme::GetNSImageNamed(int id) const {
return nil;
}
NSColor* BackgroundTheme::GetNSImageColorNamed(int id) const {
return nil;
}
NSColor* BackgroundTheme::GetNSColor(int id) const {
return provider_->GetNSColor(id);
}
NSColor* BackgroundTheme::GetNSColorTint(int id) const {
if (id == ThemeProperties::TINT_BUTTONS)
return borderColor_.get();
return provider_->GetNSColorTint(id);
}
NSGradient* BackgroundTheme::GetNSGradient(int id) const {
switch (id) {
case ThemeProperties::GRADIENT_TOOLBAR_BUTTON:
case ThemeProperties::GRADIENT_TOOLBAR_BUTTON_INACTIVE:
return buttonGradient_.get();
case ThemeProperties::GRADIENT_TOOLBAR_BUTTON_PRESSED:
case ThemeProperties::GRADIENT_TOOLBAR_BUTTON_PRESSED_INACTIVE:
return buttonPressedGradient_.get();
default:
return provider_->GetNSGradient(id);
}
}
|