Chromium Code Reviews| Index: include/core/SkShader.h |
| diff --git a/include/core/SkShader.h b/include/core/SkShader.h |
| index 36256f6f09e4e73cc9d7e22d31982e6b1aecfc07..39715326d7e3e1f36d083c65ea07690dbcb79cf8 100644 |
| --- a/include/core/SkShader.h |
| +++ b/include/core/SkShader.h |
| @@ -10,6 +10,7 @@ |
| #include "SkBitmap.h" |
| #include "SkFlattenable.h" |
| +#include "SkImageInfo.h" |
| #include "SkMask.h" |
| #include "SkMatrix.h" |
| #include "SkPaint.h" |
| @@ -96,14 +97,19 @@ public: |
| * ContextRec acts as a parameter bundle for creating Contexts. |
| */ |
| struct ContextRec { |
| - ContextRec(const SkPaint& paint, const SkMatrix& matrix, const SkMatrix* localM) |
| + ContextRec(const SkPaint& paint, const SkMatrix& matrix, const SkMatrix* localM, |
| + SkColorType devColorType, SkColorProfileType devColorProfile) |
| : fPaint(&paint) |
| , fMatrix(&matrix) |
| - , fLocalMatrix(localM) {} |
| + , fLocalMatrix(localM) |
| + , fDeviceColorType(devColorType) |
| + , fDeviceColorProfile(devColorProfile) {} |
| const SkPaint* fPaint; // the current paint associated with the draw |
| const SkMatrix* fMatrix; // the current matrix in the canvas |
| const SkMatrix* fLocalMatrix; // optional local matrix |
| + const SkColorType fDeviceColorType; |
| + const SkColorProfileType fDeviceColorProfile; |
|
f(malita)
2016/02/22 16:09:50
I'm kinda torn on pushing explicit dst color info
f(malita)
2016/02/22 17:08:23
PS#2 implements this alternative approach, replaci
|
| }; |
| class Context : public ::SkNoncopyable { |
| @@ -188,7 +194,7 @@ public: |
| * Override this if your subclass overrides createContext, to return the correct size of |
| * your subclass' context. |
| */ |
| - virtual size_t contextSize() const; |
| + virtual size_t contextSize(const ContextRec&) const; |
| /** |
| * Returns true if this shader is just a bitmap, and if not null, returns the bitmap, |