objc2_quick_look/generated/
QLThumbnail.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};
6use core::ptr::NonNull;
7#[cfg(feature = "dispatch2")]
8use dispatch2::*;
9#[cfg(feature = "objc2")]
10use objc2::__framework_prelude::*;
11use objc2_core_foundation::*;
12#[cfg(feature = "objc2-core-graphics")]
13use objc2_core_graphics::*;
14
15use crate::*;
16
17/// [Apple's documentation](https://developer.apple.com/documentation/quicklook/qlthumbnail?language=objc)
18#[repr(C)]
19pub struct QLThumbnail {
20    inner: [u8; 0],
21    _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
22}
23
24cf_type!(
25    unsafe impl QLThumbnail {}
26);
27#[cfg(feature = "objc2")]
28cf_objc2_type!(
29    unsafe impl RefEncode<"__QLThumbnail"> for QLThumbnail {}
30);
31
32unsafe impl ConcreteType for QLThumbnail {
33    #[doc(alias = "QLThumbnailGetTypeID")]
34    #[inline]
35    fn type_id() -> CFTypeID {
36        extern "C-unwind" {
37            fn QLThumbnailGetTypeID() -> CFTypeID;
38        }
39        unsafe { QLThumbnailGetTypeID() }
40    }
41}
42
43impl QLThumbnail {
44    #[doc(alias = "QLThumbnailCreate")]
45    #[deprecated = "Use QLThumbnailGenerationRequest in QuickLookThumbnailing to generate thumbnails."]
46    #[inline]
47    pub unsafe fn new(
48        allocator: Option<&CFAllocator>,
49        url: Option<&CFURL>,
50        max_thumbnail_size: CGSize,
51        options: Option<&CFDictionary>,
52    ) -> Option<CFRetained<QLThumbnail>> {
53        extern "C-unwind" {
54            fn QLThumbnailCreate(
55                allocator: Option<&CFAllocator>,
56                url: Option<&CFURL>,
57                max_thumbnail_size: CGSize,
58                options: Option<&CFDictionary>,
59            ) -> Option<NonNull<QLThumbnail>>;
60        }
61        let ret = unsafe { QLThumbnailCreate(allocator, url, max_thumbnail_size, options) };
62        ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
63    }
64
65    #[doc(alias = "QLThumbnailCopyDocumentURL")]
66    #[deprecated = "Use QuickLookThumbnailing for thumbnails."]
67    #[inline]
68    pub unsafe fn document_url(self: &QLThumbnail) -> Option<CFRetained<CFURL>> {
69        extern "C-unwind" {
70            fn QLThumbnailCopyDocumentURL(thumbnail: &QLThumbnail) -> Option<NonNull<CFURL>>;
71        }
72        let ret = unsafe { QLThumbnailCopyDocumentURL(self) };
73        ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
74    }
75
76    #[doc(alias = "QLThumbnailGetMaximumSize")]
77    #[deprecated = "Use QLThumbnailGenerationRequest in QuickLookThumbnailing."]
78    #[inline]
79    pub unsafe fn maximum_size(self: &QLThumbnail) -> CGSize {
80        extern "C-unwind" {
81            fn QLThumbnailGetMaximumSize(thumbnail: &QLThumbnail) -> CGSize;
82        }
83        unsafe { QLThumbnailGetMaximumSize(self) }
84    }
85
86    #[doc(alias = "QLThumbnailCopyOptions")]
87    #[deprecated = "Use QuickLookThumbnailing for thumbnails."]
88    #[inline]
89    pub unsafe fn options(self: &QLThumbnail) -> Option<CFRetained<CFDictionary>> {
90        extern "C-unwind" {
91            fn QLThumbnailCopyOptions(thumbnail: &QLThumbnail) -> Option<NonNull<CFDictionary>>;
92        }
93        let ret = unsafe { QLThumbnailCopyOptions(self) };
94        ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
95    }
96
97    #[doc(alias = "QLThumbnailDispatchAsync")]
98    #[cfg(feature = "dispatch2")]
99    #[deprecated = "Use QLThumbnailGenerator in QuickLookThumbnailing to generate thumbnails."]
100    #[inline]
101    pub unsafe fn dispatch_async(
102        self: &QLThumbnail,
103        queue: Option<&DispatchQueue>,
104        completion: dispatch_block_t,
105    ) {
106        extern "C-unwind" {
107            fn QLThumbnailDispatchAsync(
108                thumbnail: &QLThumbnail,
109                queue: Option<&DispatchQueue>,
110                completion: dispatch_block_t,
111            );
112        }
113        unsafe { QLThumbnailDispatchAsync(self, queue, completion) }
114    }
115
116    #[doc(alias = "QLThumbnailCopyImage")]
117    #[cfg(feature = "objc2-core-graphics")]
118    #[deprecated = "Use QuickLookThumbnailing for thumbnails."]
119    #[inline]
120    pub unsafe fn image(self: &QLThumbnail) -> Option<CFRetained<CGImage>> {
121        extern "C-unwind" {
122            fn QLThumbnailCopyImage(thumbnail: &QLThumbnail) -> Option<NonNull<CGImage>>;
123        }
124        let ret = unsafe { QLThumbnailCopyImage(self) };
125        ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
126    }
127
128    #[doc(alias = "QLThumbnailGetContentRect")]
129    #[deprecated = "Use QuickLookThumbnailing for thumbnails."]
130    #[inline]
131    pub unsafe fn content_rect(self: &QLThumbnail) -> CGRect {
132        extern "C-unwind" {
133            fn QLThumbnailGetContentRect(thumbnail: &QLThumbnail) -> CGRect;
134        }
135        unsafe { QLThumbnailGetContentRect(self) }
136    }
137
138    #[doc(alias = "QLThumbnailCancel")]
139    #[deprecated = "Use [QLThumbnailGenerator cancelRequest:] in QuickLookThumbnailing."]
140    #[inline]
141    pub unsafe fn cancel(self: &QLThumbnail) {
142        extern "C-unwind" {
143            fn QLThumbnailCancel(thumbnail: &QLThumbnail);
144        }
145        unsafe { QLThumbnailCancel(self) }
146    }
147
148    #[doc(alias = "QLThumbnailIsCancelled")]
149    #[deprecated = "Use QuickLookThumbnailing for thumbnails."]
150    #[inline]
151    pub unsafe fn is_cancelled(self: &QLThumbnail) -> bool {
152        extern "C-unwind" {
153            fn QLThumbnailIsCancelled(thumbnail: &QLThumbnail) -> Boolean;
154        }
155        let ret = unsafe { QLThumbnailIsCancelled(self) };
156        ret != 0
157    }
158}
159
160#[deprecated = "renamed to `QLThumbnail::new`"]
161#[inline]
162pub unsafe extern "C-unwind" fn QLThumbnailCreate(
163    allocator: Option<&CFAllocator>,
164    url: Option<&CFURL>,
165    max_thumbnail_size: CGSize,
166    options: Option<&CFDictionary>,
167) -> Option<CFRetained<QLThumbnail>> {
168    extern "C-unwind" {
169        fn QLThumbnailCreate(
170            allocator: Option<&CFAllocator>,
171            url: Option<&CFURL>,
172            max_thumbnail_size: CGSize,
173            options: Option<&CFDictionary>,
174        ) -> Option<NonNull<QLThumbnail>>;
175    }
176    let ret = unsafe { QLThumbnailCreate(allocator, url, max_thumbnail_size, options) };
177    ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
178}
179
180#[deprecated = "renamed to `QLThumbnail::document_url`"]
181#[inline]
182pub unsafe extern "C-unwind" fn QLThumbnailCopyDocumentURL(
183    thumbnail: &QLThumbnail,
184) -> Option<CFRetained<CFURL>> {
185    extern "C-unwind" {
186        fn QLThumbnailCopyDocumentURL(thumbnail: &QLThumbnail) -> Option<NonNull<CFURL>>;
187    }
188    let ret = unsafe { QLThumbnailCopyDocumentURL(thumbnail) };
189    ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
190}
191
192extern "C-unwind" {
193    #[deprecated = "renamed to `QLThumbnail::maximum_size`"]
194    pub fn QLThumbnailGetMaximumSize(thumbnail: &QLThumbnail) -> CGSize;
195}
196
197#[deprecated = "renamed to `QLThumbnail::options`"]
198#[inline]
199pub unsafe extern "C-unwind" fn QLThumbnailCopyOptions(
200    thumbnail: &QLThumbnail,
201) -> Option<CFRetained<CFDictionary>> {
202    extern "C-unwind" {
203        fn QLThumbnailCopyOptions(thumbnail: &QLThumbnail) -> Option<NonNull<CFDictionary>>;
204    }
205    let ret = unsafe { QLThumbnailCopyOptions(thumbnail) };
206    ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
207}
208
209extern "C-unwind" {
210    #[cfg(feature = "dispatch2")]
211    #[deprecated = "renamed to `QLThumbnail::dispatch_async`"]
212    pub fn QLThumbnailDispatchAsync(
213        thumbnail: &QLThumbnail,
214        queue: Option<&DispatchQueue>,
215        completion: dispatch_block_t,
216    );
217}
218
219#[cfg(feature = "objc2-core-graphics")]
220#[deprecated = "renamed to `QLThumbnail::image`"]
221#[inline]
222pub unsafe extern "C-unwind" fn QLThumbnailCopyImage(
223    thumbnail: &QLThumbnail,
224) -> Option<CFRetained<CGImage>> {
225    extern "C-unwind" {
226        fn QLThumbnailCopyImage(thumbnail: &QLThumbnail) -> Option<NonNull<CGImage>>;
227    }
228    let ret = unsafe { QLThumbnailCopyImage(thumbnail) };
229    ret.map(|ret| unsafe { CFRetained::from_raw(ret) })
230}
231
232extern "C-unwind" {
233    #[deprecated = "renamed to `QLThumbnail::content_rect`"]
234    pub fn QLThumbnailGetContentRect(thumbnail: &QLThumbnail) -> CGRect;
235}
236
237extern "C-unwind" {
238    #[deprecated = "renamed to `QLThumbnail::cancel`"]
239    pub fn QLThumbnailCancel(thumbnail: &QLThumbnail);
240}
241
242#[deprecated = "renamed to `QLThumbnail::is_cancelled`"]
243#[inline]
244pub unsafe extern "C-unwind" fn QLThumbnailIsCancelled(thumbnail: &QLThumbnail) -> bool {
245    extern "C-unwind" {
246        fn QLThumbnailIsCancelled(thumbnail: &QLThumbnail) -> Boolean;
247    }
248    let ret = unsafe { QLThumbnailIsCancelled(thumbnail) };
249    ret != 0
250}