OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 "ui/native_theme/native_theme_aura.h" | 5 #include "ui/native_theme/native_theme_aura.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "grit/ui_resources.h" | 8 #include "grit/ui_resources.h" |
9 #include "ui/base/layout.h" | 9 #include "ui/base/layout.h" |
10 #include "ui/base/nine_image_painter_factory.h" | 10 #include "ui/base/nine_image_painter_factory.h" |
11 #include "ui/gfx/canvas.h" | 11 #include "ui/gfx/canvas.h" |
12 #include "ui/gfx/image/image_skia.h" | 12 #include "ui/gfx/image/image_skia.h" |
13 #include "ui/gfx/nine_image_painter.h" | 13 #include "ui/gfx/nine_image_painter.h" |
14 #include "ui/gfx/path.h" | 14 #include "ui/gfx/path.h" |
15 #include "ui/gfx/rect.h" | 15 #include "ui/gfx/rect.h" |
16 #include "ui/gfx/size.h" | 16 #include "ui/gfx/size.h" |
17 #include "ui/gfx/skbitmap_operations.h" | 17 #include "ui/gfx/skbitmap_operations.h" |
| 18 #include "ui/gfx/skia_util.h" |
18 #include "ui/native_theme/common_theme.h" | 19 #include "ui/native_theme/common_theme.h" |
19 | 20 |
20 using gfx::NineImagePainter; | 21 using gfx::NineImagePainter; |
21 | 22 |
22 #define EMPTY_IMAGE_GRID { 0, 0, 0, 0, 0, 0, 0, 0, 0 } | 23 #define EMPTY_IMAGE_GRID { 0, 0, 0, 0, 0, 0, 0, 0, 0 } |
23 | 24 |
24 namespace ui { | 25 namespace ui { |
25 | 26 |
26 namespace { | 27 namespace { |
27 | 28 |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 else | 160 else |
160 thumb_rect.Inset(extra_padding, 2, extra_padding, 2); | 161 thumb_rect.Inset(extra_padding, 2, extra_padding, 2); |
161 PaintPainter(GetOrCreatePainter( | 162 PaintPainter(GetOrCreatePainter( |
162 kScrollbarThumbImages, state, scrollbar_thumb_painters_), | 163 kScrollbarThumbImages, state, scrollbar_thumb_painters_), |
163 sk_canvas, thumb_rect); | 164 sk_canvas, thumb_rect); |
164 } | 165 } |
165 | 166 |
166 void NativeThemeAura::PaintScrollbarCorner(SkCanvas* canvas, | 167 void NativeThemeAura::PaintScrollbarCorner(SkCanvas* canvas, |
167 State state, | 168 State state, |
168 const gfx::Rect& rect) const { | 169 const gfx::Rect& rect) const { |
169 canvas->drawColor(SkColorSetRGB(0xF1, 0xF1, 0xF1), SkXfermode::kSrc_Mode); | 170 SkPaint paint; |
| 171 paint.setColor(SkColorSetRGB(0xF1, 0xF1, 0xF1)); |
| 172 paint.setStyle(SkPaint::kFill_Style); |
| 173 paint.setXfermodeMode(SkXfermode::kSrc_Mode); |
| 174 canvas->drawIRect(RectToSkIRect(rect), paint); |
170 } | 175 } |
171 | 176 |
172 NineImagePainter* NativeThemeAura::GetOrCreatePainter( | 177 NineImagePainter* NativeThemeAura::GetOrCreatePainter( |
173 const int images[kMaxState][9], | 178 const int images[kMaxState][9], |
174 State state, | 179 State state, |
175 scoped_ptr<NineImagePainter> painters[kMaxState]) const { | 180 scoped_ptr<NineImagePainter> painters[kMaxState]) const { |
176 if (painters[state]) | 181 if (painters[state]) |
177 return painters[state].get(); | 182 return painters[state].get(); |
178 if (images[state][0] == 0) { | 183 if (images[state][0] == 0) { |
179 // Must always provide normal state images. | 184 // Must always provide normal state images. |
180 DCHECK_NE(kNormal, state); | 185 DCHECK_NE(kNormal, state); |
181 return GetOrCreatePainter(images, kNormal, painters); | 186 return GetOrCreatePainter(images, kNormal, painters); |
182 } | 187 } |
183 painters[state] = CreateNineImagePainter(images[state]); | 188 painters[state] = CreateNineImagePainter(images[state]); |
184 return painters[state].get(); | 189 return painters[state].get(); |
185 } | 190 } |
186 | 191 |
187 void NativeThemeAura::PaintPainter(NineImagePainter* painter, | 192 void NativeThemeAura::PaintPainter(NineImagePainter* painter, |
188 SkCanvas* sk_canvas, | 193 SkCanvas* sk_canvas, |
189 const gfx::Rect& rect) const { | 194 const gfx::Rect& rect) const { |
190 DCHECK(painter); | 195 DCHECK(painter); |
191 scoped_ptr<gfx::Canvas> canvas(CreateCanvas(sk_canvas)); | 196 scoped_ptr<gfx::Canvas> canvas(CreateCanvas(sk_canvas)); |
192 painter->Paint(canvas.get(), rect); | 197 painter->Paint(canvas.get(), rect); |
193 } | 198 } |
194 | 199 |
195 } // namespace ui | 200 } // namespace ui |
OLD | NEW |