objc2_quick_look/generated/
QLThumbnail.rs1use 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#[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}