67 lines
2.2 KiB
Objective-C
67 lines
2.2 KiB
Objective-C
#import <AppKit/AppKit.h>
|
|
|
|
#import "MLNFoundation.h"
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
/**
|
|
The ``MLNAnnotationImage`` class is responsible for presenting point-based
|
|
annotations visually on an ``MLNMapView`` 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.
|
|
*/
|
|
MLN_EXPORT
|
|
@interface MLNAnnotationImage : NSObject <NSSecureCoding>
|
|
|
|
// MARK: 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;
|
|
|
|
// MARK: 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
|