objc2_application_services/generated/HIServices/Icons.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_core_foundation::*;
6#[cfg(feature = "objc2-core-services")]
7use objc2_core_services::*;
8
9use crate::*;
10
11/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kalignnone?language=objc)
12pub const kAlignNone: c_uint = 0x00;
13/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kalignverticalcenter?language=objc)
14pub const kAlignVerticalCenter: c_uint = 0x01;
15/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kaligntop?language=objc)
16pub const kAlignTop: c_uint = 0x02;
17/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kalignbottom?language=objc)
18pub const kAlignBottom: c_uint = 0x03;
19/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kalignhorizontalcenter?language=objc)
20pub const kAlignHorizontalCenter: c_uint = 0x04;
21/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kalignabsolutecenter?language=objc)
22pub const kAlignAbsoluteCenter: c_uint = kAlignVerticalCenter | kAlignHorizontalCenter;
23/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kaligncentertop?language=objc)
24pub const kAlignCenterTop: c_uint = kAlignTop | kAlignHorizontalCenter;
25/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kaligncenterbottom?language=objc)
26pub const kAlignCenterBottom: c_uint = kAlignBottom | kAlignHorizontalCenter;
27/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kalignleft?language=objc)
28pub const kAlignLeft: c_uint = 0x08;
29/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kaligncenterleft?language=objc)
30pub const kAlignCenterLeft: c_uint = kAlignVerticalCenter | kAlignLeft;
31/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kaligntopleft?language=objc)
32pub const kAlignTopLeft: c_uint = kAlignTop | kAlignLeft;
33/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kalignbottomleft?language=objc)
34pub const kAlignBottomLeft: c_uint = kAlignBottom | kAlignLeft;
35/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kalignright?language=objc)
36pub const kAlignRight: c_uint = 0x0C;
37/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kaligncenterright?language=objc)
38pub const kAlignCenterRight: c_uint = kAlignVerticalCenter | kAlignRight;
39/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kaligntopright?language=objc)
40pub const kAlignTopRight: c_uint = kAlignTop | kAlignRight;
41/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kalignbottomright?language=objc)
42pub const kAlignBottomRight: c_uint = kAlignBottom | kAlignRight;
43
44/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/atnone?language=objc)
45pub const atNone: c_uint = kAlignNone;
46/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/atverticalcenter?language=objc)
47pub const atVerticalCenter: c_uint = kAlignVerticalCenter;
48/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/attop?language=objc)
49pub const atTop: c_uint = kAlignTop;
50/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/atbottom?language=objc)
51pub const atBottom: c_uint = kAlignBottom;
52/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/athorizontalcenter?language=objc)
53pub const atHorizontalCenter: c_uint = kAlignHorizontalCenter;
54/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/atabsolutecenter?language=objc)
55pub const atAbsoluteCenter: c_uint = kAlignAbsoluteCenter;
56/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/atcentertop?language=objc)
57pub const atCenterTop: c_uint = kAlignCenterTop;
58/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/atcenterbottom?language=objc)
59pub const atCenterBottom: c_uint = kAlignCenterBottom;
60/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/atleft?language=objc)
61pub const atLeft: c_uint = kAlignLeft;
62/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/atcenterleft?language=objc)
63pub const atCenterLeft: c_uint = kAlignCenterLeft;
64/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/attopleft?language=objc)
65pub const atTopLeft: c_uint = kAlignTopLeft;
66/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/atbottomleft?language=objc)
67pub const atBottomLeft: c_uint = kAlignBottomLeft;
68/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/atright?language=objc)
69pub const atRight: c_uint = kAlignRight;
70/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/atcenterright?language=objc)
71pub const atCenterRight: c_uint = kAlignCenterRight;
72/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/attopright?language=objc)
73pub const atTopRight: c_uint = kAlignTopRight;
74/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/atbottomright?language=objc)
75pub const atBottomRight: c_uint = kAlignBottomRight;
76
77/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/iconalignmenttype?language=objc)
78pub type IconAlignmentType = i16;
79
80/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ktransformnone?language=objc)
81pub const kTransformNone: c_uint = 0x00;
82/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ktransformdisabled?language=objc)
83pub const kTransformDisabled: c_uint = 0x01;
84/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ktransformoffline?language=objc)
85pub const kTransformOffline: c_uint = 0x02;
86/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ktransformopen?language=objc)
87pub const kTransformOpen: c_uint = 0x03;
88/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ktransformlabel1?language=objc)
89pub const kTransformLabel1: c_uint = 0x0100;
90/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ktransformlabel2?language=objc)
91pub const kTransformLabel2: c_uint = 0x0200;
92/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ktransformlabel3?language=objc)
93pub const kTransformLabel3: c_uint = 0x0300;
94/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ktransformlabel4?language=objc)
95pub const kTransformLabel4: c_uint = 0x0400;
96/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ktransformlabel5?language=objc)
97pub const kTransformLabel5: c_uint = 0x0500;
98/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ktransformlabel6?language=objc)
99pub const kTransformLabel6: c_uint = 0x0600;
100/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ktransformlabel7?language=objc)
101pub const kTransformLabel7: c_uint = 0x0700;
102/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ktransformselected?language=objc)
103pub const kTransformSelected: c_uint = 0x4000;
104/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ktransformselecteddisabled?language=objc)
105pub const kTransformSelectedDisabled: c_uint = kTransformSelected | kTransformDisabled;
106/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ktransformselectedoffline?language=objc)
107pub const kTransformSelectedOffline: c_uint = kTransformSelected | kTransformOffline;
108/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ktransformselectedopen?language=objc)
109pub const kTransformSelectedOpen: c_uint = kTransformSelected | kTransformOpen;
110
111/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ttnone?language=objc)
112pub const ttNone: c_uint = kTransformNone;
113/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ttdisabled?language=objc)
114pub const ttDisabled: c_uint = kTransformDisabled;
115/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ttoffline?language=objc)
116pub const ttOffline: c_uint = kTransformOffline;
117/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ttopen?language=objc)
118pub const ttOpen: c_uint = kTransformOpen;
119/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ttlabel1?language=objc)
120pub const ttLabel1: c_uint = kTransformLabel1;
121/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ttlabel2?language=objc)
122pub const ttLabel2: c_uint = kTransformLabel2;
123/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ttlabel3?language=objc)
124pub const ttLabel3: c_uint = kTransformLabel3;
125/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ttlabel4?language=objc)
126pub const ttLabel4: c_uint = kTransformLabel4;
127/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ttlabel5?language=objc)
128pub const ttLabel5: c_uint = kTransformLabel5;
129/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ttlabel6?language=objc)
130pub const ttLabel6: c_uint = kTransformLabel6;
131/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ttlabel7?language=objc)
132pub const ttLabel7: c_uint = kTransformLabel7;
133/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ttselected?language=objc)
134pub const ttSelected: c_uint = kTransformSelected;
135/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ttselecteddisabled?language=objc)
136pub const ttSelectedDisabled: c_uint = kTransformSelectedDisabled;
137/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ttselectedoffline?language=objc)
138pub const ttSelectedOffline: c_uint = kTransformSelectedOffline;
139/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ttselectedopen?language=objc)
140pub const ttSelectedOpen: c_uint = kTransformSelectedOpen;
141
142/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/icontransformtype?language=objc)
143pub type IconTransformType = i16;
144
145/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorlarge1bit?language=objc)
146pub const kSelectorLarge1Bit: c_uint = 0x00000001;
147/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorlarge4bit?language=objc)
148pub const kSelectorLarge4Bit: c_uint = 0x00000002;
149/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorlarge8bit?language=objc)
150pub const kSelectorLarge8Bit: c_uint = 0x00000004;
151/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorlarge32bit?language=objc)
152pub const kSelectorLarge32Bit: c_uint = 0x00000008;
153/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorlarge8bitmask?language=objc)
154pub const kSelectorLarge8BitMask: c_uint = 0x00000010;
155/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorsmall1bit?language=objc)
156pub const kSelectorSmall1Bit: c_uint = 0x00000100;
157/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorsmall4bit?language=objc)
158pub const kSelectorSmall4Bit: c_uint = 0x00000200;
159/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorsmall8bit?language=objc)
160pub const kSelectorSmall8Bit: c_uint = 0x00000400;
161/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorsmall32bit?language=objc)
162pub const kSelectorSmall32Bit: c_uint = 0x00000800;
163/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorsmall8bitmask?language=objc)
164pub const kSelectorSmall8BitMask: c_uint = 0x00001000;
165/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectormini1bit?language=objc)
166pub const kSelectorMini1Bit: c_uint = 0x00010000;
167/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectormini4bit?language=objc)
168pub const kSelectorMini4Bit: c_uint = 0x00020000;
169/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectormini8bit?language=objc)
170pub const kSelectorMini8Bit: c_uint = 0x00040000;
171/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorhuge1bit?language=objc)
172pub const kSelectorHuge1Bit: c_uint = 0x01000000;
173/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorhuge4bit?language=objc)
174pub const kSelectorHuge4Bit: c_uint = 0x02000000;
175/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorhuge8bit?language=objc)
176pub const kSelectorHuge8Bit: c_uint = 0x04000000;
177/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorhuge32bit?language=objc)
178pub const kSelectorHuge32Bit: c_uint = 0x08000000;
179/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorhuge8bitmask?language=objc)
180pub const kSelectorHuge8BitMask: c_uint = 0x10000000;
181/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectoralllargedata?language=objc)
182pub const kSelectorAllLargeData: c_uint = 0x000000FF;
183/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorallsmalldata?language=objc)
184pub const kSelectorAllSmallData: c_uint = 0x0000FF00;
185/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorallminidata?language=objc)
186pub const kSelectorAllMiniData: c_uint = 0x00FF0000;
187/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorallhugedata?language=objc)
188pub const kSelectorAllHugeData: c_uint = 0xFF000000;
189/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorall1bitdata?language=objc)
190pub const kSelectorAll1BitData: c_uint =
191 kSelectorLarge1Bit | kSelectorSmall1Bit | kSelectorMini1Bit | kSelectorHuge1Bit;
192/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorall4bitdata?language=objc)
193pub const kSelectorAll4BitData: c_uint =
194 kSelectorLarge4Bit | kSelectorSmall4Bit | kSelectorMini4Bit | kSelectorHuge4Bit;
195/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorall8bitdata?language=objc)
196pub const kSelectorAll8BitData: c_uint =
197 kSelectorLarge8Bit | kSelectorSmall8Bit | kSelectorMini8Bit | kSelectorHuge8Bit;
198/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorall32bitdata?language=objc)
199pub const kSelectorAll32BitData: c_uint =
200 kSelectorLarge32Bit | kSelectorSmall32Bit | kSelectorHuge32Bit;
201/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kselectorallavailabledata?language=objc)
202pub const kSelectorAllAvailableData: c_uint = 0xFFFFFFFF;
203
204/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/iconselectorvalue?language=objc)
205pub type IconSelectorValue = u32;
206
207/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/svlarge1bit?language=objc)
208pub const svLarge1Bit: c_uint = kSelectorLarge1Bit;
209/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/svlarge4bit?language=objc)
210pub const svLarge4Bit: c_uint = kSelectorLarge4Bit;
211/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/svlarge8bit?language=objc)
212pub const svLarge8Bit: c_uint = kSelectorLarge8Bit;
213/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/svsmall1bit?language=objc)
214pub const svSmall1Bit: c_uint = kSelectorSmall1Bit;
215/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/svsmall4bit?language=objc)
216pub const svSmall4Bit: c_uint = kSelectorSmall4Bit;
217/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/svsmall8bit?language=objc)
218pub const svSmall8Bit: c_uint = kSelectorSmall8Bit;
219/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/svmini1bit?language=objc)
220pub const svMini1Bit: c_uint = kSelectorMini1Bit;
221/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/svmini4bit?language=objc)
222pub const svMini4Bit: c_uint = kSelectorMini4Bit;
223/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/svmini8bit?language=objc)
224pub const svMini8Bit: c_uint = kSelectorMini8Bit;
225/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/svalllargedata?language=objc)
226pub const svAllLargeData: c_uint = kSelectorAllLargeData;
227/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/svallsmalldata?language=objc)
228pub const svAllSmallData: c_uint = kSelectorAllSmallData;
229/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/svallminidata?language=objc)
230pub const svAllMiniData: c_uint = kSelectorAllMiniData;
231/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/svall1bitdata?language=objc)
232pub const svAll1BitData: c_uint = kSelectorAll1BitData;
233/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/svall4bitdata?language=objc)
234pub const svAll4BitData: c_uint = kSelectorAll4BitData;
235/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/svall8bitdata?language=objc)
236pub const svAll8BitData: c_uint = kSelectorAll8BitData;
237/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/svallavailabledata?language=objc)
238pub const svAllAvailableData: c_uint = kSelectorAllAvailableData;
239
240/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/iconactionprocptr?language=objc)
241pub type IconActionProcPtr =
242 Option<unsafe extern "C-unwind" fn(ResType, *mut Handle, *mut c_void) -> OSErr>;
243
244/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/icongetterprocptr?language=objc)
245pub type IconGetterProcPtr = Option<unsafe extern "C-unwind" fn(ResType, *mut c_void) -> Handle>;
246
247/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/iconactionupp?language=objc)
248pub type IconActionUPP = IconActionProcPtr;
249
250/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/icongetterupp?language=objc)
251pub type IconGetterUPP = IconGetterProcPtr;
252
253extern "C-unwind" {
254 /// # Safety
255 ///
256 /// `user_routine` must be implemented correctly.
257 pub fn NewIconActionUPP(user_routine: IconActionProcPtr) -> IconActionUPP;
258}
259
260extern "C-unwind" {
261 /// # Safety
262 ///
263 /// `user_routine` must be implemented correctly.
264 pub fn NewIconGetterUPP(user_routine: IconGetterProcPtr) -> IconGetterUPP;
265}
266
267extern "C-unwind" {
268 /// # Safety
269 ///
270 /// `user_upp` must be implemented correctly.
271 pub fn DisposeIconActionUPP(user_upp: IconActionUPP);
272}
273
274extern "C-unwind" {
275 /// # Safety
276 ///
277 /// `user_upp` must be implemented correctly.
278 pub fn DisposeIconGetterUPP(user_upp: IconGetterUPP);
279}
280
281extern "C-unwind" {
282 /// # Safety
283 ///
284 /// - `the_icon` must be a valid pointer.
285 /// - `your_data_ptr` must be a valid pointer.
286 /// - `user_upp` must be implemented correctly.
287 pub fn InvokeIconActionUPP(
288 the_type: ResType,
289 the_icon: *mut Handle,
290 your_data_ptr: *mut c_void,
291 user_upp: IconActionUPP,
292 ) -> OSErr;
293}
294
295extern "C-unwind" {
296 /// # Safety
297 ///
298 /// - `your_data_ptr` must be a valid pointer.
299 /// - `user_upp` must be implemented correctly.
300 pub fn InvokeIconGetterUPP(
301 the_type: ResType,
302 your_data_ptr: *mut c_void,
303 user_upp: IconGetterUPP,
304 ) -> Handle;
305}
306
307/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ploticonrefflags?language=objc)
308pub type PlotIconRefFlags = u32;
309
310/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kploticonrefnormalflags?language=objc)
311pub const kPlotIconRefNormalFlags: c_uint = 0;
312/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kploticonrefnoimage?language=objc)
313pub const kPlotIconRefNoImage: c_uint = 1 << 1;
314/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kploticonrefnomask?language=objc)
315pub const kPlotIconRefNoMask: c_uint = 1 << 2;
316
317extern "C-unwind" {
318 /// # Safety
319 ///
320 /// - `the_icon_ref` must be a valid pointer.
321 /// - `icon_family` must be a valid pointer.
322 #[cfg(feature = "objc2-core-services")]
323 pub fn IconRefToIconFamily(
324 the_icon_ref: IconRef,
325 which_icons: IconSelectorValue,
326 icon_family: *mut IconFamilyHandle,
327 ) -> OSErr;
328}
329
330extern "C-unwind" {
331 /// # Safety
332 ///
333 /// - `icon_family` must be a valid pointer.
334 /// - `h` must be a valid pointer.
335 #[cfg(feature = "objc2-core-services")]
336 pub fn SetIconFamilyData(icon_family: IconFamilyHandle, icon_type: OSType, h: Handle) -> OSErr;
337}
338
339extern "C-unwind" {
340 /// # Safety
341 ///
342 /// - `icon_family` must be a valid pointer.
343 /// - `h` must be a valid pointer.
344 #[cfg(feature = "objc2-core-services")]
345 pub fn GetIconFamilyData(icon_family: IconFamilyHandle, icon_type: OSType, h: Handle) -> OSErr;
346}
347
348/// # Safety
349///
350/// - `test_pt` must be a valid pointer.
351/// - `icon_rect` must be a valid pointer.
352/// - `the_icon_ref` must be a valid pointer.
353#[cfg(feature = "objc2-core-services")]
354#[inline]
355pub unsafe extern "C-unwind" fn IconRefContainsCGPoint(
356 test_pt: *const CGPoint,
357 icon_rect: *const CGRect,
358 align: IconAlignmentType,
359 icon_services_usage_flags: IconServicesUsageFlags,
360 the_icon_ref: IconRef,
361) -> bool {
362 extern "C-unwind" {
363 fn IconRefContainsCGPoint(
364 test_pt: *const CGPoint,
365 icon_rect: *const CGRect,
366 align: IconAlignmentType,
367 icon_services_usage_flags: IconServicesUsageFlags,
368 the_icon_ref: IconRef,
369 ) -> Boolean;
370 }
371 let ret = unsafe {
372 IconRefContainsCGPoint(
373 test_pt,
374 icon_rect,
375 align,
376 icon_services_usage_flags,
377 the_icon_ref,
378 )
379 };
380 ret != 0
381}
382
383/// # Safety
384///
385/// - `test_rect` must be a valid pointer.
386/// - `icon_rect` must be a valid pointer.
387/// - `the_icon_ref` must be a valid pointer.
388#[cfg(feature = "objc2-core-services")]
389#[inline]
390pub unsafe extern "C-unwind" fn IconRefIntersectsCGRect(
391 test_rect: *const CGRect,
392 icon_rect: *const CGRect,
393 align: IconAlignmentType,
394 icon_services_usage_flags: IconServicesUsageFlags,
395 the_icon_ref: IconRef,
396) -> bool {
397 extern "C-unwind" {
398 fn IconRefIntersectsCGRect(
399 test_rect: *const CGRect,
400 icon_rect: *const CGRect,
401 align: IconAlignmentType,
402 icon_services_usage_flags: IconServicesUsageFlags,
403 the_icon_ref: IconRef,
404 ) -> Boolean;
405 }
406 let ret = unsafe {
407 IconRefIntersectsCGRect(
408 test_rect,
409 icon_rect,
410 align,
411 icon_services_usage_flags,
412 the_icon_ref,
413 )
414 };
415 ret != 0
416}
417
418/// # Safety
419///
420/// - `icon_rect` must be a valid pointer.
421/// - `the_icon_ref` must be a valid pointer.
422#[cfg(all(feature = "HIShape", feature = "objc2-core-services"))]
423#[inline]
424pub unsafe extern "C-unwind" fn IconRefToHIShape(
425 icon_rect: *const CGRect,
426 align: IconAlignmentType,
427 icon_services_usage_flags: IconServicesUsageFlags,
428 the_icon_ref: IconRef,
429) -> Option<CFRetained<HIShape>> {
430 extern "C-unwind" {
431 fn IconRefToHIShape(
432 icon_rect: *const CGRect,
433 align: IconAlignmentType,
434 icon_services_usage_flags: IconServicesUsageFlags,
435 the_icon_ref: IconRef,
436 ) -> Option<NonNull<HIShape>>;
437 }
438 let ret =
439 unsafe { IconRefToHIShape(icon_rect, align, icon_services_usage_flags, the_icon_ref) };
440 ret.map(|ret| unsafe { CFRetained::retain(ret) })
441}
442
443/// # Safety
444///
445/// `icon_ref` must be a valid pointer.
446#[cfg(feature = "objc2-core-services")]
447#[inline]
448pub unsafe extern "C-unwind" fn IsIconRefMaskEmpty(icon_ref: IconRef) -> bool {
449 extern "C-unwind" {
450 fn IsIconRefMaskEmpty(icon_ref: IconRef) -> Boolean;
451 }
452 let ret = unsafe { IsIconRefMaskEmpty(icon_ref) };
453 ret != 0
454}
455
456extern "C-unwind" {
457 /// # Safety
458 ///
459 /// - `in_icon_ref` must be a valid pointer.
460 /// - `out_transform` must be a valid pointer.
461 #[cfg(feature = "objc2-core-services")]
462 pub fn GetIconRefVariant(
463 in_icon_ref: IconRef,
464 in_variant: OSType,
465 out_transform: *mut IconTransformType,
466 ) -> IconRef;
467}