objc2_map_kit/generated/
MKAnnotationView.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6#[cfg(feature = "objc2-app-kit")]
7#[cfg(target_os = "macos")]
8use objc2_app_kit::*;
9#[cfg(feature = "objc2-core-foundation")]
10use objc2_core_foundation::*;
11use objc2_foundation::*;
12
13use crate::*;
14
15extern "C" {
16    /// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkannotationcalloutinfodidchangenotification?language=objc)
17    pub static MKAnnotationCalloutInfoDidChangeNotification: &'static NSString;
18}
19
20/// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkannotationviewdragstate?language=objc)
21// NS_ENUM
22#[repr(transparent)]
23#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
24pub struct MKAnnotationViewDragState(pub NSUInteger);
25impl MKAnnotationViewDragState {
26    #[doc(alias = "MKAnnotationViewDragStateNone")]
27    pub const None: Self = Self(0);
28    #[doc(alias = "MKAnnotationViewDragStateStarting")]
29    pub const Starting: Self = Self(1);
30    #[doc(alias = "MKAnnotationViewDragStateDragging")]
31    pub const Dragging: Self = Self(2);
32    #[doc(alias = "MKAnnotationViewDragStateCanceling")]
33    pub const Canceling: Self = Self(3);
34    #[doc(alias = "MKAnnotationViewDragStateEnding")]
35    pub const Ending: Self = Self(4);
36}
37
38unsafe impl Encode for MKAnnotationViewDragState {
39    const ENCODING: Encoding = NSUInteger::ENCODING;
40}
41
42unsafe impl RefEncode for MKAnnotationViewDragState {
43    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
44}
45
46/// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkfeaturedisplaypriority?language=objc)
47// NS_TYPED_EXTENSIBLE_ENUM
48pub type MKFeatureDisplayPriority = c_float;
49
50/// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkfeaturedisplaypriorityrequired?language=objc)
51pub static MKFeatureDisplayPriorityRequired: MKFeatureDisplayPriority = 1000 as _;
52
53/// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkfeaturedisplayprioritydefaulthigh?language=objc)
54pub static MKFeatureDisplayPriorityDefaultHigh: MKFeatureDisplayPriority = 750 as _;
55
56/// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkfeaturedisplayprioritydefaultlow?language=objc)
57pub static MKFeatureDisplayPriorityDefaultLow: MKFeatureDisplayPriority = 250 as _;
58
59/// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkannotationviewzpriority?language=objc)
60// NS_TYPED_EXTENSIBLE_ENUM
61pub type MKAnnotationViewZPriority = c_float;
62
63/// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkannotationviewzprioritymax?language=objc)
64pub static MKAnnotationViewZPriorityMax: MKAnnotationViewZPriority = 1000 as _;
65
66/// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkannotationviewzprioritydefaultselected?language=objc)
67pub static MKAnnotationViewZPriorityDefaultSelected: MKAnnotationViewZPriority = 1000 as _;
68
69/// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkannotationviewzprioritydefaultunselected?language=objc)
70pub static MKAnnotationViewZPriorityDefaultUnselected: MKAnnotationViewZPriority = 500 as _;
71
72/// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkannotationviewzprioritymin?language=objc)
73pub static MKAnnotationViewZPriorityMin: MKAnnotationViewZPriority = 0 as _;
74
75/// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkannotationviewcollisionmode?language=objc)
76// NS_ENUM
77#[repr(transparent)]
78#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
79pub struct MKAnnotationViewCollisionMode(pub NSInteger);
80impl MKAnnotationViewCollisionMode {
81    #[doc(alias = "MKAnnotationViewCollisionModeRectangle")]
82    pub const Rectangle: Self = Self(0);
83    #[doc(alias = "MKAnnotationViewCollisionModeCircle")]
84    pub const Circle: Self = Self(1);
85    #[doc(alias = "MKAnnotationViewCollisionModeNone")]
86    pub const None: Self = Self(2);
87}
88
89unsafe impl Encode for MKAnnotationViewCollisionMode {
90    const ENCODING: Encoding = NSInteger::ENCODING;
91}
92
93unsafe impl RefEncode for MKAnnotationViewCollisionMode {
94    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
95}
96
97extern_class!(
98    /// [Apple's documentation](https://developer.apple.com/documentation/mapkit/mkannotationview?language=objc)
99    #[unsafe(super(NSView, NSResponder, NSObject))]
100    #[derive(Debug, PartialEq, Eq, Hash)]
101    #[cfg(feature = "objc2-app-kit")]
102    #[cfg(target_os = "macos")]
103    pub struct MKAnnotationView;
104);
105
106#[cfg(feature = "objc2-app-kit")]
107#[cfg(target_os = "macos")]
108extern_conformance!(
109    unsafe impl NSAccessibility for MKAnnotationView {}
110);
111
112#[cfg(feature = "objc2-app-kit")]
113#[cfg(target_os = "macos")]
114extern_conformance!(
115    unsafe impl NSAccessibilityElementProtocol for MKAnnotationView {}
116);
117
118#[cfg(feature = "objc2-app-kit")]
119#[cfg(target_os = "macos")]
120extern_conformance!(
121    unsafe impl NSAnimatablePropertyContainer for MKAnnotationView {}
122);
123
124#[cfg(feature = "objc2-app-kit")]
125#[cfg(target_os = "macos")]
126extern_conformance!(
127    unsafe impl NSAppearanceCustomization for MKAnnotationView {}
128);
129
130#[cfg(feature = "objc2-app-kit")]
131#[cfg(target_os = "macos")]
132extern_conformance!(
133    unsafe impl NSCoding for MKAnnotationView {}
134);
135
136#[cfg(feature = "objc2-app-kit")]
137#[cfg(target_os = "macos")]
138extern_conformance!(
139    unsafe impl NSDraggingDestination for MKAnnotationView {}
140);
141
142#[cfg(feature = "objc2-app-kit")]
143#[cfg(target_os = "macos")]
144extern_conformance!(
145    unsafe impl NSObjectProtocol for MKAnnotationView {}
146);
147
148#[cfg(feature = "objc2-app-kit")]
149#[cfg(target_os = "macos")]
150extern_conformance!(
151    unsafe impl NSUserInterfaceItemIdentification for MKAnnotationView {}
152);
153
154#[cfg(feature = "objc2-app-kit")]
155#[cfg(target_os = "macos")]
156impl MKAnnotationView {
157    extern_methods!(
158        #[cfg(feature = "MKAnnotation")]
159        #[unsafe(method(initWithAnnotation:reuseIdentifier:))]
160        #[unsafe(method_family = init)]
161        pub unsafe fn initWithAnnotation_reuseIdentifier(
162            this: Allocated<Self>,
163            annotation: Option<&ProtocolObject<dyn MKAnnotation>>,
164            reuse_identifier: Option<&NSString>,
165        ) -> Retained<Self>;
166
167        /// # Safety
168        ///
169        /// `a_decoder` possibly has further requirements.
170        #[unsafe(method(initWithCoder:))]
171        #[unsafe(method_family = init)]
172        pub unsafe fn initWithCoder(
173            this: Allocated<Self>,
174            a_decoder: &NSCoder,
175        ) -> Option<Retained<Self>>;
176
177        #[unsafe(method(reuseIdentifier))]
178        #[unsafe(method_family = none)]
179        pub unsafe fn reuseIdentifier(&self) -> Option<Retained<NSString>>;
180
181        #[unsafe(method(prepareForReuse))]
182        #[unsafe(method_family = none)]
183        pub unsafe fn prepareForReuse(&self);
184
185        #[unsafe(method(prepareForDisplay))]
186        #[unsafe(method_family = none)]
187        pub unsafe fn prepareForDisplay(&self);
188
189        #[cfg(feature = "MKAnnotation")]
190        #[unsafe(method(annotation))]
191        #[unsafe(method_family = none)]
192        pub unsafe fn annotation(&self) -> Option<Retained<ProtocolObject<dyn MKAnnotation>>>;
193
194        #[cfg(feature = "MKAnnotation")]
195        /// Setter for [`annotation`][Self::annotation].
196        #[unsafe(method(setAnnotation:))]
197        #[unsafe(method_family = none)]
198        pub unsafe fn setAnnotation(&self, annotation: Option<&ProtocolObject<dyn MKAnnotation>>);
199
200        #[unsafe(method(image))]
201        #[unsafe(method_family = none)]
202        pub unsafe fn image(&self) -> Option<Retained<NSImage>>;
203
204        /// Setter for [`image`][Self::image].
205        #[unsafe(method(setImage:))]
206        #[unsafe(method_family = none)]
207        pub unsafe fn setImage(&self, image: Option<&NSImage>);
208
209        #[cfg(feature = "objc2-core-foundation")]
210        #[unsafe(method(centerOffset))]
211        #[unsafe(method_family = none)]
212        pub unsafe fn centerOffset(&self) -> CGPoint;
213
214        #[cfg(feature = "objc2-core-foundation")]
215        /// Setter for [`centerOffset`][Self::centerOffset].
216        #[unsafe(method(setCenterOffset:))]
217        #[unsafe(method_family = none)]
218        pub unsafe fn setCenterOffset(&self, center_offset: CGPoint);
219
220        #[cfg(feature = "objc2-core-foundation")]
221        #[unsafe(method(accessoryOffset))]
222        #[unsafe(method_family = none)]
223        pub unsafe fn accessoryOffset(&self) -> CGPoint;
224
225        #[cfg(feature = "objc2-core-foundation")]
226        /// Setter for [`accessoryOffset`][Self::accessoryOffset].
227        #[unsafe(method(setAccessoryOffset:))]
228        #[unsafe(method_family = none)]
229        pub unsafe fn setAccessoryOffset(&self, accessory_offset: CGPoint);
230
231        #[cfg(feature = "objc2-core-foundation")]
232        #[unsafe(method(calloutOffset))]
233        #[unsafe(method_family = none)]
234        pub unsafe fn calloutOffset(&self) -> CGPoint;
235
236        #[cfg(feature = "objc2-core-foundation")]
237        /// Setter for [`calloutOffset`][Self::calloutOffset].
238        #[unsafe(method(setCalloutOffset:))]
239        #[unsafe(method_family = none)]
240        pub unsafe fn setCalloutOffset(&self, callout_offset: CGPoint);
241
242        #[cfg(feature = "objc2-core-foundation")]
243        #[unsafe(method(leftCalloutOffset))]
244        #[unsafe(method_family = none)]
245        pub unsafe fn leftCalloutOffset(&self) -> CGPoint;
246
247        #[cfg(feature = "objc2-core-foundation")]
248        /// Setter for [`leftCalloutOffset`][Self::leftCalloutOffset].
249        #[unsafe(method(setLeftCalloutOffset:))]
250        #[unsafe(method_family = none)]
251        pub unsafe fn setLeftCalloutOffset(&self, left_callout_offset: CGPoint);
252
253        #[cfg(feature = "objc2-core-foundation")]
254        #[unsafe(method(rightCalloutOffset))]
255        #[unsafe(method_family = none)]
256        pub unsafe fn rightCalloutOffset(&self) -> CGPoint;
257
258        #[cfg(feature = "objc2-core-foundation")]
259        /// Setter for [`rightCalloutOffset`][Self::rightCalloutOffset].
260        #[unsafe(method(setRightCalloutOffset:))]
261        #[unsafe(method_family = none)]
262        pub unsafe fn setRightCalloutOffset(&self, right_callout_offset: CGPoint);
263
264        #[unsafe(method(isEnabled))]
265        #[unsafe(method_family = none)]
266        pub unsafe fn isEnabled(&self) -> bool;
267
268        /// Setter for [`isEnabled`][Self::isEnabled].
269        #[unsafe(method(setEnabled:))]
270        #[unsafe(method_family = none)]
271        pub unsafe fn setEnabled(&self, enabled: bool);
272
273        #[unsafe(method(isHighlighted))]
274        #[unsafe(method_family = none)]
275        pub unsafe fn isHighlighted(&self) -> bool;
276
277        /// Setter for [`isHighlighted`][Self::isHighlighted].
278        #[unsafe(method(setHighlighted:))]
279        #[unsafe(method_family = none)]
280        pub unsafe fn setHighlighted(&self, highlighted: bool);
281
282        #[unsafe(method(isSelected))]
283        #[unsafe(method_family = none)]
284        pub unsafe fn isSelected(&self) -> bool;
285
286        /// Setter for [`isSelected`][Self::isSelected].
287        #[unsafe(method(setSelected:))]
288        #[unsafe(method_family = none)]
289        pub unsafe fn setSelected(&self, selected: bool);
290
291        #[unsafe(method(setSelected:animated:))]
292        #[unsafe(method_family = none)]
293        pub unsafe fn setSelected_animated(&self, selected: bool, animated: bool);
294
295        #[unsafe(method(canShowCallout))]
296        #[unsafe(method_family = none)]
297        pub unsafe fn canShowCallout(&self) -> bool;
298
299        /// Setter for [`canShowCallout`][Self::canShowCallout].
300        #[unsafe(method(setCanShowCallout:))]
301        #[unsafe(method_family = none)]
302        pub unsafe fn setCanShowCallout(&self, can_show_callout: bool);
303
304        #[unsafe(method(leftCalloutAccessoryView))]
305        #[unsafe(method_family = none)]
306        pub unsafe fn leftCalloutAccessoryView(&self) -> Option<Retained<NSView>>;
307
308        /// Setter for [`leftCalloutAccessoryView`][Self::leftCalloutAccessoryView].
309        #[unsafe(method(setLeftCalloutAccessoryView:))]
310        #[unsafe(method_family = none)]
311        pub unsafe fn setLeftCalloutAccessoryView(
312            &self,
313            left_callout_accessory_view: Option<&NSView>,
314        );
315
316        #[unsafe(method(rightCalloutAccessoryView))]
317        #[unsafe(method_family = none)]
318        pub unsafe fn rightCalloutAccessoryView(&self) -> Option<Retained<NSView>>;
319
320        /// Setter for [`rightCalloutAccessoryView`][Self::rightCalloutAccessoryView].
321        #[unsafe(method(setRightCalloutAccessoryView:))]
322        #[unsafe(method_family = none)]
323        pub unsafe fn setRightCalloutAccessoryView(
324            &self,
325            right_callout_accessory_view: Option<&NSView>,
326        );
327
328        #[unsafe(method(detailCalloutAccessoryView))]
329        #[unsafe(method_family = none)]
330        pub unsafe fn detailCalloutAccessoryView(&self) -> Option<Retained<NSView>>;
331
332        /// Setter for [`detailCalloutAccessoryView`][Self::detailCalloutAccessoryView].
333        #[unsafe(method(setDetailCalloutAccessoryView:))]
334        #[unsafe(method_family = none)]
335        pub unsafe fn setDetailCalloutAccessoryView(
336            &self,
337            detail_callout_accessory_view: Option<&NSView>,
338        );
339
340        #[unsafe(method(isDraggable))]
341        #[unsafe(method_family = none)]
342        pub unsafe fn isDraggable(&self) -> bool;
343
344        /// Setter for [`isDraggable`][Self::isDraggable].
345        #[unsafe(method(setDraggable:))]
346        #[unsafe(method_family = none)]
347        pub unsafe fn setDraggable(&self, draggable: bool);
348
349        #[unsafe(method(dragState))]
350        #[unsafe(method_family = none)]
351        pub unsafe fn dragState(&self) -> MKAnnotationViewDragState;
352
353        /// Setter for [`dragState`][Self::dragState].
354        #[unsafe(method(setDragState:))]
355        #[unsafe(method_family = none)]
356        pub unsafe fn setDragState(&self, drag_state: MKAnnotationViewDragState);
357
358        #[unsafe(method(setDragState:animated:))]
359        #[unsafe(method_family = none)]
360        pub unsafe fn setDragState_animated(
361            &self,
362            new_drag_state: MKAnnotationViewDragState,
363            animated: bool,
364        );
365
366        #[unsafe(method(clusteringIdentifier))]
367        #[unsafe(method_family = none)]
368        pub unsafe fn clusteringIdentifier(&self) -> Option<Retained<NSString>>;
369
370        /// Setter for [`clusteringIdentifier`][Self::clusteringIdentifier].
371        ///
372        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
373        #[unsafe(method(setClusteringIdentifier:))]
374        #[unsafe(method_family = none)]
375        pub unsafe fn setClusteringIdentifier(&self, clustering_identifier: Option<&NSString>);
376
377        #[unsafe(method(clusterAnnotationView))]
378        #[unsafe(method_family = none)]
379        pub unsafe fn clusterAnnotationView(&self) -> Option<Retained<MKAnnotationView>>;
380
381        #[unsafe(method(displayPriority))]
382        #[unsafe(method_family = none)]
383        pub unsafe fn displayPriority(&self) -> MKFeatureDisplayPriority;
384
385        /// Setter for [`displayPriority`][Self::displayPriority].
386        #[unsafe(method(setDisplayPriority:))]
387        #[unsafe(method_family = none)]
388        pub unsafe fn setDisplayPriority(&self, display_priority: MKFeatureDisplayPriority);
389
390        #[unsafe(method(zPriority))]
391        #[unsafe(method_family = none)]
392        pub unsafe fn zPriority(&self) -> MKAnnotationViewZPriority;
393
394        /// Setter for [`zPriority`][Self::zPriority].
395        #[unsafe(method(setZPriority:))]
396        #[unsafe(method_family = none)]
397        pub unsafe fn setZPriority(&self, z_priority: MKAnnotationViewZPriority);
398
399        #[unsafe(method(selectedZPriority))]
400        #[unsafe(method_family = none)]
401        pub unsafe fn selectedZPriority(&self) -> MKAnnotationViewZPriority;
402
403        /// Setter for [`selectedZPriority`][Self::selectedZPriority].
404        #[unsafe(method(setSelectedZPriority:))]
405        #[unsafe(method_family = none)]
406        pub unsafe fn setSelectedZPriority(&self, selected_z_priority: MKAnnotationViewZPriority);
407
408        #[unsafe(method(collisionMode))]
409        #[unsafe(method_family = none)]
410        pub unsafe fn collisionMode(&self) -> MKAnnotationViewCollisionMode;
411
412        /// Setter for [`collisionMode`][Self::collisionMode].
413        #[unsafe(method(setCollisionMode:))]
414        #[unsafe(method_family = none)]
415        pub unsafe fn setCollisionMode(&self, collision_mode: MKAnnotationViewCollisionMode);
416    );
417}
418
419/// Methods declared on superclass `NSView`.
420#[cfg(feature = "objc2-app-kit")]
421#[cfg(target_os = "macos")]
422impl MKAnnotationView {
423    extern_methods!(
424        #[unsafe(method(initWithFrame:))]
425        #[unsafe(method_family = init)]
426        pub unsafe fn initWithFrame(this: Allocated<Self>, frame_rect: NSRect) -> Retained<Self>;
427    );
428}
429
430/// Methods declared on superclass `NSResponder`.
431#[cfg(feature = "objc2-app-kit")]
432#[cfg(target_os = "macos")]
433impl MKAnnotationView {
434    extern_methods!(
435        #[unsafe(method(init))]
436        #[unsafe(method_family = init)]
437        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
438    );
439}
440
441/// Methods declared on superclass `NSObject`.
442#[cfg(feature = "objc2-app-kit")]
443#[cfg(target_os = "macos")]
444impl MKAnnotationView {
445    extern_methods!(
446        #[unsafe(method(new))]
447        #[unsafe(method_family = new)]
448        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
449    );
450}