| Index: src/gpu/SkGrPriv.h
|
| diff --git a/src/gpu/SkGrPriv.h b/src/gpu/SkGrPriv.h
|
| index 25fda57d9ec8668ec8781fcbf1b5e5e0e2bb3528..36601fc3e3b918060dd81f3ab9cbf5fce03a303d 100644
|
| --- a/src/gpu/SkGrPriv.h
|
| +++ b/src/gpu/SkGrPriv.h
|
| @@ -54,19 +54,20 @@ void GrMakeKeyFromImageID(GrUniqueKey* key, uint32_t imageID, const SkIRect& ima
|
| bool GrMakeStretchedKey(const GrUniqueKey& origKey, const SkGrStretch&, GrUniqueKey* stretchedKey);
|
|
|
| /** Converts an SkPaint to a GrPaint for a given GrContext. The matrix is required in order
|
| - to convert the SkShader (if any) on the SkPaint. */
|
| + to convert the SkShader (if any) on the SkPaint. The primitive itself has no color. */
|
| bool SkPaintToGrPaint(GrContext*,
|
| const SkPaint& skPaint,
|
| const SkMatrix& viewM,
|
| GrPaint* grPaint);
|
|
|
| -/** Ignores the SkShader (if any) on skPaint. */
|
| +/** Same as above but ignores the SkShader (if any) on skPaint. */
|
| bool SkPaintToGrPaintNoShader(GrContext* context,
|
| const SkPaint& skPaint,
|
| GrPaint* grPaint);
|
|
|
| /** Replaces the SkShader (if any) on skPaint with the passed in GrFragmentProcessor. The processor
|
| - should expect an unpremul input color and produce a premultiplied output color. */
|
| + should expect an unpremul input color and produce a premultiplied output color. There is
|
| + no primitive color. */
|
| bool SkPaintToGrPaintReplaceShader(GrContext*,
|
| const SkPaint& skPaint,
|
| const GrFragmentProcessor* shaderFP,
|
| @@ -75,8 +76,7 @@ bool SkPaintToGrPaintReplaceShader(GrContext*,
|
| /** Blends the SkPaint's shader (or color if no shader) with the color which specified via a
|
| GrBatch's GrPrimitiveProcesssor. Currently there is a bool param to indicate whether the
|
| primitive color is the dst or src color to the blend in order to work around differences between
|
| - drawVertices and drawAtlas.
|
| - */
|
| + drawVertices and drawAtlas. */
|
| bool SkPaintToGrPaintWithXfermode(GrContext* context,
|
| const SkPaint& skPaint,
|
| const SkMatrix& viewM,
|
| @@ -84,6 +84,16 @@ bool SkPaintToGrPaintWithXfermode(GrContext* context,
|
| bool primitiveIsSrc,
|
| GrPaint* grPaint);
|
|
|
| +/** This is used when there is a primitive color, but the shader should be ignored. Currently,
|
| + the expectation is that the primitive color will be premultiplied, though it really should be
|
| + unpremultiplied so that interpolation is done in unpremul space. The paint's alpha will be
|
| + applied to the primitive color after interpolation. */
|
| +inline bool SkPaintToGrPaintWithPrimitiveColor(GrContext* context, const SkPaint& skPaint,
|
| + GrPaint* grPaint) {
|
| + return SkPaintToGrPaintWithXfermode(context, skPaint, SkMatrix::I(), SkXfermode::kDst_Mode,
|
| + false, grPaint);
|
| +}
|
| +
|
| bool GrTextureUsageSupported(const GrCaps&, int width, int height, SkImageUsageType);
|
|
|
| #endif
|
|
|