1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6#[cfg(feature = "objc2-core-foundation")]
7use objc2_core_foundation::*;
8use objc2_foundation::*;
9
10use crate::*;
11
12extern "C-unwind" {
13 #[cfg(all(
14 feature = "UIResponder",
15 feature = "UIView",
16 feature = "objc2-core-foundation"
17 ))]
18 pub fn UIAccessibilityConvertFrameToScreenCoordinates(rect: CGRect, view: &UIView) -> CGRect;
19}
20
21#[cfg(all(feature = "UIBezierPath", feature = "UIResponder", feature = "UIView"))]
22#[inline]
23pub unsafe extern "C-unwind" fn UIAccessibilityConvertPathToScreenCoordinates(
24 path: &UIBezierPath,
25 view: &UIView,
26) -> Retained<UIBezierPath> {
27 extern "C-unwind" {
28 fn UIAccessibilityConvertPathToScreenCoordinates(
29 path: &UIBezierPath,
30 view: &UIView,
31 ) -> *mut UIBezierPath;
32 }
33 let ret = unsafe { UIAccessibilityConvertPathToScreenCoordinates(path, view) };
34 unsafe { Retained::retain_autoreleased(ret) }
35 .expect("function was marked as returning non-null, but actually returned NULL")
36}
37
38#[cfg(feature = "block2")]
40pub type AXBoolReturnBlock = *mut block2::Block<dyn Fn() -> Bool>;
41
42#[cfg(feature = "block2")]
44pub type AXStringReturnBlock = *mut block2::Block<dyn Fn() -> *mut NSString>;
45
46#[cfg(feature = "block2")]
48pub type AXStringArrayReturnBlock = *mut block2::Block<dyn Fn() -> *mut NSArray<NSString>>;
49
50#[cfg(feature = "block2")]
52pub type AXAttributedStringReturnBlock = *mut block2::Block<dyn Fn() -> *mut NSAttributedString>;
53
54#[cfg(feature = "block2")]
56pub type AXAttributedStringArrayReturnBlock =
57 *mut block2::Block<dyn Fn() -> *mut NSArray<NSAttributedString>>;
58
59#[cfg(all(feature = "block2", feature = "objc2-core-foundation"))]
61pub type AXRectReturnBlock = *mut block2::Block<dyn Fn() -> CGRect>;
62
63#[cfg(all(feature = "UIBezierPath", feature = "block2"))]
65pub type AXPathReturnBlock = *mut block2::Block<dyn Fn() -> *mut UIBezierPath>;
66
67#[cfg(all(feature = "block2", feature = "objc2-core-foundation"))]
69pub type AXPointReturnBlock = *mut block2::Block<dyn Fn() -> CGPoint>;
70
71#[cfg(feature = "block2")]
73pub type AXObjectReturnBlock = *mut block2::Block<dyn Fn() -> *mut AnyObject>;
74
75#[cfg(feature = "block2")]
77pub type AXArrayReturnBlock = *mut block2::Block<dyn Fn() -> *mut NSArray>;
78
79#[cfg(feature = "block2")]
81pub type AXVoidReturnBlock = *mut block2::Block<dyn Fn()>;
82
83#[cfg(all(feature = "UIAccessibilityConstants", feature = "block2"))]
85pub type AXTraitsReturnBlock = *mut block2::Block<dyn Fn() -> UIAccessibilityTraits>;
86
87#[cfg(all(feature = "UIAccessibilityConstants", feature = "block2"))]
89pub type AXNavigationStyleReturnBlock =
90 *mut block2::Block<dyn Fn() -> UIAccessibilityNavigationStyle>;
91
92#[cfg(all(feature = "UIAccessibilityConstants", feature = "block2"))]
94pub type AXContainerTypeReturnBlock = *mut block2::Block<dyn Fn() -> UIAccessibilityContainerType>;
95
96#[cfg(all(feature = "UIAccessibilityConstants", feature = "block2"))]
98pub type AXTextualContextReturnBlock =
99 *mut block2::Block<dyn Fn() -> *mut UIAccessibilityTextualContext>;
100
101#[cfg(all(feature = "UIAccessibilityCustomAction", feature = "block2"))]
103pub type AXCustomActionsReturnBlock =
104 *mut block2::Block<dyn Fn() -> *mut NSArray<UIAccessibilityCustomAction>>;
105
106#[cfg(all(
108 feature = "UITextInput",
109 feature = "UITextInputTraits",
110 feature = "block2"
111))]
112pub type AXUITextInputReturnBlock =
113 *mut block2::Block<dyn Fn() -> *mut ProtocolObject<dyn UITextInput>>;
114
115mod private_NSObjectUIAccessibility {
116 pub trait Sealed {}
117}
118
119#[doc(alias = "UIAccessibility")]
121pub unsafe trait NSObjectUIAccessibility:
122 ClassType + Sized + private_NSObjectUIAccessibility::Sealed
123{
124 extern_methods!(
125 #[unsafe(method(isAccessibilityElement))]
126 #[unsafe(method_family = none)]
127 unsafe fn isAccessibilityElement(&self, mtm: MainThreadMarker) -> bool;
128
129 #[unsafe(method(setIsAccessibilityElement:))]
131 #[unsafe(method_family = none)]
132 unsafe fn setIsAccessibilityElement(
133 &self,
134 is_accessibility_element: bool,
135 mtm: MainThreadMarker,
136 );
137
138 #[unsafe(method(accessibilityLabel))]
139 #[unsafe(method_family = none)]
140 unsafe fn accessibilityLabel(&self, mtm: MainThreadMarker) -> Option<Retained<NSString>>;
141
142 #[unsafe(method(setAccessibilityLabel:))]
144 #[unsafe(method_family = none)]
145 unsafe fn setAccessibilityLabel(
146 &self,
147 accessibility_label: Option<&NSString>,
148 mtm: MainThreadMarker,
149 );
150
151 #[unsafe(method(accessibilityAttributedLabel))]
152 #[unsafe(method_family = none)]
153 unsafe fn accessibilityAttributedLabel(
154 &self,
155 mtm: MainThreadMarker,
156 ) -> Option<Retained<NSAttributedString>>;
157
158 #[unsafe(method(setAccessibilityAttributedLabel:))]
160 #[unsafe(method_family = none)]
161 unsafe fn setAccessibilityAttributedLabel(
162 &self,
163 accessibility_attributed_label: Option<&NSAttributedString>,
164 mtm: MainThreadMarker,
165 );
166
167 #[unsafe(method(accessibilityHint))]
168 #[unsafe(method_family = none)]
169 unsafe fn accessibilityHint(&self, mtm: MainThreadMarker) -> Option<Retained<NSString>>;
170
171 #[unsafe(method(setAccessibilityHint:))]
173 #[unsafe(method_family = none)]
174 unsafe fn setAccessibilityHint(
175 &self,
176 accessibility_hint: Option<&NSString>,
177 mtm: MainThreadMarker,
178 );
179
180 #[unsafe(method(accessibilityAttributedHint))]
181 #[unsafe(method_family = none)]
182 unsafe fn accessibilityAttributedHint(
183 &self,
184 mtm: MainThreadMarker,
185 ) -> Option<Retained<NSAttributedString>>;
186
187 #[unsafe(method(setAccessibilityAttributedHint:))]
189 #[unsafe(method_family = none)]
190 unsafe fn setAccessibilityAttributedHint(
191 &self,
192 accessibility_attributed_hint: Option<&NSAttributedString>,
193 mtm: MainThreadMarker,
194 );
195
196 #[unsafe(method(accessibilityValue))]
197 #[unsafe(method_family = none)]
198 unsafe fn accessibilityValue(&self, mtm: MainThreadMarker) -> Option<Retained<NSString>>;
199
200 #[unsafe(method(setAccessibilityValue:))]
202 #[unsafe(method_family = none)]
203 unsafe fn setAccessibilityValue(
204 &self,
205 accessibility_value: Option<&NSString>,
206 mtm: MainThreadMarker,
207 );
208
209 #[unsafe(method(accessibilityAttributedValue))]
210 #[unsafe(method_family = none)]
211 unsafe fn accessibilityAttributedValue(
212 &self,
213 mtm: MainThreadMarker,
214 ) -> Option<Retained<NSAttributedString>>;
215
216 #[unsafe(method(setAccessibilityAttributedValue:))]
218 #[unsafe(method_family = none)]
219 unsafe fn setAccessibilityAttributedValue(
220 &self,
221 accessibility_attributed_value: Option<&NSAttributedString>,
222 mtm: MainThreadMarker,
223 );
224
225 #[cfg(feature = "UIAccessibilityConstants")]
226 #[unsafe(method(accessibilityTraits))]
227 #[unsafe(method_family = none)]
228 unsafe fn accessibilityTraits(&self, mtm: MainThreadMarker) -> UIAccessibilityTraits;
229
230 #[cfg(feature = "UIAccessibilityConstants")]
231 #[unsafe(method(setAccessibilityTraits:))]
233 #[unsafe(method_family = none)]
234 unsafe fn setAccessibilityTraits(
235 &self,
236 accessibility_traits: UIAccessibilityTraits,
237 mtm: MainThreadMarker,
238 );
239
240 #[cfg(feature = "objc2-core-foundation")]
241 #[unsafe(method(accessibilityFrame))]
242 #[unsafe(method_family = none)]
243 unsafe fn accessibilityFrame(&self, mtm: MainThreadMarker) -> CGRect;
244
245 #[cfg(feature = "objc2-core-foundation")]
246 #[unsafe(method(setAccessibilityFrame:))]
248 #[unsafe(method_family = none)]
249 unsafe fn setAccessibilityFrame(&self, accessibility_frame: CGRect, mtm: MainThreadMarker);
250
251 #[cfg(feature = "UIBezierPath")]
252 #[unsafe(method(accessibilityPath))]
253 #[unsafe(method_family = none)]
254 unsafe fn accessibilityPath(&self, mtm: MainThreadMarker)
255 -> Option<Retained<UIBezierPath>>;
256
257 #[cfg(feature = "UIBezierPath")]
258 #[unsafe(method(setAccessibilityPath:))]
260 #[unsafe(method_family = none)]
261 unsafe fn setAccessibilityPath(
262 &self,
263 accessibility_path: Option<&UIBezierPath>,
264 mtm: MainThreadMarker,
265 );
266
267 #[cfg(feature = "objc2-core-foundation")]
268 #[unsafe(method(accessibilityActivationPoint))]
269 #[unsafe(method_family = none)]
270 unsafe fn accessibilityActivationPoint(&self, mtm: MainThreadMarker) -> CGPoint;
271
272 #[cfg(feature = "objc2-core-foundation")]
273 #[unsafe(method(setAccessibilityActivationPoint:))]
275 #[unsafe(method_family = none)]
276 unsafe fn setAccessibilityActivationPoint(
277 &self,
278 accessibility_activation_point: CGPoint,
279 mtm: MainThreadMarker,
280 );
281
282 #[unsafe(method(accessibilityLanguage))]
283 #[unsafe(method_family = none)]
284 unsafe fn accessibilityLanguage(&self, mtm: MainThreadMarker)
285 -> Option<Retained<NSString>>;
286
287 #[unsafe(method(setAccessibilityLanguage:))]
289 #[unsafe(method_family = none)]
290 unsafe fn setAccessibilityLanguage(
291 &self,
292 accessibility_language: Option<&NSString>,
293 mtm: MainThreadMarker,
294 );
295
296 #[unsafe(method(accessibilityElementsHidden))]
297 #[unsafe(method_family = none)]
298 unsafe fn accessibilityElementsHidden(&self, mtm: MainThreadMarker) -> bool;
299
300 #[unsafe(method(setAccessibilityElementsHidden:))]
302 #[unsafe(method_family = none)]
303 unsafe fn setAccessibilityElementsHidden(
304 &self,
305 accessibility_elements_hidden: bool,
306 mtm: MainThreadMarker,
307 );
308
309 #[unsafe(method(accessibilityViewIsModal))]
310 #[unsafe(method_family = none)]
311 unsafe fn accessibilityViewIsModal(&self, mtm: MainThreadMarker) -> bool;
312
313 #[unsafe(method(setAccessibilityViewIsModal:))]
315 #[unsafe(method_family = none)]
316 unsafe fn setAccessibilityViewIsModal(
317 &self,
318 accessibility_view_is_modal: bool,
319 mtm: MainThreadMarker,
320 );
321
322 #[unsafe(method(shouldGroupAccessibilityChildren))]
323 #[unsafe(method_family = none)]
324 unsafe fn shouldGroupAccessibilityChildren(&self, mtm: MainThreadMarker) -> bool;
325
326 #[unsafe(method(setShouldGroupAccessibilityChildren:))]
328 #[unsafe(method_family = none)]
329 unsafe fn setShouldGroupAccessibilityChildren(
330 &self,
331 should_group_accessibility_children: bool,
332 mtm: MainThreadMarker,
333 );
334
335 #[cfg(feature = "UIAccessibilityConstants")]
336 #[unsafe(method(accessibilityNavigationStyle))]
337 #[unsafe(method_family = none)]
338 unsafe fn accessibilityNavigationStyle(
339 &self,
340 mtm: MainThreadMarker,
341 ) -> UIAccessibilityNavigationStyle;
342
343 #[cfg(feature = "UIAccessibilityConstants")]
344 #[unsafe(method(setAccessibilityNavigationStyle:))]
346 #[unsafe(method_family = none)]
347 unsafe fn setAccessibilityNavigationStyle(
348 &self,
349 accessibility_navigation_style: UIAccessibilityNavigationStyle,
350 mtm: MainThreadMarker,
351 );
352
353 #[unsafe(method(accessibilityRespondsToUserInteraction))]
354 #[unsafe(method_family = none)]
355 unsafe fn accessibilityRespondsToUserInteraction(&self, mtm: MainThreadMarker) -> bool;
356
357 #[unsafe(method(setAccessibilityRespondsToUserInteraction:))]
359 #[unsafe(method_family = none)]
360 unsafe fn setAccessibilityRespondsToUserInteraction(
361 &self,
362 accessibility_responds_to_user_interaction: bool,
363 mtm: MainThreadMarker,
364 );
365
366 #[unsafe(method(accessibilityUserInputLabels))]
367 #[unsafe(method_family = none)]
368 unsafe fn accessibilityUserInputLabels(
369 &self,
370 mtm: MainThreadMarker,
371 ) -> Option<Retained<NSArray<NSString>>>;
372
373 #[unsafe(method(setAccessibilityUserInputLabels:))]
375 #[unsafe(method_family = none)]
376 unsafe fn setAccessibilityUserInputLabels(
377 &self,
378 accessibility_user_input_labels: Option<&NSArray<NSString>>,
379 mtm: MainThreadMarker,
380 );
381
382 #[unsafe(method(accessibilityAttributedUserInputLabels))]
383 #[unsafe(method_family = none)]
384 unsafe fn accessibilityAttributedUserInputLabels(
385 &self,
386 mtm: MainThreadMarker,
387 ) -> Retained<NSArray<NSAttributedString>>;
388
389 #[unsafe(method(setAccessibilityAttributedUserInputLabels:))]
391 #[unsafe(method_family = none)]
392 unsafe fn setAccessibilityAttributedUserInputLabels(
393 &self,
394 accessibility_attributed_user_input_labels: Option<&NSArray<NSAttributedString>>,
395 mtm: MainThreadMarker,
396 );
397
398 #[unsafe(method(accessibilityHeaderElements))]
399 #[unsafe(method_family = none)]
400 unsafe fn accessibilityHeaderElements(
401 &self,
402 mtm: MainThreadMarker,
403 ) -> Option<Retained<NSArray>>;
404
405 #[unsafe(method(setAccessibilityHeaderElements:))]
407 #[unsafe(method_family = none)]
408 unsafe fn setAccessibilityHeaderElements(
409 &self,
410 accessibility_header_elements: Option<&NSArray>,
411 mtm: MainThreadMarker,
412 );
413
414 #[cfg(feature = "UIAccessibilityConstants")]
415 #[unsafe(method(accessibilityTextualContext))]
416 #[unsafe(method_family = none)]
417 unsafe fn accessibilityTextualContext(
418 &self,
419 mtm: MainThreadMarker,
420 ) -> Option<Retained<UIAccessibilityTextualContext>>;
421
422 #[cfg(feature = "UIAccessibilityConstants")]
423 #[unsafe(method(setAccessibilityTextualContext:))]
425 #[unsafe(method_family = none)]
426 unsafe fn setAccessibilityTextualContext(
427 &self,
428 accessibility_textual_context: Option<&UIAccessibilityTextualContext>,
429 mtm: MainThreadMarker,
430 );
431
432 #[cfg(feature = "UIAccessibilityConstants")]
433 #[unsafe(method(accessibilityDirectTouchOptions))]
434 #[unsafe(method_family = none)]
435 unsafe fn accessibilityDirectTouchOptions(
436 &self,
437 mtm: MainThreadMarker,
438 ) -> UIAccessibilityDirectTouchOptions;
439
440 #[cfg(feature = "UIAccessibilityConstants")]
441 #[unsafe(method(setAccessibilityDirectTouchOptions:))]
443 #[unsafe(method_family = none)]
444 unsafe fn setAccessibilityDirectTouchOptions(
445 &self,
446 accessibility_direct_touch_options: UIAccessibilityDirectTouchOptions,
447 mtm: MainThreadMarker,
448 );
449
450 #[cfg(feature = "UIAccessibilityConstants")]
451 #[unsafe(method(accessibilityExpandedStatus))]
452 #[unsafe(method_family = none)]
453 unsafe fn accessibilityExpandedStatus(
454 &self,
455 mtm: MainThreadMarker,
456 ) -> UIAccessibilityExpandedStatus;
457
458 #[cfg(feature = "UIAccessibilityConstants")]
459 #[unsafe(method(setAccessibilityExpandedStatus:))]
461 #[unsafe(method_family = none)]
462 unsafe fn setAccessibilityExpandedStatus(
463 &self,
464 accessibility_expanded_status: UIAccessibilityExpandedStatus,
465 mtm: MainThreadMarker,
466 );
467
468 #[cfg(feature = "block2")]
469 #[unsafe(method(isAccessibilityElementBlock))]
470 #[unsafe(method_family = none)]
471 unsafe fn isAccessibilityElementBlock(&self, mtm: MainThreadMarker) -> AXBoolReturnBlock;
472
473 #[cfg(feature = "block2")]
474 #[unsafe(method(setIsAccessibilityElementBlock:))]
476 #[unsafe(method_family = none)]
477 unsafe fn setIsAccessibilityElementBlock(
478 &self,
479 is_accessibility_element_block: AXBoolReturnBlock,
480 mtm: MainThreadMarker,
481 );
482
483 #[cfg(feature = "block2")]
484 #[unsafe(method(accessibilityLabelBlock))]
485 #[unsafe(method_family = none)]
486 unsafe fn accessibilityLabelBlock(&self, mtm: MainThreadMarker) -> AXStringReturnBlock;
487
488 #[cfg(feature = "block2")]
489 #[unsafe(method(setAccessibilityLabelBlock:))]
491 #[unsafe(method_family = none)]
492 unsafe fn setAccessibilityLabelBlock(
493 &self,
494 accessibility_label_block: AXStringReturnBlock,
495 mtm: MainThreadMarker,
496 );
497
498 #[cfg(feature = "block2")]
499 #[unsafe(method(accessibilityValueBlock))]
500 #[unsafe(method_family = none)]
501 unsafe fn accessibilityValueBlock(&self, mtm: MainThreadMarker) -> AXStringReturnBlock;
502
503 #[cfg(feature = "block2")]
504 #[unsafe(method(setAccessibilityValueBlock:))]
506 #[unsafe(method_family = none)]
507 unsafe fn setAccessibilityValueBlock(
508 &self,
509 accessibility_value_block: AXStringReturnBlock,
510 mtm: MainThreadMarker,
511 );
512
513 #[cfg(feature = "block2")]
514 #[unsafe(method(accessibilityHintBlock))]
515 #[unsafe(method_family = none)]
516 unsafe fn accessibilityHintBlock(&self, mtm: MainThreadMarker) -> AXStringReturnBlock;
517
518 #[cfg(feature = "block2")]
519 #[unsafe(method(setAccessibilityHintBlock:))]
521 #[unsafe(method_family = none)]
522 unsafe fn setAccessibilityHintBlock(
523 &self,
524 accessibility_hint_block: AXStringReturnBlock,
525 mtm: MainThreadMarker,
526 );
527
528 #[cfg(all(feature = "UIAccessibilityConstants", feature = "block2"))]
529 #[unsafe(method(accessibilityTraitsBlock))]
530 #[unsafe(method_family = none)]
531 unsafe fn accessibilityTraitsBlock(&self, mtm: MainThreadMarker) -> AXTraitsReturnBlock;
532
533 #[cfg(all(feature = "UIAccessibilityConstants", feature = "block2"))]
534 #[unsafe(method(setAccessibilityTraitsBlock:))]
536 #[unsafe(method_family = none)]
537 unsafe fn setAccessibilityTraitsBlock(
538 &self,
539 accessibility_traits_block: AXTraitsReturnBlock,
540 mtm: MainThreadMarker,
541 );
542
543 #[cfg(feature = "block2")]
544 #[unsafe(method(accessibilityIdentifierBlock))]
545 #[unsafe(method_family = none)]
546 unsafe fn accessibilityIdentifierBlock(&self, mtm: MainThreadMarker)
547 -> AXStringReturnBlock;
548
549 #[cfg(feature = "block2")]
550 #[unsafe(method(setAccessibilityIdentifierBlock:))]
552 #[unsafe(method_family = none)]
553 unsafe fn setAccessibilityIdentifierBlock(
554 &self,
555 accessibility_identifier_block: AXStringReturnBlock,
556 mtm: MainThreadMarker,
557 );
558
559 #[cfg(feature = "block2")]
560 #[unsafe(method(accessibilityHeaderElementsBlock))]
561 #[unsafe(method_family = none)]
562 unsafe fn accessibilityHeaderElementsBlock(
563 &self,
564 mtm: MainThreadMarker,
565 ) -> AXArrayReturnBlock;
566
567 #[cfg(feature = "block2")]
568 #[unsafe(method(setAccessibilityHeaderElementsBlock:))]
570 #[unsafe(method_family = none)]
571 unsafe fn setAccessibilityHeaderElementsBlock(
572 &self,
573 accessibility_header_elements_block: AXArrayReturnBlock,
574 mtm: MainThreadMarker,
575 );
576
577 #[cfg(feature = "block2")]
578 #[unsafe(method(accessibilityAttributedLabelBlock))]
579 #[unsafe(method_family = none)]
580 unsafe fn accessibilityAttributedLabelBlock(
581 &self,
582 mtm: MainThreadMarker,
583 ) -> AXAttributedStringReturnBlock;
584
585 #[cfg(feature = "block2")]
586 #[unsafe(method(setAccessibilityAttributedLabelBlock:))]
588 #[unsafe(method_family = none)]
589 unsafe fn setAccessibilityAttributedLabelBlock(
590 &self,
591 accessibility_attributed_label_block: AXAttributedStringReturnBlock,
592 mtm: MainThreadMarker,
593 );
594
595 #[cfg(feature = "block2")]
596 #[unsafe(method(accessibilityAttributedHintBlock))]
597 #[unsafe(method_family = none)]
598 unsafe fn accessibilityAttributedHintBlock(
599 &self,
600 mtm: MainThreadMarker,
601 ) -> AXAttributedStringReturnBlock;
602
603 #[cfg(feature = "block2")]
604 #[unsafe(method(setAccessibilityAttributedHintBlock:))]
606 #[unsafe(method_family = none)]
607 unsafe fn setAccessibilityAttributedHintBlock(
608 &self,
609 accessibility_attributed_hint_block: AXAttributedStringReturnBlock,
610 mtm: MainThreadMarker,
611 );
612
613 #[cfg(feature = "block2")]
614 #[unsafe(method(accessibilityLanguageBlock))]
615 #[unsafe(method_family = none)]
616 unsafe fn accessibilityLanguageBlock(&self, mtm: MainThreadMarker) -> AXStringReturnBlock;
617
618 #[cfg(feature = "block2")]
619 #[unsafe(method(setAccessibilityLanguageBlock:))]
621 #[unsafe(method_family = none)]
622 unsafe fn setAccessibilityLanguageBlock(
623 &self,
624 accessibility_language_block: AXStringReturnBlock,
625 mtm: MainThreadMarker,
626 );
627
628 #[cfg(all(feature = "UIAccessibilityConstants", feature = "block2"))]
629 #[unsafe(method(accessibilityTextualContextBlock))]
630 #[unsafe(method_family = none)]
631 unsafe fn accessibilityTextualContextBlock(
632 &self,
633 mtm: MainThreadMarker,
634 ) -> AXTextualContextReturnBlock;
635
636 #[cfg(all(feature = "UIAccessibilityConstants", feature = "block2"))]
637 #[unsafe(method(setAccessibilityTextualContextBlock:))]
639 #[unsafe(method_family = none)]
640 unsafe fn setAccessibilityTextualContextBlock(
641 &self,
642 accessibility_textual_context_block: AXTextualContextReturnBlock,
643 mtm: MainThreadMarker,
644 );
645
646 #[cfg(feature = "block2")]
647 #[unsafe(method(accessibilityUserInputLabelsBlock))]
648 #[unsafe(method_family = none)]
649 unsafe fn accessibilityUserInputLabelsBlock(
650 &self,
651 mtm: MainThreadMarker,
652 ) -> AXStringArrayReturnBlock;
653
654 #[cfg(feature = "block2")]
655 #[unsafe(method(setAccessibilityUserInputLabelsBlock:))]
657 #[unsafe(method_family = none)]
658 unsafe fn setAccessibilityUserInputLabelsBlock(
659 &self,
660 accessibility_user_input_labels_block: AXStringArrayReturnBlock,
661 mtm: MainThreadMarker,
662 );
663
664 #[cfg(feature = "block2")]
665 #[unsafe(method(accessibilityAttributedUserInputLabelsBlock))]
666 #[unsafe(method_family = none)]
667 unsafe fn accessibilityAttributedUserInputLabelsBlock(
668 &self,
669 mtm: MainThreadMarker,
670 ) -> AXAttributedStringArrayReturnBlock;
671
672 #[cfg(feature = "block2")]
673 #[unsafe(method(setAccessibilityAttributedUserInputLabelsBlock:))]
675 #[unsafe(method_family = none)]
676 unsafe fn setAccessibilityAttributedUserInputLabelsBlock(
677 &self,
678 accessibility_attributed_user_input_labels_block: AXAttributedStringArrayReturnBlock,
679 mtm: MainThreadMarker,
680 );
681
682 #[cfg(feature = "block2")]
683 #[unsafe(method(accessibilityAttributedValueBlock))]
684 #[unsafe(method_family = none)]
685 unsafe fn accessibilityAttributedValueBlock(
686 &self,
687 mtm: MainThreadMarker,
688 ) -> AXAttributedStringReturnBlock;
689
690 #[cfg(feature = "block2")]
691 #[unsafe(method(setAccessibilityAttributedValueBlock:))]
693 #[unsafe(method_family = none)]
694 unsafe fn setAccessibilityAttributedValueBlock(
695 &self,
696 accessibility_attributed_value_block: AXAttributedStringReturnBlock,
697 mtm: MainThreadMarker,
698 );
699
700 #[cfg(feature = "block2")]
701 #[unsafe(method(accessibilityElementsHiddenBlock))]
702 #[unsafe(method_family = none)]
703 unsafe fn accessibilityElementsHiddenBlock(
704 &self,
705 mtm: MainThreadMarker,
706 ) -> AXBoolReturnBlock;
707
708 #[cfg(feature = "block2")]
709 #[unsafe(method(setAccessibilityElementsHiddenBlock:))]
711 #[unsafe(method_family = none)]
712 unsafe fn setAccessibilityElementsHiddenBlock(
713 &self,
714 accessibility_elements_hidden_block: AXBoolReturnBlock,
715 mtm: MainThreadMarker,
716 );
717
718 #[cfg(feature = "block2")]
719 #[unsafe(method(accessibilityRespondsToUserInteractionBlock))]
720 #[unsafe(method_family = none)]
721 unsafe fn accessibilityRespondsToUserInteractionBlock(
722 &self,
723 mtm: MainThreadMarker,
724 ) -> AXBoolReturnBlock;
725
726 #[cfg(feature = "block2")]
727 #[unsafe(method(setAccessibilityRespondsToUserInteractionBlock:))]
729 #[unsafe(method_family = none)]
730 unsafe fn setAccessibilityRespondsToUserInteractionBlock(
731 &self,
732 accessibility_responds_to_user_interaction_block: AXBoolReturnBlock,
733 mtm: MainThreadMarker,
734 );
735
736 #[cfg(feature = "block2")]
737 #[unsafe(method(accessibilityViewIsModalBlock))]
738 #[unsafe(method_family = none)]
739 unsafe fn accessibilityViewIsModalBlock(&self, mtm: MainThreadMarker) -> AXBoolReturnBlock;
740
741 #[cfg(feature = "block2")]
742 #[unsafe(method(setAccessibilityViewIsModalBlock:))]
744 #[unsafe(method_family = none)]
745 unsafe fn setAccessibilityViewIsModalBlock(
746 &self,
747 accessibility_view_is_modal_block: AXBoolReturnBlock,
748 mtm: MainThreadMarker,
749 );
750
751 #[cfg(feature = "block2")]
752 #[unsafe(method(accessibilityShouldGroupAccessibilityChildrenBlock))]
753 #[unsafe(method_family = none)]
754 unsafe fn accessibilityShouldGroupAccessibilityChildrenBlock(
755 &self,
756 mtm: MainThreadMarker,
757 ) -> AXBoolReturnBlock;
758
759 #[cfg(feature = "block2")]
760 #[unsafe(method(setAccessibilityShouldGroupAccessibilityChildrenBlock:))]
762 #[unsafe(method_family = none)]
763 unsafe fn setAccessibilityShouldGroupAccessibilityChildrenBlock(
764 &self,
765 accessibility_should_group_accessibility_children_block: AXBoolReturnBlock,
766 mtm: MainThreadMarker,
767 );
768
769 #[cfg(all(feature = "UIAccessibilityConstants", feature = "block2"))]
770 #[unsafe(method(accessibilityExpandedStatusBlock))]
771 #[unsafe(method_family = none)]
772 unsafe fn accessibilityExpandedStatusBlock(
773 &self,
774 mtm: MainThreadMarker,
775 ) -> *mut block2::Block<dyn Fn() -> UIAccessibilityExpandedStatus>;
776
777 #[cfg(all(feature = "UIAccessibilityConstants", feature = "block2"))]
778 #[unsafe(method(setAccessibilityExpandedStatusBlock:))]
780 #[unsafe(method_family = none)]
781 unsafe fn setAccessibilityExpandedStatusBlock(
782 &self,
783 accessibility_expanded_status_block: Option<
784 &block2::Block<dyn Fn() -> UIAccessibilityExpandedStatus>,
785 >,
786 mtm: MainThreadMarker,
787 );
788
789 #[cfg(feature = "block2")]
790 #[unsafe(method(accessibilityElementsBlock))]
791 #[unsafe(method_family = none)]
792 unsafe fn accessibilityElementsBlock(&self, mtm: MainThreadMarker) -> AXArrayReturnBlock;
793
794 #[cfg(feature = "block2")]
795 #[unsafe(method(setAccessibilityElementsBlock:))]
797 #[unsafe(method_family = none)]
798 unsafe fn setAccessibilityElementsBlock(
799 &self,
800 accessibility_elements_block: AXArrayReturnBlock,
801 mtm: MainThreadMarker,
802 );
803
804 #[cfg(feature = "block2")]
805 #[unsafe(method(automationElementsBlock))]
806 #[unsafe(method_family = none)]
807 unsafe fn automationElementsBlock(&self, mtm: MainThreadMarker) -> AXArrayReturnBlock;
808
809 #[cfg(feature = "block2")]
810 #[unsafe(method(setAutomationElementsBlock:))]
812 #[unsafe(method_family = none)]
813 unsafe fn setAutomationElementsBlock(
814 &self,
815 automation_elements_block: AXArrayReturnBlock,
816 mtm: MainThreadMarker,
817 );
818
819 #[cfg(all(feature = "UIAccessibilityConstants", feature = "block2"))]
820 #[unsafe(method(accessibilityContainerTypeBlock))]
821 #[unsafe(method_family = none)]
822 unsafe fn accessibilityContainerTypeBlock(
823 &self,
824 mtm: MainThreadMarker,
825 ) -> AXContainerTypeReturnBlock;
826
827 #[cfg(all(feature = "UIAccessibilityConstants", feature = "block2"))]
828 #[unsafe(method(setAccessibilityContainerTypeBlock:))]
830 #[unsafe(method_family = none)]
831 unsafe fn setAccessibilityContainerTypeBlock(
832 &self,
833 accessibility_container_type_block: AXContainerTypeReturnBlock,
834 mtm: MainThreadMarker,
835 );
836
837 #[cfg(all(feature = "block2", feature = "objc2-core-foundation"))]
838 #[unsafe(method(accessibilityActivationPointBlock))]
839 #[unsafe(method_family = none)]
840 unsafe fn accessibilityActivationPointBlock(
841 &self,
842 mtm: MainThreadMarker,
843 ) -> AXPointReturnBlock;
844
845 #[cfg(all(feature = "block2", feature = "objc2-core-foundation"))]
846 #[unsafe(method(setAccessibilityActivationPointBlock:))]
848 #[unsafe(method_family = none)]
849 unsafe fn setAccessibilityActivationPointBlock(
850 &self,
851 accessibility_activation_point_block: AXPointReturnBlock,
852 mtm: MainThreadMarker,
853 );
854
855 #[cfg(all(feature = "block2", feature = "objc2-core-foundation"))]
856 #[unsafe(method(accessibilityFrameBlock))]
857 #[unsafe(method_family = none)]
858 unsafe fn accessibilityFrameBlock(&self, mtm: MainThreadMarker) -> AXRectReturnBlock;
859
860 #[cfg(all(feature = "block2", feature = "objc2-core-foundation"))]
861 #[unsafe(method(setAccessibilityFrameBlock:))]
863 #[unsafe(method_family = none)]
864 unsafe fn setAccessibilityFrameBlock(
865 &self,
866 accessibility_frame_block: AXRectReturnBlock,
867 mtm: MainThreadMarker,
868 );
869
870 #[cfg(all(feature = "UIAccessibilityConstants", feature = "block2"))]
871 #[unsafe(method(accessibilityNavigationStyleBlock))]
872 #[unsafe(method_family = none)]
873 unsafe fn accessibilityNavigationStyleBlock(
874 &self,
875 mtm: MainThreadMarker,
876 ) -> AXNavigationStyleReturnBlock;
877
878 #[cfg(all(feature = "UIAccessibilityConstants", feature = "block2"))]
879 #[unsafe(method(setAccessibilityNavigationStyleBlock:))]
881 #[unsafe(method_family = none)]
882 unsafe fn setAccessibilityNavigationStyleBlock(
883 &self,
884 accessibility_navigation_style_block: AXNavigationStyleReturnBlock,
885 mtm: MainThreadMarker,
886 );
887
888 #[cfg(all(feature = "UIBezierPath", feature = "block2"))]
889 #[unsafe(method(accessibilityPathBlock))]
890 #[unsafe(method_family = none)]
891 unsafe fn accessibilityPathBlock(&self, mtm: MainThreadMarker) -> AXPathReturnBlock;
892
893 #[cfg(all(feature = "UIBezierPath", feature = "block2"))]
894 #[unsafe(method(setAccessibilityPathBlock:))]
896 #[unsafe(method_family = none)]
897 unsafe fn setAccessibilityPathBlock(
898 &self,
899 accessibility_path_block: AXPathReturnBlock,
900 mtm: MainThreadMarker,
901 );
902
903 #[cfg(feature = "block2")]
904 #[unsafe(method(accessibilityActivateBlock))]
905 #[unsafe(method_family = none)]
906 unsafe fn accessibilityActivateBlock(&self, mtm: MainThreadMarker) -> AXBoolReturnBlock;
907
908 #[cfg(feature = "block2")]
909 #[unsafe(method(setAccessibilityActivateBlock:))]
911 #[unsafe(method_family = none)]
912 unsafe fn setAccessibilityActivateBlock(
913 &self,
914 accessibility_activate_block: AXBoolReturnBlock,
915 mtm: MainThreadMarker,
916 );
917
918 #[cfg(feature = "block2")]
919 #[unsafe(method(accessibilityIncrementBlock))]
920 #[unsafe(method_family = none)]
921 unsafe fn accessibilityIncrementBlock(&self, mtm: MainThreadMarker) -> AXVoidReturnBlock;
922
923 #[cfg(feature = "block2")]
924 #[unsafe(method(setAccessibilityIncrementBlock:))]
926 #[unsafe(method_family = none)]
927 unsafe fn setAccessibilityIncrementBlock(
928 &self,
929 accessibility_increment_block: AXVoidReturnBlock,
930 mtm: MainThreadMarker,
931 );
932
933 #[cfg(feature = "block2")]
934 #[unsafe(method(accessibilityDecrementBlock))]
935 #[unsafe(method_family = none)]
936 unsafe fn accessibilityDecrementBlock(&self, mtm: MainThreadMarker) -> AXVoidReturnBlock;
937
938 #[cfg(feature = "block2")]
939 #[unsafe(method(setAccessibilityDecrementBlock:))]
941 #[unsafe(method_family = none)]
942 unsafe fn setAccessibilityDecrementBlock(
943 &self,
944 accessibility_decrement_block: AXVoidReturnBlock,
945 mtm: MainThreadMarker,
946 );
947
948 #[cfg(feature = "block2")]
949 #[unsafe(method(accessibilityPerformEscapeBlock))]
950 #[unsafe(method_family = none)]
951 unsafe fn accessibilityPerformEscapeBlock(
952 &self,
953 mtm: MainThreadMarker,
954 ) -> AXBoolReturnBlock;
955
956 #[cfg(feature = "block2")]
957 #[unsafe(method(setAccessibilityPerformEscapeBlock:))]
959 #[unsafe(method_family = none)]
960 unsafe fn setAccessibilityPerformEscapeBlock(
961 &self,
962 accessibility_perform_escape_block: AXBoolReturnBlock,
963 mtm: MainThreadMarker,
964 );
965
966 #[cfg(feature = "block2")]
967 #[unsafe(method(accessibilityMagicTapBlock))]
968 #[unsafe(method_family = none)]
969 unsafe fn accessibilityMagicTapBlock(&self, mtm: MainThreadMarker) -> AXBoolReturnBlock;
970
971 #[cfg(feature = "block2")]
972 #[unsafe(method(setAccessibilityMagicTapBlock:))]
974 #[unsafe(method_family = none)]
975 unsafe fn setAccessibilityMagicTapBlock(
976 &self,
977 accessibility_magic_tap_block: AXBoolReturnBlock,
978 mtm: MainThreadMarker,
979 );
980
981 #[cfg(all(feature = "UIAccessibilityCustomAction", feature = "block2"))]
982 #[unsafe(method(accessibilityCustomActionsBlock))]
983 #[unsafe(method_family = none)]
984 unsafe fn accessibilityCustomActionsBlock(
985 &self,
986 mtm: MainThreadMarker,
987 ) -> AXCustomActionsReturnBlock;
988
989 #[cfg(all(feature = "UIAccessibilityCustomAction", feature = "block2"))]
990 #[unsafe(method(setAccessibilityCustomActionsBlock:))]
992 #[unsafe(method_family = none)]
993 unsafe fn setAccessibilityCustomActionsBlock(
994 &self,
995 accessibility_custom_actions_block: AXCustomActionsReturnBlock,
996 mtm: MainThreadMarker,
997 );
998 );
999}
1000
1001impl private_NSObjectUIAccessibility::Sealed for NSObject {}
1002unsafe impl NSObjectUIAccessibility for NSObject {}
1003
1004#[cfg(feature = "UIAccessibilityConstants")]
1005#[inline]
1006pub unsafe extern "C-unwind" fn UIAccessibilityFocusedElement(
1007 assistive_technology_identifier: Option<&UIAccessibilityAssistiveTechnologyIdentifier>,
1008) -> Option<Retained<AnyObject>> {
1009 extern "C-unwind" {
1010 fn UIAccessibilityFocusedElement(
1011 assistive_technology_identifier: Option<&UIAccessibilityAssistiveTechnologyIdentifier>,
1012 ) -> *mut AnyObject;
1013 }
1014 let ret = unsafe { UIAccessibilityFocusedElement(assistive_technology_identifier) };
1015 unsafe { Retained::retain_autoreleased(ret) }
1016}
1017
1018mod private_NSObjectUIAccessibilityFocus {
1019 pub trait Sealed {}
1020}
1021
1022#[doc(alias = "UIAccessibilityFocus")]
1024pub unsafe trait NSObjectUIAccessibilityFocus:
1025 ClassType + Sized + private_NSObjectUIAccessibilityFocus::Sealed
1026{
1027 extern_methods!(
1028 #[unsafe(method(accessibilityElementDidBecomeFocused))]
1029 #[unsafe(method_family = none)]
1030 unsafe fn accessibilityElementDidBecomeFocused(&self, mtm: MainThreadMarker);
1031
1032 #[unsafe(method(accessibilityElementDidLoseFocus))]
1033 #[unsafe(method_family = none)]
1034 unsafe fn accessibilityElementDidLoseFocus(&self, mtm: MainThreadMarker);
1035
1036 #[unsafe(method(accessibilityElementIsFocused))]
1037 #[unsafe(method_family = none)]
1038 unsafe fn accessibilityElementIsFocused(&self, mtm: MainThreadMarker) -> bool;
1039
1040 #[cfg(feature = "UIAccessibilityConstants")]
1041 #[unsafe(method(accessibilityAssistiveTechnologyFocusedIdentifiers))]
1042 #[unsafe(method_family = none)]
1043 unsafe fn accessibilityAssistiveTechnologyFocusedIdentifiers(
1044 &self,
1045 mtm: MainThreadMarker,
1046 ) -> Option<Retained<NSSet<UIAccessibilityAssistiveTechnologyIdentifier>>>;
1047 );
1048}
1049
1050impl private_NSObjectUIAccessibilityFocus::Sealed for NSObject {}
1051unsafe impl NSObjectUIAccessibilityFocus for NSObject {}
1052
1053#[repr(transparent)]
1056#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
1057pub struct UIAccessibilityScrollDirection(pub NSInteger);
1058impl UIAccessibilityScrollDirection {
1059 #[doc(alias = "UIAccessibilityScrollDirectionRight")]
1060 pub const Right: Self = Self(1);
1061 #[doc(alias = "UIAccessibilityScrollDirectionLeft")]
1062 pub const Left: Self = Self(2);
1063 #[doc(alias = "UIAccessibilityScrollDirectionUp")]
1064 pub const Up: Self = Self(3);
1065 #[doc(alias = "UIAccessibilityScrollDirectionDown")]
1066 pub const Down: Self = Self(4);
1067 #[doc(alias = "UIAccessibilityScrollDirectionNext")]
1068 pub const Next: Self = Self(5);
1069 #[doc(alias = "UIAccessibilityScrollDirectionPrevious")]
1070 pub const Previous: Self = Self(6);
1071}
1072
1073unsafe impl Encode for UIAccessibilityScrollDirection {
1074 const ENCODING: Encoding = NSInteger::ENCODING;
1075}
1076
1077unsafe impl RefEncode for UIAccessibilityScrollDirection {
1078 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1079}
1080
1081mod private_NSObjectUIAccessibilityAction {
1082 pub trait Sealed {}
1083}
1084
1085#[doc(alias = "UIAccessibilityAction")]
1087pub unsafe trait NSObjectUIAccessibilityAction:
1088 ClassType + Sized + private_NSObjectUIAccessibilityAction::Sealed
1089{
1090 extern_methods!(
1091 #[unsafe(method(accessibilityActivate))]
1092 #[unsafe(method_family = none)]
1093 unsafe fn accessibilityActivate(&self, mtm: MainThreadMarker) -> bool;
1094
1095 #[unsafe(method(accessibilityIncrement))]
1096 #[unsafe(method_family = none)]
1097 unsafe fn accessibilityIncrement(&self, mtm: MainThreadMarker);
1098
1099 #[unsafe(method(accessibilityDecrement))]
1100 #[unsafe(method_family = none)]
1101 unsafe fn accessibilityDecrement(&self, mtm: MainThreadMarker);
1102
1103 #[cfg(feature = "objc2-core-foundation")]
1104 #[unsafe(method(accessibilityZoomInAtPoint:))]
1105 #[unsafe(method_family = none)]
1106 unsafe fn accessibilityZoomInAtPoint(&self, point: CGPoint, mtm: MainThreadMarker) -> bool;
1107
1108 #[cfg(feature = "objc2-core-foundation")]
1109 #[unsafe(method(accessibilityZoomOutAtPoint:))]
1110 #[unsafe(method_family = none)]
1111 unsafe fn accessibilityZoomOutAtPoint(&self, point: CGPoint, mtm: MainThreadMarker)
1112 -> bool;
1113
1114 #[unsafe(method(accessibilityScroll:))]
1115 #[unsafe(method_family = none)]
1116 unsafe fn accessibilityScroll(
1117 &self,
1118 direction: UIAccessibilityScrollDirection,
1119 mtm: MainThreadMarker,
1120 ) -> bool;
1121
1122 #[unsafe(method(accessibilityPerformEscape))]
1123 #[unsafe(method_family = none)]
1124 unsafe fn accessibilityPerformEscape(&self, mtm: MainThreadMarker) -> bool;
1125
1126 #[unsafe(method(accessibilityPerformMagicTap))]
1127 #[unsafe(method_family = none)]
1128 unsafe fn accessibilityPerformMagicTap(&self, mtm: MainThreadMarker) -> bool;
1129
1130 #[cfg(feature = "UIAccessibilityCustomAction")]
1131 #[unsafe(method(accessibilityCustomActions))]
1132 #[unsafe(method_family = none)]
1133 unsafe fn accessibilityCustomActions(
1134 &self,
1135 mtm: MainThreadMarker,
1136 ) -> Option<Retained<NSArray<UIAccessibilityCustomAction>>>;
1137
1138 #[cfg(feature = "UIAccessibilityCustomAction")]
1139 #[unsafe(method(setAccessibilityCustomActions:))]
1141 #[unsafe(method_family = none)]
1142 unsafe fn setAccessibilityCustomActions(
1143 &self,
1144 accessibility_custom_actions: Option<&NSArray<UIAccessibilityCustomAction>>,
1145 mtm: MainThreadMarker,
1146 );
1147 );
1148}
1149
1150impl private_NSObjectUIAccessibilityAction::Sealed for NSObject {}
1151unsafe impl NSObjectUIAccessibilityAction for NSObject {}
1152
1153extern_protocol!(
1154 pub unsafe trait UIAccessibilityReadingContent: MainThreadOnly {
1156 #[cfg(feature = "objc2-core-foundation")]
1157 #[unsafe(method(accessibilityLineNumberForPoint:))]
1158 #[unsafe(method_family = none)]
1159 unsafe fn accessibilityLineNumberForPoint(&self, point: CGPoint) -> NSInteger;
1160
1161 #[unsafe(method(accessibilityContentForLineNumber:))]
1162 #[unsafe(method_family = none)]
1163 unsafe fn accessibilityContentForLineNumber(
1164 &self,
1165 line_number: NSInteger,
1166 ) -> Option<Retained<NSString>>;
1167
1168 #[cfg(feature = "objc2-core-foundation")]
1169 #[unsafe(method(accessibilityFrameForLineNumber:))]
1170 #[unsafe(method_family = none)]
1171 unsafe fn accessibilityFrameForLineNumber(&self, line_number: NSInteger) -> CGRect;
1172
1173 #[unsafe(method(accessibilityPageContent))]
1174 #[unsafe(method_family = none)]
1175 unsafe fn accessibilityPageContent(&self) -> Option<Retained<NSString>>;
1176
1177 #[optional]
1178 #[unsafe(method(accessibilityAttributedContentForLineNumber:))]
1179 #[unsafe(method_family = none)]
1180 unsafe fn accessibilityAttributedContentForLineNumber(
1181 &self,
1182 line_number: NSInteger,
1183 ) -> Option<Retained<NSAttributedString>>;
1184
1185 #[optional]
1186 #[unsafe(method(accessibilityAttributedPageContent))]
1187 #[unsafe(method_family = none)]
1188 unsafe fn accessibilityAttributedPageContent(&self)
1189 -> Option<Retained<NSAttributedString>>;
1190 }
1191);
1192
1193mod private_NSObjectUIAccessibilityDragging {
1194 pub trait Sealed {}
1195}
1196
1197#[doc(alias = "UIAccessibilityDragging")]
1199pub unsafe trait NSObjectUIAccessibilityDragging:
1200 ClassType + Sized + private_NSObjectUIAccessibilityDragging::Sealed
1201{
1202 extern_methods!(
1203 #[cfg(feature = "UIAccessibilityLocationDescriptor")]
1204 #[unsafe(method(accessibilityDragSourceDescriptors))]
1205 #[unsafe(method_family = none)]
1206 unsafe fn accessibilityDragSourceDescriptors(
1207 &self,
1208 mtm: MainThreadMarker,
1209 ) -> Option<Retained<NSArray<UIAccessibilityLocationDescriptor>>>;
1210
1211 #[cfg(feature = "UIAccessibilityLocationDescriptor")]
1212 #[unsafe(method(setAccessibilityDragSourceDescriptors:))]
1214 #[unsafe(method_family = none)]
1215 unsafe fn setAccessibilityDragSourceDescriptors(
1216 &self,
1217 accessibility_drag_source_descriptors: Option<
1218 &NSArray<UIAccessibilityLocationDescriptor>,
1219 >,
1220 mtm: MainThreadMarker,
1221 );
1222
1223 #[cfg(feature = "UIAccessibilityLocationDescriptor")]
1224 #[unsafe(method(accessibilityDropPointDescriptors))]
1225 #[unsafe(method_family = none)]
1226 unsafe fn accessibilityDropPointDescriptors(
1227 &self,
1228 mtm: MainThreadMarker,
1229 ) -> Option<Retained<NSArray<UIAccessibilityLocationDescriptor>>>;
1230
1231 #[cfg(feature = "UIAccessibilityLocationDescriptor")]
1232 #[unsafe(method(setAccessibilityDropPointDescriptors:))]
1234 #[unsafe(method_family = none)]
1235 unsafe fn setAccessibilityDropPointDescriptors(
1236 &self,
1237 accessibility_drop_point_descriptors: Option<
1238 &NSArray<UIAccessibilityLocationDescriptor>,
1239 >,
1240 mtm: MainThreadMarker,
1241 );
1242 );
1243}
1244
1245impl private_NSObjectUIAccessibilityDragging::Sealed for NSObject {}
1246unsafe impl NSObjectUIAccessibilityDragging for NSObject {}
1247
1248mod private_NSObjectUIAccessibilityHitTest {
1249 pub trait Sealed {}
1250}
1251
1252#[doc(alias = "UIAccessibilityHitTest")]
1254pub unsafe trait NSObjectUIAccessibilityHitTest:
1255 ClassType + Sized + private_NSObjectUIAccessibilityHitTest::Sealed
1256{
1257 extern_methods!(
1258 #[cfg(all(feature = "UIEvent", feature = "objc2-core-foundation"))]
1259 #[unsafe(method(accessibilityHitTest:withEvent:))]
1260 #[unsafe(method_family = none)]
1261 unsafe fn accessibilityHitTest_withEvent(
1262 &self,
1263 point: CGPoint,
1264 event: Option<&UIEvent>,
1265 mtm: MainThreadMarker,
1266 ) -> Option<Retained<AnyObject>>;
1267 );
1268}
1269
1270impl private_NSObjectUIAccessibilityHitTest::Sealed for NSObject {}
1271unsafe impl NSObjectUIAccessibilityHitTest for NSObject {}
1272
1273mod private_NSObjectUIAccessibilityTextNavigation {
1274 pub trait Sealed {}
1275}
1276
1277#[doc(alias = "UIAccessibilityTextNavigation")]
1279pub unsafe trait NSObjectUIAccessibilityTextNavigation:
1280 ClassType + Sized + private_NSObjectUIAccessibilityTextNavigation::Sealed
1281{
1282 extern_methods!(
1283 #[unsafe(method(accessibilityPreviousTextNavigationElement))]
1284 #[unsafe(method_family = none)]
1285 unsafe fn accessibilityPreviousTextNavigationElement(
1286 &self,
1287 mtm: MainThreadMarker,
1288 ) -> Option<Retained<AnyObject>>;
1289
1290 #[unsafe(method(setAccessibilityPreviousTextNavigationElement:))]
1292 #[unsafe(method_family = none)]
1293 unsafe fn setAccessibilityPreviousTextNavigationElement(
1294 &self,
1295 accessibility_previous_text_navigation_element: Option<&AnyObject>,
1296 mtm: MainThreadMarker,
1297 );
1298
1299 #[unsafe(method(accessibilityNextTextNavigationElement))]
1300 #[unsafe(method_family = none)]
1301 unsafe fn accessibilityNextTextNavigationElement(
1302 &self,
1303 mtm: MainThreadMarker,
1304 ) -> Option<Retained<AnyObject>>;
1305
1306 #[unsafe(method(setAccessibilityNextTextNavigationElement:))]
1308 #[unsafe(method_family = none)]
1309 unsafe fn setAccessibilityNextTextNavigationElement(
1310 &self,
1311 accessibility_next_text_navigation_element: Option<&AnyObject>,
1312 mtm: MainThreadMarker,
1313 );
1314
1315 #[cfg(feature = "block2")]
1316 #[unsafe(method(accessibilityPreviousTextNavigationElementBlock))]
1317 #[unsafe(method_family = none)]
1318 unsafe fn accessibilityPreviousTextNavigationElementBlock(
1319 &self,
1320 mtm: MainThreadMarker,
1321 ) -> AXObjectReturnBlock;
1322
1323 #[cfg(feature = "block2")]
1324 #[unsafe(method(setAccessibilityPreviousTextNavigationElementBlock:))]
1326 #[unsafe(method_family = none)]
1327 unsafe fn setAccessibilityPreviousTextNavigationElementBlock(
1328 &self,
1329 accessibility_previous_text_navigation_element_block: AXObjectReturnBlock,
1330 mtm: MainThreadMarker,
1331 );
1332
1333 #[cfg(feature = "block2")]
1334 #[unsafe(method(accessibilityNextTextNavigationElementBlock))]
1335 #[unsafe(method_family = none)]
1336 unsafe fn accessibilityNextTextNavigationElementBlock(
1337 &self,
1338 mtm: MainThreadMarker,
1339 ) -> AXObjectReturnBlock;
1340
1341 #[cfg(feature = "block2")]
1342 #[unsafe(method(setAccessibilityNextTextNavigationElementBlock:))]
1344 #[unsafe(method_family = none)]
1345 unsafe fn setAccessibilityNextTextNavigationElementBlock(
1346 &self,
1347 accessibility_next_text_navigation_element_block: AXObjectReturnBlock,
1348 mtm: MainThreadMarker,
1349 );
1350 );
1351}
1352
1353impl private_NSObjectUIAccessibilityTextNavigation::Sealed for NSObject {}
1354unsafe impl NSObjectUIAccessibilityTextNavigation for NSObject {}
1355
1356mod private_NSObjectUIAccessibilityTextOperations {
1357 pub trait Sealed {}
1358}
1359
1360#[doc(alias = "UIAccessibilityTextOperations")]
1362pub unsafe trait NSObjectUIAccessibilityTextOperations:
1363 ClassType + Sized + private_NSObjectUIAccessibilityTextOperations::Sealed
1364{
1365 extern_methods!(
1366 #[cfg(all(feature = "UITextInput", feature = "UITextInputTraits"))]
1367 #[unsafe(method(accessibilityTextInputResponder))]
1368 #[unsafe(method_family = none)]
1369 unsafe fn accessibilityTextInputResponder(
1370 &self,
1371 mtm: MainThreadMarker,
1372 ) -> Option<Retained<ProtocolObject<dyn UITextInput>>>;
1373
1374 #[cfg(all(feature = "UITextInput", feature = "UITextInputTraits"))]
1375 #[unsafe(method(setAccessibilityTextInputResponder:))]
1378 #[unsafe(method_family = none)]
1379 unsafe fn setAccessibilityTextInputResponder(
1380 &self,
1381 accessibility_text_input_responder: Option<&ProtocolObject<dyn UITextInput>>,
1382 mtm: MainThreadMarker,
1383 );
1384
1385 #[cfg(all(
1386 feature = "UITextInput",
1387 feature = "UITextInputTraits",
1388 feature = "block2"
1389 ))]
1390 #[unsafe(method(accessibilityTextInputResponderBlock))]
1391 #[unsafe(method_family = none)]
1392 unsafe fn accessibilityTextInputResponderBlock(
1393 &self,
1394 mtm: MainThreadMarker,
1395 ) -> AXUITextInputReturnBlock;
1396
1397 #[cfg(all(
1398 feature = "UITextInput",
1399 feature = "UITextInputTraits",
1400 feature = "block2"
1401 ))]
1402 #[unsafe(method(setAccessibilityTextInputResponderBlock:))]
1404 #[unsafe(method_family = none)]
1405 unsafe fn setAccessibilityTextInputResponderBlock(
1406 &self,
1407 accessibility_text_input_responder_block: AXUITextInputReturnBlock,
1408 mtm: MainThreadMarker,
1409 );
1410 );
1411}
1412
1413impl private_NSObjectUIAccessibilityTextOperations::Sealed for NSObject {}
1414unsafe impl NSObjectUIAccessibilityTextOperations for NSObject {}
1415
1416extern "C-unwind" {
1417 #[cfg(feature = "UIAccessibilityConstants")]
1418 pub fn UIAccessibilityPostNotification(
1419 notification: UIAccessibilityNotifications,
1420 argument: Option<&AnyObject>,
1421 );
1422}
1423
1424#[inline]
1425pub unsafe extern "C-unwind" fn UIAccessibilityIsVoiceOverRunning() -> bool {
1426 extern "C-unwind" {
1427 fn UIAccessibilityIsVoiceOverRunning() -> Bool;
1428 }
1429 unsafe { UIAccessibilityIsVoiceOverRunning() }.as_bool()
1430}
1431
1432extern "C" {
1433 pub static UIAccessibilityVoiceOverStatusChanged: &'static NSString;
1435}
1436
1437extern "C" {
1438 pub static UIAccessibilityVoiceOverStatusDidChangeNotification: &'static NSNotificationName;
1440}
1441
1442#[inline]
1443pub unsafe extern "C-unwind" fn UIAccessibilityIsMonoAudioEnabled() -> bool {
1444 extern "C-unwind" {
1445 fn UIAccessibilityIsMonoAudioEnabled() -> Bool;
1446 }
1447 unsafe { UIAccessibilityIsMonoAudioEnabled() }.as_bool()
1448}
1449
1450extern "C" {
1451 pub static UIAccessibilityMonoAudioStatusDidChangeNotification: &'static NSNotificationName;
1453}
1454
1455#[inline]
1456pub unsafe extern "C-unwind" fn UIAccessibilityIsClosedCaptioningEnabled() -> bool {
1457 extern "C-unwind" {
1458 fn UIAccessibilityIsClosedCaptioningEnabled() -> Bool;
1459 }
1460 unsafe { UIAccessibilityIsClosedCaptioningEnabled() }.as_bool()
1461}
1462
1463extern "C" {
1464 pub static UIAccessibilityClosedCaptioningStatusDidChangeNotification:
1466 &'static NSNotificationName;
1467}
1468
1469#[inline]
1470pub unsafe extern "C-unwind" fn UIAccessibilityIsInvertColorsEnabled() -> bool {
1471 extern "C-unwind" {
1472 fn UIAccessibilityIsInvertColorsEnabled() -> Bool;
1473 }
1474 unsafe { UIAccessibilityIsInvertColorsEnabled() }.as_bool()
1475}
1476
1477extern "C" {
1478 pub static UIAccessibilityInvertColorsStatusDidChangeNotification: &'static NSNotificationName;
1480}
1481
1482#[inline]
1483pub unsafe extern "C-unwind" fn UIAccessibilityIsGuidedAccessEnabled() -> bool {
1484 extern "C-unwind" {
1485 fn UIAccessibilityIsGuidedAccessEnabled() -> Bool;
1486 }
1487 unsafe { UIAccessibilityIsGuidedAccessEnabled() }.as_bool()
1488}
1489
1490extern "C" {
1491 pub static UIAccessibilityGuidedAccessStatusDidChangeNotification: &'static NSNotificationName;
1493}
1494
1495#[inline]
1496pub unsafe extern "C-unwind" fn UIAccessibilityIsBoldTextEnabled() -> bool {
1497 extern "C-unwind" {
1498 fn UIAccessibilityIsBoldTextEnabled() -> Bool;
1499 }
1500 unsafe { UIAccessibilityIsBoldTextEnabled() }.as_bool()
1501}
1502
1503extern "C" {
1504 pub static UIAccessibilityBoldTextStatusDidChangeNotification: &'static NSNotificationName;
1506}
1507
1508#[inline]
1509pub unsafe extern "C-unwind" fn UIAccessibilityButtonShapesEnabled() -> bool {
1510 extern "C-unwind" {
1511 fn UIAccessibilityButtonShapesEnabled() -> Bool;
1512 }
1513 unsafe { UIAccessibilityButtonShapesEnabled() }.as_bool()
1514}
1515
1516extern "C" {
1517 pub static UIAccessibilityButtonShapesEnabledStatusDidChangeNotification:
1519 &'static NSNotificationName;
1520}
1521
1522#[inline]
1523pub unsafe extern "C-unwind" fn UIAccessibilityIsGrayscaleEnabled() -> bool {
1524 extern "C-unwind" {
1525 fn UIAccessibilityIsGrayscaleEnabled() -> Bool;
1526 }
1527 unsafe { UIAccessibilityIsGrayscaleEnabled() }.as_bool()
1528}
1529
1530extern "C" {
1531 pub static UIAccessibilityGrayscaleStatusDidChangeNotification: &'static NSNotificationName;
1533}
1534
1535#[inline]
1536pub unsafe extern "C-unwind" fn UIAccessibilityIsReduceTransparencyEnabled() -> bool {
1537 extern "C-unwind" {
1538 fn UIAccessibilityIsReduceTransparencyEnabled() -> Bool;
1539 }
1540 unsafe { UIAccessibilityIsReduceTransparencyEnabled() }.as_bool()
1541}
1542
1543extern "C" {
1544 pub static UIAccessibilityReduceTransparencyStatusDidChangeNotification:
1546 &'static NSNotificationName;
1547}
1548
1549#[inline]
1550pub unsafe extern "C-unwind" fn UIAccessibilityIsReduceMotionEnabled() -> bool {
1551 extern "C-unwind" {
1552 fn UIAccessibilityIsReduceMotionEnabled() -> Bool;
1553 }
1554 unsafe { UIAccessibilityIsReduceMotionEnabled() }.as_bool()
1555}
1556
1557extern "C" {
1558 pub static UIAccessibilityReduceMotionStatusDidChangeNotification: &'static NSNotificationName;
1560}
1561
1562#[inline]
1563pub unsafe extern "C-unwind" fn UIAccessibilityPrefersCrossFadeTransitions() -> bool {
1564 extern "C-unwind" {
1565 fn UIAccessibilityPrefersCrossFadeTransitions() -> Bool;
1566 }
1567 unsafe { UIAccessibilityPrefersCrossFadeTransitions() }.as_bool()
1568}
1569
1570extern "C" {
1571 pub static UIAccessibilityPrefersCrossFadeTransitionsStatusDidChangeNotification:
1573 &'static NSNotificationName;
1574}
1575
1576#[inline]
1577pub unsafe extern "C-unwind" fn UIAccessibilityIsVideoAutoplayEnabled() -> bool {
1578 extern "C-unwind" {
1579 fn UIAccessibilityIsVideoAutoplayEnabled() -> Bool;
1580 }
1581 unsafe { UIAccessibilityIsVideoAutoplayEnabled() }.as_bool()
1582}
1583
1584extern "C" {
1585 pub static UIAccessibilityVideoAutoplayStatusDidChangeNotification: &'static NSNotificationName;
1587}
1588
1589#[inline]
1590pub unsafe extern "C-unwind" fn UIAccessibilityDarkerSystemColorsEnabled() -> bool {
1591 extern "C-unwind" {
1592 fn UIAccessibilityDarkerSystemColorsEnabled() -> Bool;
1593 }
1594 unsafe { UIAccessibilityDarkerSystemColorsEnabled() }.as_bool()
1595}
1596
1597extern "C" {
1598 pub static UIAccessibilityDarkerSystemColorsStatusDidChangeNotification:
1600 &'static NSNotificationName;
1601}
1602
1603#[inline]
1604pub unsafe extern "C-unwind" fn UIAccessibilityIsSwitchControlRunning() -> bool {
1605 extern "C-unwind" {
1606 fn UIAccessibilityIsSwitchControlRunning() -> Bool;
1607 }
1608 unsafe { UIAccessibilityIsSwitchControlRunning() }.as_bool()
1609}
1610
1611extern "C" {
1612 pub static UIAccessibilitySwitchControlStatusDidChangeNotification: &'static NSNotificationName;
1614}
1615
1616#[inline]
1617pub unsafe extern "C-unwind" fn UIAccessibilityIsSpeakSelectionEnabled() -> bool {
1618 extern "C-unwind" {
1619 fn UIAccessibilityIsSpeakSelectionEnabled() -> Bool;
1620 }
1621 unsafe { UIAccessibilityIsSpeakSelectionEnabled() }.as_bool()
1622}
1623
1624extern "C" {
1625 pub static UIAccessibilitySpeakSelectionStatusDidChangeNotification:
1627 &'static NSNotificationName;
1628}
1629
1630#[inline]
1631pub unsafe extern "C-unwind" fn UIAccessibilityIsSpeakScreenEnabled() -> bool {
1632 extern "C-unwind" {
1633 fn UIAccessibilityIsSpeakScreenEnabled() -> Bool;
1634 }
1635 unsafe { UIAccessibilityIsSpeakScreenEnabled() }.as_bool()
1636}
1637
1638extern "C" {
1639 pub static UIAccessibilitySpeakScreenStatusDidChangeNotification: &'static NSNotificationName;
1641}
1642
1643#[inline]
1644pub unsafe extern "C-unwind" fn UIAccessibilityIsShakeToUndoEnabled() -> bool {
1645 extern "C-unwind" {
1646 fn UIAccessibilityIsShakeToUndoEnabled() -> Bool;
1647 }
1648 unsafe { UIAccessibilityIsShakeToUndoEnabled() }.as_bool()
1649}
1650
1651extern "C" {
1652 pub static UIAccessibilityShakeToUndoDidChangeNotification: &'static NSNotificationName;
1654}
1655
1656#[inline]
1657pub unsafe extern "C-unwind" fn UIAccessibilityIsAssistiveTouchRunning() -> bool {
1658 extern "C-unwind" {
1659 fn UIAccessibilityIsAssistiveTouchRunning() -> Bool;
1660 }
1661 unsafe { UIAccessibilityIsAssistiveTouchRunning() }.as_bool()
1662}
1663
1664extern "C" {
1665 pub static UIAccessibilityAssistiveTouchStatusDidChangeNotification:
1667 &'static NSNotificationName;
1668}
1669
1670#[inline]
1671pub unsafe extern "C-unwind" fn UIAccessibilityShouldDifferentiateWithoutColor() -> bool {
1672 extern "C-unwind" {
1673 fn UIAccessibilityShouldDifferentiateWithoutColor() -> Bool;
1674 }
1675 unsafe { UIAccessibilityShouldDifferentiateWithoutColor() }.as_bool()
1676}
1677
1678extern "C" {
1679 pub static UIAccessibilityShouldDifferentiateWithoutColorDidChangeNotification:
1681 &'static NSNotificationName;
1682}
1683
1684#[inline]
1685pub unsafe extern "C-unwind" fn UIAccessibilityIsOnOffSwitchLabelsEnabled() -> bool {
1686 extern "C-unwind" {
1687 fn UIAccessibilityIsOnOffSwitchLabelsEnabled() -> Bool;
1688 }
1689 unsafe { UIAccessibilityIsOnOffSwitchLabelsEnabled() }.as_bool()
1690}
1691
1692extern "C" {
1693 pub static UIAccessibilityOnOffSwitchLabelsDidChangeNotification: &'static NSNotificationName;
1695}
1696
1697#[cfg(feature = "block2")]
1698#[inline]
1699pub unsafe extern "C-unwind" fn UIAccessibilityRequestGuidedAccessSession(
1700 enable: bool,
1701 completion_handler: &block2::Block<dyn Fn(Bool)>,
1702) {
1703 extern "C-unwind" {
1704 fn UIAccessibilityRequestGuidedAccessSession(
1705 enable: Bool,
1706 completion_handler: &block2::Block<dyn Fn(Bool)>,
1707 );
1708 }
1709 unsafe { UIAccessibilityRequestGuidedAccessSession(Bool::new(enable), completion_handler) }
1710}
1711
1712#[repr(transparent)]
1715#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
1716pub struct UIAccessibilityHearingDeviceEar(pub NSUInteger);
1717bitflags::bitflags! {
1718 impl UIAccessibilityHearingDeviceEar: NSUInteger {
1719 #[doc(alias = "UIAccessibilityHearingDeviceEarNone")]
1720 const None = 0;
1721 #[doc(alias = "UIAccessibilityHearingDeviceEarLeft")]
1722 const Left = 1<<1;
1723 #[doc(alias = "UIAccessibilityHearingDeviceEarRight")]
1724 const Right = 1<<2;
1725 #[doc(alias = "UIAccessibilityHearingDeviceEarBoth")]
1726 const Both = UIAccessibilityHearingDeviceEar::Left.0|UIAccessibilityHearingDeviceEar::Right.0;
1727 }
1728}
1729
1730unsafe impl Encode for UIAccessibilityHearingDeviceEar {
1731 const ENCODING: Encoding = NSUInteger::ENCODING;
1732}
1733
1734unsafe impl RefEncode for UIAccessibilityHearingDeviceEar {
1735 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
1736}
1737
1738extern "C-unwind" {
1739 pub fn UIAccessibilityHearingDevicePairedEar() -> UIAccessibilityHearingDeviceEar;
1740}
1741
1742extern "C" {
1743 pub static UIAccessibilityHearingDevicePairedEarDidChangeNotification:
1745 &'static NSNotificationName;
1746}