1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2_core_foundation::*;
6#[cfg(feature = "objc2-core-graphics")]
7use objc2_core_graphics::*;
8
9use crate::*;
10
11extern "C-unwind" {
12 #[cfg(feature = "PMDefinitions")]
16 pub fn PMRetain(object: PMObject) -> OSStatus;
17}
18
19extern "C-unwind" {
20 #[cfg(feature = "PMDefinitions")]
24 pub fn PMRelease(object: PMObject) -> OSStatus;
25}
26
27extern "C-unwind" {
28 #[cfg(feature = "PMDefinitions")]
32 pub fn PMCreateSession(print_session: NonNull<PMPrintSession>) -> OSStatus;
33}
34
35extern "C-unwind" {
36 #[cfg(feature = "PMDefinitions")]
40 pub fn PMSessionError(print_session: PMPrintSession) -> OSStatus;
41}
42
43extern "C-unwind" {
44 #[cfg(feature = "PMDefinitions")]
48 pub fn PMSessionSetError(print_session: PMPrintSession, print_error: OSStatus) -> OSStatus;
49}
50
51extern "C-unwind" {
52 #[cfg(feature = "PMDefinitions")]
58 pub fn PMSessionBeginCGDocumentNoDialog(
59 print_session: PMPrintSession,
60 print_settings: PMPrintSettings,
61 page_format: PMPageFormat,
62 ) -> OSStatus;
63}
64
65extern "C-unwind" {
66 #[cfg(feature = "PMDefinitions")]
70 pub fn PMSessionEndDocumentNoDialog(print_session: PMPrintSession) -> OSStatus;
71}
72
73extern "C-unwind" {
74 #[cfg(feature = "PMDefinitions")]
80 pub fn PMSessionBeginPageNoDialog(
81 print_session: PMPrintSession,
82 page_format: PMPageFormat,
83 page_frame: *const PMRect,
84 ) -> OSStatus;
85}
86
87extern "C-unwind" {
88 #[cfg(feature = "PMDefinitions")]
92 pub fn PMSessionEndPageNoDialog(print_session: PMPrintSession) -> OSStatus;
93}
94
95extern "C-unwind" {
96 #[cfg(all(feature = "PMDefinitions", feature = "objc2-core-graphics"))]
101 pub fn PMSessionGetCGGraphicsContext(
102 print_session: PMPrintSession,
103 context: NonNull<*mut CGContext>,
104 ) -> OSStatus;
105}
106
107extern "C-unwind" {
108 #[cfg(feature = "PMDefinitions")]
114 pub fn PMSessionGetDestinationType(
115 print_session: PMPrintSession,
116 print_settings: PMPrintSettings,
117 dest_type_p: NonNull<PMDestinationType>,
118 ) -> OSStatus;
119}
120
121extern "C-unwind" {
122 #[cfg(feature = "PMDefinitions")]
128 pub fn PMSessionCopyDestinationFormat(
129 print_session: PMPrintSession,
130 print_settings: PMPrintSettings,
131 dest_format_p: NonNull<*const CFString>,
132 ) -> OSStatus;
133}
134
135extern "C-unwind" {
136 #[cfg(feature = "PMDefinitions")]
142 pub fn PMSessionCopyDestinationLocation(
143 print_session: PMPrintSession,
144 print_settings: PMPrintSettings,
145 dest_location_p: NonNull<*const CFURL>,
146 ) -> OSStatus;
147}
148
149extern "C-unwind" {
150 #[cfg(feature = "PMDefinitions")]
155 pub fn PMSessionSetDestination(
156 print_session: PMPrintSession,
157 print_settings: PMPrintSettings,
158 dest_type: PMDestinationType,
159 dest_format: Option<&CFString>,
160 dest_location: Option<&CFURL>,
161 ) -> OSStatus;
162}
163
164extern "C-unwind" {
165 #[cfg(feature = "PMDefinitions")]
170 pub fn PMSessionCopyOutputFormatList(
171 print_session: PMPrintSession,
172 dest_type: PMDestinationType,
173 document_format_p: NonNull<*const CFArray>,
174 ) -> OSStatus;
175}
176
177extern "C-unwind" {
178 #[cfg(feature = "PMDefinitions")]
184 pub fn PMSessionCreatePageFormatList(
185 print_session: PMPrintSession,
186 printer: PMPrinter,
187 page_format_list: NonNull<*const CFArray>,
188 ) -> OSStatus;
189}
190
191extern "C-unwind" {
192 #[cfg(feature = "PMDefinitions")]
199 pub fn PMSessionCreatePrinterList(
200 print_session: PMPrintSession,
201 printer_list: NonNull<*const CFArray>,
202 current_index: *mut CFIndex,
203 current_printer: *mut PMPrinter,
204 ) -> OSStatus;
205}
206
207extern "C-unwind" {
208 #[cfg(feature = "PMDefinitions")]
213 pub fn PMSessionGetCurrentPrinter(
214 print_session: PMPrintSession,
215 current_printer: NonNull<PMPrinter>,
216 ) -> OSStatus;
217}
218
219extern "C-unwind" {
220 #[cfg(feature = "PMDefinitions")]
225 pub fn PMSessionSetCurrentPMPrinter(session: PMPrintSession, printer: PMPrinter) -> OSStatus;
226}
227
228extern "C-unwind" {
229 #[cfg(feature = "PMDefinitions")]
234 pub fn PMSessionGetDataFromSession(
235 print_session: PMPrintSession,
236 key: &CFString,
237 data: NonNull<*const CFType>,
238 ) -> OSStatus;
239}
240
241extern "C-unwind" {
242 #[cfg(feature = "PMDefinitions")]
247 pub fn PMSessionSetDataInSession(
248 print_session: PMPrintSession,
249 key: &CFString,
250 data: &CFType,
251 ) -> OSStatus;
252}
253
254extern "C-unwind" {
255 #[cfg(feature = "PMDefinitions")]
259 pub fn PMCreatePageFormat(page_format: NonNull<PMPageFormat>) -> OSStatus;
260}
261
262extern "C-unwind" {
263 #[cfg(feature = "PMDefinitions")]
268 pub fn PMSessionDefaultPageFormat(
269 print_session: PMPrintSession,
270 page_format: PMPageFormat,
271 ) -> OSStatus;
272}
273
274extern "C-unwind" {
275 #[cfg(feature = "PMDefinitions")]
281 pub fn PMSessionValidatePageFormat(
282 print_session: PMPrintSession,
283 page_format: PMPageFormat,
284 changed: *mut Boolean,
285 ) -> OSStatus;
286}
287
288extern "C-unwind" {
289 #[cfg(feature = "PMDefinitions")]
294 pub fn PMCopyPageFormat(format_src: PMPageFormat, format_dest: PMPageFormat) -> OSStatus;
295}
296
297extern "C-unwind" {
298 #[cfg(feature = "PMDefinitions")]
303 pub fn PMCreatePageFormatWithPMPaper(
304 page_format: NonNull<PMPageFormat>,
305 paper: PMPaper,
306 ) -> OSStatus;
307}
308
309extern "C-unwind" {
310 #[cfg(feature = "PMDefinitions")]
315 pub fn PMPageFormatCreateDataRepresentation(
316 page_format: PMPageFormat,
317 data: NonNull<*const CFData>,
318 format: PMDataFormat,
319 ) -> OSStatus;
320}
321
322extern "C-unwind" {
323 #[cfg(feature = "PMDefinitions")]
327 pub fn PMPageFormatCreateWithDataRepresentation(
328 data: &CFData,
329 page_format: NonNull<PMPageFormat>,
330 ) -> OSStatus;
331}
332
333extern "C-unwind" {
334 #[cfg(feature = "PMDefinitions")]
339 pub fn PMGetAdjustedPageRect(page_format: PMPageFormat, page_rect: NonNull<PMRect>)
340 -> OSStatus;
341}
342
343extern "C-unwind" {
344 #[cfg(feature = "PMDefinitions")]
349 pub fn PMGetAdjustedPaperRect(
350 page_format: PMPageFormat,
351 paper_rect: NonNull<PMRect>,
352 ) -> OSStatus;
353}
354
355extern "C-unwind" {
356 #[cfg(feature = "PMDefinitions")]
361 pub fn PMGetOrientation(
362 page_format: PMPageFormat,
363 orientation: NonNull<PMOrientation>,
364 ) -> OSStatus;
365}
366
367extern "C-unwind" {
368 #[cfg(feature = "PMDefinitions")]
374 pub fn PMGetPageFormatExtendedData(
375 page_format: PMPageFormat,
376 data_id: OSType,
377 size: *mut u32,
378 extended_data: *mut c_void,
379 ) -> OSStatus;
380}
381
382extern "C-unwind" {
383 #[cfg(feature = "PMDefinitions")]
388 pub fn PMPageFormatGetPrinterID(
389 page_format: PMPageFormat,
390 printer_id: NonNull<*const CFString>,
391 ) -> OSStatus;
392}
393
394extern "C-unwind" {
395 #[cfg(feature = "PMDefinitions")]
400 pub fn PMGetScale(page_format: PMPageFormat, scale: NonNull<c_double>) -> OSStatus;
401}
402
403extern "C-unwind" {
404 #[cfg(feature = "PMDefinitions")]
409 pub fn PMGetUnadjustedPageRect(
410 page_format: PMPageFormat,
411 page_rect: NonNull<PMRect>,
412 ) -> OSStatus;
413}
414
415extern "C-unwind" {
416 #[cfg(feature = "PMDefinitions")]
421 pub fn PMGetUnadjustedPaperRect(
422 page_format: PMPageFormat,
423 paper_rect: NonNull<PMRect>,
424 ) -> OSStatus;
425}
426
427#[cfg(feature = "PMDefinitions")]
433#[inline]
434pub unsafe extern "C-unwind" fn PMSetOrientation(
435 page_format: PMPageFormat,
436 orientation: PMOrientation,
437 lock: bool,
438) -> OSStatus {
439 extern "C-unwind" {
440 fn PMSetOrientation(
441 page_format: PMPageFormat,
442 orientation: PMOrientation,
443 lock: Boolean,
444 ) -> OSStatus;
445 }
446 unsafe { PMSetOrientation(page_format, orientation, lock as _) }
447}
448
449extern "C-unwind" {
450 #[cfg(feature = "PMDefinitions")]
455 pub fn PMSetPageFormatExtendedData(
456 page_format: PMPageFormat,
457 data_id: OSType,
458 size: u32,
459 extended_data: NonNull<c_void>,
460 ) -> OSStatus;
461}
462
463extern "C-unwind" {
464 #[cfg(feature = "PMDefinitions")]
468 pub fn PMSetScale(page_format: PMPageFormat, scale: c_double) -> OSStatus;
469}
470
471extern "C-unwind" {
472 #[cfg(feature = "PMDefinitions")]
476 pub fn PMCreatePrintSettings(print_settings: NonNull<PMPrintSettings>) -> OSStatus;
477}
478
479extern "C-unwind" {
480 #[cfg(feature = "PMDefinitions")]
485 pub fn PMSessionDefaultPrintSettings(
486 print_session: PMPrintSession,
487 print_settings: PMPrintSettings,
488 ) -> OSStatus;
489}
490
491extern "C-unwind" {
492 #[cfg(feature = "PMDefinitions")]
498 pub fn PMSessionValidatePrintSettings(
499 print_session: PMPrintSession,
500 print_settings: PMPrintSettings,
501 changed: *mut Boolean,
502 ) -> OSStatus;
503}
504
505extern "C-unwind" {
506 #[cfg(feature = "PMDefinitions")]
511 pub fn PMCopyPrintSettings(
512 setting_src: PMPrintSettings,
513 setting_dest: PMPrintSettings,
514 ) -> OSStatus;
515}
516
517extern "C-unwind" {
518 #[cfg(feature = "PMDefinitions")]
523 pub fn PMPrintSettingsCreateDataRepresentation(
524 print_settings: PMPrintSettings,
525 data: NonNull<*const CFData>,
526 format: PMDataFormat,
527 ) -> OSStatus;
528}
529
530extern "C-unwind" {
531 #[cfg(feature = "PMDefinitions")]
535 pub fn PMPrintSettingsCreateWithDataRepresentation(
536 data: &CFData,
537 print_settings: NonNull<PMPrintSettings>,
538 ) -> OSStatus;
539}
540
541extern "C-unwind" {
542 #[cfg(feature = "PMDefinitions")]
547 pub fn PMGetCollate(print_settings: PMPrintSettings, collate: NonNull<Boolean>) -> OSStatus;
548}
549
550extern "C-unwind" {
551 #[cfg(feature = "PMDefinitions")]
556 pub fn PMGetCopies(print_settings: PMPrintSettings, copies: NonNull<u32>) -> OSStatus;
557}
558
559extern "C-unwind" {
560 #[cfg(feature = "PMDefinitions")]
565 pub fn PMGetDuplex(
566 print_settings: PMPrintSettings,
567 duplex_setting: NonNull<PMDuplexMode>,
568 ) -> OSStatus;
569}
570
571extern "C-unwind" {
572 #[cfg(feature = "PMDefinitions")]
577 pub fn PMGetFirstPage(print_settings: PMPrintSettings, first: NonNull<u32>) -> OSStatus;
578}
579
580extern "C-unwind" {
581 #[cfg(feature = "PMDefinitions")]
586 pub fn PMGetLastPage(print_settings: PMPrintSettings, last: NonNull<u32>) -> OSStatus;
587}
588
589extern "C-unwind" {
590 #[cfg(feature = "PMDefinitions")]
596 pub fn PMGetPageRange(
597 print_settings: PMPrintSettings,
598 min_page: NonNull<u32>,
599 max_page: NonNull<u32>,
600 ) -> OSStatus;
601}
602
603extern "C-unwind" {
604 #[cfg(feature = "PMDefinitions")]
609 pub fn PMPrintSettingsGetJobName(
610 print_settings: PMPrintSettings,
611 name: NonNull<*const CFString>,
612 ) -> OSStatus;
613}
614
615extern "C-unwind" {
616 #[cfg(feature = "PMDefinitions")]
621 pub fn PMPrintSettingsGetValue(
622 print_settings: PMPrintSettings,
623 key: &CFString,
624 value: NonNull<*const CFType>,
625 ) -> OSStatus;
626}
627
628#[cfg(feature = "PMDefinitions")]
632#[inline]
633pub unsafe extern "C-unwind" fn PMSetCollate(
634 print_settings: PMPrintSettings,
635 collate: bool,
636) -> OSStatus {
637 extern "C-unwind" {
638 fn PMSetCollate(print_settings: PMPrintSettings, collate: Boolean) -> OSStatus;
639 }
640 unsafe { PMSetCollate(print_settings, collate as _) }
641}
642
643#[cfg(feature = "PMDefinitions")]
647#[inline]
648pub unsafe extern "C-unwind" fn PMSetCopies(
649 print_settings: PMPrintSettings,
650 copies: u32,
651 lock: bool,
652) -> OSStatus {
653 extern "C-unwind" {
654 fn PMSetCopies(print_settings: PMPrintSettings, copies: u32, lock: Boolean) -> OSStatus;
655 }
656 unsafe { PMSetCopies(print_settings, copies, lock as _) }
657}
658
659extern "C-unwind" {
660 #[cfg(feature = "PMDefinitions")]
664 pub fn PMSetDuplex(print_settings: PMPrintSettings, duplex_setting: PMDuplexMode) -> OSStatus;
665}
666
667#[cfg(feature = "PMDefinitions")]
671#[inline]
672pub unsafe extern "C-unwind" fn PMSetFirstPage(
673 print_settings: PMPrintSettings,
674 first: u32,
675 lock: bool,
676) -> OSStatus {
677 extern "C-unwind" {
678 fn PMSetFirstPage(print_settings: PMPrintSettings, first: u32, lock: Boolean) -> OSStatus;
679 }
680 unsafe { PMSetFirstPage(print_settings, first, lock as _) }
681}
682
683#[cfg(feature = "PMDefinitions")]
687#[inline]
688pub unsafe extern "C-unwind" fn PMSetLastPage(
689 print_settings: PMPrintSettings,
690 last: u32,
691 lock: bool,
692) -> OSStatus {
693 extern "C-unwind" {
694 fn PMSetLastPage(print_settings: PMPrintSettings, last: u32, lock: Boolean) -> OSStatus;
695 }
696 unsafe { PMSetLastPage(print_settings, last, lock as _) }
697}
698
699extern "C-unwind" {
700 #[cfg(feature = "PMDefinitions")]
704 pub fn PMSetPageRange(
705 print_settings: PMPrintSettings,
706 min_page: u32,
707 max_page: u32,
708 ) -> OSStatus;
709}
710
711extern "C-unwind" {
712 #[cfg(feature = "PMDefinitions")]
716 pub fn PMPrintSettingsSetJobName(print_settings: PMPrintSettings, name: &CFString) -> OSStatus;
717}
718
719#[cfg(feature = "PMDefinitions")]
724#[inline]
725pub unsafe extern "C-unwind" fn PMPrintSettingsSetValue(
726 print_settings: PMPrintSettings,
727 key: &CFString,
728 value: Option<&CFType>,
729 locked: bool,
730) -> OSStatus {
731 extern "C-unwind" {
732 fn PMPrintSettingsSetValue(
733 print_settings: PMPrintSettings,
734 key: &CFString,
735 value: Option<&CFType>,
736 locked: Boolean,
737 ) -> OSStatus;
738 }
739 unsafe { PMPrintSettingsSetValue(print_settings, key, value, locked as _) }
740}
741
742extern "C-unwind" {
743 #[cfg(feature = "PMDefinitions")]
748 pub fn PMPrintSettingsCopyAsDictionary(
749 print_settings: PMPrintSettings,
750 settings_dictionary: NonNull<*const CFDictionary>,
751 ) -> OSStatus;
752}
753
754extern "C-unwind" {
755 #[cfg(feature = "PMDefinitions")]
760 pub fn PMPrintSettingsCopyKeys(
761 print_settings: PMPrintSettings,
762 settings_keys: NonNull<*const CFArray>,
763 ) -> OSStatus;
764}
765
766extern "C-unwind" {
767 #[cfg(feature = "PMDefinitions")]
787 pub fn PMCreateGenericPrinter(printer: NonNull<PMPrinter>) -> OSStatus;
788}
789
790extern "C-unwind" {
791 #[cfg(feature = "PMDefinitions")]
796 pub fn PMServerCreatePrinterList(
797 server: PMServer,
798 printer_list: NonNull<*const CFArray>,
799 ) -> OSStatus;
800}
801
802extern "C-unwind" {
803 #[cfg(feature = "PMDefinitions")]
808 pub fn PMServerLaunchPrinterBrowser(
809 server: PMServer,
810 options: Option<&CFDictionary>,
811 ) -> OSStatus;
812}
813
814extern "C-unwind" {
815 #[cfg(feature = "PMDefinitions")]
816 pub fn PMPrinterCreateFromPrinterID(printer_id: &CFString) -> PMPrinter;
817}
818
819extern "C-unwind" {
820 #[cfg(feature = "PMDefinitions")]
825 pub fn PMPrinterCopyDescriptionURL(
826 printer: PMPrinter,
827 description_type: &CFString,
828 file_url: NonNull<*const CFURL>,
829 ) -> OSStatus;
830}
831
832extern "C-unwind" {
833 #[cfg(feature = "PMDefinitions")]
838 pub fn PMPrinterCopyDeviceURI(
839 printer: PMPrinter,
840 device_uri: NonNull<*const CFURL>,
841 ) -> OSStatus;
842}
843
844extern "C-unwind" {
845 #[cfg(feature = "PMDefinitions")]
850 pub fn PMPrinterCopyHostName(
851 printer: PMPrinter,
852 host_name_p: NonNull<*const CFString>,
853 ) -> OSStatus;
854}
855
856extern "C-unwind" {
857 #[cfg(feature = "PMDefinitions")]
862 pub fn PMPrinterCopyPresets(
863 printer: PMPrinter,
864 preset_list: NonNull<*const CFArray>,
865 ) -> OSStatus;
866}
867
868extern "C-unwind" {
869 #[cfg(feature = "PMDefinitions")]
875 pub fn PMPrinterGetCommInfo(
876 printer: PMPrinter,
877 supports_control_char_range_p: *mut Boolean,
878 supports_eight_bit_p: *mut Boolean,
879 ) -> OSStatus;
880}
881
882#[cfg(feature = "PMDefinitions")]
886#[inline]
887pub unsafe extern "C-unwind" fn PMPrinterGetID(printer: PMPrinter) -> Option<CFRetained<CFString>> {
888 extern "C-unwind" {
889 fn PMPrinterGetID(printer: PMPrinter) -> Option<NonNull<CFString>>;
890 }
891 let ret = unsafe { PMPrinterGetID(printer) };
892 ret.map(|ret| unsafe { CFRetained::retain(ret) })
893}
894
895#[cfg(feature = "PMDefinitions")]
899#[inline]
900pub unsafe extern "C-unwind" fn PMPrinterGetLocation(
901 printer: PMPrinter,
902) -> Option<CFRetained<CFString>> {
903 extern "C-unwind" {
904 fn PMPrinterGetLocation(printer: PMPrinter) -> Option<NonNull<CFString>>;
905 }
906 let ret = unsafe { PMPrinterGetLocation(printer) };
907 ret.map(|ret| unsafe { CFRetained::retain(ret) })
908}
909
910extern "C-unwind" {
911 #[cfg(feature = "PMDefinitions")]
916 pub fn PMPrinterGetDriverCreator(printer: PMPrinter, creator: NonNull<OSType>) -> OSStatus;
917}
918
919extern "C-unwind" {
920 #[cfg(feature = "PMDefinitions")]
925 pub fn PMPrinterGetPrinterResolutionCount(
926 printer: PMPrinter,
927 count_p: NonNull<u32>,
928 ) -> OSStatus;
929}
930
931extern "C-unwind" {
932 #[cfg(feature = "PMDefinitions")]
937 pub fn PMPrinterGetIndexedPrinterResolution(
938 printer: PMPrinter,
939 index: u32,
940 resolution_p: NonNull<PMResolution>,
941 ) -> OSStatus;
942}
943
944extern "C-unwind" {
945 #[cfg(feature = "PMDefinitions")]
951 pub fn PMPrinterGetOutputResolution(
952 printer: PMPrinter,
953 print_settings: PMPrintSettings,
954 resolution_p: NonNull<PMResolution>,
955 ) -> OSStatus;
956}
957
958extern "C-unwind" {
959 #[cfg(feature = "PMDefinitions")]
965 pub fn PMPrinterSetOutputResolution(
966 printer: PMPrinter,
967 print_settings: PMPrintSettings,
968 resolution_p: NonNull<PMResolution>,
969 ) -> OSStatus;
970}
971
972extern "C-unwind" {
973 #[cfg(feature = "PMDefinitions")]
978 pub fn PMPrinterGetLanguageInfo(printer: PMPrinter, info: NonNull<PMLanguageInfo>) -> OSStatus;
979}
980
981extern "C-unwind" {
982 #[cfg(feature = "PMDefinitions")]
987 pub fn PMPrinterGetMakeAndModelName(
988 printer: PMPrinter,
989 make_and_model: NonNull<*const CFString>,
990 ) -> OSStatus;
991}
992
993extern "C-unwind" {
994 #[cfg(feature = "PMDefinitions")]
1000 pub fn PMPrinterGetMimeTypes(
1001 printer: PMPrinter,
1002 settings: PMPrintSettings,
1003 mime_types: NonNull<*const CFArray>,
1004 ) -> OSStatus;
1005}
1006
1007#[cfg(feature = "PMDefinitions")]
1011#[inline]
1012pub unsafe extern "C-unwind" fn PMPrinterGetName(
1013 printer: PMPrinter,
1014) -> Option<CFRetained<CFString>> {
1015 extern "C-unwind" {
1016 fn PMPrinterGetName(printer: PMPrinter) -> Option<NonNull<CFString>>;
1017 }
1018 let ret = unsafe { PMPrinterGetName(printer) };
1019 ret.map(|ret| unsafe { CFRetained::retain(ret) })
1020}
1021
1022extern "C-unwind" {
1023 #[cfg(feature = "PMDefinitions")]
1028 pub fn PMPrinterGetPaperList(
1029 printer: PMPrinter,
1030 paper_list: NonNull<*const CFArray>,
1031 ) -> OSStatus;
1032}
1033
1034extern "C-unwind" {
1035 #[cfg(feature = "PMDefinitions")]
1040 pub fn PMPrinterGetState(printer: PMPrinter, state: NonNull<PMPrinterState>) -> OSStatus;
1041}
1042
1043#[cfg(feature = "PMDefinitions")]
1047#[inline]
1048pub unsafe extern "C-unwind" fn PMPrinterIsDefault(printer: PMPrinter) -> bool {
1049 extern "C-unwind" {
1050 fn PMPrinterIsDefault(printer: PMPrinter) -> Boolean;
1051 }
1052 let ret = unsafe { PMPrinterIsDefault(printer) };
1053 ret != 0
1054}
1055
1056#[cfg(feature = "PMDefinitions")]
1060#[inline]
1061pub unsafe extern "C-unwind" fn PMPrinterIsFavorite(printer: PMPrinter) -> bool {
1062 extern "C-unwind" {
1063 fn PMPrinterIsFavorite(printer: PMPrinter) -> Boolean;
1064 }
1065 let ret = unsafe { PMPrinterIsFavorite(printer) };
1066 ret != 0
1067}
1068
1069#[cfg(feature = "PMDefinitions")]
1073#[inline]
1074pub unsafe extern "C-unwind" fn PMPrinterIsPostScriptCapable(printer: PMPrinter) -> bool {
1075 extern "C-unwind" {
1076 fn PMPrinterIsPostScriptCapable(printer: PMPrinter) -> Boolean;
1077 }
1078 let ret = unsafe { PMPrinterIsPostScriptCapable(printer) };
1079 ret != 0
1080}
1081
1082extern "C-unwind" {
1083 #[cfg(feature = "PMDefinitions")]
1101 pub fn PMPrinterIsPostScriptPrinter(
1102 printer: PMPrinter,
1103 is_ps_printer: NonNull<Boolean>,
1104 ) -> OSStatus;
1105}
1106
1107extern "C-unwind" {
1108 #[cfg(feature = "PMDefinitions")]
1113 pub fn PMPrinterIsRemote(printer: PMPrinter, is_remote_p: NonNull<Boolean>) -> OSStatus;
1114}
1115
1116extern "C-unwind" {
1117 #[cfg(feature = "PMDefinitions")]
1121 pub fn PMPrinterSetDefault(printer: PMPrinter) -> OSStatus;
1122}
1123
1124extern "C-unwind" {
1125 #[cfg(feature = "PMDefinitions")]
1130 pub fn PMPresetCopyName(preset: PMPreset, name: NonNull<*const CFString>) -> OSStatus;
1131}
1132
1133extern "C-unwind" {
1134 #[cfg(feature = "PMDefinitions")]
1140 pub fn PMPresetCreatePrintSettings(
1141 preset: PMPreset,
1142 session: PMPrintSession,
1143 print_settings: NonNull<PMPrintSettings>,
1144 ) -> OSStatus;
1145}
1146
1147extern "C-unwind" {
1148 #[cfg(feature = "PMDefinitions")]
1153 pub fn PMPresetGetAttributes(
1154 preset: PMPreset,
1155 attributes: NonNull<*const CFDictionary>,
1156 ) -> OSStatus;
1157}
1158
1159extern "C-unwind" {
1160 #[cfg(feature = "PMDefinitions")]
1165 pub fn PMGetPageFormatPaper(format: PMPageFormat, paper: NonNull<PMPaper>) -> OSStatus;
1166}
1167
1168extern "C-unwind" {
1169 #[cfg(feature = "PMDefinitions")]
1175 pub fn PMPaperCreateCustom(
1176 printer: PMPrinter,
1177 id: Option<&CFString>,
1178 name: Option<&CFString>,
1179 width: c_double,
1180 height: c_double,
1181 margins: NonNull<PMPaperMargins>,
1182 paper_p: NonNull<PMPaper>,
1183 ) -> OSStatus;
1184}
1185
1186extern "C-unwind" {
1187 #[cfg(feature = "PMDefinitions")]
1192 pub fn PMPaperGetWidth(paper: PMPaper, paper_width: NonNull<c_double>) -> OSStatus;
1193}
1194
1195extern "C-unwind" {
1196 #[cfg(feature = "PMDefinitions")]
1201 pub fn PMPaperGetHeight(paper: PMPaper, paper_height: NonNull<c_double>) -> OSStatus;
1202}
1203
1204extern "C-unwind" {
1205 #[cfg(feature = "PMDefinitions")]
1210 pub fn PMPaperGetMargins(paper: PMPaper, paper_margins: NonNull<PMPaperMargins>) -> OSStatus;
1211}
1212
1213extern "C-unwind" {
1214 #[cfg(feature = "PMDefinitions")]
1219 pub fn PMPaperGetID(paper: PMPaper, paper_id: NonNull<*const CFString>) -> OSStatus;
1220}
1221
1222extern "C-unwind" {
1223 #[cfg(feature = "PMDefinitions")]
1228 pub fn PMPaperGetPPDPaperName(paper: PMPaper, paper_name: NonNull<*const CFString>)
1229 -> OSStatus;
1230}
1231
1232extern "C-unwind" {
1233 #[cfg(feature = "PMDefinitions")]
1239 pub fn PMPaperCreateLocalizedName(
1240 paper: PMPaper,
1241 printer: PMPrinter,
1242 paper_name: NonNull<*const CFString>,
1243 ) -> OSStatus;
1244}
1245
1246extern "C-unwind" {
1247 #[cfg(feature = "PMDefinitions")]
1252 pub fn PMPaperGetPrinterID(paper: PMPaper, printer_id: NonNull<*const CFString>) -> OSStatus;
1253}
1254
1255#[cfg(feature = "PMDefinitions")]
1259#[inline]
1260pub unsafe extern "C-unwind" fn PMPaperIsCustom(paper: PMPaper) -> bool {
1261 extern "C-unwind" {
1262 fn PMPaperIsCustom(paper: PMPaper) -> Boolean;
1263 }
1264 let ret = unsafe { PMPaperIsCustom(paper) };
1265 ret != 0
1266}
1267
1268extern "C-unwind" {
1269 pub fn PMWorkflowCopyItems(workflow_items: NonNull<*const CFArray>) -> OSStatus;
1273}
1274
1275extern "C-unwind" {
1276 pub fn PMWorkflowSubmitPDFWithOptions(
1280 workflow_item: &CFURL,
1281 title: Option<&CFString>,
1282 options: *const c_char,
1283 pdf_file: &CFURL,
1284 ) -> OSStatus;
1285}
1286
1287extern "C-unwind" {
1288 #[cfg(feature = "PMDefinitions")]
1292 pub fn PMWorkflowSubmitPDFWithSettings(
1293 workflow_item: &CFURL,
1294 settings: PMPrintSettings,
1295 pdf_file: &CFURL,
1296 ) -> OSStatus;
1297}
1298
1299extern "C-unwind" {
1300 #[cfg(all(feature = "PMDefinitions", feature = "objc2-core-graphics"))]
1306 pub fn PMPrinterPrintWithProvider(
1307 printer: PMPrinter,
1308 settings: PMPrintSettings,
1309 format: PMPageFormat,
1310 mime_type: &CFString,
1311 provider: &CGDataProvider,
1312 ) -> OSStatus;
1313}
1314
1315extern "C-unwind" {
1316 #[cfg(feature = "PMDefinitions")]
1322 pub fn PMPrinterPrintWithFile(
1323 printer: PMPrinter,
1324 settings: PMPrintSettings,
1325 format: PMPageFormat,
1326 mime_type: Option<&CFString>,
1327 file_url: &CFURL,
1328 ) -> OSStatus;
1329}
1330
1331extern "C-unwind" {
1332 #[cfg(feature = "PMDefinitions")]
1338 pub fn PMPrinterWritePostScriptToURL(
1339 printer: PMPrinter,
1340 settings: PMPrintSettings,
1341 format: PMPageFormat,
1342 mime_type: Option<&CFString>,
1343 source_file_url: &CFURL,
1344 destination_file_url: &CFURL,
1345 ) -> OSStatus;
1346}
1347
1348extern "C-unwind" {
1349 #[cfg(feature = "PMDefinitions")]
1354 pub fn PMPrintSettingsToOptions(
1355 settings: PMPrintSettings,
1356 options: NonNull<*mut c_char>,
1357 ) -> OSStatus;
1358}
1359
1360extern "C-unwind" {
1361 #[cfg(feature = "PMDefinitions")]
1368 pub fn PMPrintSettingsToOptionsWithPrinterAndPageFormat(
1369 settings: PMPrintSettings,
1370 printer: PMPrinter,
1371 page_format: PMPageFormat,
1372 options: NonNull<*mut c_char>,
1373 ) -> OSStatus;
1374}
1375
1376extern "C-unwind" {
1377 #[cfg(feature = "PMDefinitions")]
1382 pub fn PMPrinterSendCommand(
1383 printer: PMPrinter,
1384 command_string: &CFString,
1385 job_title: Option<&CFString>,
1386 options: Option<&CFDictionary>,
1387 ) -> OSStatus;
1388}
1389
1390extern "C-unwind" {
1391 #[cfg(feature = "PMDefinitions")]
1396 pub fn PMPrinterCopyState(
1397 printer: PMPrinter,
1398 state_dict: NonNull<*const CFDictionary>,
1399 ) -> OSStatus;
1400}
1401
1402extern "C-unwind" {
1403 #[cfg(feature = "PMDefinitions")]
1407 pub fn PMCopyAvailablePPDs(domain: PMPPDDomain, ppds: NonNull<*const CFArray>) -> OSStatus;
1408}
1409
1410extern "C-unwind" {
1411 pub fn PMCopyLocalizedPPD(ppd: &CFURL, localized_ppd: NonNull<*const CFURL>) -> OSStatus;
1415}
1416
1417extern "C-unwind" {
1418 pub fn PMCopyPPDData(ppd: &CFURL, data: NonNull<*const CFData>) -> OSStatus;
1422}
1423
1424#[cfg(feature = "objc2-core-graphics")]
1425#[inline]
1426pub unsafe extern "C-unwind" fn PMCGImageCreateWithEPSDataProvider(
1427 eps_data_provider: Option<&CGDataProvider>,
1428 eps_preview: &CGImage,
1429) -> Option<CFRetained<CGImage>> {
1430 extern "C-unwind" {
1431 fn PMCGImageCreateWithEPSDataProvider(
1432 eps_data_provider: Option<&CGDataProvider>,
1433 eps_preview: &CGImage,
1434 ) -> Option<NonNull<CGImage>>;
1435 }
1436 let ret = unsafe { PMCGImageCreateWithEPSDataProvider(eps_data_provider, eps_preview) };
1437 ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
1438}