| Index: include/core/SkShader.h | 
| diff --git a/include/core/SkShader.h b/include/core/SkShader.h | 
| index 8e69fafa78a34500a0b70f4d4f981391f152c0cc..72cd4a2dbeec7535bcf5e2b5db178fb553e9cc9a 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,22 @@ public: | 
| *  ContextRec acts as a parameter bundle for creating Contexts. | 
| */ | 
| struct ContextRec { | 
| -        ContextRec(const SkPaint& paint, const SkMatrix& matrix, const SkMatrix* localM) | 
| +        enum DstType { | 
| +            kPMColor_DstType, // clients prefer shading into PMColor dest | 
| +            kPM4f_DstType,    // clients prefer shading into PM4f dest | 
| +        }; | 
| + | 
| +        ContextRec(const SkPaint& paint, const SkMatrix& matrix, const SkMatrix* localM, | 
| +                   DstType dstType) | 
| : fPaint(&paint) | 
| , fMatrix(&matrix) | 
| -            , fLocalMatrix(localM) {} | 
| +            , fLocalMatrix(localM) | 
| +            , fPreferredDstType(dstType) {} | 
|  | 
| -        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 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 DstType   fPreferredDstType; // the "natural" client dest type | 
| }; | 
|  | 
| class Context : public ::SkNoncopyable { | 
|  |