Index: include/core/SkShader.h |
diff --git a/include/core/SkShader.h b/include/core/SkShader.h |
index 1f80ea1c09e7c1d596bfd7b626dbb1a3b128ec4a..5301f46a0ab8bede92f4eb138bee1f7fe15856c3 100644 |
--- a/include/core/SkShader.h |
+++ b/include/core/SkShader.h |
@@ -311,6 +311,25 @@ public: |
virtual bool asACompose(ComposeRec*) const { return false; } |
#if SK_SUPPORT_GPU |
+ struct AsFPArgs { |
+ AsFPArgs(GrContext* context, |
+ const SkMatrix* viewMatrix, |
+ const SkMatrix* localMatrix, |
+ SkFilterQuality filterQuality, |
+ SkSourceGammaTreatment gammaTreatment) |
+ : fContext(context) |
+ , fViewMatrix(viewMatrix) |
+ , fLocalMatrix(localMatrix) |
+ , fFilterQuality(filterQuality) |
+ , fGammaTreatment(gammaTreatment) {} |
+ |
+ GrContext* fContext; |
+ const SkMatrix* fViewMatrix; |
+ const SkMatrix* fLocalMatrix; |
+ SkFilterQuality fFilterQuality; |
+ SkSourceGammaTreatment fGammaTreatment; |
+ }; |
+ |
/** |
* Returns a GrFragmentProcessor that implements the shader for the GPU backend. NULL is |
* returned if there is no GPU implementation. |
@@ -324,11 +343,7 @@ public: |
* The returned GrFragmentProcessor should expect an unpremultiplied input color and |
* produce a premultiplied output. |
*/ |
- virtual sk_sp<GrFragmentProcessor> asFragmentProcessor(GrContext*, |
- const SkMatrix& viewMatrix, |
- const SkMatrix* localMatrix, |
- SkFilterQuality, |
- SkSourceGammaTreatment) const; |
+ virtual sk_sp<GrFragmentProcessor> asFragmentProcessor(const AsFPArgs&) const; |
#endif |
/** |