objc2_app_kit/generated/
NSFontCollection.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6#[cfg(feature = "objc2-core-text")]
7#[cfg(target_vendor = "apple")]
8use objc2_core_text::*;
9use objc2_foundation::*;
10
11use crate::*;
12
13#[repr(transparent)]
16#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
17pub struct NSFontCollectionVisibility(pub NSUInteger);
18bitflags::bitflags! {
19 impl NSFontCollectionVisibility: NSUInteger {
20 #[doc(alias = "NSFontCollectionVisibilityProcess")]
21 const Process = 1<<0;
22 #[doc(alias = "NSFontCollectionVisibilityUser")]
23 const User = 1<<1;
24 #[doc(alias = "NSFontCollectionVisibilityComputer")]
25 const Computer = 1<<2;
26 }
27}
28
29unsafe impl Encode for NSFontCollectionVisibility {
30 const ENCODING: Encoding = NSUInteger::ENCODING;
31}
32
33unsafe impl RefEncode for NSFontCollectionVisibility {
34 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
35}
36
37pub type NSFontCollectionMatchingOptionKey = NSString;
40
41extern "C" {
42 pub static NSFontCollectionIncludeDisabledFontsOption:
44 &'static NSFontCollectionMatchingOptionKey;
45}
46
47extern "C" {
48 pub static NSFontCollectionRemoveDuplicatesOption: &'static NSFontCollectionMatchingOptionKey;
50}
51
52extern "C" {
53 pub static NSFontCollectionDisallowAutoActivationOption:
55 &'static NSFontCollectionMatchingOptionKey;
56}
57
58pub type NSFontCollectionName = NSString;
61
62extern_class!(
63 #[unsafe(super(NSObject))]
65 #[derive(Debug, PartialEq, Eq, Hash)]
66 pub struct NSFontCollection;
67);
68
69#[cfg(feature = "objc2-core-text")]
70#[cfg(target_vendor = "apple")]
71impl AsRef<NSFontCollection> for CTFontCollection {
72 #[inline]
73 fn as_ref(&self) -> &NSFontCollection {
74 unsafe { &*((self as *const Self).cast()) }
75 }
76}
77
78#[cfg(feature = "objc2-core-text")]
79#[cfg(target_vendor = "apple")]
80impl AsRef<CTFontCollection> for NSFontCollection {
81 #[inline]
82 fn as_ref(&self) -> &CTFontCollection {
83 unsafe { &*((self as *const Self).cast()) }
84 }
85}
86
87extern_conformance!(
88 unsafe impl NSCoding for NSFontCollection {}
89);
90
91extern_conformance!(
92 unsafe impl NSCopying for NSFontCollection {}
93);
94
95unsafe impl CopyingHelper for NSFontCollection {
96 type Result = Self;
97}
98
99extern_conformance!(
100 unsafe impl NSMutableCopying for NSFontCollection {}
101);
102
103unsafe impl MutableCopyingHelper for NSFontCollection {
104 type Result = NSMutableFontCollection;
105}
106
107extern_conformance!(
108 unsafe impl NSObjectProtocol for NSFontCollection {}
109);
110
111impl NSFontCollection {
112 extern_methods!(
113 #[cfg(feature = "NSFontDescriptor")]
114 #[unsafe(method(fontCollectionWithDescriptors:))]
115 #[unsafe(method_family = none)]
116 pub fn fontCollectionWithDescriptors(
117 query_descriptors: &NSArray<NSFontDescriptor>,
118 ) -> Retained<NSFontCollection>;
119
120 #[unsafe(method(fontCollectionWithAllAvailableDescriptors))]
121 #[unsafe(method_family = none)]
122 pub fn fontCollectionWithAllAvailableDescriptors() -> Retained<NSFontCollection>;
123
124 #[unsafe(method(fontCollectionWithLocale:))]
125 #[unsafe(method_family = none)]
126 pub fn fontCollectionWithLocale(locale: &NSLocale) -> Option<Retained<NSFontCollection>>;
127
128 #[unsafe(method(showFontCollection:withName:visibility:error:_))]
129 #[unsafe(method_family = none)]
130 pub fn showFontCollection_withName_visibility_error(
131 collection: &NSFontCollection,
132 name: &NSFontCollectionName,
133 visibility: NSFontCollectionVisibility,
134 ) -> Result<(), Retained<NSError>>;
135
136 #[unsafe(method(hideFontCollectionWithName:visibility:error:_))]
137 #[unsafe(method_family = none)]
138 pub fn hideFontCollectionWithName_visibility_error(
139 name: &NSFontCollectionName,
140 visibility: NSFontCollectionVisibility,
141 ) -> Result<(), Retained<NSError>>;
142
143 #[unsafe(method(renameFontCollectionWithName:visibility:toName:error:_))]
144 #[unsafe(method_family = none)]
145 pub fn renameFontCollectionWithName_visibility_toName_error(
146 old_name: &NSFontCollectionName,
147 visibility: NSFontCollectionVisibility,
148 new_name: &NSFontCollectionName,
149 ) -> Result<(), Retained<NSError>>;
150
151 #[unsafe(method(allFontCollectionNames))]
152 #[unsafe(method_family = none)]
153 pub fn allFontCollectionNames() -> Retained<NSArray<NSFontCollectionName>>;
154
155 #[unsafe(method(fontCollectionWithName:))]
156 #[unsafe(method_family = none)]
157 pub fn fontCollectionWithName(
158 name: &NSFontCollectionName,
159 ) -> Option<Retained<NSFontCollection>>;
160
161 #[unsafe(method(fontCollectionWithName:visibility:))]
162 #[unsafe(method_family = none)]
163 pub fn fontCollectionWithName_visibility(
164 name: &NSFontCollectionName,
165 visibility: NSFontCollectionVisibility,
166 ) -> Option<Retained<NSFontCollection>>;
167
168 #[cfg(feature = "NSFontDescriptor")]
169 #[unsafe(method(queryDescriptors))]
170 #[unsafe(method_family = none)]
171 pub fn queryDescriptors(&self) -> Option<Retained<NSArray<NSFontDescriptor>>>;
172
173 #[cfg(feature = "NSFontDescriptor")]
174 #[unsafe(method(exclusionDescriptors))]
175 #[unsafe(method_family = none)]
176 pub fn exclusionDescriptors(&self) -> Option<Retained<NSArray<NSFontDescriptor>>>;
177
178 #[cfg(feature = "NSFontDescriptor")]
179 #[unsafe(method(matchingDescriptors))]
180 #[unsafe(method_family = none)]
181 pub fn matchingDescriptors(&self) -> Option<Retained<NSArray<NSFontDescriptor>>>;
182
183 #[cfg(feature = "NSFontDescriptor")]
184 #[unsafe(method(matchingDescriptorsWithOptions:))]
185 #[unsafe(method_family = none)]
186 pub fn matchingDescriptorsWithOptions(
187 &self,
188 options: Option<&NSDictionary<NSFontCollectionMatchingOptionKey, NSNumber>>,
189 ) -> Option<Retained<NSArray<NSFontDescriptor>>>;
190
191 #[cfg(feature = "NSFontDescriptor")]
192 #[unsafe(method(matchingDescriptorsForFamily:))]
193 #[unsafe(method_family = none)]
194 pub fn matchingDescriptorsForFamily(
195 &self,
196 family: &NSString,
197 ) -> Option<Retained<NSArray<NSFontDescriptor>>>;
198
199 #[cfg(feature = "NSFontDescriptor")]
200 #[unsafe(method(matchingDescriptorsForFamily:options:))]
201 #[unsafe(method_family = none)]
202 pub fn matchingDescriptorsForFamily_options(
203 &self,
204 family: &NSString,
205 options: Option<&NSDictionary<NSFontCollectionMatchingOptionKey, NSNumber>>,
206 ) -> Option<Retained<NSArray<NSFontDescriptor>>>;
207 );
208}
209
210impl NSFontCollection {
212 extern_methods!(
213 #[unsafe(method(init))]
214 #[unsafe(method_family = init)]
215 pub fn init(this: Allocated<Self>) -> Retained<Self>;
216
217 #[unsafe(method(new))]
218 #[unsafe(method_family = new)]
219 pub fn new() -> Retained<Self>;
220 );
221}
222
223impl DefaultRetained for NSFontCollection {
224 #[inline]
225 fn default_retained() -> Retained<Self> {
226 Self::new()
227 }
228}
229
230extern_class!(
231 #[unsafe(super(NSFontCollection, NSObject))]
233 #[derive(Debug, PartialEq, Eq, Hash)]
234 pub struct NSMutableFontCollection;
235);
236
237#[cfg(feature = "objc2-core-text")]
238#[cfg(target_vendor = "apple")]
239impl AsRef<NSMutableFontCollection> for CTMutableFontCollection {
240 #[inline]
241 fn as_ref(&self) -> &NSMutableFontCollection {
242 unsafe { &*((self as *const Self).cast()) }
243 }
244}
245
246#[cfg(feature = "objc2-core-text")]
247#[cfg(target_vendor = "apple")]
248impl AsRef<CTMutableFontCollection> for NSMutableFontCollection {
249 #[inline]
250 fn as_ref(&self) -> &CTMutableFontCollection {
251 unsafe { &*((self as *const Self).cast()) }
252 }
253}
254
255extern_conformance!(
256 unsafe impl NSCoding for NSMutableFontCollection {}
257);
258
259extern_conformance!(
260 unsafe impl NSCopying for NSMutableFontCollection {}
261);
262
263unsafe impl CopyingHelper for NSMutableFontCollection {
264 type Result = NSFontCollection;
265}
266
267extern_conformance!(
268 unsafe impl NSMutableCopying for NSMutableFontCollection {}
269);
270
271unsafe impl MutableCopyingHelper for NSMutableFontCollection {
272 type Result = Self;
273}
274
275extern_conformance!(
276 unsafe impl NSObjectProtocol for NSMutableFontCollection {}
277);
278
279impl NSMutableFontCollection {
280 extern_methods!(
281 #[cfg(feature = "NSFontDescriptor")]
282 #[unsafe(method(fontCollectionWithDescriptors:))]
283 #[unsafe(method_family = none)]
284 pub fn fontCollectionWithDescriptors(
285 query_descriptors: &NSArray<NSFontDescriptor>,
286 ) -> Retained<NSMutableFontCollection>;
287
288 #[unsafe(method(fontCollectionWithAllAvailableDescriptors))]
289 #[unsafe(method_family = none)]
290 pub fn fontCollectionWithAllAvailableDescriptors() -> Retained<NSMutableFontCollection>;
291
292 #[unsafe(method(fontCollectionWithLocale:))]
293 #[unsafe(method_family = none)]
294 pub fn fontCollectionWithLocale(locale: &NSLocale) -> Retained<NSMutableFontCollection>;
295
296 #[unsafe(method(fontCollectionWithName:))]
297 #[unsafe(method_family = none)]
298 pub fn fontCollectionWithName(
299 name: &NSFontCollectionName,
300 ) -> Option<Retained<NSMutableFontCollection>>;
301
302 #[unsafe(method(fontCollectionWithName:visibility:))]
303 #[unsafe(method_family = none)]
304 pub fn fontCollectionWithName_visibility(
305 name: &NSFontCollectionName,
306 visibility: NSFontCollectionVisibility,
307 ) -> Option<Retained<NSMutableFontCollection>>;
308
309 #[cfg(feature = "NSFontDescriptor")]
310 #[unsafe(method(queryDescriptors))]
311 #[unsafe(method_family = none)]
312 pub fn queryDescriptors(&self) -> Option<Retained<NSArray<NSFontDescriptor>>>;
313
314 #[cfg(feature = "NSFontDescriptor")]
315 #[unsafe(method(setQueryDescriptors:))]
319 #[unsafe(method_family = none)]
320 pub fn setQueryDescriptors(&self, query_descriptors: Option<&NSArray<NSFontDescriptor>>);
321
322 #[cfg(feature = "NSFontDescriptor")]
323 #[unsafe(method(exclusionDescriptors))]
324 #[unsafe(method_family = none)]
325 pub fn exclusionDescriptors(&self) -> Option<Retained<NSArray<NSFontDescriptor>>>;
326
327 #[cfg(feature = "NSFontDescriptor")]
328 #[unsafe(method(setExclusionDescriptors:))]
332 #[unsafe(method_family = none)]
333 pub fn setExclusionDescriptors(
334 &self,
335 exclusion_descriptors: Option<&NSArray<NSFontDescriptor>>,
336 );
337
338 #[cfg(feature = "NSFontDescriptor")]
339 #[unsafe(method(addQueryForDescriptors:))]
340 #[unsafe(method_family = none)]
341 pub fn addQueryForDescriptors(&self, descriptors: &NSArray<NSFontDescriptor>);
342
343 #[cfg(feature = "NSFontDescriptor")]
344 #[unsafe(method(removeQueryForDescriptors:))]
345 #[unsafe(method_family = none)]
346 pub fn removeQueryForDescriptors(&self, descriptors: &NSArray<NSFontDescriptor>);
347 );
348}
349
350impl NSMutableFontCollection {
352 extern_methods!(
353 #[unsafe(method(init))]
354 #[unsafe(method_family = init)]
355 pub fn init(this: Allocated<Self>) -> Retained<Self>;
356
357 #[unsafe(method(new))]
358 #[unsafe(method_family = new)]
359 pub fn new() -> Retained<Self>;
360 );
361}
362
363impl DefaultRetained for NSMutableFontCollection {
364 #[inline]
365 fn default_retained() -> Retained<Self> {
366 Self::new()
367 }
368}
369
370extern "C" {
371 pub static NSFontCollectionDidChangeNotification: &'static NSNotificationName;
373}
374
375pub type NSFontCollectionUserInfoKey = NSString;
378
379extern "C" {
380 pub static NSFontCollectionActionKey: &'static NSFontCollectionUserInfoKey;
382}
383
384extern "C" {
385 pub static NSFontCollectionNameKey: &'static NSFontCollectionUserInfoKey;
387}
388
389extern "C" {
390 pub static NSFontCollectionOldNameKey: &'static NSFontCollectionUserInfoKey;
392}
393
394extern "C" {
395 pub static NSFontCollectionVisibilityKey: &'static NSFontCollectionUserInfoKey;
397}
398
399pub type NSFontCollectionActionTypeKey = NSString;
402
403extern "C" {
404 pub static NSFontCollectionWasShown: &'static NSFontCollectionActionTypeKey;
406}
407
408extern "C" {
409 pub static NSFontCollectionWasHidden: &'static NSFontCollectionActionTypeKey;
411}
412
413extern "C" {
414 pub static NSFontCollectionWasRenamed: &'static NSFontCollectionActionTypeKey;
416}
417
418extern "C" {
419 pub static NSFontCollectionAllFonts: &'static NSFontCollectionName;
421}
422
423extern "C" {
424 pub static NSFontCollectionUser: &'static NSFontCollectionName;
426}
427
428extern "C" {
429 pub static NSFontCollectionFavorites: &'static NSFontCollectionName;
431}
432
433extern "C" {
434 pub static NSFontCollectionRecentlyUsed: &'static NSFontCollectionName;
436}