Flutter Engine
The Flutter Engine
Public Member Functions | List of all members
SkOpContourHead Class Reference

#include <SkOpContour.h>

Inheritance diagram for SkOpContourHead:
SkOpContour

Public Member Functions

SkOpContourappendContour ()
 
void joinAllSegments ()
 
void remove (SkOpContour *contour)
 
- Public Member Functions inherited from SkOpContour
 SkOpContour ()
 
bool operator< (const SkOpContour &rh) const
 
void addConic (SkPoint pts[3], SkScalar weight)
 
void addCubic (SkPoint pts[4])
 
SkOpSegmentaddLine (SkPoint pts[2])
 
void addQuad (SkPoint pts[3])
 
SkOpSegmentappendSegment ()
 
const SkPathOpsBoundsbounds () const
 
void calcAngles ()
 
void complete ()
 
int count () const
 
int debugID () const
 
int debugIndent () const
 
const SkOpAngledebugAngle (int id) const
 
const SkOpCoincidencedebugCoincidence () const
 
SkOpContourdebugContour (int id) const
 
const SkOpPtTdebugPtT (int id) const
 
const SkOpSegmentdebugSegment (int id) const
 
const SkOpSpanBasedebugSpan (int id) const
 
SkOpGlobalStateglobalState () const
 
void debugValidate () const
 
bool done () const
 
void dump () const
 
void dumpAll () const
 
void dumpAngles () const
 
void dumpContours () const
 
void dumpContoursAll () const
 
void dumpContoursAngles () const
 
void dumpContoursPts () const
 
void dumpContoursPt (int segmentID) const
 
void dumpContoursSegment (int segmentID) const
 
void dumpContoursSpan (int segmentID) const
 
void dumpContoursSpans () const
 
void dumpPt (int) const
 
void dumpPts (const char *prefix="seg") const
 
void dumpPtsX (const char *prefix) const
 
void dumpSegment (int) const
 
void dumpSegments (const char *prefix="seg", SkPathOp op=(SkPathOp) -1) const
 
void dumpSpan (int) const
 
void dumpSpans () const
 
const SkPointend () const
 
SkOpSpanfindSortableTop (SkOpContour *)
 
SkOpSegmentfirst ()
 
const SkOpSegmentfirst () const
 
void indentDump () const
 
void init (SkOpGlobalState *globalState, bool operand, bool isXor)
 
int isCcw () const
 
bool isXor () const
 
void joinSegments ()
 
void markAllDone ()
 
bool missingCoincidence ()
 
bool moveMultiples ()
 
bool moveNearby ()
 
SkOpContournext ()
 
const SkOpContournext () const
 
bool operand () const
 
bool oppXor () const
 
void outdentDump () const
 
void rayCheck (const SkOpRayHit &base, SkOpRayDir dir, SkOpRayHit **hits, SkArenaAlloc *)
 
void reset ()
 
void resetReverse ()
 
bool reversed () const
 
void setBounds ()
 
void setCcw (int ccw)
 
void setGlobalState (SkOpGlobalState *state)
 
void setNext (SkOpContour *contour)
 
void setOperand (bool isOp)
 
void setOppXor (bool isOppXor)
 
void setReverse ()
 
void setXor (bool isXor)
 
bool sortAngles ()
 
const SkPointstart () const
 
void toPartialBackward (SkPathWriter *path) const
 
void toPartialForward (SkPathWriter *path) const
 
void toReversePath (SkPathWriter *path) const
 
void toPath (SkPathWriter *path) const
 
SkOpSpanundoneSpan ()
 

Additional Inherited Members

- Protected Member Functions inherited from SkOpContour
 SkDEBUGCODE (int fID;) SkDEBUGCODE(mutable int fDebugIndent
 
- Protected Attributes inherited from SkOpContour
SkOpGlobalStatefState
 
SkOpSegment fHead
 
SkOpSegmentfTail
 
SkOpContourfNext
 
SkPathOpsBounds fBounds
 
int fCcw
 
int fCount
 
int fFirstSorted
 
bool fDone
 
bool fOperand
 
bool fReverse
 
bool fXor
 
bool fOppXor
 

Detailed Description

Definition at line 400 of file SkOpContour.h.

Member Function Documentation

◆ appendContour()

SkOpContour * SkOpContourHead::appendContour ( )
inline

Definition at line 402 of file SkOpContour.h.

402 {
404 contour->setNext(nullptr);
405 SkOpContour* prev = this;
407 while ((next = prev->next())) {
408 prev = next;
409 }
410 prev->setNext(contour);
411 return contour;
412 }
static float prev(float f)
auto make(Ctor &&ctor) -> decltype(ctor(nullptr))
Definition: SkArenaAlloc.h:120
SkOpGlobalState * globalState() const
Definition: SkOpContour.h:139
SkOpContour * next()
Definition: SkOpContour.h:266
SkArenaAlloc * allocator()

◆ joinAllSegments()

void SkOpContourHead::joinAllSegments ( )
inline

Definition at line 414 of file SkOpContour.h.

414 {
415 SkOpContour* next = this;
416 do {
417 if (!next->count()) {
418 continue;
419 }
421 } while ((next = next->next()));
422 }
void joinSegments()
Definition: SkOpContour.h:214
int count() const
Definition: SkOpContour.h:84

◆ remove()

void SkOpContourHead::remove ( SkOpContour contour)
inline

Definition at line 424 of file SkOpContour.h.

424 {
425 if (contour == this) {
426 SkASSERT(this->count() == 0);
427 return;
428 }
429 SkASSERT(contour->next() == nullptr);
430 SkOpContour* prev = this;
432 while ((next = prev->next()) != contour) {
433 SkASSERT(next);
434 prev = next;
435 }
436 SkASSERT(prev);
437 prev->setNext(nullptr);
438 }
#define SkASSERT(cond)
Definition: SkAssert.h:116

The documentation for this class was generated from the following file: