objc2_application_services/generated/PrintCore/
PMDefinitions.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::cell::UnsafeCell;
4use core::ffi::*;
5use core::marker::{PhantomData, PhantomPinned};
6#[cfg(feature = "objc2")]
7use objc2::__framework_prelude::*;
8
9use crate::*;
10
11/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmduplexdefault?language=objc)
12pub const kPMDuplexDefault: c_uint = kPMDuplexNone;
13/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmdestinationtypedefault?language=objc)
14pub const kPMDestinationTypeDefault: c_uint = kPMDestinationPrinter;
15/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmcolorspacemodelcount?language=objc)
16pub const kPMColorSpaceModelCount: c_uint = 4;
17/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmobject?language=objc)
18pub type PMObject = *const c_void;
19
20/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/opaquepmprintsettings?language=objc)
21#[repr(C)]
22#[derive(Debug)]
23pub struct OpaquePMPrintSettings {
24    inner: [u8; 0],
25    _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
26}
27
28#[cfg(feature = "objc2")]
29unsafe impl RefEncode for OpaquePMPrintSettings {
30    const ENCODING_REF: Encoding =
31        Encoding::Pointer(&Encoding::Struct("OpaquePMPrintSettings", &[]));
32}
33
34/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmprintsettings?language=objc)
35pub type PMPrintSettings = *mut OpaquePMPrintSettings;
36
37/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/opaquepmpageformat?language=objc)
38#[repr(C)]
39#[derive(Debug)]
40pub struct OpaquePMPageFormat {
41    inner: [u8; 0],
42    _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
43}
44
45#[cfg(feature = "objc2")]
46unsafe impl RefEncode for OpaquePMPageFormat {
47    const ENCODING_REF: Encoding = Encoding::Pointer(&Encoding::Struct("OpaquePMPageFormat", &[]));
48}
49
50/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmpageformat?language=objc)
51pub type PMPageFormat = *mut OpaquePMPageFormat;
52
53/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/opaquepmprintsession?language=objc)
54#[repr(C)]
55#[derive(Debug)]
56pub struct OpaquePMPrintSession {
57    inner: [u8; 0],
58    _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
59}
60
61#[cfg(feature = "objc2")]
62unsafe impl RefEncode for OpaquePMPrintSession {
63    const ENCODING_REF: Encoding =
64        Encoding::Pointer(&Encoding::Struct("OpaquePMPrintSession", &[]));
65}
66
67/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmprintsession?language=objc)
68pub type PMPrintSession = *mut OpaquePMPrintSession;
69
70/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/opaquepmprinter?language=objc)
71#[repr(C)]
72#[derive(Debug)]
73pub struct OpaquePMPrinter {
74    inner: [u8; 0],
75    _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
76}
77
78#[cfg(feature = "objc2")]
79unsafe impl RefEncode for OpaquePMPrinter {
80    const ENCODING_REF: Encoding = Encoding::Pointer(&Encoding::Struct("OpaquePMPrinter", &[]));
81}
82
83/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmprinter?language=objc)
84pub type PMPrinter = *mut OpaquePMPrinter;
85
86/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/opaquepmserver?language=objc)
87#[repr(C)]
88#[derive(Debug)]
89pub struct OpaquePMServer {
90    inner: [u8; 0],
91    _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
92}
93
94#[cfg(feature = "objc2")]
95unsafe impl RefEncode for OpaquePMServer {
96    const ENCODING_REF: Encoding = Encoding::Pointer(&Encoding::Struct("OpaquePMServer", &[]));
97}
98
99/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmserver?language=objc)
100pub type PMServer = *mut OpaquePMServer;
101
102/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/opaquepmpreset?language=objc)
103#[repr(C)]
104#[derive(Debug)]
105pub struct OpaquePMPreset {
106    inner: [u8; 0],
107    _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
108}
109
110#[cfg(feature = "objc2")]
111unsafe impl RefEncode for OpaquePMPreset {
112    const ENCODING_REF: Encoding = Encoding::Pointer(&Encoding::Struct("OpaquePMPreset", &[]));
113}
114
115/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmpreset?language=objc)
116pub type PMPreset = *mut OpaquePMPreset;
117
118/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/opaquepmpaper?language=objc)
119#[repr(C)]
120#[derive(Debug)]
121pub struct OpaquePMPaper {
122    inner: [u8; 0],
123    _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
124}
125
126#[cfg(feature = "objc2")]
127unsafe impl RefEncode for OpaquePMPaper {
128    const ENCODING_REF: Encoding = Encoding::Pointer(&Encoding::Struct("OpaquePMPaper", &[]));
129}
130
131/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmpaper?language=objc)
132pub type PMPaper = *mut OpaquePMPaper;
133
134/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmcancel?language=objc)
135pub const kPMCancel: c_uint = 0x0080;
136
137/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmdestinationtype?language=objc)
138pub type PMDestinationType = u16;
139
140/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmdestinationinvalid?language=objc)
141pub const kPMDestinationInvalid: c_uint = 0;
142/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmdestinationprinter?language=objc)
143pub const kPMDestinationPrinter: c_uint = 1;
144/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmdestinationfile?language=objc)
145pub const kPMDestinationFile: c_uint = 2;
146/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmdestinationfax?language=objc)
147pub const kPMDestinationFax: c_uint = 3;
148/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmdestinationpreview?language=objc)
149pub const kPMDestinationPreview: c_uint = 4;
150/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmdestinationprocesspdf?language=objc)
151pub const kPMDestinationProcessPDF: c_uint = 5;
152
153/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmorientation?language=objc)
154pub type PMOrientation = u16;
155
156/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmportrait?language=objc)
157pub const kPMPortrait: c_uint = 1;
158/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmlandscape?language=objc)
159pub const kPMLandscape: c_uint = 2;
160/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmreverseportrait?language=objc)
161pub const kPMReversePortrait: c_uint = 3;
162/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmreverselandscape?language=objc)
163pub const kPMReverseLandscape: c_uint = 4;
164
165/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmprinterstate?language=objc)
166pub type PMPrinterState = u16;
167
168/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmprinteridle?language=objc)
169pub const kPMPrinterIdle: c_uint = 3;
170/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmprinterprocessing?language=objc)
171pub const kPMPrinterProcessing: c_uint = 4;
172/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmprinterstopped?language=objc)
173pub const kPMPrinterStopped: c_uint = 5;
174
175/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmcolorspacemodel?language=objc)
176pub type PMColorSpaceModel = u32;
177
178/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmunknowncolorspacemodel?language=objc)
179pub const kPMUnknownColorSpaceModel: c_uint = 0;
180/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmgraycolorspacemodel?language=objc)
181pub const kPMGrayColorSpaceModel: c_uint = 1;
182/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmrgbcolorspacemodel?language=objc)
183pub const kPMRGBColorSpaceModel: c_uint = 2;
184/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmcmykcolorspacemodel?language=objc)
185pub const kPMCMYKColorSpaceModel: c_uint = 3;
186/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmdevncolorspacemodel?language=objc)
187pub const kPMDevNColorSpaceModel: c_uint = 4;
188
189/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmqualitymode?language=objc)
190pub type PMQualityMode = u32;
191
192/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmqualitylowest?language=objc)
193pub const kPMQualityLowest: c_uint = 0x0000;
194/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmqualityinksaver?language=objc)
195pub const kPMQualityInkSaver: c_uint = 0x0001;
196/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmqualitydraft?language=objc)
197pub const kPMQualityDraft: c_uint = 0x0004;
198/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmqualitynormal?language=objc)
199pub const kPMQualityNormal: c_uint = 0x0008;
200/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmqualityphoto?language=objc)
201pub const kPMQualityPhoto: c_uint = 0x000B;
202/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmqualitybest?language=objc)
203pub const kPMQualityBest: c_uint = 0x000D;
204/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmqualityhighest?language=objc)
205pub const kPMQualityHighest: c_uint = 0x000F;
206
207/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmpapertype?language=objc)
208pub type PMPaperType = u32;
209
210/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmpapertypeunknown?language=objc)
211pub const kPMPaperTypeUnknown: c_uint = 0x0000;
212/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmpapertypeplain?language=objc)
213pub const kPMPaperTypePlain: c_uint = 0x0001;
214/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmpapertypecoated?language=objc)
215pub const kPMPaperTypeCoated: c_uint = 0x0002;
216/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmpapertypepremium?language=objc)
217pub const kPMPaperTypePremium: c_uint = 0x0003;
218/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmpapertypeglossy?language=objc)
219pub const kPMPaperTypeGlossy: c_uint = 0x0004;
220/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmpapertypetransparency?language=objc)
221pub const kPMPaperTypeTransparency: c_uint = 0x0005;
222/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmpapertypetshirt?language=objc)
223pub const kPMPaperTypeTShirt: c_uint = 0x0006;
224
225/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmscalingalignment?language=objc)
226pub type PMScalingAlignment = u16;
227
228/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmscalingpintopleft?language=objc)
229pub const kPMScalingPinTopLeft: c_uint = 1;
230/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmscalingpintopright?language=objc)
231pub const kPMScalingPinTopRight: c_uint = 2;
232/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmscalingpinbottomleft?language=objc)
233pub const kPMScalingPinBottomLeft: c_uint = 3;
234/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmscalingpinbottomright?language=objc)
235pub const kPMScalingPinBottomRight: c_uint = 4;
236/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmscalingcenteronpaper?language=objc)
237pub const kPMScalingCenterOnPaper: c_uint = 5;
238/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmscalingcenteronimgarea?language=objc)
239pub const kPMScalingCenterOnImgArea: c_uint = 6;
240
241/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmduplexmode?language=objc)
242pub type PMDuplexMode = u32;
243
244/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmduplexnone?language=objc)
245pub const kPMDuplexNone: c_uint = 0x0001;
246/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmduplexnotumble?language=objc)
247pub const kPMDuplexNoTumble: c_uint = 0x0002;
248/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmduplextumble?language=objc)
249pub const kPMDuplexTumble: c_uint = 0x0003;
250/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmsimplextumble?language=objc)
251pub const kPMSimplexTumble: c_uint = 0x0004;
252
253/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmlayoutdirection?language=objc)
254pub type PMLayoutDirection = u16;
255
256/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmlayoutleftrighttopbottom?language=objc)
257pub const kPMLayoutLeftRightTopBottom: c_uint = 1;
258/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmlayoutleftrightbottomtop?language=objc)
259pub const kPMLayoutLeftRightBottomTop: c_uint = 2;
260/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmlayoutrightlefttopbottom?language=objc)
261pub const kPMLayoutRightLeftTopBottom: c_uint = 3;
262/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmlayoutrightleftbottomtop?language=objc)
263pub const kPMLayoutRightLeftBottomTop: c_uint = 4;
264/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmlayouttopbottomleftright?language=objc)
265pub const kPMLayoutTopBottomLeftRight: c_uint = 5;
266/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmlayouttopbottomrightleft?language=objc)
267pub const kPMLayoutTopBottomRightLeft: c_uint = 6;
268/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmlayoutbottomtopleftright?language=objc)
269pub const kPMLayoutBottomTopLeftRight: c_uint = 7;
270/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmlayoutbottomtoprightleft?language=objc)
271pub const kPMLayoutBottomTopRightLeft: c_uint = 8;
272
273/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmbordertype?language=objc)
274pub type PMBorderType = u16;
275
276/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmbordersinglehairline?language=objc)
277pub const kPMBorderSingleHairline: c_uint = 1;
278/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmborderdoublehairline?language=objc)
279pub const kPMBorderDoubleHairline: c_uint = 2;
280/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmbordersinglethickline?language=objc)
281pub const kPMBorderSingleThickline: c_uint = 3;
282/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmborderdoublethickline?language=objc)
283pub const kPMBorderDoubleThickline: c_uint = 4;
284
285/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmprintdialogoptionflags?language=objc)
286pub type PMPrintDialogOptionFlags = OptionBits;
287
288/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmhideinlineitems?language=objc)
289pub const kPMHideInlineItems: c_uint = 0 << 0;
290/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmshowdefaultinlineitems?language=objc)
291pub const kPMShowDefaultInlineItems: c_uint = 1 << 15;
292/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmshowinlinecopies?language=objc)
293pub const kPMShowInlineCopies: c_uint = 1 << 0;
294/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmshowinlinepagerange?language=objc)
295pub const kPMShowInlinePageRange: c_uint = 1 << 1;
296/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmshowinlinepagerangewithselection?language=objc)
297pub const kPMShowInlinePageRangeWithSelection: c_uint = 1 << 6;
298/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmshowinlinepapersize?language=objc)
299pub const kPMShowInlinePaperSize: c_uint = 1 << 2;
300/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmshowinlineorientation?language=objc)
301pub const kPMShowInlineOrientation: c_uint = 1 << 3;
302/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmshowinlinescale?language=objc)
303pub const kPMShowInlineScale: c_uint = 1 << 7;
304/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmshowpageattributespde?language=objc)
305pub const kPMShowPageAttributesPDE: c_uint = 1 << 8;
306
307/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmppddomain?language=objc)
308pub type PMPPDDomain = u16;
309
310/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kallppddomains?language=objc)
311pub const kAllPPDDomains: c_uint = 1;
312/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/ksystemppddomain?language=objc)
313pub const kSystemPPDDomain: c_uint = 2;
314/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/klocalppddomain?language=objc)
315pub const kLocalPPDDomain: c_uint = 3;
316/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/knetworkppddomain?language=objc)
317pub const kNetworkPPDDomain: c_uint = 4;
318/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kuserppddomain?language=objc)
319pub const kUserPPDDomain: c_uint = 5;
320/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kcupsppddomain?language=objc)
321pub const kCUPSPPDDomain: c_uint = 6;
322
323/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmnoerror?language=objc)
324pub const kPMNoError: c_int = 0;
325/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmgeneralerror?language=objc)
326pub const kPMGeneralError: c_int = -30870;
327/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmoutofscope?language=objc)
328pub const kPMOutOfScope: c_int = -30871;
329/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpminvalidparameter?language=objc)
330pub const kPMInvalidParameter: c_int = -50;
331/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmnodefaultprinter?language=objc)
332pub const kPMNoDefaultPrinter: c_int = -30872;
333/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmnotimplemented?language=objc)
334pub const kPMNotImplemented: c_int = -30873;
335/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmnosuchentry?language=objc)
336pub const kPMNoSuchEntry: c_int = -30874;
337/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpminvalidprintsettings?language=objc)
338pub const kPMInvalidPrintSettings: c_int = -30875;
339/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpminvalidpageformat?language=objc)
340pub const kPMInvalidPageFormat: c_int = -30876;
341/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmvalueoutofrange?language=objc)
342pub const kPMValueOutOfRange: c_int = -30877;
343
344/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpminvalidprintsession?language=objc)
345pub const kPMInvalidPrintSession: c_int = -30879;
346/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpminvalidprinter?language=objc)
347pub const kPMInvalidPrinter: c_int = -30880;
348/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmobjectinuse?language=objc)
349pub const kPMObjectInUse: c_int = -30881;
350/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpminvalidpreset?language=objc)
351pub const kPMInvalidPreset: c_int = -30899;
352
353/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmprintallpages?language=objc)
354pub const kPMPrintAllPages: c_int = -1;
355
356/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/kpmunlocked?language=objc)
357pub const kPMUnlocked: c_uint = 0;
358
359/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmrect?language=objc)
360#[repr(C)]
361#[derive(Clone, Copy, Debug, PartialEq)]
362pub struct PMRect {
363    pub top: c_double,
364    pub left: c_double,
365    pub bottom: c_double,
366    pub right: c_double,
367}
368
369#[cfg(feature = "objc2")]
370unsafe impl Encode for PMRect {
371    const ENCODING: Encoding = Encoding::Struct(
372        "PMRect",
373        &[
374            <c_double>::ENCODING,
375            <c_double>::ENCODING,
376            <c_double>::ENCODING,
377            <c_double>::ENCODING,
378        ],
379    );
380}
381
382#[cfg(feature = "objc2")]
383unsafe impl RefEncode for PMRect {
384    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
385}
386
387/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmresolution?language=objc)
388#[repr(C)]
389#[derive(Clone, Copy, Debug, PartialEq)]
390pub struct PMResolution {
391    pub hRes: c_double,
392    pub vRes: c_double,
393}
394
395#[cfg(feature = "objc2")]
396unsafe impl Encode for PMResolution {
397    const ENCODING: Encoding = Encoding::Struct(
398        "PMResolution",
399        &[<c_double>::ENCODING, <c_double>::ENCODING],
400    );
401}
402
403#[cfg(feature = "objc2")]
404unsafe impl RefEncode for PMResolution {
405    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
406}
407
408/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmlanguageinfo?language=objc)
409#[repr(C)]
410#[derive(Clone, Copy, Debug, PartialEq)]
411pub struct PMLanguageInfo {
412    pub level: Str32,
413    pub version: Str32,
414    pub release: Str32,
415}
416
417#[cfg(feature = "objc2")]
418unsafe impl Encode for PMLanguageInfo {
419    const ENCODING: Encoding = Encoding::Struct(
420        "PMLanguageInfo",
421        &[<Str32>::ENCODING, <Str32>::ENCODING, <Str32>::ENCODING],
422    );
423}
424
425#[cfg(feature = "objc2")]
426unsafe impl RefEncode for PMLanguageInfo {
427    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
428}
429
430/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmpapermargins?language=objc)
431pub type PMPaperMargins = PMRect;
432
433/// [Apple's documentation](https://developer.apple.com/documentation/applicationservices/pmdataformat?language=objc)
434#[repr(transparent)]
435#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
436pub struct PMDataFormat(pub c_uint);
437impl PMDataFormat {
438    #[doc(alias = "kPMDataFormatXMLDefault")]
439    pub const XMLDefault: Self = Self(0);
440    #[doc(alias = "kPMDataFormatXMLMinimal")]
441    pub const XMLMinimal: Self = Self(1);
442    #[doc(alias = "kPMDataFormatXMLCompressed")]
443    pub const XMLCompressed: Self = Self(2);
444}
445
446#[cfg(feature = "objc2")]
447unsafe impl Encode for PMDataFormat {
448    const ENCODING: Encoding = c_uint::ENCODING;
449}
450
451#[cfg(feature = "objc2")]
452unsafe impl RefEncode for PMDataFormat {
453    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
454}