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 bool SkPaintToGrPaintWithPrimitiveColor(GrContext* context, const SkPaint
& skPaint, |
| 92 GrPaint* grPaint) { |
| 93 return SkPaintToGrPaintWithXfermode(context, skPaint, SkMatrix::I(), SkXferm
ode::kDst_Mode, |
| 94 false, grPaint); |
| 95 } |
| 96 |
87 bool GrTextureUsageSupported(const GrCaps&, int width, int height, SkImageUsageT
ype); | 97 bool GrTextureUsageSupported(const GrCaps&, int width, int height, SkImageUsageT
ype); |
88 | 98 |
89 #endif | 99 #endif |
OLD | NEW |