webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Types | Public Member Functions | Static Public Member Functions | List of all members
WebCore::Path Class Reference

#include <Path.h>

Public Types

enum  RoundedRectStrategy { PreferNativeRoundedRect, PreferBezierRoundedRect, PreferNativeRoundedRect, PreferBezierRoundedRect }
 
enum  RoundedRectStrategy { PreferNativeRoundedRect, PreferBezierRoundedRect, PreferNativeRoundedRect, PreferBezierRoundedRect }
 

Public Member Functions

WEBCORE_EXPORT Path ()
 
WEBCORE_EXPORT ~Path ()
 
WEBCORE_EXPORT Path (const Path &)
 
WEBCORE_EXPORT Pathoperator= (const Path &)
 
bool contains (const FloatPoint &, WindRule rule=RULE_NONZERO) const
 
bool strokeContains (StrokeStyleApplier *, const FloatPoint &) const
 
FloatRect boundingRect () const
 
WEBCORE_EXPORT FloatRect fastBoundingRect () const
 
FloatRect strokeBoundingRect (StrokeStyleApplier *=0) const
 
float length () const
 
PathTraversalState traversalStateAtLength (float length, bool &success) const
 
FloatPoint pointAtLength (float length, bool &success) const
 
float normalAngleAtLength (float length, bool &success) const
 
WEBCORE_EXPORT void clear ()
 
bool isNull () const
 
bool isEmpty () const
 
bool hasCurrentPoint () const
 
FloatPoint currentPoint () const
 
WEBCORE_EXPORT void moveTo (const FloatPoint &)
 
WEBCORE_EXPORT void addLineTo (const FloatPoint &)
 
WEBCORE_EXPORT void addQuadCurveTo (const FloatPoint &controlPoint, const FloatPoint &endPoint)
 
WEBCORE_EXPORT void addBezierCurveTo (const FloatPoint &controlPoint1, const FloatPoint &controlPoint2, const FloatPoint &endPoint)
 
void addArcTo (const FloatPoint &, const FloatPoint &, float radius)
 
WEBCORE_EXPORT void closeSubpath ()
 
void addArc (const FloatPoint &, float radius, float startAngle, float endAngle, bool anticlockwise)
 
void addRect (const FloatRect &)
 
void addEllipse (FloatPoint, float radiusX, float radiusY, float rotation, float startAngle, float endAngle, bool anticlockwise)
 
void addEllipse (const FloatRect &)
 
WEBCORE_EXPORT void addRoundedRect (const FloatRect &, const FloatSize &roundingRadii, RoundedRectStrategy=PreferNativeRoundedRect)
 
WEBCORE_EXPORT void addRoundedRect (const FloatRoundedRect &, RoundedRectStrategy=PreferNativeRoundedRect)
 
void addRoundedRect (const RoundedRect &)
 
void addPath (const Path &, const AffineTransform &)
 
void translate (const FloatSize &)
 
PlatformPathPtr platformPath () const
 
WEBCORE_EXPORT PlatformPathPtr ensurePlatformPath ()
 
WEBCORE_EXPORT void apply (const PathApplierFunction &) const
 
void transform (const AffineTransform &)
 
void addBeziersForRoundedRect (const FloatRect &, const FloatSize &topLeftRadius, const FloatSize &topRightRadius, const FloatSize &bottomLeftRadius, const FloatSize &bottomRightRadius)
 
void dump () const
 
WEBCORE_EXPORT Path ()
 
WEBCORE_EXPORT ~Path ()
 
WEBCORE_EXPORT Path (const Path &)
 
WEBCORE_EXPORT Pathoperator= (const Path &)
 
bool contains (const FloatPoint &, WindRule rule=RULE_NONZERO) const
 
bool strokeContains (StrokeStyleApplier *, const FloatPoint &) const
 
FloatRect boundingRect () const
 
WEBCORE_EXPORT FloatRect fastBoundingRect () const
 
FloatRect strokeBoundingRect (StrokeStyleApplier *=0) const
 
float length () const
 
PathTraversalState traversalStateAtLength (float length, bool &success) const
 
FloatPoint pointAtLength (float length, bool &success) const
 
float normalAngleAtLength (float length, bool &success) const
 
WEBCORE_EXPORT void clear ()
 
bool isNull () const
 
bool isEmpty () const
 
bool hasCurrentPoint () const
 
FloatPoint currentPoint () const
 
WEBCORE_EXPORT void moveTo (const FloatPoint &)
 
WEBCORE_EXPORT void addLineTo (const FloatPoint &)
 
WEBCORE_EXPORT void addQuadCurveTo (const FloatPoint &controlPoint, const FloatPoint &endPoint)
 
WEBCORE_EXPORT void addBezierCurveTo (const FloatPoint &controlPoint1, const FloatPoint &controlPoint2, const FloatPoint &endPoint)
 
void addArcTo (const FloatPoint &, const FloatPoint &, float radius)
 
WEBCORE_EXPORT void closeSubpath ()
 
void addArc (const FloatPoint &, float radius, float startAngle, float endAngle, bool anticlockwise)
 
void addRect (const FloatRect &)
 
void addEllipse (FloatPoint, float radiusX, float radiusY, float rotation, float startAngle, float endAngle, bool anticlockwise)
 
void addEllipse (const FloatRect &)
 
WEBCORE_EXPORT void addRoundedRect (const FloatRect &, const FloatSize &roundingRadii, RoundedRectStrategy=PreferNativeRoundedRect)
 
WEBCORE_EXPORT void addRoundedRect (const FloatRoundedRect &, RoundedRectStrategy=PreferNativeRoundedRect)
 
void addRoundedRect (const RoundedRect &)
 
void addPath (const Path &, const AffineTransform &)
 
void translate (const FloatSize &)
 
PlatformPathPtr platformPath () const
 
WEBCORE_EXPORT PlatformPathPtr ensurePlatformPath ()
 
WEBCORE_EXPORT void apply (const PathApplierFunction &) const
 
void transform (const AffineTransform &)
 
void addBeziersForRoundedRect (const FloatRect &, const FloatSize &topLeftRadius, const FloatSize &topRightRadius, const FloatSize &bottomLeftRadius, const FloatSize &bottomRightRadius)
 
void dump () const
 

Static Public Member Functions

static Path polygonPathFromPoints (const Vector< FloatPoint > &)
 
static float circleControlPoint ()
 
static Path polygonPathFromPoints (const Vector< FloatPoint > &)
 
static float circleControlPoint ()
 

Member Enumeration Documentation

◆ RoundedRectStrategy [1/2]

Enumerator
PreferNativeRoundedRect 
PreferBezierRoundedRect 
PreferNativeRoundedRect 
PreferBezierRoundedRect 

◆ RoundedRectStrategy [2/2]

Enumerator
PreferNativeRoundedRect 
PreferBezierRoundedRect 
PreferNativeRoundedRect 
PreferBezierRoundedRect 

Constructor & Destructor Documentation

◆ Path() [1/4]

WEBCORE_EXPORT WebCore::Path::Path ( )

◆ ~Path() [1/2]

WEBCORE_EXPORT WebCore::Path::~Path ( )

◆ Path() [2/4]

WEBCORE_EXPORT WebCore::Path::Path ( const Path )

◆ Path() [3/4]

WEBCORE_EXPORT WebCore::Path::Path ( )

◆ ~Path() [2/2]

WEBCORE_EXPORT WebCore::Path::~Path ( )

◆ Path() [4/4]

WEBCORE_EXPORT WebCore::Path::Path ( const Path )

Member Function Documentation

◆ addArc() [1/2]

void WebCore::Path::addArc ( const FloatPoint ,
float  radius,
float  startAngle,
float  endAngle,
bool  anticlockwise 
)

◆ addArc() [2/2]

void WebCore::Path::addArc ( const FloatPoint ,
float  radius,
float  startAngle,
float  endAngle,
bool  anticlockwise 
)

◆ addArcTo() [1/2]

void WebCore::Path::addArcTo ( const FloatPoint ,
const FloatPoint ,
float  radius 
)

◆ addArcTo() [2/2]

void WebCore::Path::addArcTo ( const FloatPoint ,
const FloatPoint ,
float  radius 
)

◆ addBezierCurveTo() [1/2]

WEBCORE_EXPORT void WebCore::Path::addBezierCurveTo ( const FloatPoint controlPoint1,
const FloatPoint controlPoint2,
const FloatPoint endPoint 
)

◆ addBezierCurveTo() [2/2]

WEBCORE_EXPORT void WebCore::Path::addBezierCurveTo ( const FloatPoint controlPoint1,
const FloatPoint controlPoint2,
const FloatPoint endPoint 
)

◆ addBeziersForRoundedRect() [1/2]

void WebCore::Path::addBeziersForRoundedRect ( const FloatRect rect,
const FloatSize topLeftRadius,
const FloatSize topRightRadius,
const FloatSize bottomLeftRadius,
const FloatSize bottomRightRadius 
)

◆ addBeziersForRoundedRect() [2/2]

void WebCore::Path::addBeziersForRoundedRect ( const FloatRect ,
const FloatSize topLeftRadius,
const FloatSize topRightRadius,
const FloatSize bottomLeftRadius,
const FloatSize bottomRightRadius 
)

◆ addEllipse() [1/4]

void WebCore::Path::addEllipse ( FloatPoint  ,
float  radiusX,
float  radiusY,
float  rotation,
float  startAngle,
float  endAngle,
bool  anticlockwise 
)

◆ addEllipse() [2/4]

void WebCore::Path::addEllipse ( FloatPoint  ,
float  radiusX,
float  radiusY,
float  rotation,
float  startAngle,
float  endAngle,
bool  anticlockwise 
)

◆ addEllipse() [3/4]

void WebCore::Path::addEllipse ( const FloatRect )

◆ addEllipse() [4/4]

void WebCore::Path::addEllipse ( const FloatRect )

◆ addLineTo() [1/2]

WEBCORE_EXPORT void WebCore::Path::addLineTo ( const FloatPoint )

◆ addLineTo() [2/2]

WEBCORE_EXPORT void WebCore::Path::addLineTo ( const FloatPoint )

◆ addPath() [1/2]

void WebCore::Path::addPath ( const Path ,
const AffineTransform  
)

◆ addPath() [2/2]

void WebCore::Path::addPath ( const Path ,
const AffineTransform  
)

◆ addQuadCurveTo() [1/2]

WEBCORE_EXPORT void WebCore::Path::addQuadCurveTo ( const FloatPoint controlPoint,
const FloatPoint endPoint 
)

◆ addQuadCurveTo() [2/2]

WEBCORE_EXPORT void WebCore::Path::addQuadCurveTo ( const FloatPoint controlPoint,
const FloatPoint endPoint 
)

◆ addRect() [1/2]

void WebCore::Path::addRect ( const FloatRect )

◆ addRect() [2/2]

void WebCore::Path::addRect ( const FloatRect )

◆ addRoundedRect() [1/6]

WEBCORE_EXPORT void WebCore::Path::addRoundedRect ( const FloatRect ,
const FloatSize roundingRadii,
RoundedRectStrategy  = PreferNativeRoundedRect 
)

◆ addRoundedRect() [2/6]

void WebCore::Path::addRoundedRect ( const FloatRect rect,
const FloatSize roundingRadii,
RoundedRectStrategy  strategy = PreferNativeRoundedRect 
)

◆ addRoundedRect() [3/6]

WEBCORE_EXPORT void WebCore::Path::addRoundedRect ( const FloatRoundedRect ,
RoundedRectStrategy  = PreferNativeRoundedRect 
)

◆ addRoundedRect() [4/6]

void WebCore::Path::addRoundedRect ( const FloatRoundedRect r,
RoundedRectStrategy  strategy = PreferNativeRoundedRect 
)

◆ addRoundedRect() [5/6]

void WebCore::Path::addRoundedRect ( const RoundedRect )

◆ addRoundedRect() [6/6]

void WebCore::Path::addRoundedRect ( const RoundedRect r)

◆ apply() [1/2]

WEBCORE_EXPORT void WebCore::Path::apply ( const PathApplierFunction ) const

◆ apply() [2/2]

WEBCORE_EXPORT void WebCore::Path::apply ( const PathApplierFunction ) const

◆ boundingRect() [1/2]

FloatRect WebCore::Path::boundingRect ( ) const

◆ boundingRect() [2/2]

FloatRect WebCore::Path::boundingRect ( ) const

◆ circleControlPoint() [1/2]

static float WebCore::Path::circleControlPoint ( )
inlinestatic

◆ circleControlPoint() [2/2]

static float WebCore::Path::circleControlPoint ( )
inlinestatic

◆ clear() [1/2]

WEBCORE_EXPORT void WebCore::Path::clear ( )

◆ clear() [2/2]

WEBCORE_EXPORT void WebCore::Path::clear ( )

◆ closeSubpath() [1/2]

WEBCORE_EXPORT void WebCore::Path::closeSubpath ( )

◆ closeSubpath() [2/2]

WEBCORE_EXPORT void WebCore::Path::closeSubpath ( )

◆ contains() [1/2]

bool WebCore::Path::contains ( const FloatPoint ,
WindRule  rule = RULE_NONZERO 
) const

◆ contains() [2/2]

bool WebCore::Path::contains ( const FloatPoint ,
WindRule  rule = RULE_NONZERO 
) const

◆ currentPoint() [1/2]

FloatPoint WebCore::Path::currentPoint ( ) const

◆ currentPoint() [2/2]

FloatPoint WebCore::Path::currentPoint ( ) const

◆ dump() [1/2]

void WebCore::Path::dump ( ) const

◆ dump() [2/2]

void WebCore::Path::dump ( ) const

◆ ensurePlatformPath() [1/2]

WEBCORE_EXPORT PlatformPathPtr WebCore::Path::ensurePlatformPath ( )

◆ ensurePlatformPath() [2/2]

WEBCORE_EXPORT PlatformPathPtr WebCore::Path::ensurePlatformPath ( )

◆ fastBoundingRect() [1/2]

WEBCORE_EXPORT FloatRect WebCore::Path::fastBoundingRect ( ) const

◆ fastBoundingRect() [2/2]

FloatRect WebCore::Path::fastBoundingRect ( ) const

◆ hasCurrentPoint() [1/2]

bool WebCore::Path::hasCurrentPoint ( ) const

◆ hasCurrentPoint() [2/2]

bool WebCore::Path::hasCurrentPoint ( ) const

◆ isEmpty() [1/2]

bool WebCore::Path::isEmpty ( ) const

◆ isEmpty() [2/2]

bool WebCore::Path::isEmpty ( ) const

◆ isNull() [1/2]

bool WebCore::Path::isNull ( ) const
inline

◆ isNull() [2/2]

bool WebCore::Path::isNull ( ) const
inline

◆ length() [1/2]

float WebCore::Path::length ( void  ) const

◆ length() [2/2]

float WebCore::Path::length ( ) const

◆ moveTo() [1/2]

WEBCORE_EXPORT void WebCore::Path::moveTo ( const FloatPoint )

◆ moveTo() [2/2]

WEBCORE_EXPORT void WebCore::Path::moveTo ( const FloatPoint )

◆ normalAngleAtLength() [1/2]

float WebCore::Path::normalAngleAtLength ( float  length,
bool &  success 
) const

◆ normalAngleAtLength() [2/2]

float WebCore::Path::normalAngleAtLength ( float  length,
bool &  success 
) const

◆ operator=() [1/2]

WEBCORE_EXPORT Path& WebCore::Path::operator= ( const Path )

◆ operator=() [2/2]

WEBCORE_EXPORT Path& WebCore::Path::operator= ( const Path )

◆ platformPath() [1/2]

PlatformPathPtr WebCore::Path::platformPath ( ) const
inline

◆ platformPath() [2/2]

PlatformPathPtr WebCore::Path::platformPath ( ) const
inline

◆ pointAtLength() [1/2]

FloatPoint WebCore::Path::pointAtLength ( float  length,
bool &  success 
) const

◆ pointAtLength() [2/2]

FloatPoint WebCore::Path::pointAtLength ( float  length,
bool &  success 
) const

◆ polygonPathFromPoints() [1/2]

static Path WebCore::Path::polygonPathFromPoints ( const Vector< FloatPoint > &  )
static

◆ polygonPathFromPoints() [2/2]

Path WebCore::Path::polygonPathFromPoints ( const Vector< FloatPoint > &  points)
static

◆ strokeBoundingRect() [1/2]

FloatRect WebCore::Path::strokeBoundingRect ( StrokeStyleApplier = 0) const

◆ strokeBoundingRect() [2/2]

FloatRect WebCore::Path::strokeBoundingRect ( StrokeStyleApplier = 0) const

◆ strokeContains() [1/2]

bool WebCore::Path::strokeContains ( StrokeStyleApplier ,
const FloatPoint  
) const

◆ strokeContains() [2/2]

bool WebCore::Path::strokeContains ( StrokeStyleApplier ,
const FloatPoint  
) const

◆ transform() [1/2]

void WebCore::Path::transform ( const AffineTransform )

◆ transform() [2/2]

void WebCore::Path::transform ( const AffineTransform )

◆ translate() [1/2]

void WebCore::Path::translate ( const FloatSize )

◆ translate() [2/2]

void WebCore::Path::translate ( const FloatSize )

◆ traversalStateAtLength() [1/2]

PathTraversalState WebCore::Path::traversalStateAtLength ( float  length,
bool &  success 
) const

◆ traversalStateAtLength() [2/2]

PathTraversalState WebCore::Path::traversalStateAtLength ( float  length,
bool &  success 
) const

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