| Index: cc/paint/paint_canvas.h
|
| diff --git a/cc/paint/paint_canvas.h b/cc/paint/paint_canvas.h
|
| index 778841f61a9a7212d71d85322f5e58c9bae34658..829ad0409508d528fa39f65238c126c7af2cbeec 100644
|
| --- a/cc/paint/paint_canvas.h
|
| +++ b/cc/paint/paint_canvas.h
|
| @@ -10,19 +10,24 @@
|
| #include "base/memory/ref_counted.h"
|
| #include "build/build_config.h"
|
| #include "cc/paint/paint_export.h"
|
| -#include "cc/paint/paint_record.h"
|
| #include "third_party/skia/include/core/SkCanvas.h"
|
|
|
| namespace cc {
|
|
|
| class DisplayItemList;
|
| class PaintFlags;
|
| +class PaintOpBuffer;
|
| +
|
| +using PaintRecord = PaintOpBuffer;
|
|
|
| class CC_PAINT_EXPORT PaintCanvas {
|
| public:
|
| virtual ~PaintCanvas() {}
|
|
|
| virtual SkMetaData& getMetaData() = 0;
|
| +
|
| + // TODO(enne): this only appears to mostly be used to determine if this is
|
| + // recording or not, so could be simplified or removed.
|
| virtual SkImageInfo imageInfo() const = 0;
|
|
|
| // TODO(enne): It would be nice to get rid of flush() entirely, as it
|
| @@ -48,7 +53,7 @@ class CC_PAINT_EXPORT PaintCanvas {
|
| int y) = 0;
|
| virtual int save() = 0;
|
| virtual int saveLayer(const SkRect* bounds, const PaintFlags* flags) = 0;
|
| - virtual int saveLayerAlpha(const SkRect* bounds, U8CPU alpha) = 0;
|
| + virtual int saveLayerAlpha(const SkRect* bounds, uint8_t alpha) = 0;
|
|
|
| virtual void restore() = 0;
|
| virtual int getSaveCount() const = 0;
|
| @@ -99,6 +104,8 @@ class CC_PAINT_EXPORT PaintCanvas {
|
| virtual bool getDeviceClipBounds(SkIRect* bounds) const = 0;
|
| virtual void drawColor(SkColor color, SkBlendMode mode) = 0;
|
| void drawColor(SkColor color) { drawColor(color, SkBlendMode::kSrcOver); }
|
| +
|
| + // TODO(enne): This is a synonym for drawColor with kSrc. Remove it.
|
| virtual void clear(SkColor color) = 0;
|
|
|
| virtual void drawLine(SkScalar x0,
|
| @@ -181,9 +188,15 @@ class CC_PAINT_EXPORT PaintCanvas {
|
| SkIRect* clip_bounds) = 0;
|
|
|
| virtual bool ToPixmap(SkPixmap* output) = 0;
|
| - virtual void AnnotateRectWithURL(const SkRect& rect, SkData* data) = 0;
|
| - virtual void AnnotateNamedDestination(const SkPoint& point, SkData* data) = 0;
|
| - virtual void AnnotateLinkToDestination(const SkRect& rect, SkData* data) = 0;
|
| +
|
| + enum class AnnotationType {
|
| + URL,
|
| + NAMED_DESTINATION,
|
| + LINK_TO_DESTINATION,
|
| + };
|
| + virtual void Annotate(AnnotationType type,
|
| + const SkRect& rect,
|
| + sk_sp<SkData> data) = 0;
|
|
|
| // TODO(enne): maybe this should live on PaintRecord, but that's not
|
| // possible when PaintRecord is a typedef.
|
| @@ -192,18 +205,6 @@ class CC_PAINT_EXPORT PaintCanvas {
|
| protected:
|
| friend class PaintSurface;
|
| friend class PaintRecorder;
|
| - friend CC_PAINT_EXPORT void PaintCanvasAnnotateRectWithURL(
|
| - PaintCanvas* canvas,
|
| - const SkRect& rect,
|
| - SkData* data);
|
| - friend CC_PAINT_EXPORT void PaintCanvasAnnotateNamedDestination(
|
| - PaintCanvas* canvas,
|
| - const SkPoint& point,
|
| - SkData* data);
|
| - friend CC_PAINT_EXPORT void PaintCanvasAnnotateLinkToDestination(
|
| - PaintCanvas* canvas,
|
| - const SkRect& rect,
|
| - SkData* data);
|
| friend CC_PAINT_EXPORT bool ToPixmap(PaintCanvas* canvas, SkPixmap* output);
|
| };
|
|
|
| @@ -251,18 +252,6 @@ CC_PAINT_EXPORT void SetIsPreviewMetafile(PaintCanvas* canvas, bool is_preview);
|
| CC_PAINT_EXPORT bool IsPreviewMetafile(PaintCanvas* canvas);
|
| #endif
|
|
|
| -CC_PAINT_EXPORT void PaintCanvasAnnotateRectWithURL(PaintCanvas* canvas,
|
| - const SkRect& rect,
|
| - SkData* data);
|
| -
|
| -CC_PAINT_EXPORT void PaintCanvasAnnotateNamedDestination(PaintCanvas* canvas,
|
| - const SkPoint& point,
|
| - SkData* data);
|
| -
|
| -CC_PAINT_EXPORT void PaintCanvasAnnotateLinkToDestination(PaintCanvas* canvas,
|
| - const SkRect& rect,
|
| - SkData* data);
|
| -
|
| } // namespace cc
|
|
|
| #endif // CC_PAINT_PAINT_CANVAS_H_
|
|
|