Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Macros | Functions | Variables
SkOpSegment.cpp File Reference
#include "src/pathops/SkOpSegment.h"
#include "include/private/base/SkTDArray.h"
#include "include/private/base/SkTemplates.h"
#include "src/core/SkPointPriv.h"
#include "src/pathops/SkIntersections.h"
#include "src/pathops/SkOpCoincidence.h"
#include "src/pathops/SkOpContour.h"
#include "src/pathops/SkPathOpsLine.h"
#include "src/pathops/SkPathWriter.h"
#include <algorithm>
#include <cfloat>

Go to the source code of this file.

Macros

#define F   (false)
 
#define T   (true)
 

Functions

static SkOpSegmentset_last (SkOpSpanBase **last, SkOpSpanBase *endSpan)
 

Variables

static const bool gUnaryActiveEdge [2][2]
 
static const bool gActiveEdge [kXOR_SkPathOp+1][2][2][2][2]
 

Macro Definition Documentation

◆ F

#define F   (false)

Definition at line 31 of file SkOpSegment.cpp.

◆ T

#define T   (true)

Definition at line 32 of file SkOpSegment.cpp.

Function Documentation

◆ set_last()

static SkOpSegment * set_last ( SkOpSpanBase **  last,
SkOpSpanBase endSpan 
)
static

Definition at line 1070 of file SkOpSegment.cpp.

1070 {
1071 if (last) {
1072 *last = endSpan;
1073 }
1074 return nullptr;
1075}

Variable Documentation

◆ gActiveEdge

const bool gActiveEdge[kXOR_SkPathOp+1][2][2][2][2]
static
Initial value:
= {
{{{{F, F}, {F, F}}, {{T, F}, {T, F}}}, {{{T, T}, {F, F}}, {{F, T}, {T, F}}}},
{{{{F, F}, {F, F}}, {{F, T}, {F, T}}}, {{{F, F}, {T, T}}, {{F, T}, {T, F}}}},
{{{{F, T}, {T, F}}, {{T, T}, {F, F}}}, {{{T, F}, {T, F}}, {{F, F}, {F, F}}}},
{{{{F, T}, {T, F}}, {{T, F}, {F, T}}}, {{{T, F}, {F, T}}, {{F, T}, {T, F}}}},
}
#define T
#define F
Definition SkMD5.cpp:120

Definition at line 40 of file SkOpSegment.cpp.

40 {
41// miFrom=0 miFrom=1
42// miTo=0 miTo=1 miTo=0 miTo=1
43// suFrom=0 1 suFrom=0 1 suFrom=0 1 suFrom=0 1
44// suTo=0,1 suTo=0,1 suTo=0,1 suTo=0,1 suTo=0,1 suTo=0,1 suTo=0,1 suTo=0,1
45 {{{{F, F}, {F, F}}, {{T, F}, {T, F}}}, {{{T, T}, {F, F}}, {{F, T}, {T, F}}}}, // mi - su
46 {{{{F, F}, {F, F}}, {{F, T}, {F, T}}}, {{{F, F}, {T, T}}, {{F, T}, {T, F}}}}, // mi & su
47 {{{{F, T}, {T, F}}, {{T, T}, {F, F}}}, {{{T, F}, {T, F}}, {{F, F}, {F, F}}}}, // mi | su
48 {{{{F, T}, {T, F}}, {{T, F}, {F, T}}}, {{{T, F}, {F, T}}, {{F, T}, {T, F}}}}, // mi ^ su
49};

◆ gUnaryActiveEdge

const bool gUnaryActiveEdge[2][2]
static
Initial value:
= {
{F, T}, {T, F},
}

Definition at line 34 of file SkOpSegment.cpp.

34 {
35// from=0 from=1
36// to=0,1 to=0,1
37 {F, T}, {T, F},
38};