| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/ui/views/infobars/infobar_background.h" | 5 #include "chrome/browser/ui/views/infobars/infobar_background.h" |
| 6 | 6 |
| 7 #include "chrome/browser/ui/views/infobars/infobar_view.h" | 7 #include "chrome/browser/ui/views/infobars/infobar_view.h" |
| 8 #include "ui/gfx/canvas.h" | 8 #include "ui/gfx/canvas_skia.h" |
| 9 #include "ui/gfx/canvas_skia_paint.h" | |
| 10 #include "third_party/skia/include/effects/SkGradientShader.h" | 9 #include "third_party/skia/include/effects/SkGradientShader.h" |
| 11 #include "views/view.h" | 10 #include "views/view.h" |
| 12 | 11 |
| 13 // static | 12 // static |
| 14 const int InfoBarBackground::kSeparatorLineHeight = 1; | 13 const int InfoBarBackground::kSeparatorLineHeight = 1; |
| 15 | 14 |
| 16 InfoBarBackground::InfoBarBackground(InfoBarDelegate::Type infobar_type) | 15 InfoBarBackground::InfoBarBackground(InfoBarDelegate::Type infobar_type) |
| 17 : separator_color_(SK_ColorBLACK), | 16 : separator_color_(SK_ColorBLACK), |
| 18 top_color_(GetTopColor(infobar_type)), | 17 top_color_(GetTopColor(infobar_type)), |
| 19 bottom_color_(GetBottomColor(infobar_type)) { | 18 bottom_color_(GetBottomColor(infobar_type)) { |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 gradient_points, gradient_colors, NULL, 2, SkShader::kClamp_TileMode); | 54 gradient_points, gradient_colors, NULL, 2, SkShader::kClamp_TileMode); |
| 56 SkPaint paint; | 55 SkPaint paint; |
| 57 paint.setStrokeWidth(1.0); | 56 paint.setStrokeWidth(1.0); |
| 58 paint.setStyle(SkPaint::kFill_Style); | 57 paint.setStyle(SkPaint::kFill_Style); |
| 59 paint.setStrokeCap(SkPaint::kRound_Cap); | 58 paint.setStrokeCap(SkPaint::kRound_Cap); |
| 60 paint.setShader(gradient_shader); | 59 paint.setShader(gradient_shader); |
| 61 gradient_shader->unref(); | 60 gradient_shader->unref(); |
| 62 | 61 |
| 63 InfoBarView* infobar = static_cast<InfoBarView*>(view); | 62 InfoBarView* infobar = static_cast<InfoBarView*>(view); |
| 64 gfx::CanvasSkia* canvas_skia = canvas->AsCanvasSkia(); | 63 gfx::CanvasSkia* canvas_skia = canvas->AsCanvasSkia(); |
| 65 canvas_skia->drawPath(*infobar->fill_path(), paint); | 64 canvas_skia->skia_canvas()->drawPath(*infobar->fill_path(), paint); |
| 66 | 65 |
| 67 paint.setShader(NULL); | 66 paint.setShader(NULL); |
| 68 paint.setColor(SkColorSetA(separator_color_, | 67 paint.setColor(SkColorSetA(separator_color_, |
| 69 SkColorGetA(gradient_colors[0]))); | 68 SkColorGetA(gradient_colors[0]))); |
| 70 paint.setStyle(SkPaint::kStroke_Style); | 69 paint.setStyle(SkPaint::kStroke_Style); |
| 71 canvas_skia->drawPath(*infobar->stroke_path(), paint); | 70 canvas_skia->skia_canvas()->drawPath(*infobar->stroke_path(), paint); |
| 72 | 71 |
| 73 // Now draw the separator at the bottom. | 72 // Now draw the separator at the bottom. |
| 74 canvas->FillRectInt(separator_color_, 0, | 73 canvas->FillRectInt(separator_color_, 0, |
| 75 view->height() - kSeparatorLineHeight, view->width(), | 74 view->height() - kSeparatorLineHeight, view->width(), |
| 76 kSeparatorLineHeight); | 75 kSeparatorLineHeight); |
| 77 } | 76 } |
| OLD | NEW |