 Chromium Code Reviews
 Chromium Code Reviews Issue 1214693005:
  Introduce some util code for drawing vector assets.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 1214693005:
  Introduce some util code for drawing vector assets.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| Index: ui/views/controls/image_view.cc | 
| diff --git a/ui/views/controls/image_view.cc b/ui/views/controls/image_view.cc | 
| index 4025713b6ab6cdd6d3ee2faed051ea11fba74483..efa1da4933c55d664aa8ff2e8279e9662e88d26c 100644 | 
| --- a/ui/views/controls/image_view.cc | 
| +++ b/ui/views/controls/image_view.cc | 
| @@ -31,6 +31,7 @@ const char ImageView::kViewClassName[] = "ImageView"; | 
| ImageView::ImageView() | 
| : image_size_set_(false), | 
| + vector_id_(gfx::VECTOR_ICON_NONE), | 
| horiz_alignment_(CENTER), | 
| vert_alignment_(CENTER), | 
| interactive_(true), | 
| @@ -67,6 +68,11 @@ const gfx::ImageSkia& ImageView::GetImage() { | 
| return image_; | 
| } | 
| +void ImageView::SetVectorIcon(gfx::VectorIconId id, SkColor color) { | 
| + vector_id_ = id; | 
| + vector_color_ = color; | 
| +} | 
| + | 
| void ImageView::SetImageSize(const gfx::Size& image_size) { | 
| image_size_set_ = true; | 
| image_size_ = image_size; | 
| @@ -161,6 +167,7 @@ void ImageView::OnBlur() { | 
| void ImageView::OnPaint(gfx::Canvas* canvas) { | 
| View::OnPaint(canvas); | 
| OnPaintImage(canvas); | 
| + OnPaintVectorIcon(canvas); | 
| Painter::PaintFocusPainter(this, canvas, focus_painter_.get()); | 
| } | 
| @@ -240,4 +247,13 @@ void ImageView::OnPaintImage(gfx::Canvas* canvas) { | 
| last_painted_bitmap_pixels_ = GetBitmapPixels(image_, last_paint_scale_); | 
| } | 
| +void ImageView::OnPaintVectorIcon(gfx::Canvas* canvas) { | 
| + if (vector_id_ == gfx::VECTOR_ICON_NONE) | 
| + return; | 
| + | 
| + gfx::Vector2d origin = ComputeImageOrigin(image_size_) - gfx::Point(); | 
| + canvas->Translate(origin); | 
| + gfx::PaintVectorIcon(canvas, vector_id_, image_size_.width(), vector_color_); | 
| 
sky
2015/07/01 16:19:52
Seems like you should DCHECK on image_size_.
 
Evan Stade
2015/07/01 21:52:59
Done.
 | 
| +} | 
| + | 
| } // namespace views |