#include <SkPathMeasure.h>
Classes | |
struct | Segment |
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) | |
~SkPathMeasure () | |
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 () |
Definition at line 23 of file SkPathMeasure.h.
Definition at line 53 of file SkPathMeasure.h.
SkPathMeasure::SkPathMeasure | ( | ) |
SkPathMeasure::SkPathMeasure | ( | const SkPath & | path, | |
bool | forceClosed | |||
) |
Initialize the pathmeasure with the specified path. The path must remain valid for the lifetime of the measure object, or until setPath() is called with a different path (or null), since the measure object keeps a pointer to the path object (does not copy its data).
SkPathMeasure::~SkPathMeasure | ( | ) |
SkScalar SkPathMeasure::getLength | ( | ) |
Return the total length of the current contour, or 0 if no path is associated (e.g. resetPath(null))
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.
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.
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
bool SkPathMeasure::isClosed | ( | ) |
Return true if the current contour is closed()
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.
void SkPathMeasure::setPath | ( | const SkPath * | , | |
bool | forceClosed | |||
) |
Reset the pathmeasure with the specified path. The path must remain valid for the lifetime of the measure object, or until setPath() is called with a different path (or null), since the measure object keeps a pointer to the path object (does not copy its data).