Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1901)

Unified Diff: cc/paint/paint_canvas.h

Issue 2768143002: Back PaintRecord with PaintOpBuffer instead of SkPicture (Closed)
Patch Set: Rebase, move slow path counting Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/paint/paint_canvas.h
diff --git a/cc/paint/paint_canvas.h b/cc/paint/paint_canvas.h
index 778841f61a9a7212d71d85322f5e58c9bae34658..2164c0bc9cf097a772ee59f8a913b1b1b9624d09 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.
vmpstr 2017/03/28 18:27:14 Remember when it wasn't a synonym? Pepperidge farm
virtual void clear(SkColor color) = 0;
virtual void drawLine(SkScalar x0,

Powered by Google App Engine
This is Rietveld 408576698