summaryrefslogtreecommitdiff
path: root/platform/darwin/src/MGLMultiPoint_Private.h
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin/src/MGLMultiPoint_Private.h')
-rw-r--r--platform/darwin/src/MGLMultiPoint_Private.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/platform/darwin/src/MGLMultiPoint_Private.h b/platform/darwin/src/MGLMultiPoint_Private.h
new file mode 100644
index 0000000000..c1f1fa1584
--- /dev/null
+++ b/platform/darwin/src/MGLMultiPoint_Private.h
@@ -0,0 +1,49 @@
+#import "MGLMultiPoint.h"
+
+#import "MGLGeometry.h"
+#import "MGLTypes.h"
+
+#import <mbgl/annotation/shape_annotation.hpp>
+#import <vector>
+
+#import <CoreGraphics/CoreGraphics.h>
+#import <CoreLocation/CoreLocation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class MGLPolygon;
+@class MGLPolyline;
+
+@protocol MGLMultiPointDelegate;
+
+@interface MGLMultiPoint (Private)
+
+- (instancetype)initWithCoordinates:(CLLocationCoordinate2D *)coords count:(NSUInteger)count;
+- (BOOL)intersectsOverlayBounds:(MGLCoordinateBounds)overlayBounds;
+
+/** Adds a shape annotation to the given vector by asking the delegate for style values. */
+- (void)addShapeAnnotationObjectToCollection:(std::vector<mbgl::ShapeAnnotation> &)shapes withDelegate:(id <MGLMultiPointDelegate>)delegate;
+
+/** Constructs a shape annotation properties object by asking the delegate for style values. */
+- (mbgl::ShapeAnnotation::Properties)shapeAnnotationPropertiesObjectWithDelegate:(id <MGLMultiPointDelegate>)delegate;
+
+@end
+
+/** An object that tells the MGLMultiPoint instance how to style itself. */
+@protocol MGLMultiPointDelegate <NSObject>
+
+/** Returns the fill alpha value for the given annotation. */
+- (double)alphaForShapeAnnotation:(MGLShape *)annotation;
+
+/** Returns the stroke color object for the given annotation. */
+- (mbgl::Color)strokeColorForShapeAnnotation:(MGLShape *)annotation;
+
+/** Returns the fill color object for the given annotation. */
+- (mbgl::Color)fillColorForPolygonAnnotation:(MGLPolygon *)annotation;
+
+/** Returns the stroke width object for the given annotation. */
+- (CGFloat)lineWidthForPolylineAnnotation:(MGLPolyline *)annotation;
+
+@end
+
+NS_ASSUME_NONNULL_END