mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-08-08 08:31:13 +00:00
79 lines
3.9 KiB
Objective-C
79 lines
3.9 KiB
Objective-C
// 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.
|
|
*/
|
|
|
|
#if !TARGET_OS_IPHONE && !TARGET_IPHONE_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
|