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")]
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#[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#[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 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#[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 #[cfg(feature = "NSAccessibilityConstants")]
304 pub fn NSAccessibilityPostNotification(
305 element: &AnyObject,
306 notification: &NSAccessibilityNotificationName,
307 );
308}