Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Enumerations | Functions
SkPathTypes.h File Reference

Go to the source code of this file.

Enumerations

enum class  SkPathFillType { kWinding , kEvenOdd , kInverseWinding , kInverseEvenOdd }
 
enum class  SkPathDirection { kCW , kCCW }
 
enum  SkPathSegmentMask { kLine_SkPathSegmentMask = 1 << 0 , kQuad_SkPathSegmentMask = 1 << 1 , kConic_SkPathSegmentMask = 1 << 2 , kCubic_SkPathSegmentMask = 1 << 3 }
 
enum class  SkPathVerb {
  kMove , kLine , kQuad , kConic ,
  kCubic , kClose
}
 

Functions

static bool SkPathFillType_IsEvenOdd (SkPathFillType ft)
 
static bool SkPathFillType_IsInverse (SkPathFillType ft)
 
static SkPathFillType SkPathFillType_ConvertToNonInverse (SkPathFillType ft)
 

Enumeration Type Documentation

◆ SkPathDirection

enum class SkPathDirection
strong
Enumerator
kCW 

clockwise direction for adding closed contours

kCCW 

counter-clockwise direction for adding closed contours

Definition at line 34 of file SkPathTypes.h.

34 {
35 /** clockwise direction for adding closed contours */
36 kCW,
37 /** counter-clockwise direction for adding closed contours */
38 kCCW,
39};

◆ SkPathFillType

enum class SkPathFillType
strong
Enumerator
kWinding 

Specifies that "inside" is computed by a non-zero sum of signed edge crossings

kEvenOdd 

Specifies that "inside" is computed by an odd number of edge crossings

kInverseWinding 

Same as Winding, but draws outside of the path, rather than inside

kInverseEvenOdd 

Same as EvenOdd, but draws outside of the path, rather than inside

Definition at line 11 of file SkPathTypes.h.

11 {
12 /** Specifies that "inside" is computed by a non-zero sum of signed edge crossings */
14 /** Specifies that "inside" is computed by an odd number of edge crossings */
16 /** Same as Winding, but draws outside of the path, rather than inside */
18 /** Same as EvenOdd, but draws outside of the path, rather than inside */
20};

◆ SkPathSegmentMask

Enumerator
kLine_SkPathSegmentMask 
kQuad_SkPathSegmentMask 
kConic_SkPathSegmentMask 
kCubic_SkPathSegmentMask 

Definition at line 41 of file SkPathTypes.h.

41 {
46};
@ kCubic_SkPathSegmentMask
Definition SkPathTypes.h:45
@ kConic_SkPathSegmentMask
Definition SkPathTypes.h:44
@ kQuad_SkPathSegmentMask
Definition SkPathTypes.h:43
@ kLine_SkPathSegmentMask
Definition SkPathTypes.h:42

◆ SkPathVerb

enum class SkPathVerb
strong
Enumerator
kMove 

SkPath::RawIter returns 1 point.

kLine 

SkPath::RawIter returns 2 points.

kQuad 

SkPath::RawIter returns 3 points.

kConic 

SkPath::RawIter returns 3 points + 1 weight.

kCubic 

SkPath::RawIter returns 4 points.

kClose 

SkPath::RawIter returns 0 points.

Definition at line 48 of file SkPathTypes.h.

48 {
49 kMove, //!< SkPath::RawIter returns 1 point
50 kLine, //!< SkPath::RawIter returns 2 points
51 kQuad, //!< SkPath::RawIter returns 3 points
52 kConic, //!< SkPath::RawIter returns 3 points + 1 weight
53 kCubic, //!< SkPath::RawIter returns 4 points
54 kClose //!< SkPath::RawIter returns 0 points
55};
@ kClose
SkPath::RawIter returns 0 points.
@ kCubic
SkPath::RawIter returns 4 points.
@ kConic
SkPath::RawIter returns 3 points + 1 weight.
@ kQuad
SkPath::RawIter returns 3 points.
@ kMove
SkPath::RawIter returns 1 point.
@ kLine
SkPath::RawIter returns 2 points.

Function Documentation

◆ SkPathFillType_ConvertToNonInverse()

static SkPathFillType SkPathFillType_ConvertToNonInverse ( SkPathFillType  ft)
inlinestatic

Definition at line 30 of file SkPathTypes.h.

30 {
31 return static_cast<SkPathFillType>(static_cast<int>(ft) & 1);
32}
SkPathFillType
Definition SkPathTypes.h:11

◆ SkPathFillType_IsEvenOdd()

static bool SkPathFillType_IsEvenOdd ( SkPathFillType  ft)
inlinestatic

Definition at line 22 of file SkPathTypes.h.

22 {
23 return (static_cast<int>(ft) & 1) != 0;
24}

◆ SkPathFillType_IsInverse()

static bool SkPathFillType_IsInverse ( SkPathFillType  ft)
inlinestatic

Definition at line 26 of file SkPathTypes.h.

26 {
27 return (static_cast<int>(ft) & 2) != 0;
28}