OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 Google Inc. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
6 */ | 6 */ |
7 | 7 |
8 #ifndef SkGrPriv_DEFINED | 8 #ifndef SkGrPriv_DEFINED |
9 #define SkGrPriv_DEFINED | 9 #define SkGrPriv_DEFINED |
10 | 10 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
47 */ | 47 */ |
48 void GrMakeKeyFromImageID(GrUniqueKey* key, uint32_t imageID, const SkIRect& ima geBounds, | 48 void GrMakeKeyFromImageID(GrUniqueKey* key, uint32_t imageID, const SkIRect& ima geBounds, |
49 const GrCaps&, SkImageUsageType); | 49 const GrCaps&, SkImageUsageType); |
50 | 50 |
51 /** | 51 /** |
52 * Given an "unstretched" key, and a stretch rec, produce a stretched key. | 52 * Given an "unstretched" key, and a stretch rec, produce a stretched key. |
53 */ | 53 */ |
54 bool GrMakeStretchedKey(const GrUniqueKey& origKey, const SkGrStretch&, GrUnique Key* stretchedKey); | 54 bool GrMakeStretchedKey(const GrUniqueKey& origKey, const SkGrStretch&, GrUnique Key* stretchedKey); |
55 | 55 |
56 /** Converts an SkPaint to a GrPaint for a given GrContext. The matrix is requir ed in order | 56 /** Converts an SkPaint to a GrPaint for a given GrContext. The matrix is requir ed in order |
57 to convert the SkShader (if any) on the SkPaint. */ | 57 to convert the SkShader (if any) on the SkPaint. The primitive itself has no color. */ |
58 bool SkPaintToGrPaint(GrContext*, | 58 bool SkPaintToGrPaint(GrContext*, |
59 const SkPaint& skPaint, | 59 const SkPaint& skPaint, |
60 const SkMatrix& viewM, | 60 const SkMatrix& viewM, |
61 GrPaint* grPaint); | 61 GrPaint* grPaint); |
62 | 62 |
63 /** Ignores the SkShader (if any) on skPaint. */ | 63 /** Same as above but ignores the SkShader (if any) on skPaint. */ |
64 bool SkPaintToGrPaintNoShader(GrContext* context, | 64 bool SkPaintToGrPaintNoShader(GrContext* context, |
65 const SkPaint& skPaint, | 65 const SkPaint& skPaint, |
66 GrPaint* grPaint); | 66 GrPaint* grPaint); |
67 | 67 |
68 /** Replaces the SkShader (if any) on skPaint with the passed in GrFragmentProce ssor. The processor | 68 /** Replaces the SkShader (if any) on skPaint with the passed in GrFragmentProce ssor. The processor |
69 should expect an unpremul input color and produce a premultiplied output col or. */ | 69 should expect an unpremul input color and produce a premultiplied output col or. There is |
70 no primitive color. */ | |
70 bool SkPaintToGrPaintReplaceShader(GrContext*, | 71 bool SkPaintToGrPaintReplaceShader(GrContext*, |
71 const SkPaint& skPaint, | 72 const SkPaint& skPaint, |
72 const GrFragmentProcessor* shaderFP, | 73 const GrFragmentProcessor* shaderFP, |
73 GrPaint* grPaint); | 74 GrPaint* grPaint); |
74 | 75 |
75 /** Blends the SkPaint's shader (or color if no shader) with the color which spe cified via a | 76 /** Blends the SkPaint's shader (or color if no shader) with the color which spe cified via a |
76 GrBatch's GrPrimitiveProcesssor. Currently there is a bool param to indicate whether the | 77 GrBatch's GrPrimitiveProcesssor. Currently there is a bool param to indicate whether the |
77 primitive color is the dst or src color to the blend in order to work around differences between | 78 primitive color is the dst or src color to the blend in order to work around differences between |
78 drawVertices and drawAtlas. | 79 drawVertices and drawAtlas. */ |
79 */ | |
80 bool SkPaintToGrPaintWithXfermode(GrContext* context, | 80 bool SkPaintToGrPaintWithXfermode(GrContext* context, |
81 const SkPaint& skPaint, | 81 const SkPaint& skPaint, |
82 const SkMatrix& viewM, | 82 const SkMatrix& viewM, |
83 SkXfermode::Mode primColorMode, | 83 SkXfermode::Mode primColorMode, |
84 bool primitiveIsSrc, | 84 bool primitiveIsSrc, |
85 GrPaint* grPaint); | 85 GrPaint* grPaint); |
86 | 86 |
87 /** This is used when there is a primitive color, but the shader should be ignor ed. Currently, | |
88 the expectation is that the primitive color will be premultiplied, though it really should be | |
89 unpremultiplied so that interpolation is done in unpremul space. The paint's alpha will be | |
90 applied to the primitive color after interpolation. */ | |
91 inline | |
robertphillips
2015/10/01 15:23:23
rm \n ?
bsalomon
2015/10/01 15:34:40
Done.
| |
92 bool SkPaintToGrPaintWithPrimitiveColor(GrContext* context, const SkPaint& skPai nt, | |
93 GrPaint* grPaint) { | |
94 return SkPaintToGrPaintWithXfermode(context, skPaint, SkMatrix::I(), SkXferm ode::kDst_Mode, | |
95 false, grPaint); | |
96 } | |
97 | |
87 bool GrTextureUsageSupported(const GrCaps&, int width, int height, SkImageUsageT ype); | 98 bool GrTextureUsageSupported(const GrCaps&, int width, int height, SkImageUsageT ype); |
88 | 99 |
89 #endif | 100 #endif |
OLD | NEW |