Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Side by Side Diff: src/gpu/GrDrawState.h

Issue 22686002: Implement path cover with nv_path_rendering (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: rebased to issue 23537028 Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 703 matching lines...) Expand 10 before | Expand all | Expand 10 after
714 * Shortcut to disable stencil testing and ops. 714 * Shortcut to disable stencil testing and ops.
715 */ 715 */
716 void disableStencil() { 716 void disableStencil() {
717 fCommon.fStencilSettings.setDisabled(); 717 fCommon.fStencilSettings.setDisabled();
718 } 718 }
719 719
720 const GrStencilSettings& getStencil() const { return fCommon.fStencilSetting s; } 720 const GrStencilSettings& getStencil() const { return fCommon.fStencilSetting s; }
721 721
722 GrStencilSettings* stencil() { return &fCommon.fStencilSettings; } 722 GrStencilSettings* stencil() { return &fCommon.fStencilSettings; }
723 723
724 void setStencilPathSettings(const GrStencilSettings& settings) {
725 fCommon.fPathStencilSettings = settings;
726 }
727
728 const GrStencilSettings& getStencilPathSettings() const { return fCommon.fPa thStencilSettings; }
729
724 /// @} 730 /// @}
725 731
726 /////////////////////////////////////////////////////////////////////////// 732 ///////////////////////////////////////////////////////////////////////////
727 /// @name State Flags 733 /// @name State Flags
728 //// 734 ////
729 735
730 /** 736 /**
731 * Flags that affect rendering. Controlled using enable/disableState(). All 737 * Flags that affect rendering. Controlled using enable/disableState(). All
732 * default to disabled. 738 * default to disabled.
733 */ 739 */
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
924 // These fields are roughly sorted by decreasing likelihood of being dif ferent in op== 930 // These fields are roughly sorted by decreasing likelihood of being dif ferent in op==
925 GrColor fColor; 931 GrColor fColor;
926 SkMatrix fViewMatrix; 932 SkMatrix fViewMatrix;
927 GrBlendCoeff fSrcBlend; 933 GrBlendCoeff fSrcBlend;
928 GrBlendCoeff fDstBlend; 934 GrBlendCoeff fDstBlend;
929 GrColor fBlendConstant; 935 GrColor fBlendConstant;
930 uint32_t fFlagBits; 936 uint32_t fFlagBits;
931 const GrVertexAttrib* fVAPtr; 937 const GrVertexAttrib* fVAPtr;
932 int fVACount; 938 int fVACount;
933 GrStencilSettings fStencilSettings; 939 GrStencilSettings fStencilSettings;
940 GrStencilSettings fPathStencilSettings;
bsalomon 2013/09/13 20:25:28 Is this necessary? I'm wondering if we could have
Kimmo Kinnunen 2013/09/18 07:52:38 Done.
934 GrColor fCoverage; 941 GrColor fCoverage;
935 SkXfermode::Mode fColorFilterMode; 942 SkXfermode::Mode fColorFilterMode;
936 GrColor fColorFilterColor; 943 GrColor fColorFilterColor;
937 DrawFace fDrawFace; 944 DrawFace fDrawFace;
938 945
939 // This is simply a different representation of info in fVertexAttribs a nd thus does 946 // This is simply a different representation of info in fVertexAttribs a nd thus does
940 // not need to be compared in op==. 947 // not need to be compared in op==.
941 int fFixedFunctionVertexAttribIndices[kGrFixedFunctionVertexAttribBindin gCnt]; 948 int fFixedFunctionVertexAttribIndices[kGrFixedFunctionVertexAttribBindin gCnt];
942 949
943 bool operator== (const CommonState& other) const { 950 bool operator== (const CommonState& other) const {
944 bool result = fColor == other.fColor && 951 bool result = fColor == other.fColor &&
945 fViewMatrix.cheapEqualTo(other.fViewMatrix) && 952 fViewMatrix.cheapEqualTo(other.fViewMatrix) &&
946 fSrcBlend == other.fSrcBlend && 953 fSrcBlend == other.fSrcBlend &&
947 fDstBlend == other.fDstBlend && 954 fDstBlend == other.fDstBlend &&
948 fBlendConstant == other.fBlendConstant && 955 fBlendConstant == other.fBlendConstant &&
949 fFlagBits == other.fFlagBits && 956 fFlagBits == other.fFlagBits &&
950 fVACount == other.fVACount && 957 fVACount == other.fVACount &&
951 !memcmp(fVAPtr, other.fVAPtr, fVACount * sizeof(GrVert exAttrib)) && 958 !memcmp(fVAPtr, other.fVAPtr, fVACount * sizeof(GrVert exAttrib)) &&
952 fStencilSettings == other.fStencilSettings && 959 fStencilSettings == other.fStencilSettings &&
960 fPathStencilSettings == other.fPathStencilSettings &&
953 fCoverage == other.fCoverage && 961 fCoverage == other.fCoverage &&
954 fColorFilterMode == other.fColorFilterMode && 962 fColorFilterMode == other.fColorFilterMode &&
955 fColorFilterColor == other.fColorFilterColor && 963 fColorFilterColor == other.fColorFilterColor &&
956 fDrawFace == other.fDrawFace; 964 fDrawFace == other.fDrawFace;
957 SkASSERT(!result || 0 == memcmp(fFixedFunctionVertexAttribIndices, 965 SkASSERT(!result || 0 == memcmp(fFixedFunctionVertexAttribIndices,
958 other.fFixedFunctionVertexAttribIndi ces, 966 other.fFixedFunctionVertexAttribIndi ces,
959 sizeof(fFixedFunctionVertexAttribInd ices))); 967 sizeof(fFixedFunctionVertexAttribInd ices)));
960 return result; 968 return result;
961 } 969 }
962 bool operator!= (const CommonState& other) const { return !(*this == oth er); } 970 bool operator!= (const CommonState& other) const { return !(*this == oth er); }
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
1075 * @param count the number of attributes being set, limited to kMaxVer texAttribCnt. 1083 * @param count the number of attributes being set, limited to kMaxVer texAttribCnt.
1076 */ 1084 */
1077 void setVertexAttribs(const GrVertexAttrib attribs[], int count); 1085 void setVertexAttribs(const GrVertexAttrib attribs[], int count);
1078 1086
1079 typedef SkRefCnt INHERITED; 1087 typedef SkRefCnt INHERITED;
1080 }; 1088 };
1081 1089
1082 GR_MAKE_BITFIELD_OPS(GrDrawState::BlendOptFlags); 1090 GR_MAKE_BITFIELD_OPS(GrDrawState::BlendOptFlags);
1083 1091
1084 #endif 1092 #endif
OLDNEW
« no previous file with comments | « src/gpu/GrClipMaskManager.cpp ('k') | src/gpu/GrDrawTarget.h » ('j') | src/gpu/GrDrawTarget.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698