1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- // Kindly stolen from https://github.com/BigZaphod/Chameleon
- /*
- * Copyright (c) 2011, The Iconfactory. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * 3. Neither the name of The Iconfactory nor the names of its contributors may
- * be used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE ICONFACTORY BE LIABLE FOR ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
- #include <TargetConditionals.h>
- #if !TARGET_OS_IPHONE && !TARGET_OS_SIMULATOR
- #import <Foundation/Foundation.h>
- #import <CoreGraphics/CoreGraphics.h>
- typedef NS_OPTIONS(NSUInteger, UIRectCorner) {
- UIRectCornerTopLeft = 1 << 0,
- UIRectCornerTopRight = 1 << 1,
- UIRectCornerBottomLeft = 1 << 2,
- UIRectCornerBottomRight = 1 << 3,
- UIRectCornerAllCorners = UIRectCornerTopLeft | UIRectCornerTopRight | UIRectCornerBottomLeft | UIRectCornerBottomRight
- };
- @interface UIBezierPath : NSObject <NSCopying>
- + (UIBezierPath *)bezierPath;
- + (UIBezierPath *)bezierPathWithRect:(CGRect)rect;
- + (UIBezierPath *)bezierPathWithOvalInRect:(CGRect)rect;
- + (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect cornerRadius:(CGFloat)cornerRadius;
- + (UIBezierPath *)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii;
- + (UIBezierPath *)bezierPathWithArcCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;
- + (UIBezierPath *)bezierPathWithCGPath:(CGPathRef)CGPath;
- - (void)moveToPoint:(CGPoint)point;
- - (void)addLineToPoint:(CGPoint)point;
- - (void)addArcWithCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;
- - (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2;
- - (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint;
- - (void)closePath;
- - (void)removeAllPoints;
- - (void)appendPath:(UIBezierPath *)bezierPath;
- - (void)setLineDash:(const CGFloat *)pattern count:(NSInteger)count phase:(CGFloat)phase;
- - (void)getLineDash:(CGFloat *)pattern count:(NSInteger *)count phase:(CGFloat *)phase;
- - (BOOL)containsPoint:(CGPoint)point;
- - (void)applyTransform:(CGAffineTransform)transform;
- @property (nonatomic) CGPathRef CGPath;
- @property (nonatomic, readonly) CGPoint currentPoint;
- @property (nonatomic) CGFloat lineWidth;
- @property (nonatomic) CGLineCap lineCapStyle;
- @property (nonatomic) CGLineJoin lineJoinStyle;
- @property (nonatomic) CGFloat miterLimit;
- @property (nonatomic) CGFloat flatness;
- @property (nonatomic) BOOL usesEvenOddFillRule;
- @property (readonly, getter=isEmpty) BOOL empty;
- @property (nonatomic, readonly) CGRect bounds;
- @end
- #endif
|