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

Unified Diff: cc/playback/raster_source.h

Issue 2752523006: cc: Use SkCreateColorSpaceXformCanvas for color transforms (Closed)
Patch Set: Incorporate review feedback 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
« no previous file with comments | « cc/output/software_renderer.cc ('k') | cc/playback/raster_source.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/playback/raster_source.h
diff --git a/cc/playback/raster_source.h b/cc/playback/raster_source.h
index 522557cbb8daa2b77975177f965a412eafa0d0ee..9d0a95d1ad0c6a675b81bfeb470be5ec1661c731 100644
--- a/cc/playback/raster_source.h
+++ b/cc/playback/raster_source.h
@@ -17,6 +17,7 @@
#include "cc/playback/recording_source.h"
#include "skia/ext/analysis_canvas.h"
#include "third_party/skia/include/core/SkPicture.h"
+#include "ui/gfx/color_space.h"
namespace cc {
class DisplayItemList;
@@ -42,6 +43,10 @@ class CC_EXPORT RasterSource : public base::RefCountedThreadSafe<RasterSource> {
// compositor image caching.
bool use_image_hijack_canvas;
+ // If set, use a SkColorSpaceXformCanvas to specify a transform all inputs
+ // to this color space.
+ gfx::ColorSpace target_color_space;
enne (OOO) 2017/03/16 18:20:57 Unused?
ccameron 2017/03/16 21:16:15 Oop. Yup, thats gone.
+
// If non-empty, an image hijack canvas will be used to skip these images
// during raster.
// TODO(khushalsagar): Consolidate more settings for playback here? See
@@ -55,6 +60,7 @@ class CC_EXPORT RasterSource : public base::RefCountedThreadSafe<RasterSource> {
// TODO(trchen): Deprecated.
void PlaybackToCanvas(SkCanvas* canvas,
+ const gfx::ColorSpace& canvas_color_space,
const gfx::Rect& canvas_bitmap_rect,
const gfx::Rect& canvas_playback_rect,
float contents_scale,
@@ -70,6 +76,7 @@ class CC_EXPORT RasterSource : public base::RefCountedThreadSafe<RasterSource> {
// Note that this should only be called after the image decode controller has
// been set, which happens during commit.
virtual void PlaybackToCanvas(SkCanvas* canvas,
+ const gfx::ColorSpace& canvas_color_space,
const PlaybackSettings& settings) const;
// Returns whether the given rect at given scale is of solid color in
@@ -151,7 +158,9 @@ class CC_EXPORT RasterSource : public base::RefCountedThreadSafe<RasterSource> {
ImageDecodeCache* image_decode_cache_;
private:
- void RasterCommon(SkCanvas* canvas, SkPicture::AbortCallback* callback) const;
+ void RasterCommon(SkCanvas* canvas,
+ const gfx::ColorSpace& canvas_color_space,
+ SkPicture::AbortCallback* callback) const;
void PrepareForPlaybackToCanvas(SkCanvas* canvas) const;
« no previous file with comments | « cc/output/software_renderer.cc ('k') | cc/playback/raster_source.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698