• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • 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
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