OLD | NEW |
---|---|
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "views/background.h" | 5 #include "views/background.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "skia/ext/skia_utils_win.h" | 8 #include "skia/ext/skia_utils_win.h" |
9 #include "third_party/skia/include/core/SkPaint.h" | 9 #include "third_party/skia/include/core/SkPaint.h" |
10 #include "ui/gfx/canvas_skia.h" | 10 #include "ui/gfx/canvas_skia.h" |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
67 | 67 |
68 Background::~Background() { | 68 Background::~Background() { |
69 #if defined(OS_WIN) | 69 #if defined(OS_WIN) |
70 DeleteObject(native_control_brush_); | 70 DeleteObject(native_control_brush_); |
71 #endif | 71 #endif |
72 } | 72 } |
73 | 73 |
74 void Background::SetNativeControlColor(SkColor color) { | 74 void Background::SetNativeControlColor(SkColor color) { |
75 color_ = color; | 75 color_ = color; |
76 #if defined(OS_WIN) | 76 #if defined(OS_WIN) |
77 DeleteObject(native_control_brush_); | 77 DeleteObject(native_control_brush_); |
Ben Goodger (Google)
2011/05/24 02:09:48
Should this also set native_control_brush_ back to
sky
2011/05/24 18:13:50
Definitely. Fixed.
| |
78 native_control_brush_ = CreateSolidBrush(skia::SkColorToCOLORREF(color)); | |
79 #endif | 78 #endif |
80 } | 79 } |
81 | 80 |
81 #if defined(OS_WIN) | |
82 HBRUSH Background::GetNativeControlBrush() const { | |
83 if (!native_control_brush_) | |
84 native_control_brush_ = CreateSolidBrush(skia::SkColorToCOLORREF(color_)); | |
85 return native_control_brush_; | |
86 } | |
87 #endif | |
88 | |
82 //static | 89 //static |
83 Background* Background::CreateSolidBackground(const SkColor& color) { | 90 Background* Background::CreateSolidBackground(const SkColor& color) { |
84 return new SolidBackground(color); | 91 return new SolidBackground(color); |
85 } | 92 } |
86 | 93 |
87 //static | 94 //static |
88 Background* Background::CreateStandardPanelBackground() { | 95 Background* Background::CreateStandardPanelBackground() { |
89 return CreateVerticalGradientBackground(SkColorSetRGB(246, 250, 255), | 96 return CreateVerticalGradientBackground(SkColorSetRGB(246, 250, 255), |
90 SkColorSetRGB(219, 235, 255)); | 97 SkColorSetRGB(219, 235, 255)); |
91 } | 98 } |
92 | 99 |
93 //static | 100 //static |
94 Background* Background::CreateVerticalGradientBackground( | 101 Background* Background::CreateVerticalGradientBackground( |
95 const SkColor& color1, const SkColor& color2) { | 102 const SkColor& color1, const SkColor& color2) { |
96 Background* background = CreateBackgroundPainter( | 103 Background* background = CreateBackgroundPainter( |
97 true, Painter::CreateVerticalGradient(color1, color2)); | 104 true, Painter::CreateVerticalGradient(color1, color2)); |
98 background->SetNativeControlColor( | 105 background->SetNativeControlColor( |
99 color_utils::AlphaBlend(color1, color2, 128)); | 106 color_utils::AlphaBlend(color1, color2, 128)); |
100 | 107 |
101 return background; | 108 return background; |
102 } | 109 } |
103 | 110 |
104 //static | 111 //static |
105 Background* Background::CreateBackgroundPainter(bool owns_painter, | 112 Background* Background::CreateBackgroundPainter(bool owns_painter, |
106 Painter* painter) { | 113 Painter* painter) { |
107 return new BackgroundPainter(owns_painter, painter); | 114 return new BackgroundPainter(owns_painter, painter); |
108 } | 115 } |
109 | 116 |
110 } // namespace views | 117 } // namespace views |
OLD | NEW |