objc2_app_kit/generated/
NSAccessibility.rs1use 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#[doc(alias = "NSAccessibility")]
18pub unsafe trait NSObjectNSAccessibility:
19 ClassType + Sized + private_NSObjectNSAccessibility::Sealed
20{
21 extern_methods!(
22 #[cfg(feature = "NSAccessibilityConstants")]
23 #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
24 #[unsafe(method(accessibilityAttributeNames))]
25 #[unsafe(method_family = none)]
26 fn accessibilityAttributeNames(&self) -> Retained<NSArray<NSAccessibilityAttributeName>>;
27
28 #[cfg(feature = "NSAccessibilityConstants")]
29 #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
30 #[unsafe(method(accessibilityAttributeValue:))]
31 #[unsafe(method_family = none)]
32 fn accessibilityAttributeValue(
33 &self,
34 attribute: &NSAccessibilityAttributeName,
35 ) -> Option<Retained<AnyObject>>;
36
37 #[cfg(feature = "NSAccessibilityConstants")]
38 #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
39 #[unsafe(method(accessibilityIsAttributeSettable:))]
40 #[unsafe(method_family = none)]
41 fn accessibilityIsAttributeSettable(
42 &self,
43 attribute: &NSAccessibilityAttributeName,
44 ) -> bool;
45
46 #[cfg(feature = "NSAccessibilityConstants")]
47 #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
51 #[unsafe(method(accessibilitySetValue:forAttribute:))]
52 #[unsafe(method_family = none)]
53 unsafe fn accessibilitySetValue_forAttribute(
54 &self,
55 value: Option<&AnyObject>,
56 attribute: &NSAccessibilityAttributeName,
57 );
58
59 #[cfg(feature = "NSAccessibilityConstants")]
60 #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
61 #[unsafe(method(accessibilityParameterizedAttributeNames))]
62 #[unsafe(method_family = none)]
63 fn accessibilityParameterizedAttributeNames(
64 &self,
65 ) -> Retained<NSArray<NSAccessibilityParameterizedAttributeName>>;
66
67 #[cfg(feature = "NSAccessibilityConstants")]
68 #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
72 #[unsafe(method(accessibilityAttributeValue:forParameter:))]
73 #[unsafe(method_family = none)]
74 unsafe fn accessibilityAttributeValue_forParameter(
75 &self,
76 attribute: &NSAccessibilityParameterizedAttributeName,
77 parameter: Option<&AnyObject>,
78 ) -> Option<Retained<AnyObject>>;
79
80 #[cfg(feature = "NSAccessibilityConstants")]
81 #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
82 #[unsafe(method(accessibilityActionNames))]
83 #[unsafe(method_family = none)]
84 fn accessibilityActionNames(&self) -> Retained<NSArray<NSAccessibilityActionName>>;
85
86 #[cfg(feature = "NSAccessibilityConstants")]
87 #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
88 #[unsafe(method(accessibilityActionDescription:))]
89 #[unsafe(method_family = none)]
90 fn accessibilityActionDescription(
91 &self,
92 action: &NSAccessibilityActionName,
93 ) -> Option<Retained<NSString>>;
94
95 #[cfg(feature = "NSAccessibilityConstants")]
96 #[deprecated = "Use the NSAccessibility protocol methods instead (see NSAccessibilityProtocols.h)"]
97 #[unsafe(method(accessibilityPerformAction:))]
98 #[unsafe(method_family = none)]
99 fn accessibilityPerformAction(&self, action: &NSAccessibilityActionName);
100
101 #[deprecated = "Use isAccessibilityElement instead"]
102 #[unsafe(method(accessibilityIsIgnored))]
103 #[unsafe(method_family = none)]
104 fn accessibilityIsIgnored(&self) -> bool;
105
106 #[unsafe(method(accessibilityHitTest:))]
107 #[unsafe(method_family = none)]
108 fn accessibilityHitTest(&self, point: NSPoint) -> Option<Retained<AnyObject>>;
109
110 #[unsafe(method(accessibilityFocusedUIElement))]
111 #[unsafe(method_family = none)]
112 fn accessibilityFocusedUIElement(&self) -> Option<Retained<AnyObject>>;
113
114 #[unsafe(method(accessibilityIndexOfChild:))]
118 #[unsafe(method_family = none)]
119 unsafe fn accessibilityIndexOfChild(&self, child: &AnyObject) -> NSUInteger;
120
121 #[cfg(feature = "NSAccessibilityConstants")]
122 #[unsafe(method(accessibilityArrayAttributeCount:))]
123 #[unsafe(method_family = none)]
124 fn accessibilityArrayAttributeCount(
125 &self,
126 attribute: &NSAccessibilityAttributeName,
127 ) -> NSUInteger;
128
129 #[cfg(feature = "NSAccessibilityConstants")]
130 #[unsafe(method(accessibilityArrayAttributeValues:index:maxCount:))]
131 #[unsafe(method_family = none)]
132 fn accessibilityArrayAttributeValues_index_maxCount(
133 &self,
134 attribute: &NSAccessibilityAttributeName,
135 index: NSUInteger,
136 max_count: NSUInteger,
137 ) -> Retained<NSArray>;
138
139 #[unsafe(method(accessibilityNotifiesWhenDestroyed))]
140 #[unsafe(method_family = none)]
141 fn accessibilityNotifiesWhenDestroyed(&self) -> bool;
142 );
143}
144
145impl private_NSObjectNSAccessibility::Sealed for NSObject {}
146unsafe impl NSObjectNSAccessibility for NSObject {}
147
148#[cfg(feature = "NSWorkspace")]
150impl NSWorkspace {
151 extern_methods!(
152 #[unsafe(method(accessibilityDisplayShouldIncreaseContrast))]
153 #[unsafe(method_family = none)]
154 pub fn accessibilityDisplayShouldIncreaseContrast(&self) -> bool;
155
156 #[unsafe(method(accessibilityDisplayShouldDifferentiateWithoutColor))]
157 #[unsafe(method_family = none)]
158 pub fn accessibilityDisplayShouldDifferentiateWithoutColor(&self) -> bool;
159
160 #[unsafe(method(accessibilityDisplayShouldReduceTransparency))]
161 #[unsafe(method_family = none)]
162 pub fn accessibilityDisplayShouldReduceTransparency(&self) -> bool;
163
164 #[unsafe(method(accessibilityDisplayShouldReduceMotion))]
165 #[unsafe(method_family = none)]
166 pub fn accessibilityDisplayShouldReduceMotion(&self) -> bool;
167
168 #[unsafe(method(accessibilityDisplayShouldInvertColors))]
169 #[unsafe(method_family = none)]
170 pub fn accessibilityDisplayShouldInvertColors(&self) -> bool;
171 );
172}
173
174#[cfg(feature = "NSWorkspace")]
176impl NSWorkspace {
177 extern_methods!(
178 #[unsafe(method(isVoiceOverEnabled))]
179 #[unsafe(method_family = none)]
180 pub fn isVoiceOverEnabled(&self) -> bool;
181
182 #[unsafe(method(isSwitchControlEnabled))]
183 #[unsafe(method_family = none)]
184 pub fn isSwitchControlEnabled(&self) -> bool;
185 );
186}
187
188extern "C" {
189 pub static NSWorkspaceAccessibilityDisplayOptionsDidChangeNotification:
191 &'static NSNotificationName;
192}
193
194#[cfg(all(feature = "NSResponder", feature = "NSView"))]
195#[inline]
196pub extern "C-unwind" fn NSAccessibilityFrameInView(parent_view: &NSView, frame: NSRect) -> NSRect {
197 extern "C-unwind" {
198 fn NSAccessibilityFrameInView(parent_view: &NSView, frame: NSRect) -> NSRect;
199 }
200 unsafe { NSAccessibilityFrameInView(parent_view, frame) }
201}
202
203#[cfg(all(feature = "NSResponder", feature = "NSView"))]
204#[inline]
205pub extern "C-unwind" fn NSAccessibilityPointInView(
206 parent_view: &NSView,
207 point: NSPoint,
208) -> NSPoint {
209 extern "C-unwind" {
210 fn NSAccessibilityPointInView(parent_view: &NSView, point: NSPoint) -> NSPoint;
211 }
212 unsafe { NSAccessibilityPointInView(parent_view, point) }
213}
214
215#[inline]
216pub extern "C-unwind" fn NSAccessibilitySetMayContainProtectedContent(flag: bool) -> bool {
217 extern "C-unwind" {
218 fn NSAccessibilitySetMayContainProtectedContent(flag: Bool) -> Bool;
219 }
220 unsafe { NSAccessibilitySetMayContainProtectedContent(Bool::new(flag)) }.as_bool()
221}
222
223#[cfg(feature = "NSAccessibilityConstants")]
224#[inline]
225pub extern "C-unwind" fn NSAccessibilityRoleDescription(
226 role: &NSAccessibilityRole,
227 subrole: Option<&NSAccessibilitySubrole>,
228) -> Option<Retained<NSString>> {
229 extern "C-unwind" {
230 fn NSAccessibilityRoleDescription(
231 role: &NSAccessibilityRole,
232 subrole: Option<&NSAccessibilitySubrole>,
233 ) -> *mut NSString;
234 }
235 let ret = unsafe { NSAccessibilityRoleDescription(role, subrole) };
236 unsafe { Retained::retain_autoreleased(ret) }
237}
238
239#[inline]
243pub unsafe extern "C-unwind" fn NSAccessibilityRoleDescriptionForUIElement(
244 element: &AnyObject,
245) -> Option<Retained<NSString>> {
246 extern "C-unwind" {
247 fn NSAccessibilityRoleDescriptionForUIElement(element: &AnyObject) -> *mut NSString;
248 }
249 let ret = unsafe { NSAccessibilityRoleDescriptionForUIElement(element) };
250 unsafe { Retained::retain_autoreleased(ret) }
251}
252
253#[cfg(feature = "NSAccessibilityConstants")]
254#[inline]
255pub extern "C-unwind" fn NSAccessibilityActionDescription(
256 action: &NSAccessibilityActionName,
257) -> Option<Retained<NSString>> {
258 extern "C-unwind" {
259 fn NSAccessibilityActionDescription(action: &NSAccessibilityActionName) -> *mut NSString;
260 }
261 let ret = unsafe { NSAccessibilityActionDescription(action) };
262 unsafe { Retained::retain_autoreleased(ret) }
263}
264
265extern "C-unwind" {
266 #[cfg(feature = "NSAccessibilityConstants")]
274 #[deprecated = "Exceptions are no longer appropriate for indicating errors in accessibility API. Unexpected values should be handled through appropriate type checking."]
275 pub fn NSAccessibilityRaiseBadArgumentException(
276 element: Option<&AnyObject>,
277 attribute: Option<&NSAccessibilityAttributeName>,
278 value: Option<&AnyObject>,
279 );
280}
281
282#[inline]
288pub unsafe extern "C-unwind" fn NSAccessibilityUnignoredAncestor(
289 element: &AnyObject,
290) -> Option<Retained<AnyObject>> {
291 extern "C-unwind" {
292 fn NSAccessibilityUnignoredAncestor(element: &AnyObject) -> *mut AnyObject;
293 }
294 let ret = unsafe { NSAccessibilityUnignoredAncestor(element) };
295 unsafe { Retained::retain_autoreleased(ret) }
296}
297
298#[inline]
302pub unsafe extern "C-unwind" fn NSAccessibilityUnignoredDescendant(
303 element: &AnyObject,
304) -> Option<Retained<AnyObject>> {
305 extern "C-unwind" {
306 fn NSAccessibilityUnignoredDescendant(element: &AnyObject) -> *mut AnyObject;
307 }
308 let ret = unsafe { NSAccessibilityUnignoredDescendant(element) };
309 unsafe { Retained::retain_autoreleased(ret) }
310}
311
312#[inline]
316pub unsafe extern "C-unwind" fn NSAccessibilityUnignoredChildren(
317 original_children: &NSArray,
318) -> Retained<NSArray> {
319 extern "C-unwind" {
320 fn NSAccessibilityUnignoredChildren(original_children: &NSArray) -> *mut NSArray;
321 }
322 let ret = unsafe { NSAccessibilityUnignoredChildren(original_children) };
323 unsafe { Retained::retain_autoreleased(ret) }
324 .expect("function was marked as returning non-null, but actually returned NULL")
325}
326
327#[inline]
331pub unsafe extern "C-unwind" fn NSAccessibilityUnignoredChildrenForOnlyChild(
332 original_child: &AnyObject,
333) -> Retained<NSArray> {
334 extern "C-unwind" {
335 fn NSAccessibilityUnignoredChildrenForOnlyChild(original_child: &AnyObject)
336 -> *mut NSArray;
337 }
338 let ret = unsafe { NSAccessibilityUnignoredChildrenForOnlyChild(original_child) };
339 unsafe { Retained::retain_autoreleased(ret) }
340 .expect("function was marked as returning non-null, but actually returned NULL")
341}
342
343extern "C-unwind" {
344 #[cfg(feature = "NSAccessibilityConstants")]
350 pub fn NSAccessibilityPostNotification(
351 element: &AnyObject,
352 notification: &NSAccessibilityNotificationName,
353 );
354}