Flutter Engine
The Flutter Engine
|
#include <SkPathMeasure.h>
Public Types | |
enum | MatrixFlags { kGetPosition_MatrixFlag = 0x01 , kGetTangent_MatrixFlag = 0x02 , kGetPosAndTan_MatrixFlag = kGetPosition_MatrixFlag | kGetTangent_MatrixFlag } |
Public Member Functions | |
SkPathMeasure () | |
SkPathMeasure (const SkPath &path, bool forceClosed, SkScalar resScale=1) | |
~SkPathMeasure () | |
SkPathMeasure (SkPathMeasure &&)=default | |
SkPathMeasure & | operator= (SkPathMeasure &&)=default |
void | setPath (const SkPath *, bool forceClosed) |
SkScalar | getLength () |
bool | getPosTan (SkScalar distance, SkPoint *position, SkVector *tangent) |
bool | getMatrix (SkScalar distance, SkMatrix *matrix, MatrixFlags flags=kGetPosAndTan_MatrixFlag) |
bool | getSegment (SkScalar startD, SkScalar stopD, SkPath *dst, bool startWithMoveTo) |
bool | isClosed () |
bool | nextContour () |
const SkContourMeasure * | currentMeasure () const |
Definition at line 21 of file SkPathMeasure.h.
Enumerator | |
---|---|
kGetPosition_MatrixFlag | |
kGetTangent_MatrixFlag | |
kGetPosAndTan_MatrixFlag |
Definition at line 53 of file SkPathMeasure.h.
SkPathMeasure::SkPathMeasure | ( | ) |
Definition at line 21 of file SkPathMeasure.cpp.
Initialize the pathmeasure with the specified path. The parts of the path that are needed are copied, so the client is free to modify/delete the path after this call.
resScale controls the precision of the measure. values > 1 increase the precision (and possibly slow down the computation).
Definition at line 23 of file SkPathMeasure.cpp.
SkPathMeasure::~SkPathMeasure | ( | ) |
Definition at line 29 of file SkPathMeasure.cpp.
|
default |
|
inline |
Definition at line 88 of file SkPathMeasure.h.
SkScalar SkPathMeasure::getLength | ( | ) |
Return the total length of the current contour, or 0 if no path is associated (e.g. resetPath(null))
Definition at line 36 of file SkPathMeasure.cpp.
bool SkPathMeasure::getMatrix | ( | SkScalar | distance, |
SkMatrix * | matrix, | ||
MatrixFlags | flags = kGetPosAndTan_MatrixFlag |
||
) |
Pins distance to 0 <= distance <= getLength(), and then computes the corresponding matrix (by calling getPosTan). Returns false if there is no path, or a zero-length path was specified, in which case matrix is unchanged.
Definition at line 44 of file SkPathMeasure.cpp.
Pins distance to 0 <= distance <= getLength(), and then computes the corresponding position and tangent. Returns false if there is no path, or a zero-length path was specified, in which case position and tangent are unchanged.
Definition at line 40 of file SkPathMeasure.cpp.
bool SkPathMeasure::getSegment | ( | SkScalar | startD, |
SkScalar | stopD, | ||
SkPath * | dst, | ||
bool | startWithMoveTo | ||
) |
Given a start and stop distance, return in dst the intervening segment(s). If the segment is zero-length, return false, else return true. startD and stopD are pinned to legal values (0..getLength()). If startD > stopD then return false (and leave dst untouched). Begin the segment with a moveTo if startWithMoveTo is true
Definition at line 48 of file SkPathMeasure.cpp.
bool SkPathMeasure::isClosed | ( | ) |
Return true if the current contour is closed()
Definition at line 52 of file SkPathMeasure.cpp.
bool SkPathMeasure::nextContour | ( | ) |
Move to the next contour in the path. Return true if one exists, or false if we're done with the path.
Definition at line 56 of file SkPathMeasure.cpp.
|
default |
void SkPathMeasure::setPath | ( | const SkPath * | path, |
bool | forceClosed | ||
) |
Reset the pathmeasure with the specified path. The parts of the path that are needed are copied, so the client is free to modify/delete the path after this call..
Definition at line 31 of file SkPathMeasure.cpp.