diff options
Diffstat (limited to 'platform/osx/include/MGLAnnotationImage.h')
-rw-r--r-- | platform/osx/include/MGLAnnotationImage.h | 58 |
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 |