New file |
| | |
| | | /* |
| | | * BMKOverlayPathView.h |
| | | * BMapKit |
| | | * |
| | | * Copyright 2011 Baidu Inc. All rights reserved. |
| | | * |
| | | */ |
| | | |
| | | #import <UIKit/UIKit.h> |
| | | #import "BMKOverlayView.h" |
| | | |
| | | /// 该类定义了一个基本的OverlayView |
| | | @interface BMKOverlayPathView : BMKOverlayView { |
| | | @package |
| | | UIColor *_fillColor; |
| | | UIColor *_strokeColor; |
| | | |
| | | CGFloat _lineWidth; |
| | | CGLineJoin _lineJoin; |
| | | CGLineCap _lineCap; |
| | | CGFloat _miterLimit; |
| | | CGFloat _lineDashPhase; |
| | | NSArray *_lineDashPattern; |
| | | |
| | | CGPathRef _path; |
| | | } |
| | | |
| | | /// 填充颜色 |
| | | @property (strong) UIColor *fillColor; |
| | | /// 画笔颜色 |
| | | @property (strong) UIColor *strokeColor; |
| | | |
| | | /// 画笔宽度,默认为0 |
| | | @property CGFloat lineWidth; |
| | | /// LineJoin,默认为kCGLineJoinRound |
| | | @property CGLineJoin lineJoin; |
| | | /// LineCap,默认为kCGLineCapRound |
| | | @property CGLineCap lineCap; |
| | | /// miterLimit,在样式为kCGLineJoinMiter时有效,默认为10 |
| | | @property CGFloat miterLimit; |
| | | /// lineDashPhase, 默认为0 |
| | | @property CGFloat lineDashPhase; |
| | | /// lineDashPattern,一个NSNumbers的数组,默认为nil |
| | | @property (copy) NSArray *lineDashPattern; |
| | | |
| | | /** |
| | | *生成要绘制的path,子类需要重写此函数,并且对path属性赋值:self.path = newPath; |
| | | */ |
| | | - (void)createPath; |
| | | /// path对象 |
| | | @property CGPathRef path; |
| | | |
| | | /** |
| | | *刷新path,调用该函数将会使已经缓存的path失效,将会重新调用createPath来生成新的path对象 |
| | | */ |
| | | - (void)invalidatePath; |
| | | |
| | | |
| | | /** |
| | | *应用画笔属性 |
| | | *@param context CGContext对象 |
| | | *@param zoomScale 当前的zoomScale |
| | | */ |
| | | - (void)applyStrokePropertiesToContext:(CGContextRef)context |
| | | atZoomScale:(BMKZoomScale)zoomScale; |
| | | |
| | | /** |
| | | *应用画刷属性 |
| | | *@param context CGContext对象 |
| | | *@param zoomScale 当前的zoomScale |
| | | */ |
| | | - (void)applyFillPropertiesToContext:(CGContextRef)context |
| | | atZoomScale:(BMKZoomScale)zoomScale; |
| | | /** |
| | | *绘制path |
| | | *@param path 要绘制的CGPath |
| | | *@param context CGContext对象 |
| | | */ |
| | | - (void)strokePath:(CGPathRef)path inContext:(CGContextRef)context; |
| | | |
| | | /** |
| | | *填充path |
| | | *@param path 要绘制的CGPath |
| | | *@param context CGContext对象 |
| | | */ |
| | | - (void)fillPath:(CGPathRef)path inContext:(CGContextRef)context; |
| | | |
| | | @end |