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