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

Unified Diff: cc/paint/skia_paint_canvas.h

Issue 2904143002: color: Perform color transform in ImageBufferSurface (Closed)
Patch Set: Created 3 years, 7 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/skia_paint_canvas.h
diff --git a/cc/paint/skia_paint_canvas.h b/cc/paint/skia_paint_canvas.h
index 1fd313b53abf616a20c6287fbdae26bdfdef2e91..a1b174a22ea3b477e650fb0c8e5a9210e9bceb70 100644
--- a/cc/paint/skia_paint_canvas.h
+++ b/cc/paint/skia_paint_canvas.h
@@ -28,6 +28,9 @@ class CC_PAINT_EXPORT SkiaPaintCanvas final : public PaintCanvas {
explicit SkiaPaintCanvas(SkCanvas* canvas);
explicit SkiaPaintCanvas(const SkBitmap& bitmap);
explicit SkiaPaintCanvas(const SkBitmap& bitmap, const SkSurfaceProps& props);
+ // If |target_color_space| is non-nullptr, then this will wrap |canvas| in a
+ // SkColorSpaceXformCanvas.
+ SkiaPaintCanvas(SkCanvas* canvas, sk_sp<SkColorSpace> target_color_space);
~SkiaPaintCanvas() override;
SkMetaData& getMetaData() override;
@@ -139,8 +142,11 @@ class CC_PAINT_EXPORT SkiaPaintCanvas final : public PaintCanvas {
using PaintCanvas::drawPicture;
private:
+ void WrapCanvasInColorSpaceXformCanvas(
+ sk_sp<SkColorSpace> target_color_space);
SkCanvas* canvas_;
std::unique_ptr<SkCanvas> owned_;
+ std::unique_ptr<SkCanvas> color_space_xform_canvas_;
DISALLOW_COPY_AND_ASSIGN(SkiaPaintCanvas);
};

Powered by Google App Engine
This is Rietveld 408576698