objc2_app_kit/generated/
NSFontCollection.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use 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/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionvisibility?language=objc)
14// NS_OPTIONS
15#[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
37/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionmatchingoptionkey?language=objc)
38// NS_TYPED_ENUM
39pub type NSFontCollectionMatchingOptionKey = NSString;
40
41extern "C" {
42    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionincludedisabledfontsoption?language=objc)
43    pub static NSFontCollectionIncludeDisabledFontsOption:
44        &'static NSFontCollectionMatchingOptionKey;
45}
46
47extern "C" {
48    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionremoveduplicatesoption?language=objc)
49    pub static NSFontCollectionRemoveDuplicatesOption: &'static NSFontCollectionMatchingOptionKey;
50}
51
52extern "C" {
53    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectiondisallowautoactivationoption?language=objc)
54    pub static NSFontCollectionDisallowAutoActivationOption:
55        &'static NSFontCollectionMatchingOptionKey;
56}
57
58/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionname?language=objc)
59// NS_TYPED_EXTENSIBLE_ENUM
60pub type NSFontCollectionName = NSString;
61
62extern_class!(
63    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollection?language=objc)
64    #[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
210/// Methods declared on superclass `NSObject`.
211impl 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    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsmutablefontcollection?language=objc)
232    #[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        /// Setter for [`queryDescriptors`][Self::queryDescriptors].
316        ///
317        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
318        #[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        /// Setter for [`exclusionDescriptors`][Self::exclusionDescriptors].
329        ///
330        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
331        #[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
350/// Methods declared on superclass `NSObject`.
351impl 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    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectiondidchangenotification?language=objc)
372    pub static NSFontCollectionDidChangeNotification: &'static NSNotificationName;
373}
374
375/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionuserinfokey?language=objc)
376// NS_TYPED_ENUM
377pub type NSFontCollectionUserInfoKey = NSString;
378
379extern "C" {
380    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionactionkey?language=objc)
381    pub static NSFontCollectionActionKey: &'static NSFontCollectionUserInfoKey;
382}
383
384extern "C" {
385    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionnamekey?language=objc)
386    pub static NSFontCollectionNameKey: &'static NSFontCollectionUserInfoKey;
387}
388
389extern "C" {
390    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionoldnamekey?language=objc)
391    pub static NSFontCollectionOldNameKey: &'static NSFontCollectionUserInfoKey;
392}
393
394extern "C" {
395    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionvisibilitykey?language=objc)
396    pub static NSFontCollectionVisibilityKey: &'static NSFontCollectionUserInfoKey;
397}
398
399/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionactiontypekey?language=objc)
400// NS_TYPED_ENUM
401pub type NSFontCollectionActionTypeKey = NSString;
402
403extern "C" {
404    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionwasshown?language=objc)
405    pub static NSFontCollectionWasShown: &'static NSFontCollectionActionTypeKey;
406}
407
408extern "C" {
409    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionwashidden?language=objc)
410    pub static NSFontCollectionWasHidden: &'static NSFontCollectionActionTypeKey;
411}
412
413extern "C" {
414    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionwasrenamed?language=objc)
415    pub static NSFontCollectionWasRenamed: &'static NSFontCollectionActionTypeKey;
416}
417
418extern "C" {
419    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionallfonts?language=objc)
420    pub static NSFontCollectionAllFonts: &'static NSFontCollectionName;
421}
422
423extern "C" {
424    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionuser?language=objc)
425    pub static NSFontCollectionUser: &'static NSFontCollectionName;
426}
427
428extern "C" {
429    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionfavorites?language=objc)
430    pub static NSFontCollectionFavorites: &'static NSFontCollectionName;
431}
432
433extern "C" {
434    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcollectionrecentlyused?language=objc)
435    pub static NSFontCollectionRecentlyUsed: &'static NSFontCollectionName;
436}