| Index: ui/gfx/canvas.h
|
| diff --git a/ui/gfx/canvas.h b/ui/gfx/canvas.h
|
| index c81c0f25db78fdb90fb52d106137e43d384a92bc..e6aef31d6e3ed5887422308768b0750424188177 100644
|
| --- a/ui/gfx/canvas.h
|
| +++ b/ui/gfx/canvas.h
|
| @@ -12,12 +12,13 @@
|
|
|
| #include "base/macros.h"
|
| #include "base/strings/string16.h"
|
| -#include "skia/ext/platform_canvas.h"
|
| -#include "third_party/skia/include/core/SkCanvas.h"
|
| -#include "third_party/skia/include/core/SkSurface.h"
|
| +#include "cc/paint/paint_canvas.h"
|
| +#include "cc/paint/paint_flags.h"
|
| +#include "cc/paint/paint_surface.h"
|
| #include "ui/gfx/image/image_skia.h"
|
| #include "ui/gfx/native_widget_types.h"
|
| #include "ui/gfx/text_constants.h"
|
| +
|
| namespace gfx {
|
|
|
| class Rect;
|
| @@ -29,11 +30,11 @@ class Size;
|
| class Transform;
|
| class Vector2d;
|
|
|
| -// Canvas is a SkCanvas wrapper that provides a number of methods for
|
| +// Canvas is a PaintCanvas wrapper that provides a number of methods for
|
| // common operations used throughout an application built using ui/gfx.
|
| //
|
| // All methods that take integer arguments (as is used throughout views)
|
| -// end with Int. If you need to use methods provided by SkCanvas, you'll
|
| +// end with Int. If you need to use methods provided by PaintCanvas, you'll
|
| // need to do a conversion. In particular you'll need to use |SkIntToScalar()|,
|
| // or if converting from a scalar to an integer |SkScalarRound()|.
|
| //
|
| @@ -91,7 +92,7 @@ class GFX_EXPORT Canvas {
|
| // so no additional scaling is applied.
|
| // Note: the caller must ensure that sk_canvas outlives this object, or until
|
| // RecreateBackingCanvas is called.
|
| - Canvas(SkCanvas* sk_canvas, float image_scale);
|
| + Canvas(cc::PaintCanvas* sk_canvas, float image_scale);
|
|
|
| virtual ~Canvas();
|
|
|
| @@ -260,18 +261,18 @@ class GFX_EXPORT Canvas {
|
| // Draws the given rectangle with the given |paint| parameters.
|
| // DEPRECATED in favor of the RectF version below.
|
| // TODO(funkysidd): Remove this (http://crbug.com/553726)
|
| - void DrawRect(const Rect& rect, const SkPaint& paint);
|
| + void DrawRect(const Rect& rect, const cc::PaintFlags& paint);
|
|
|
| // Draws the given rectangle with the given |paint| parameters.
|
| - void DrawRect(const RectF& rect, const SkPaint& paint);
|
| + void DrawRect(const RectF& rect, const cc::PaintFlags& paint);
|
|
|
| // Draw the given point with the given |paint| parameters.
|
| // DEPRECATED in favor of the RectF version below.
|
| // TODO(funkysidd): Remove this (http://crbug.com/553726)
|
| - void DrawPoint(const Point& p, const SkPaint& paint);
|
| + void DrawPoint(const Point& p, const cc::PaintFlags& paint);
|
|
|
| // Draw the given point with the given |paint| parameters.
|
| - void DrawPoint(const PointF& p, const SkPaint& paint);
|
| + void DrawPoint(const PointF& p, const cc::PaintFlags& paint);
|
|
|
| // Draws a single pixel line with the specified color.
|
| // DEPRECATED in favor of the RectF version below.
|
| @@ -284,34 +285,38 @@ class GFX_EXPORT Canvas {
|
| // Draws a line with the given |paint| parameters.
|
| // DEPRECATED in favor of the RectF version below.
|
| // TODO(funkysidd): Remove this (http://crbug.com/553726)
|
| - void DrawLine(const Point& p1, const Point& p2, const SkPaint& paint);
|
| + void DrawLine(const Point& p1, const Point& p2, const cc::PaintFlags& paint);
|
|
|
| // Draws a line with the given |paint| parameters.
|
| - void DrawLine(const PointF& p1, const PointF& p2, const SkPaint& paint);
|
| + void DrawLine(const PointF& p1,
|
| + const PointF& p2,
|
| + const cc::PaintFlags& paint);
|
|
|
| // Draws a circle with the given |paint| parameters.
|
| // DEPRECATED in favor of the RectF version below.
|
| // TODO(funkysidd): Remove this (http://crbug.com/553726)
|
| void DrawCircle(const Point& center_point,
|
| int radius,
|
| - const SkPaint& paint);
|
| + const cc::PaintFlags& paint);
|
|
|
| // Draws a circle with the given |paint| parameters.
|
| void DrawCircle(const PointF& center_point,
|
| float radius,
|
| - const SkPaint& paint);
|
| + const cc::PaintFlags& paint);
|
|
|
| // Draws the given rectangle with rounded corners of |radius| using the
|
| // given |paint| parameters. DEPRECATED in favor of the RectF version below.
|
| // TODO(mgiuca): Remove this (http://crbug.com/553726).
|
| - void DrawRoundRect(const Rect& rect, int radius, const SkPaint& paint);
|
| + void DrawRoundRect(const Rect& rect, int radius, const cc::PaintFlags& paint);
|
|
|
| // Draws the given rectangle with rounded corners of |radius| using the
|
| // given |paint| parameters.
|
| - void DrawRoundRect(const RectF& rect, float radius, const SkPaint& paint);
|
| + void DrawRoundRect(const RectF& rect,
|
| + float radius,
|
| + const cc::PaintFlags& paint);
|
|
|
| // Draws the given path using the given |paint| parameters.
|
| - void DrawPath(const SkPath& path, const SkPaint& paint);
|
| + void DrawPath(const SkPath& path, const cc::PaintFlags& paint);
|
|
|
| // Draws an image with the origin at the specified location. The upper left
|
| // corner of the bitmap is rendered at the specified location.
|
| @@ -331,7 +336,7 @@ class GFX_EXPORT Canvas {
|
| void DrawImageInt(const ImageSkia& image,
|
| int x,
|
| int y,
|
| - const SkPaint& paint);
|
| + const cc::PaintFlags& paint);
|
|
|
| // Draws a portion of an image in the specified location. The src parameters
|
| // correspond to the region of the bitmap to draw in the region defined
|
| @@ -342,7 +347,7 @@ class GFX_EXPORT Canvas {
|
| // Set |filter| to use filtering for images, otherwise the nearest-neighbor
|
| // algorithm is used for resampling.
|
| //
|
| - // An optional custom SkPaint can be provided.
|
| + // An optional custom cc::PaintFlags can be provided.
|
| // Parameters are specified relative to current canvas scale not in pixels.
|
| // Thus, |x| is 2 pixels if canvas scale = 2 & |x| = 1.
|
| void DrawImageInt(const ImageSkia& image,
|
| @@ -365,7 +370,7 @@ class GFX_EXPORT Canvas {
|
| int dest_w,
|
| int dest_h,
|
| bool filter,
|
| - const SkPaint& paint);
|
| + const cc::PaintFlags& paint);
|
|
|
| // Same as the DrawImageInt functions above. Difference being this does not
|
| // do any scaling, i.e. it does not scale the output by the device scale
|
| @@ -378,7 +383,7 @@ class GFX_EXPORT Canvas {
|
| int dest_w,
|
| int dest_h,
|
| bool filter,
|
| - const SkPaint& paint);
|
| + const cc::PaintFlags& paint);
|
|
|
| // Draws an |image| with the top left corner at |x| and |y|, clipped to
|
| // |path|.
|
| @@ -388,7 +393,7 @@ class GFX_EXPORT Canvas {
|
| int x,
|
| int y,
|
| const SkPath& path,
|
| - const SkPaint& paint);
|
| + const cc::PaintFlags& paint);
|
|
|
| // Draws text with the specified color, fonts and location. The text is
|
| // aligned to the left, vertically centered, clipped to the region. If the
|
| @@ -447,14 +452,14 @@ class GFX_EXPORT Canvas {
|
| // Helper for TileImageInt(). Initializes |paint| for tiling |image| with the
|
| // given parameters. Returns false if the provided image does not have a
|
| // representation for the current scale.
|
| - bool InitSkPaintForTiling(const ImageSkia& image,
|
| - int src_x,
|
| - int src_y,
|
| - float tile_scale_x,
|
| - float tile_scale_y,
|
| - int dest_x,
|
| - int dest_y,
|
| - SkPaint* paint);
|
| + bool InitPaintFlagsForTiling(const ImageSkia& image,
|
| + int src_x,
|
| + int src_y,
|
| + float tile_scale_x,
|
| + float tile_scale_y,
|
| + int dest_x,
|
| + int dest_y,
|
| + cc::PaintFlags* paint);
|
|
|
| // Apply transformation on the canvas.
|
| void Transform(const Transform& transform);
|
| @@ -466,7 +471,8 @@ class GFX_EXPORT Canvas {
|
| const Rect& display_rect,
|
| int flags);
|
|
|
| - SkCanvas* sk_canvas() { return canvas_; }
|
| + // TODO(enne): rename sk_canvas members and interface.
|
| + cc::PaintCanvas* sk_canvas() { return canvas_; }
|
| float image_scale() const { return image_scale_; }
|
|
|
| private:
|
| @@ -486,7 +492,7 @@ class GFX_EXPORT Canvas {
|
| int dest_w,
|
| int dest_h,
|
| bool filter,
|
| - const SkPaint& paint,
|
| + const cc::PaintFlags& paint,
|
| bool remove_image_scale);
|
|
|
| // The device scale factor at which drawing on this canvas occurs.
|
| @@ -498,8 +504,8 @@ class GFX_EXPORT Canvas {
|
| // in which case surface_ will be set. Other times we are just
|
| // borrowing someone else's canvas, in which case canvas_ will point there
|
| // but surface_ will be null.
|
| - sk_sp<SkSurface> surface_;
|
| - SkCanvas* canvas_;
|
| + sk_sp<cc::PaintSurface> surface_;
|
| + cc::PaintCanvas* canvas_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(Canvas);
|
| };
|
|
|