SkPathMeasure Class Reference

#include <SkPathMeasure.h>

Collaboration diagram for SkPathMeasure:
Collaboration graph
[legend]

List of all members.

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 ()

Detailed Description

Definition at line 23 of file SkPathMeasure.h.


Member Enumeration Documentation

Enumerator:
kGetPosition_MatrixFlag 
kGetTangent_MatrixFlag 
kGetPosAndTan_MatrixFlag 

Definition at line 53 of file SkPathMeasure.h.


Constructor & Destructor Documentation

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 (  ) 

Member Function Documentation

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.

bool SkPathMeasure::getPosTan ( SkScalar  distance,
SkPoint position,
SkVector tangent 
)

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).


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

Generated on Tue Oct 20 11:03:42 2009 for Skia by  doxygen 1.6.1