| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 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 GrDrawState_DEFINED | 8 #ifndef GrDrawState_DEFINED |
| 9 #define GrDrawState_DEFINED | 9 #define GrDrawState_DEFINED |
| 10 | 10 |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 136 private: | 136 private: |
| 137 GrDrawState* fDrawState; | 137 GrDrawState* fDrawState; |
| 138 const GrVertexAttrib* fVAPtr; | 138 const GrVertexAttrib* fVAPtr; |
| 139 int fVACount; | 139 int fVACount; |
| 140 size_t fVAStride; | 140 size_t fVAStride; |
| 141 }; | 141 }; |
| 142 | 142 |
| 143 /// @} | 143 /// @} |
| 144 | 144 |
| 145 /** | 145 /** |
| 146 * Determines whether src alpha is guaranteed to be one for all src pixels |
| 147 */ |
| 148 bool srcAlphaWillBeOne() const; |
| 149 |
| 150 /** |
| 146 * Depending on features available in the underlying 3D API and the color bl
end mode requested | 151 * Depending on features available in the underlying 3D API and the color bl
end mode requested |
| 147 * it may or may not be possible to correctly blend with fractional pixel co
verage generated by | 152 * it may or may not be possible to correctly blend with fractional pixel co
verage generated by |
| 148 * the fragment shader. | 153 * the fragment shader. |
| 149 * | 154 * |
| 150 * This function considers the current draw state and the draw target's capa
bilities to | 155 * This function considers the current draw state and the draw target's capa
bilities to |
| 151 * determine whether coverage can be handled correctly. This function assume
s that the caller | 156 * determine whether coverage can be handled correctly. This function assume
s that the caller |
| 152 * intends to specify fractional pixel coverage (via setCoverage(), through
a coverage vertex | 157 * intends to specify fractional pixel coverage (via setCoverage(), through
a coverage vertex |
| 153 * attribute, or a coverage effect) but may not have specified it yet. | 158 * attribute, or a coverage effect) but may not have specified it yet. |
| 154 */ | 159 */ |
| 155 bool couldApplyCoverage(const GrDrawTargetCaps& caps) const; | 160 bool couldApplyCoverage(const GrDrawTargetCaps& caps) const; |
| (...skipping 641 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 797 * Subclasses of GrDrawTarget that actually draw (as opposed to those that j
ust buffer for | 802 * Subclasses of GrDrawTarget that actually draw (as opposed to those that j
ust buffer for |
| 798 * playback) must call this function and respect the flags that replace the
output color. | 803 * playback) must call this function and respect the flags that replace the
output color. |
| 799 * | 804 * |
| 800 * If the cached BlendOptFlags does not have the invalidate bit set, then ge
tBlendOpts will | 805 * If the cached BlendOptFlags does not have the invalidate bit set, then ge
tBlendOpts will |
| 801 * simply returned the cached flags and coefficients. Otherwise it will calc
ulate the values. | 806 * simply returned the cached flags and coefficients. Otherwise it will calc
ulate the values. |
| 802 */ | 807 */ |
| 803 BlendOptFlags getBlendOpts(bool forceCoverage = false, | 808 BlendOptFlags getBlendOpts(bool forceCoverage = false, |
| 804 GrBlendCoeff* srcCoeff = NULL, | 809 GrBlendCoeff* srcCoeff = NULL, |
| 805 GrBlendCoeff* dstCoeff = NULL) const; | 810 GrBlendCoeff* dstCoeff = NULL) const; |
| 806 | 811 |
| 807 /** | |
| 808 * Determines whether src alpha is guaranteed to be one for all src pixels | |
| 809 */ | |
| 810 bool srcAlphaWillBeOne() const; | |
| 811 | |
| 812 void invalidateOptState() const; | 812 void invalidateOptState() const; |
| 813 | 813 |
| 814 void onReset(const SkMatrix* initialViewMatrix); | 814 void onReset(const SkMatrix* initialViewMatrix); |
| 815 | 815 |
| 816 // Some of the auto restore objects assume that no effects are removed durin
g their lifetime. | 816 // Some of the auto restore objects assume that no effects are removed durin
g their lifetime. |
| 817 // This is used to assert that this condition holds. | 817 // This is used to assert that this condition holds. |
| 818 SkDEBUGCODE(int fBlockEffectRemovalCnt;) | 818 SkDEBUGCODE(int fBlockEffectRemovalCnt;) |
| 819 | 819 |
| 820 void internalSetVertexAttribs(const GrVertexAttrib attribs[], int count, siz
e_t stride); | 820 void internalSetVertexAttribs(const GrVertexAttrib attribs[], int count, siz
e_t stride); |
| 821 | 821 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 851 mutable uint32_t fCachedCapsID; | 851 mutable uint32_t fCachedCapsID; |
| 852 | 852 |
| 853 friend class GrOptDrawState; | 853 friend class GrOptDrawState; |
| 854 | 854 |
| 855 typedef SkRefCnt INHERITED; | 855 typedef SkRefCnt INHERITED; |
| 856 }; | 856 }; |
| 857 | 857 |
| 858 GR_MAKE_BITFIELD_OPS(GrDrawState::BlendOptFlags); | 858 GR_MAKE_BITFIELD_OPS(GrDrawState::BlendOptFlags); |
| 859 | 859 |
| 860 #endif | 860 #endif |
| OLD | NEW |