summaryrefslogtreecommitdiff
path: root/platform/osx/include/MGLAnnotationImage.h
diff options
context:
space:
mode:
Diffstat (limited to 'platform/osx/include/MGLAnnotationImage.h')
-rw-r--r--platform/osx/include/MGLAnnotationImage.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/platform/osx/include/MGLAnnotationImage.h b/platform/osx/include/MGLAnnotationImage.h
new file mode 100644
index 0000000000..a33ea75a5e
--- /dev/null
+++ b/platform/osx/include/MGLAnnotationImage.h
@@ -0,0 +1,58 @@
+#import <AppKit/AppKit.h>
+
+#import "MGLTypes.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/** The MGLAnnotationImage class is responsible for presenting point-based
+ annotations visually on an MGLMapView instance. Annotation image objects
+ pair NSImage objects with annotation-related metadata. They may be recycled
+ later and put into a reuse queue that is maintained by the map view. */
+@interface MGLAnnotationImage : NSObject
+
+#pragma mark Initializing and preparing the image object
+/** @name Initializing and Preparing the Image Object */
+
+/** Initializes and returns a new annotation image object.
+
+ @param image The image to display for the annotation.
+ @param reuseIdentifier The string that identifies this annotation image in
+ the reuse queue.
+ @return The initialized annotation image object or `nil` if there was a
+ problem initializing the object. */
++ (instancetype)annotationImageWithImage:(NSImage *)image reuseIdentifier:(NSString *)reuseIdentifier;
+
+#pragma mark Getting and setting attributes
+/** @name Getting and Setting Attributes */
+
+/** The image to display for the annotation. */
+@property (nonatomic, readonly) NSImage *image;
+
+/** The string that identifies this annotation image in the reuse queue.
+ (read-only)
+
+ You specify the reuse identifier when you create the image object. You use
+ this type later to retrieve an annotation image object that was created
+ previously but which is currently unused because its annotation is not
+ on-screen.
+
+ If you define distinctly different types of annotations (with distinctly
+ different annotation images to go with them), you can differentiate between
+ the annotation types by specifying different reuse identifiers for each one.
+ */
+@property (nonatomic, readonly) NSString *reuseIdentifier;
+
+/** A Boolean value indicating whether the annotation is selectable.
+
+ The default value of this property is `YES`. If the value of this property
+ is `NO`, the annotation image ignores click events and cannot be selected.
+ */
+@property (nonatomic, getter=isSelectable) BOOL selectable;
+
+/** The cursor that appears above any annotation using this annotation image. By
+ default, this property is set to `nil`, representing the current cursor. */
+@property (nonatomic, nullable) NSCursor *cursor;
+
+@end
+
+NS_ASSUME_NONNULL_END