objc2_core_graphics/generated/
CGPDFStream.rs1use core::cell::UnsafeCell;
4use core::marker::{PhantomData, PhantomPinned};
5use core::ptr::NonNull;
6#[cfg(feature = "objc2")]
7use objc2::__framework_prelude::*;
8use objc2_core_foundation::*;
9
10use crate::*;
11
12#[repr(C)]
14#[derive(Debug)]
15pub struct CGPDFStream {
16 inner: [u8; 0],
17 _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
18}
19
20#[cfg(feature = "objc2")]
21unsafe impl RefEncode for CGPDFStream {
22 const ENCODING_REF: Encoding = Encoding::Pointer(&Encoding::Struct("CGPDFStream", &[]));
23}
24
25pub type CGPDFStreamRef = *mut CGPDFStream;
27
28#[repr(transparent)]
31#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
32pub struct CGPDFDataFormat(pub i32);
33impl CGPDFDataFormat {
34 #[doc(alias = "CGPDFDataFormatRaw")]
35 pub const Raw: Self = Self(0);
36 #[doc(alias = "CGPDFDataFormatJPEGEncoded")]
37 pub const JPEGEncoded: Self = Self(1);
38 #[doc(alias = "CGPDFDataFormatJPEG2000")]
39 pub const JPEG2000: Self = Self(2);
40}
41
42#[cfg(feature = "objc2")]
43unsafe impl Encode for CGPDFDataFormat {
44 const ENCODING: Encoding = i32::ENCODING;
45}
46
47#[cfg(feature = "objc2")]
48unsafe impl RefEncode for CGPDFDataFormat {
49 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
50}
51
52impl CGPDFStream {
53 #[doc(alias = "CGPDFStreamGetDictionary")]
57 #[cfg(feature = "CGPDFDictionary")]
58 #[inline]
59 pub unsafe fn dictionary(stream: CGPDFStreamRef) -> CGPDFDictionaryRef {
60 extern "C-unwind" {
61 fn CGPDFStreamGetDictionary(stream: CGPDFStreamRef) -> CGPDFDictionaryRef;
62 }
63 unsafe { CGPDFStreamGetDictionary(stream) }
64 }
65
66 #[doc(alias = "CGPDFStreamCopyData")]
71 #[inline]
72 pub unsafe fn data(
73 stream: CGPDFStreamRef,
74 format: *mut CGPDFDataFormat,
75 ) -> Option<CFRetained<CFData>> {
76 extern "C-unwind" {
77 fn CGPDFStreamCopyData(
78 stream: CGPDFStreamRef,
79 format: *mut CGPDFDataFormat,
80 ) -> Option<NonNull<CFData>>;
81 }
82 let ret = unsafe { CGPDFStreamCopyData(stream, format) };
83 ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
84 }
85}
86
87extern "C-unwind" {
88 #[cfg(feature = "CGPDFDictionary")]
89 #[deprecated = "renamed to `CGPDFStream::dictionary`"]
90 pub fn CGPDFStreamGetDictionary(stream: CGPDFStreamRef) -> CGPDFDictionaryRef;
91}
92
93#[deprecated = "renamed to `CGPDFStream::data`"]
94#[inline]
95pub unsafe extern "C-unwind" fn CGPDFStreamCopyData(
96 stream: CGPDFStreamRef,
97 format: *mut CGPDFDataFormat,
98) -> Option<CFRetained<CFData>> {
99 extern "C-unwind" {
100 fn CGPDFStreamCopyData(
101 stream: CGPDFStreamRef,
102 format: *mut CGPDFDataFormat,
103 ) -> Option<NonNull<CFData>>;
104 }
105 let ret = unsafe { CGPDFStreamCopyData(stream, format) };
106 ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
107}