objc2_core_graphics/generated/
CGPDFDocument.rs1use core::cell::UnsafeCell;
4use core::ffi::*;
5use core::marker::{PhantomData, PhantomPinned};
6use core::ptr::NonNull;
7#[cfg(feature = "objc2")]
8use objc2::__framework_prelude::*;
9use objc2_core_foundation::*;
10
11use crate::*;
12
13#[doc(alias = "CGPDFDocumentRef")]
15#[repr(C)]
16pub struct CGPDFDocument {
17 inner: [u8; 0],
18 _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
19}
20
21cf_type!(
22 unsafe impl CGPDFDocument {}
23);
24#[cfg(feature = "objc2")]
25cf_objc2_type!(
26 unsafe impl RefEncode<"CGPDFDocument"> for CGPDFDocument {}
27);
28
29#[repr(transparent)]
32#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
33pub struct CGPDFAccessPermissions(pub u32);
34bitflags::bitflags! {
35 impl CGPDFAccessPermissions: u32 {
36 #[doc(alias = "kCGPDFAllowsLowQualityPrinting")]
37 const AllowsLowQualityPrinting = 1<<0;
38 #[doc(alias = "kCGPDFAllowsHighQualityPrinting")]
39 const AllowsHighQualityPrinting = 1<<1;
40 #[doc(alias = "kCGPDFAllowsDocumentChanges")]
41 const AllowsDocumentChanges = 1<<2;
42 #[doc(alias = "kCGPDFAllowsDocumentAssembly")]
43 const AllowsDocumentAssembly = 1<<3;
44 #[doc(alias = "kCGPDFAllowsContentCopying")]
45 const AllowsContentCopying = 1<<4;
46 #[doc(alias = "kCGPDFAllowsContentAccessibility")]
47 const AllowsContentAccessibility = 1<<5;
48 #[doc(alias = "kCGPDFAllowsCommenting")]
49 const AllowsCommenting = 1<<6;
50 #[doc(alias = "kCGPDFAllowsFormFieldEntry")]
51 const AllowsFormFieldEntry = 1<<7;
52 }
53}
54
55#[cfg(feature = "objc2")]
56unsafe impl Encode for CGPDFAccessPermissions {
57 const ENCODING: Encoding = u32::ENCODING;
58}
59
60#[cfg(feature = "objc2")]
61unsafe impl RefEncode for CGPDFAccessPermissions {
62 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
63}
64
65extern "C" {
66 pub static kCGPDFOutlineTitle: &'static CFString;
68}
69
70extern "C" {
71 pub static kCGPDFOutlineChildren: &'static CFString;
73}
74
75extern "C" {
76 pub static kCGPDFOutlineDestination: &'static CFString;
78}
79
80extern "C" {
81 pub static kCGPDFOutlineDestinationRect: &'static CFString;
83}
84
85impl CGPDFDocument {
86 #[doc(alias = "CGPDFDocumentCreateWithProvider")]
87 #[cfg(feature = "CGDataProvider")]
88 #[inline]
89 pub fn with_provider(provider: Option<&CGDataProvider>) -> Option<CFRetained<CGPDFDocument>> {
90 extern "C-unwind" {
91 fn CGPDFDocumentCreateWithProvider(
92 provider: Option<&CGDataProvider>,
93 ) -> Option<NonNull<CGPDFDocument>>;
94 }
95 let ret = unsafe { CGPDFDocumentCreateWithProvider(provider) };
96 ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
97 }
98
99 #[doc(alias = "CGPDFDocumentCreateWithURL")]
100 #[inline]
101 pub fn with_url(url: Option<&CFURL>) -> Option<CFRetained<CGPDFDocument>> {
102 extern "C-unwind" {
103 fn CGPDFDocumentCreateWithURL(url: Option<&CFURL>) -> Option<NonNull<CGPDFDocument>>;
104 }
105 let ret = unsafe { CGPDFDocumentCreateWithURL(url) };
106 ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
107 }
108
109 #[doc(alias = "CGPDFDocumentGetVersion")]
114 #[inline]
115 pub unsafe fn version(
116 document: Option<&CGPDFDocument>,
117 major_version: NonNull<c_int>,
118 minor_version: NonNull<c_int>,
119 ) {
120 extern "C-unwind" {
121 fn CGPDFDocumentGetVersion(
122 document: Option<&CGPDFDocument>,
123 major_version: NonNull<c_int>,
124 minor_version: NonNull<c_int>,
125 );
126 }
127 unsafe { CGPDFDocumentGetVersion(document, major_version, minor_version) }
128 }
129
130 #[doc(alias = "CGPDFDocumentIsEncrypted")]
131 #[inline]
132 pub fn is_encrypted(document: Option<&CGPDFDocument>) -> bool {
133 extern "C-unwind" {
134 fn CGPDFDocumentIsEncrypted(document: Option<&CGPDFDocument>) -> bool;
135 }
136 unsafe { CGPDFDocumentIsEncrypted(document) }
137 }
138
139 #[doc(alias = "CGPDFDocumentUnlockWithPassword")]
143 #[inline]
144 pub unsafe fn unlock_with_password(
145 document: Option<&CGPDFDocument>,
146 password: NonNull<c_char>,
147 ) -> bool {
148 extern "C-unwind" {
149 fn CGPDFDocumentUnlockWithPassword(
150 document: Option<&CGPDFDocument>,
151 password: NonNull<c_char>,
152 ) -> bool;
153 }
154 unsafe { CGPDFDocumentUnlockWithPassword(document, password) }
155 }
156
157 #[doc(alias = "CGPDFDocumentIsUnlocked")]
158 #[inline]
159 pub fn is_unlocked(document: Option<&CGPDFDocument>) -> bool {
160 extern "C-unwind" {
161 fn CGPDFDocumentIsUnlocked(document: Option<&CGPDFDocument>) -> bool;
162 }
163 unsafe { CGPDFDocumentIsUnlocked(document) }
164 }
165
166 #[doc(alias = "CGPDFDocumentAllowsPrinting")]
167 #[inline]
168 pub fn allows_printing(document: Option<&CGPDFDocument>) -> bool {
169 extern "C-unwind" {
170 fn CGPDFDocumentAllowsPrinting(document: Option<&CGPDFDocument>) -> bool;
171 }
172 unsafe { CGPDFDocumentAllowsPrinting(document) }
173 }
174
175 #[doc(alias = "CGPDFDocumentAllowsCopying")]
176 #[inline]
177 pub fn allows_copying(document: Option<&CGPDFDocument>) -> bool {
178 extern "C-unwind" {
179 fn CGPDFDocumentAllowsCopying(document: Option<&CGPDFDocument>) -> bool;
180 }
181 unsafe { CGPDFDocumentAllowsCopying(document) }
182 }
183
184 #[doc(alias = "CGPDFDocumentGetNumberOfPages")]
185 #[inline]
186 pub fn number_of_pages(document: Option<&CGPDFDocument>) -> usize {
187 extern "C-unwind" {
188 fn CGPDFDocumentGetNumberOfPages(document: Option<&CGPDFDocument>) -> usize;
189 }
190 unsafe { CGPDFDocumentGetNumberOfPages(document) }
191 }
192
193 #[doc(alias = "CGPDFDocumentGetPage")]
194 #[cfg(feature = "CGPDFPage")]
195 #[inline]
196 pub fn page(
197 document: Option<&CGPDFDocument>,
198 page_number: usize,
199 ) -> Option<CFRetained<CGPDFPage>> {
200 extern "C-unwind" {
201 fn CGPDFDocumentGetPage(
202 document: Option<&CGPDFDocument>,
203 page_number: usize,
204 ) -> Option<NonNull<CGPDFPage>>;
205 }
206 let ret = unsafe { CGPDFDocumentGetPage(document, page_number) };
207 ret.map(|ret| unsafe { CFRetained::retain(ret) })
208 }
209
210 #[doc(alias = "CGPDFDocumentGetCatalog")]
211 #[cfg(feature = "CGPDFDictionary")]
212 #[inline]
213 pub fn catalog(document: Option<&CGPDFDocument>) -> CGPDFDictionaryRef {
214 extern "C-unwind" {
215 fn CGPDFDocumentGetCatalog(document: Option<&CGPDFDocument>) -> CGPDFDictionaryRef;
216 }
217 unsafe { CGPDFDocumentGetCatalog(document) }
218 }
219
220 #[doc(alias = "CGPDFDocumentGetInfo")]
221 #[cfg(feature = "CGPDFDictionary")]
222 #[inline]
223 pub fn info(document: Option<&CGPDFDocument>) -> CGPDFDictionaryRef {
224 extern "C-unwind" {
225 fn CGPDFDocumentGetInfo(document: Option<&CGPDFDocument>) -> CGPDFDictionaryRef;
226 }
227 unsafe { CGPDFDocumentGetInfo(document) }
228 }
229
230 #[doc(alias = "CGPDFDocumentGetID")]
231 #[cfg(feature = "CGPDFArray")]
232 #[inline]
233 pub fn id(document: Option<&CGPDFDocument>) -> CGPDFArrayRef {
234 extern "C-unwind" {
235 fn CGPDFDocumentGetID(document: Option<&CGPDFDocument>) -> CGPDFArrayRef;
236 }
237 unsafe { CGPDFDocumentGetID(document) }
238 }
239}
240
241unsafe impl ConcreteType for CGPDFDocument {
242 #[doc(alias = "CGPDFDocumentGetTypeID")]
243 #[inline]
244 fn type_id() -> CFTypeID {
245 extern "C-unwind" {
246 fn CGPDFDocumentGetTypeID() -> CFTypeID;
247 }
248 unsafe { CGPDFDocumentGetTypeID() }
249 }
250}
251
252impl CGPDFDocument {
253 #[doc(alias = "CGPDFDocumentGetOutline")]
254 #[inline]
255 pub fn outline(&self) -> Option<CFRetained<CFDictionary>> {
256 extern "C-unwind" {
257 fn CGPDFDocumentGetOutline(document: &CGPDFDocument) -> Option<NonNull<CFDictionary>>;
258 }
259 let ret = unsafe { CGPDFDocumentGetOutline(self) };
260 ret.map(|ret| unsafe { CFRetained::retain(ret) })
261 }
262
263 #[doc(alias = "CGPDFDocumentGetAccessPermissions")]
264 #[inline]
265 pub fn access_permissions(&self) -> CGPDFAccessPermissions {
266 extern "C-unwind" {
267 fn CGPDFDocumentGetAccessPermissions(
268 document: &CGPDFDocument,
269 ) -> CGPDFAccessPermissions;
270 }
271 unsafe { CGPDFDocumentGetAccessPermissions(self) }
272 }
273
274 #[doc(alias = "CGPDFDocumentGetMediaBox")]
275 #[deprecated = "No longer supported"]
276 #[inline]
277 pub fn media_box(document: Option<&CGPDFDocument>, page: c_int) -> CGRect {
278 extern "C-unwind" {
279 fn CGPDFDocumentGetMediaBox(document: Option<&CGPDFDocument>, page: c_int) -> CGRect;
280 }
281 unsafe { CGPDFDocumentGetMediaBox(document, page) }
282 }
283
284 #[doc(alias = "CGPDFDocumentGetCropBox")]
285 #[deprecated = "No longer supported"]
286 #[inline]
287 pub fn crop_box(document: Option<&CGPDFDocument>, page: c_int) -> CGRect {
288 extern "C-unwind" {
289 fn CGPDFDocumentGetCropBox(document: Option<&CGPDFDocument>, page: c_int) -> CGRect;
290 }
291 unsafe { CGPDFDocumentGetCropBox(document, page) }
292 }
293
294 #[doc(alias = "CGPDFDocumentGetBleedBox")]
295 #[deprecated = "No longer supported"]
296 #[inline]
297 pub fn bleed_box(document: Option<&CGPDFDocument>, page: c_int) -> CGRect {
298 extern "C-unwind" {
299 fn CGPDFDocumentGetBleedBox(document: Option<&CGPDFDocument>, page: c_int) -> CGRect;
300 }
301 unsafe { CGPDFDocumentGetBleedBox(document, page) }
302 }
303
304 #[doc(alias = "CGPDFDocumentGetTrimBox")]
305 #[deprecated = "No longer supported"]
306 #[inline]
307 pub fn trim_box(document: Option<&CGPDFDocument>, page: c_int) -> CGRect {
308 extern "C-unwind" {
309 fn CGPDFDocumentGetTrimBox(document: Option<&CGPDFDocument>, page: c_int) -> CGRect;
310 }
311 unsafe { CGPDFDocumentGetTrimBox(document, page) }
312 }
313
314 #[doc(alias = "CGPDFDocumentGetArtBox")]
315 #[deprecated = "No longer supported"]
316 #[inline]
317 pub fn art_box(document: Option<&CGPDFDocument>, page: c_int) -> CGRect {
318 extern "C-unwind" {
319 fn CGPDFDocumentGetArtBox(document: Option<&CGPDFDocument>, page: c_int) -> CGRect;
320 }
321 unsafe { CGPDFDocumentGetArtBox(document, page) }
322 }
323
324 #[doc(alias = "CGPDFDocumentGetRotationAngle")]
325 #[deprecated = "No longer supported"]
326 #[inline]
327 pub fn rotation_angle(document: Option<&CGPDFDocument>, page: c_int) -> c_int {
328 extern "C-unwind" {
329 fn CGPDFDocumentGetRotationAngle(
330 document: Option<&CGPDFDocument>,
331 page: c_int,
332 ) -> c_int;
333 }
334 unsafe { CGPDFDocumentGetRotationAngle(document, page) }
335 }
336}
337
338#[cfg(feature = "CGDataProvider")]
339#[deprecated = "renamed to `CGPDFDocument::with_provider`"]
340#[inline]
341pub extern "C-unwind" fn CGPDFDocumentCreateWithProvider(
342 provider: Option<&CGDataProvider>,
343) -> Option<CFRetained<CGPDFDocument>> {
344 extern "C-unwind" {
345 fn CGPDFDocumentCreateWithProvider(
346 provider: Option<&CGDataProvider>,
347 ) -> Option<NonNull<CGPDFDocument>>;
348 }
349 let ret = unsafe { CGPDFDocumentCreateWithProvider(provider) };
350 ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
351}
352
353#[deprecated = "renamed to `CGPDFDocument::with_url`"]
354#[inline]
355pub extern "C-unwind" fn CGPDFDocumentCreateWithURL(
356 url: Option<&CFURL>,
357) -> Option<CFRetained<CGPDFDocument>> {
358 extern "C-unwind" {
359 fn CGPDFDocumentCreateWithURL(url: Option<&CFURL>) -> Option<NonNull<CGPDFDocument>>;
360 }
361 let ret = unsafe { CGPDFDocumentCreateWithURL(url) };
362 ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
363}
364
365extern "C-unwind" {
366 #[deprecated = "renamed to `CGPDFDocument::version`"]
367 pub fn CGPDFDocumentGetVersion(
368 document: Option<&CGPDFDocument>,
369 major_version: NonNull<c_int>,
370 minor_version: NonNull<c_int>,
371 );
372}
373
374#[deprecated = "renamed to `CGPDFDocument::is_encrypted`"]
375#[inline]
376pub extern "C-unwind" fn CGPDFDocumentIsEncrypted(document: Option<&CGPDFDocument>) -> bool {
377 extern "C-unwind" {
378 fn CGPDFDocumentIsEncrypted(document: Option<&CGPDFDocument>) -> bool;
379 }
380 unsafe { CGPDFDocumentIsEncrypted(document) }
381}
382
383extern "C-unwind" {
384 #[deprecated = "renamed to `CGPDFDocument::unlock_with_password`"]
385 pub fn CGPDFDocumentUnlockWithPassword(
386 document: Option<&CGPDFDocument>,
387 password: NonNull<c_char>,
388 ) -> bool;
389}
390
391#[deprecated = "renamed to `CGPDFDocument::is_unlocked`"]
392#[inline]
393pub extern "C-unwind" fn CGPDFDocumentIsUnlocked(document: Option<&CGPDFDocument>) -> bool {
394 extern "C-unwind" {
395 fn CGPDFDocumentIsUnlocked(document: Option<&CGPDFDocument>) -> bool;
396 }
397 unsafe { CGPDFDocumentIsUnlocked(document) }
398}
399
400#[deprecated = "renamed to `CGPDFDocument::allows_printing`"]
401#[inline]
402pub extern "C-unwind" fn CGPDFDocumentAllowsPrinting(document: Option<&CGPDFDocument>) -> bool {
403 extern "C-unwind" {
404 fn CGPDFDocumentAllowsPrinting(document: Option<&CGPDFDocument>) -> bool;
405 }
406 unsafe { CGPDFDocumentAllowsPrinting(document) }
407}
408
409#[deprecated = "renamed to `CGPDFDocument::allows_copying`"]
410#[inline]
411pub extern "C-unwind" fn CGPDFDocumentAllowsCopying(document: Option<&CGPDFDocument>) -> bool {
412 extern "C-unwind" {
413 fn CGPDFDocumentAllowsCopying(document: Option<&CGPDFDocument>) -> bool;
414 }
415 unsafe { CGPDFDocumentAllowsCopying(document) }
416}
417
418#[deprecated = "renamed to `CGPDFDocument::number_of_pages`"]
419#[inline]
420pub extern "C-unwind" fn CGPDFDocumentGetNumberOfPages(document: Option<&CGPDFDocument>) -> usize {
421 extern "C-unwind" {
422 fn CGPDFDocumentGetNumberOfPages(document: Option<&CGPDFDocument>) -> usize;
423 }
424 unsafe { CGPDFDocumentGetNumberOfPages(document) }
425}
426
427#[cfg(feature = "CGPDFPage")]
428#[deprecated = "renamed to `CGPDFDocument::page`"]
429#[inline]
430pub extern "C-unwind" fn CGPDFDocumentGetPage(
431 document: Option<&CGPDFDocument>,
432 page_number: usize,
433) -> Option<CFRetained<CGPDFPage>> {
434 extern "C-unwind" {
435 fn CGPDFDocumentGetPage(
436 document: Option<&CGPDFDocument>,
437 page_number: usize,
438 ) -> Option<NonNull<CGPDFPage>>;
439 }
440 let ret = unsafe { CGPDFDocumentGetPage(document, page_number) };
441 ret.map(|ret| unsafe { CFRetained::retain(ret) })
442}
443
444#[cfg(feature = "CGPDFDictionary")]
445#[deprecated = "renamed to `CGPDFDocument::catalog`"]
446#[inline]
447pub extern "C-unwind" fn CGPDFDocumentGetCatalog(
448 document: Option<&CGPDFDocument>,
449) -> CGPDFDictionaryRef {
450 extern "C-unwind" {
451 fn CGPDFDocumentGetCatalog(document: Option<&CGPDFDocument>) -> CGPDFDictionaryRef;
452 }
453 unsafe { CGPDFDocumentGetCatalog(document) }
454}
455
456#[cfg(feature = "CGPDFDictionary")]
457#[deprecated = "renamed to `CGPDFDocument::info`"]
458#[inline]
459pub extern "C-unwind" fn CGPDFDocumentGetInfo(
460 document: Option<&CGPDFDocument>,
461) -> CGPDFDictionaryRef {
462 extern "C-unwind" {
463 fn CGPDFDocumentGetInfo(document: Option<&CGPDFDocument>) -> CGPDFDictionaryRef;
464 }
465 unsafe { CGPDFDocumentGetInfo(document) }
466}
467
468#[cfg(feature = "CGPDFArray")]
469#[deprecated = "renamed to `CGPDFDocument::id`"]
470#[inline]
471pub extern "C-unwind" fn CGPDFDocumentGetID(document: Option<&CGPDFDocument>) -> CGPDFArrayRef {
472 extern "C-unwind" {
473 fn CGPDFDocumentGetID(document: Option<&CGPDFDocument>) -> CGPDFArrayRef;
474 }
475 unsafe { CGPDFDocumentGetID(document) }
476}
477
478#[deprecated = "renamed to `CGPDFDocument::outline`"]
479#[inline]
480pub extern "C-unwind" fn CGPDFDocumentGetOutline(
481 document: &CGPDFDocument,
482) -> Option<CFRetained<CFDictionary>> {
483 extern "C-unwind" {
484 fn CGPDFDocumentGetOutline(document: &CGPDFDocument) -> Option<NonNull<CFDictionary>>;
485 }
486 let ret = unsafe { CGPDFDocumentGetOutline(document) };
487 ret.map(|ret| unsafe { CFRetained::retain(ret) })
488}
489
490#[deprecated = "renamed to `CGPDFDocument::access_permissions`"]
491#[inline]
492pub extern "C-unwind" fn CGPDFDocumentGetAccessPermissions(
493 document: &CGPDFDocument,
494) -> CGPDFAccessPermissions {
495 extern "C-unwind" {
496 fn CGPDFDocumentGetAccessPermissions(document: &CGPDFDocument) -> CGPDFAccessPermissions;
497 }
498 unsafe { CGPDFDocumentGetAccessPermissions(document) }
499}
500
501#[deprecated = "renamed to `CGPDFDocument::media_box`"]
502#[inline]
503pub extern "C-unwind" fn CGPDFDocumentGetMediaBox(
504 document: Option<&CGPDFDocument>,
505 page: c_int,
506) -> CGRect {
507 extern "C-unwind" {
508 fn CGPDFDocumentGetMediaBox(document: Option<&CGPDFDocument>, page: c_int) -> CGRect;
509 }
510 unsafe { CGPDFDocumentGetMediaBox(document, page) }
511}
512
513#[deprecated = "renamed to `CGPDFDocument::crop_box`"]
514#[inline]
515pub extern "C-unwind" fn CGPDFDocumentGetCropBox(
516 document: Option<&CGPDFDocument>,
517 page: c_int,
518) -> CGRect {
519 extern "C-unwind" {
520 fn CGPDFDocumentGetCropBox(document: Option<&CGPDFDocument>, page: c_int) -> CGRect;
521 }
522 unsafe { CGPDFDocumentGetCropBox(document, page) }
523}
524
525#[deprecated = "renamed to `CGPDFDocument::bleed_box`"]
526#[inline]
527pub extern "C-unwind" fn CGPDFDocumentGetBleedBox(
528 document: Option<&CGPDFDocument>,
529 page: c_int,
530) -> CGRect {
531 extern "C-unwind" {
532 fn CGPDFDocumentGetBleedBox(document: Option<&CGPDFDocument>, page: c_int) -> CGRect;
533 }
534 unsafe { CGPDFDocumentGetBleedBox(document, page) }
535}
536
537#[deprecated = "renamed to `CGPDFDocument::trim_box`"]
538#[inline]
539pub extern "C-unwind" fn CGPDFDocumentGetTrimBox(
540 document: Option<&CGPDFDocument>,
541 page: c_int,
542) -> CGRect {
543 extern "C-unwind" {
544 fn CGPDFDocumentGetTrimBox(document: Option<&CGPDFDocument>, page: c_int) -> CGRect;
545 }
546 unsafe { CGPDFDocumentGetTrimBox(document, page) }
547}
548
549#[deprecated = "renamed to `CGPDFDocument::art_box`"]
550#[inline]
551pub extern "C-unwind" fn CGPDFDocumentGetArtBox(
552 document: Option<&CGPDFDocument>,
553 page: c_int,
554) -> CGRect {
555 extern "C-unwind" {
556 fn CGPDFDocumentGetArtBox(document: Option<&CGPDFDocument>, page: c_int) -> CGRect;
557 }
558 unsafe { CGPDFDocumentGetArtBox(document, page) }
559}
560
561#[deprecated = "renamed to `CGPDFDocument::rotation_angle`"]
562#[inline]
563pub extern "C-unwind" fn CGPDFDocumentGetRotationAngle(
564 document: Option<&CGPDFDocument>,
565 page: c_int,
566) -> c_int {
567 extern "C-unwind" {
568 fn CGPDFDocumentGetRotationAngle(document: Option<&CGPDFDocument>, page: c_int) -> c_int;
569 }
570 unsafe { CGPDFDocumentGetRotationAngle(document, page) }
571}