| 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/views/background.h" | 5 #include "ui/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.h" | 10 #include "ui/gfx/canvas.h" | 
| 11 #include "ui/gfx/color_utils.h" | 11 #include "ui/gfx/color_utils.h" | 
| 12 #include "ui/views/painter.h" | 12 #include "ui/views/painter.h" | 
| 13 #include "ui/views/view.h" | 13 #include "ui/views/view.h" | 
| 14 | 14 | 
| 15 namespace views { | 15 namespace views { | 
| 16 | 16 | 
| 17 // SolidBackground is a trivial Background implementation that fills the | 17 // SolidBackground is a trivial Background implementation that fills the | 
| 18 // background in a solid color. | 18 // background in a solid color. | 
| 19 class SolidBackground : public Background { | 19 class SolidBackground : public Background { | 
| 20  public: | 20  public: | 
| 21   explicit SolidBackground(SkColor color) { | 21   explicit SolidBackground(SkColor color) { | 
| 22     SetNativeControlColor(color); | 22     SetNativeControlColor(color); | 
| 23   } | 23   } | 
| 24 | 24 | 
| 25   virtual void Paint(gfx::Canvas* canvas, View* view) const OVERRIDE { | 25   virtual void Paint(gfx::Canvas* canvas, View* view) const override { | 
| 26     // Fill the background. Note that we don't constrain to the bounds as | 26     // Fill the background. Note that we don't constrain to the bounds as | 
| 27     // canvas is already clipped for us. | 27     // canvas is already clipped for us. | 
| 28     canvas->DrawColor(get_color()); | 28     canvas->DrawColor(get_color()); | 
| 29   } | 29   } | 
| 30 | 30 | 
| 31  private: | 31  private: | 
| 32   DISALLOW_COPY_AND_ASSIGN(SolidBackground); | 32   DISALLOW_COPY_AND_ASSIGN(SolidBackground); | 
| 33 }; | 33 }; | 
| 34 | 34 | 
| 35 class BackgroundPainter : public Background { | 35 class BackgroundPainter : public Background { | 
| 36  public: | 36  public: | 
| 37   BackgroundPainter(bool owns_painter, Painter* painter) | 37   BackgroundPainter(bool owns_painter, Painter* painter) | 
| 38       : owns_painter_(owns_painter), painter_(painter) { | 38       : owns_painter_(owns_painter), painter_(painter) { | 
| 39     DCHECK(painter); | 39     DCHECK(painter); | 
| 40   } | 40   } | 
| 41 | 41 | 
| 42   virtual ~BackgroundPainter() { | 42   virtual ~BackgroundPainter() { | 
| 43     if (owns_painter_) | 43     if (owns_painter_) | 
| 44       delete painter_; | 44       delete painter_; | 
| 45   } | 45   } | 
| 46 | 46 | 
| 47 | 47 | 
| 48   virtual void Paint(gfx::Canvas* canvas, View* view) const OVERRIDE { | 48   virtual void Paint(gfx::Canvas* canvas, View* view) const override { | 
| 49     Painter::PaintPainterAt(canvas, painter_, view->GetLocalBounds()); | 49     Painter::PaintPainterAt(canvas, painter_, view->GetLocalBounds()); | 
| 50   } | 50   } | 
| 51 | 51 | 
| 52  private: | 52  private: | 
| 53   bool owns_painter_; | 53   bool owns_painter_; | 
| 54   Painter* painter_; | 54   Painter* painter_; | 
| 55 | 55 | 
| 56   DISALLOW_COPY_AND_ASSIGN(BackgroundPainter); | 56   DISALLOW_COPY_AND_ASSIGN(BackgroundPainter); | 
| 57 }; | 57 }; | 
| 58 | 58 | 
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 121   return background; | 121   return background; | 
| 122 } | 122 } | 
| 123 | 123 | 
| 124 //static | 124 //static | 
| 125 Background* Background::CreateBackgroundPainter(bool owns_painter, | 125 Background* Background::CreateBackgroundPainter(bool owns_painter, | 
| 126                                                 Painter* painter) { | 126                                                 Painter* painter) { | 
| 127   return new BackgroundPainter(owns_painter, painter); | 127   return new BackgroundPainter(owns_painter, painter); | 
| 128 } | 128 } | 
| 129 | 129 | 
| 130 }  // namespace views | 130 }  // namespace views | 
| OLD | NEW | 
|---|