diff options
author | 2016-10-25 10:51:28 -0400 | |
---|---|---|
committer | 2016-10-26 00:48:33 +0000 | |
commit | 618d304eb394d64779be0ecdc5eff898242faa8f (patch) | |
tree | c4773dd205ae0a34b903333238c6daafc4852ba7 /include/core/SkColorFilter.h | |
parent | 18b61f9cb9d0bea03dc4f69f63f53ad44f171526 (diff) |
GrConstColorProcessor uses 4f colors in the destination space
Many places that construct one are explicitly specifying opaque white or
transparent black, which we can assume (based on the semantics of the
operation) should remain (0,0,0,0) or (1,1,1,1), so that's simple.
In other cases, we convert our source color to destination space.
One wrinkle is tht SkColorFilter now needs to know the destination color
space, due to SkModeColorFilter.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3903
Change-Id: I4969c0260588f4021300733f601b47dc606adf79
Reviewed-on: https://skia-review.googlesource.com/3903
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Diffstat (limited to 'include/core/SkColorFilter.h')
-rw-r--r-- | include/core/SkColorFilter.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/core/SkColorFilter.h b/include/core/SkColorFilter.h index 485739842a..f265998e05 100644 --- a/include/core/SkColorFilter.h +++ b/include/core/SkColorFilter.h @@ -16,6 +16,7 @@ class GrContext; class GrFragmentProcessor; class SkBitmap; +class SkColorSpace; class SkRasterPipeline; /** @@ -144,7 +145,8 @@ public: * * A null return indicates that the color filter isn't implemented for the GPU backend. */ - virtual sk_sp<GrFragmentProcessor> asFragmentProcessor(GrContext*) const; + virtual sk_sp<GrFragmentProcessor> asFragmentProcessor(GrContext*, + SkColorSpace* dstColorSpace) const; #endif bool affectsTransparentBlack() const { |