This class represents Bezier paths that are
vector-based paths based on polynomial
formulas. Vector paths are the basis of Quartz 2D. As such, this
class provides the most general interface to Quartz 2D from Cocoa.
A Bezier path is constructed from path elements. Complex paths are
constructed by appending lines and curves to the path. It is also
possible to move to a point, thus creating a broken space in the
path. Lines are appended to a path using the method
lineToPoint:. Curves are appended using the method
curveToPoint:controlPoint1:controlPoint2:. To move
to a new location on the canvas, use the method
moveToPoint:. In all of these methods, the point
referred to is the end point of the element; the starting point is
implicitly specified as the endpoint of the last element in the path.
Chapter 4 provides a more detailed discussion on
the use of NSBezierPath for drawing.
@interface NSBezierPath : NSObject <NSCoding, NSCopying>
|
// Accessor Methods |
- (void)setMiterLimit:(float)miterLimit;
|
- (float)miterLimit;
|
- (void)setLineDash:(const float *)pattern count:(int)count phase:(float)phase;
|
- (void)setCachesBezierPath:(BOOL)flag;
|
- (BOOL)cachesBezierPath;
|
- (void)setClip;
|
- (void)setLineWidth:(float)lineWidth;
|
- (float)lineWidth;
|
- (void)setWindingRule:(NSWindingRule)windingRule;
|
- (NSWindingRule)windingRule;
|
- (void)setLineJoinStyle:(NSLineJoinStyle)lineJoinStyle;
|
- (NSLineJoinStyle)lineJoinStyle;
|
- (void)setAssociatedPoints:(NSPointArray)points atIndex:(int)index;
|
- (void)setLineCapStyle:(NSLineCapStyle)lineCapStyle;
|
- (NSLineCapStyle)lineCapStyle;
|
- (void)setFlatness:(float)flatness;
|
- (float)flatness;
|
// Class Methods |
+ (NSBezierPath *)bezierPath;
|
+ (NSBezierPath *)bezierPathWithOvalInRect:(NSRect)rect;
|
+ (NSBezierPath *)bezierPathWithRect:(NSRect)rect;
|
+ (void)clipRect:(NSRect)rect;
|
+ (float)defaultFlatness;
|
+ (NSLineCapStyle)defaultLineCapStyle;
|
+ (NSLineJoinStyle)defaultLineJoinStyle;
|
+ (float)defaultLineWidth;
|
+ (float)defaultMiterLimit;
|
+ (NSWindingRule)defaultWindingRule;
|
+ (void)drawPackedGlyphs:(const char *)packedGlyphs atPoint:(NSPoint)point;
|
+ (void)fillRect:(NSRect)rect;
|
+ (void)setDefaultFlatness:(float)flatness;
|
+ (void)setDefaultLineCapStyle:(NSLineCapStyle)lineCapStyle;
|
+ (void)setDefaultLineJoinStyle:(NSLineJoinStyle)lineJoinStyle;
|
+ (void)setDefaultLineWidth:(float)lineWidth;
|
+ (void)setDefaultMiterLimit:(float)limit;
|
+ (void)setDefaultWindingRule:(NSWindingRule)windingRule;
|
+ (void)strokeLineFromPoint:(NSPoint)point1 toPoint:(NSPoint)point2;
|
+ (void)strokeRect:(NSRect)rect;
|
// Instance Methods |
- (void)addClip;
|
- (void)appendBezierPath:(NSBezierPath *)path;
|
- (void)appendBezierPathWithArcFromPoint:(NSPoint)point1;
|
- (void)appendBezierPathWithArcWithCenter:(NSPoint)center radius:(float)radius;
|
- (void)appendBezierPathWithArcWithCenter:(NSPoint)center radius:(float)radius;
|
- (void)appendBezierPathWithGlyph:(NSGlyph)glyph inFont:(NSFont *)font;
|
- (void)appendBezierPathWithGlyphs:(NSGlyph *)glyphs count:(int)count;
|
- (void)appendBezierPathWithOvalInRect:(NSRect)rect;
|
- (void)appendBezierPathWithPackedGlyphs:(const char *)packedGlyphs;
|
- (void)appendBezierPathWithPoints:(NSPointArray)points count:(int)count;
|
- (void)appendBezierPathWithRect:(NSRect)rect;
|
- (NSBezierPath *)bezierPathByFlatteningPath;
|
- (NSBezierPath *)bezierPathByReversingPath;
|
- (NSRect)bounds;
|
- (void)closePath;
|
- (NSPoint)currentPoint;
|
- (NSBezierPathElement)elementAtIndex:(int)index;
|
- (NSBezierPathElement)elementAtIndex:(int)index;
|
- (int)elementCount;
|
- (void)fill;
|
- (void)getLineDash:(float *)pattern count:(int *)count phase:(float *)phase;
|
- (BOOL)isEmpty;
|
- (void)lineToPoint:(NSPoint)point;
|
- (void)moveToPoint:(NSPoint)point;
|
- (void)relativeCurveToPoint:(NSPoint)endPoint;
|
- (void)relativeLineToPoint:(NSPoint)point;
|
- (void)relativeMoveToPoint:(NSPoint)point;
|
- (void)removeAllPoints;
|
- (void)stroke;
|
- (void)transformUsingAffineTransform:(NSAffineTransform *)transform;
|
- (BOOL)containsPoint:(NSPoint)point;
|
- (NSRect)controlPointBounds;
|
- (void)curveToPoint:(NSPoint)endPoint;
|
// Methods Implementing NSCoding |
- (void)encodeWithCoder:(NSCoder *)aCoder;
|
- (id)initWithCoder:(NSCoder *)aDecoder;
|
// Methods Implementing NSCopying |
- (id)copyWithZone:(NSZone *)zone;
|