objc2_app_kit/generated/
NSAccessibility.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10mod private_NSObjectNSAccessibility {
11    pub trait Sealed {}
12}
13
14/// Category "NSAccessibility" on [`NSObject`].
15/// * Accessibility Informal Protocol **
16#[doc(alias = "NSAccessibility")]
17pub unsafe trait NSObjectNSAccessibility:
18    ClassType + Sized + private_NSObjectNSAccessibility::Sealed
19{
20    extern_methods!(
21        #[cfg(feature = "NSAccessibilityConstants")]
22        #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
23        #[unsafe(method(accessibilityAttributeNames))]
24        #[unsafe(method_family = none)]
25        unsafe fn accessibilityAttributeNames(
26            &self,
27        ) -> Retained<NSArray<NSAccessibilityAttributeName>>;
28
29        #[cfg(feature = "NSAccessibilityConstants")]
30        #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
31        #[unsafe(method(accessibilityAttributeValue:))]
32        #[unsafe(method_family = none)]
33        unsafe fn accessibilityAttributeValue(
34            &self,
35            attribute: &NSAccessibilityAttributeName,
36        ) -> Option<Retained<AnyObject>>;
37
38        #[cfg(feature = "NSAccessibilityConstants")]
39        #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
40        #[unsafe(method(accessibilityIsAttributeSettable:))]
41        #[unsafe(method_family = none)]
42        unsafe fn accessibilityIsAttributeSettable(
43            &self,
44            attribute: &NSAccessibilityAttributeName,
45        ) -> bool;
46
47        #[cfg(feature = "NSAccessibilityConstants")]
48        #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
49        #[unsafe(method(accessibilitySetValue:forAttribute:))]
50        #[unsafe(method_family = none)]
51        unsafe fn accessibilitySetValue_forAttribute(
52            &self,
53            value: Option<&AnyObject>,
54            attribute: &NSAccessibilityAttributeName,
55        );
56
57        #[cfg(feature = "NSAccessibilityConstants")]
58        #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
59        #[unsafe(method(accessibilityParameterizedAttributeNames))]
60        #[unsafe(method_family = none)]
61        unsafe fn accessibilityParameterizedAttributeNames(
62            &self,
63        ) -> Retained<NSArray<NSAccessibilityParameterizedAttributeName>>;
64
65        #[cfg(feature = "NSAccessibilityConstants")]
66        #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
67        #[unsafe(method(accessibilityAttributeValue:forParameter:))]
68        #[unsafe(method_family = none)]
69        unsafe fn accessibilityAttributeValue_forParameter(
70            &self,
71            attribute: &NSAccessibilityParameterizedAttributeName,
72            parameter: Option<&AnyObject>,
73        ) -> Option<Retained<AnyObject>>;
74
75        #[cfg(feature = "NSAccessibilityConstants")]
76        #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
77        #[unsafe(method(accessibilityActionNames))]
78        #[unsafe(method_family = none)]
79        unsafe fn accessibilityActionNames(&self) -> Retained<NSArray<NSAccessibilityActionName>>;
80
81        #[cfg(feature = "NSAccessibilityConstants")]
82        #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
83        #[unsafe(method(accessibilityActionDescription:))]
84        #[unsafe(method_family = none)]
85        unsafe fn accessibilityActionDescription(
86            &self,
87            action: &NSAccessibilityActionName,
88        ) -> Option<Retained<NSString>>;
89
90        #[cfg(feature = "NSAccessibilityConstants")]
91        #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
92        #[unsafe(method(accessibilityPerformAction:))]
93        #[unsafe(method_family = none)]
94        unsafe fn accessibilityPerformAction(&self, action: &NSAccessibilityActionName);
95
96        #[deprecated = "Use isAccessibilityElement instead"]
97        #[unsafe(method(accessibilityIsIgnored))]
98        #[unsafe(method_family = none)]
99        unsafe fn accessibilityIsIgnored(&self) -> bool;
100
101        #[unsafe(method(accessibilityHitTest:))]
102        #[unsafe(method_family = none)]
103        unsafe fn accessibilityHitTest(&self, point: NSPoint) -> Option<Retained<AnyObject>>;
104
105        #[unsafe(method(accessibilityFocusedUIElement))]
106        #[unsafe(method_family = none)]
107        unsafe fn accessibilityFocusedUIElement(&self) -> Option<Retained<AnyObject>>;
108
109        #[unsafe(method(accessibilityIndexOfChild:))]
110        #[unsafe(method_family = none)]
111        unsafe fn accessibilityIndexOfChild(&self, child: &AnyObject) -> NSUInteger;
112
113        #[cfg(feature = "NSAccessibilityConstants")]
114        #[unsafe(method(accessibilityArrayAttributeCount:))]
115        #[unsafe(method_family = none)]
116        unsafe fn accessibilityArrayAttributeCount(
117            &self,
118            attribute: &NSAccessibilityAttributeName,
119        ) -> NSUInteger;
120
121        #[cfg(feature = "NSAccessibilityConstants")]
122        #[unsafe(method(accessibilityArrayAttributeValues:index:maxCount:))]
123        #[unsafe(method_family = none)]
124        unsafe fn accessibilityArrayAttributeValues_index_maxCount(
125            &self,
126            attribute: &NSAccessibilityAttributeName,
127            index: NSUInteger,
128            max_count: NSUInteger,
129        ) -> Retained<NSArray>;
130
131        #[unsafe(method(accessibilityNotifiesWhenDestroyed))]
132        #[unsafe(method_family = none)]
133        unsafe fn accessibilityNotifiesWhenDestroyed(&self) -> bool;
134    );
135}
136
137impl private_NSObjectNSAccessibility::Sealed for NSObject {}
138unsafe impl NSObjectNSAccessibility for NSObject {}
139
140/// NSWorkspaceAccessibilityDisplay.
141#[cfg(feature = "NSWorkspace")]
142impl NSWorkspace {
143    extern_methods!(
144        #[unsafe(method(accessibilityDisplayShouldIncreaseContrast))]
145        #[unsafe(method_family = none)]
146        pub unsafe fn accessibilityDisplayShouldIncreaseContrast(&self) -> bool;
147
148        #[unsafe(method(accessibilityDisplayShouldDifferentiateWithoutColor))]
149        #[unsafe(method_family = none)]
150        pub unsafe fn accessibilityDisplayShouldDifferentiateWithoutColor(&self) -> bool;
151
152        #[unsafe(method(accessibilityDisplayShouldReduceTransparency))]
153        #[unsafe(method_family = none)]
154        pub unsafe fn accessibilityDisplayShouldReduceTransparency(&self) -> bool;
155
156        #[unsafe(method(accessibilityDisplayShouldReduceMotion))]
157        #[unsafe(method_family = none)]
158        pub unsafe fn accessibilityDisplayShouldReduceMotion(&self) -> bool;
159
160        #[unsafe(method(accessibilityDisplayShouldInvertColors))]
161        #[unsafe(method_family = none)]
162        pub unsafe fn accessibilityDisplayShouldInvertColors(&self) -> bool;
163    );
164}
165
166/// NSWorkspaceAccessibility.
167#[cfg(feature = "NSWorkspace")]
168impl NSWorkspace {
169    extern_methods!(
170        #[unsafe(method(isVoiceOverEnabled))]
171        #[unsafe(method_family = none)]
172        pub unsafe fn isVoiceOverEnabled(&self) -> bool;
173
174        #[unsafe(method(isSwitchControlEnabled))]
175        #[unsafe(method_family = none)]
176        pub unsafe fn isSwitchControlEnabled(&self) -> bool;
177    );
178}
179
180extern "C" {
181    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsworkspaceaccessibilitydisplayoptionsdidchangenotification?language=objc)
182    pub static NSWorkspaceAccessibilityDisplayOptionsDidChangeNotification:
183        &'static NSNotificationName;
184}
185
186extern "C-unwind" {
187    #[cfg(all(feature = "NSResponder", feature = "NSView"))]
188    pub fn NSAccessibilityFrameInView(parent_view: &NSView, frame: NSRect) -> NSRect;
189}
190
191extern "C-unwind" {
192    #[cfg(all(feature = "NSResponder", feature = "NSView"))]
193    pub fn NSAccessibilityPointInView(parent_view: &NSView, point: NSPoint) -> NSPoint;
194}
195
196#[inline]
197pub unsafe extern "C-unwind" fn NSAccessibilitySetMayContainProtectedContent(flag: bool) -> bool {
198    extern "C-unwind" {
199        fn NSAccessibilitySetMayContainProtectedContent(flag: Bool) -> Bool;
200    }
201    unsafe { NSAccessibilitySetMayContainProtectedContent(Bool::new(flag)) }.as_bool()
202}
203
204#[cfg(feature = "NSAccessibilityConstants")]
205#[inline]
206pub unsafe extern "C-unwind" fn NSAccessibilityRoleDescription(
207    role: &NSAccessibilityRole,
208    subrole: Option<&NSAccessibilitySubrole>,
209) -> Option<Retained<NSString>> {
210    extern "C-unwind" {
211        fn NSAccessibilityRoleDescription(
212            role: &NSAccessibilityRole,
213            subrole: Option<&NSAccessibilitySubrole>,
214        ) -> *mut NSString;
215    }
216    let ret = unsafe { NSAccessibilityRoleDescription(role, subrole) };
217    unsafe { Retained::retain_autoreleased(ret) }
218}
219
220#[inline]
221pub unsafe extern "C-unwind" fn NSAccessibilityRoleDescriptionForUIElement(
222    element: &AnyObject,
223) -> Option<Retained<NSString>> {
224    extern "C-unwind" {
225        fn NSAccessibilityRoleDescriptionForUIElement(element: &AnyObject) -> *mut NSString;
226    }
227    let ret = unsafe { NSAccessibilityRoleDescriptionForUIElement(element) };
228    unsafe { Retained::retain_autoreleased(ret) }
229}
230
231#[cfg(feature = "NSAccessibilityConstants")]
232#[inline]
233pub unsafe extern "C-unwind" fn NSAccessibilityActionDescription(
234    action: &NSAccessibilityActionName,
235) -> Option<Retained<NSString>> {
236    extern "C-unwind" {
237        fn NSAccessibilityActionDescription(action: &NSAccessibilityActionName) -> *mut NSString;
238    }
239    let ret = unsafe { NSAccessibilityActionDescription(action) };
240    unsafe { Retained::retain_autoreleased(ret) }
241}
242
243extern "C-unwind" {
244    #[cfg(feature = "NSAccessibilityConstants")]
245    #[deprecated = "Exceptions are no longer appropriate for indicating errors in accessibility API. Unexpected values should be handled through appropriate type checking."]
246    pub fn NSAccessibilityRaiseBadArgumentException(
247        element: Option<&AnyObject>,
248        attribute: Option<&NSAccessibilityAttributeName>,
249        value: Option<&AnyObject>,
250    );
251}
252
253/// * Ignored UIElements Utilities **
254#[inline]
255pub unsafe extern "C-unwind" fn NSAccessibilityUnignoredAncestor(
256    element: &AnyObject,
257) -> Option<Retained<AnyObject>> {
258    extern "C-unwind" {
259        fn NSAccessibilityUnignoredAncestor(element: &AnyObject) -> *mut AnyObject;
260    }
261    let ret = unsafe { NSAccessibilityUnignoredAncestor(element) };
262    unsafe { Retained::retain_autoreleased(ret) }
263}
264
265#[inline]
266pub unsafe extern "C-unwind" fn NSAccessibilityUnignoredDescendant(
267    element: &AnyObject,
268) -> Option<Retained<AnyObject>> {
269    extern "C-unwind" {
270        fn NSAccessibilityUnignoredDescendant(element: &AnyObject) -> *mut AnyObject;
271    }
272    let ret = unsafe { NSAccessibilityUnignoredDescendant(element) };
273    unsafe { Retained::retain_autoreleased(ret) }
274}
275
276#[inline]
277pub unsafe extern "C-unwind" fn NSAccessibilityUnignoredChildren(
278    original_children: &NSArray,
279) -> Retained<NSArray> {
280    extern "C-unwind" {
281        fn NSAccessibilityUnignoredChildren(original_children: &NSArray) -> *mut NSArray;
282    }
283    let ret = unsafe { NSAccessibilityUnignoredChildren(original_children) };
284    unsafe { Retained::retain_autoreleased(ret) }
285        .expect("function was marked as returning non-null, but actually returned NULL")
286}
287
288#[inline]
289pub unsafe extern "C-unwind" fn NSAccessibilityUnignoredChildrenForOnlyChild(
290    original_child: &AnyObject,
291) -> Retained<NSArray> {
292    extern "C-unwind" {
293        fn NSAccessibilityUnignoredChildrenForOnlyChild(original_child: &AnyObject)
294            -> *mut NSArray;
295    }
296    let ret = unsafe { NSAccessibilityUnignoredChildrenForOnlyChild(original_child) };
297    unsafe { Retained::retain_autoreleased(ret) }
298        .expect("function was marked as returning non-null, but actually returned NULL")
299}
300
301extern "C-unwind" {
302    /// * Posting Notifications **
303    #[cfg(feature = "NSAccessibilityConstants")]
304    pub fn NSAccessibilityPostNotification(
305        element: &AnyObject,
306        notification: &NSAccessibilityNotificationName,
307    );
308}