objc2_app_kit/generated/
NSFontDescriptor.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-foundation")]
7use objc2_core_foundation::*;
8#[cfg(feature = "objc2-core-text")]
9#[cfg(target_vendor = "apple")]
10use objc2_core_text::*;
11use objc2_foundation::*;
12
13use crate::*;
14
15/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontsymbolictraits?language=objc)
16pub type NSFontSymbolicTraits = u32;
17
18/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontdescriptorsymbolictraits?language=objc)
19// NS_OPTIONS
20#[repr(transparent)]
21#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
22pub struct NSFontDescriptorSymbolicTraits(pub u32);
23bitflags::bitflags! {
24    impl NSFontDescriptorSymbolicTraits: u32 {
25        #[doc(alias = "NSFontDescriptorTraitItalic")]
26        const TraitItalic = 1<<0;
27        #[doc(alias = "NSFontDescriptorTraitBold")]
28        const TraitBold = 1<<1;
29        #[doc(alias = "NSFontDescriptorTraitExpanded")]
30        const TraitExpanded = 1<<5;
31        #[doc(alias = "NSFontDescriptorTraitCondensed")]
32        const TraitCondensed = 1<<6;
33        #[doc(alias = "NSFontDescriptorTraitMonoSpace")]
34        const TraitMonoSpace = 1<<10;
35        #[doc(alias = "NSFontDescriptorTraitVertical")]
36        const TraitVertical = 1<<11;
37        #[doc(alias = "NSFontDescriptorTraitUIOptimized")]
38        const TraitUIOptimized = 1<<12;
39        #[doc(alias = "NSFontDescriptorTraitTightLeading")]
40        const TraitTightLeading = 1<<15;
41        #[doc(alias = "NSFontDescriptorTraitLooseLeading")]
42        const TraitLooseLeading = 1<<16;
43        #[doc(alias = "NSFontDescriptorTraitEmphasized")]
44        const TraitEmphasized = NSFontDescriptorSymbolicTraits::TraitBold.0;
45        #[doc(alias = "NSFontDescriptorClassMask")]
46        const ClassMask = 0xF0000000;
47        #[doc(alias = "NSFontDescriptorClassUnknown")]
48        const ClassUnknown = 0<<28;
49        #[doc(alias = "NSFontDescriptorClassOldStyleSerifs")]
50        const ClassOldStyleSerifs = 1<<28;
51        #[doc(alias = "NSFontDescriptorClassTransitionalSerifs")]
52        const ClassTransitionalSerifs = 2<<28;
53        #[doc(alias = "NSFontDescriptorClassModernSerifs")]
54        const ClassModernSerifs = 3<<28;
55        #[doc(alias = "NSFontDescriptorClassClarendonSerifs")]
56        const ClassClarendonSerifs = 4<<28;
57        #[doc(alias = "NSFontDescriptorClassSlabSerifs")]
58        const ClassSlabSerifs = 5<<28;
59        #[doc(alias = "NSFontDescriptorClassFreeformSerifs")]
60        const ClassFreeformSerifs = 7<<28;
61        #[doc(alias = "NSFontDescriptorClassSansSerif")]
62        const ClassSansSerif = 8<<28;
63        #[doc(alias = "NSFontDescriptorClassOrnamentals")]
64        const ClassOrnamentals = 9<<28;
65        #[doc(alias = "NSFontDescriptorClassScripts")]
66        const ClassScripts = 10<<28;
67        #[doc(alias = "NSFontDescriptorClassSymbolic")]
68        const ClassSymbolic = 12<<28;
69    }
70}
71
72unsafe impl Encode for NSFontDescriptorSymbolicTraits {
73    const ENCODING: Encoding = u32::ENCODING;
74}
75
76unsafe impl RefEncode for NSFontDescriptorSymbolicTraits {
77    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
78}
79
80/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontdescriptorattributename?language=objc)
81// NS_TYPED_EXTENSIBLE_ENUM
82pub type NSFontDescriptorAttributeName = NSString;
83
84/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontdescriptortraitkey?language=objc)
85// NS_TYPED_ENUM
86pub type NSFontDescriptorTraitKey = NSString;
87
88/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontdescriptorvariationkey?language=objc)
89// NS_TYPED_ENUM
90pub type NSFontDescriptorVariationKey = NSString;
91
92/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontdescriptorfeaturekey?language=objc)
93// NS_TYPED_EXTENSIBLE_ENUM
94pub type NSFontDescriptorFeatureKey = NSString;
95
96/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweight?language=objc)
97// NS_TYPED_EXTENSIBLE_ENUM
98#[cfg(feature = "objc2-core-foundation")]
99pub type NSFontWeight = CGFloat;
100
101/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontwidth?language=objc)
102// NS_TYPED_EXTENSIBLE_ENUM
103#[cfg(feature = "objc2-core-foundation")]
104pub type NSFontWidth = CGFloat;
105
106/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontdescriptorsystemdesign?language=objc)
107// NS_TYPED_ENUM
108pub type NSFontDescriptorSystemDesign = NSString;
109
110/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstyle?language=objc)
111// NS_TYPED_ENUM
112pub type NSFontTextStyle = NSString;
113
114/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstyleoptionkey?language=objc)
115// NS_TYPED_ENUM
116pub type NSFontTextStyleOptionKey = NSString;
117
118extern_class!(
119    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontdescriptor?language=objc)
120    #[unsafe(super(NSObject))]
121    #[derive(Debug, PartialEq, Eq, Hash)]
122    pub struct NSFontDescriptor;
123);
124
125#[cfg(feature = "objc2-core-text")]
126#[cfg(target_vendor = "apple")]
127impl AsRef<NSFontDescriptor> for CTFontDescriptor {
128    #[inline]
129    fn as_ref(&self) -> &NSFontDescriptor {
130        unsafe { &*((self as *const Self).cast()) }
131    }
132}
133
134#[cfg(feature = "objc2-core-text")]
135#[cfg(target_vendor = "apple")]
136impl AsRef<CTFontDescriptor> for NSFontDescriptor {
137    #[inline]
138    fn as_ref(&self) -> &CTFontDescriptor {
139        unsafe { &*((self as *const Self).cast()) }
140    }
141}
142
143extern_conformance!(
144    unsafe impl NSCoding for NSFontDescriptor {}
145);
146
147extern_conformance!(
148    unsafe impl NSCopying for NSFontDescriptor {}
149);
150
151unsafe impl CopyingHelper for NSFontDescriptor {
152    type Result = Self;
153}
154
155extern_conformance!(
156    unsafe impl NSObjectProtocol for NSFontDescriptor {}
157);
158
159extern_conformance!(
160    unsafe impl NSSecureCoding for NSFontDescriptor {}
161);
162
163impl NSFontDescriptor {
164    extern_methods!(
165        #[unsafe(method(postscriptName))]
166        #[unsafe(method_family = none)]
167        pub fn postscriptName(&self) -> Option<Retained<NSString>>;
168
169        #[cfg(feature = "objc2-core-foundation")]
170        #[unsafe(method(pointSize))]
171        #[unsafe(method_family = none)]
172        pub fn pointSize(&self) -> CGFloat;
173
174        #[unsafe(method(matrix))]
175        #[unsafe(method_family = none)]
176        pub fn matrix(&self) -> Option<Retained<NSAffineTransform>>;
177
178        #[unsafe(method(symbolicTraits))]
179        #[unsafe(method_family = none)]
180        pub fn symbolicTraits(&self) -> NSFontDescriptorSymbolicTraits;
181
182        #[unsafe(method(requiresFontAssetRequest))]
183        #[unsafe(method_family = none)]
184        pub fn requiresFontAssetRequest(&self) -> bool;
185
186        #[unsafe(method(objectForKey:))]
187        #[unsafe(method_family = none)]
188        pub fn objectForKey(
189            &self,
190            attribute: &NSFontDescriptorAttributeName,
191        ) -> Option<Retained<AnyObject>>;
192
193        #[unsafe(method(fontAttributes))]
194        #[unsafe(method_family = none)]
195        pub fn fontAttributes(
196            &self,
197        ) -> Retained<NSDictionary<NSFontDescriptorAttributeName, AnyObject>>;
198
199        /// # Safety
200        ///
201        /// `attributes` generic should be of the correct type.
202        #[unsafe(method(fontDescriptorWithFontAttributes:))]
203        #[unsafe(method_family = none)]
204        pub unsafe fn fontDescriptorWithFontAttributes(
205            attributes: Option<&NSDictionary<NSFontDescriptorAttributeName, AnyObject>>,
206        ) -> Retained<NSFontDescriptor>;
207
208        #[cfg(feature = "objc2-core-foundation")]
209        #[unsafe(method(fontDescriptorWithName:size:))]
210        #[unsafe(method_family = none)]
211        pub fn fontDescriptorWithName_size(
212            font_name: &NSString,
213            size: CGFloat,
214        ) -> Retained<NSFontDescriptor>;
215
216        #[unsafe(method(fontDescriptorWithName:matrix:))]
217        #[unsafe(method_family = none)]
218        pub fn fontDescriptorWithName_matrix(
219            font_name: &NSString,
220            matrix: &NSAffineTransform,
221        ) -> Retained<NSFontDescriptor>;
222
223        /// # Safety
224        ///
225        /// `attributes` generic should be of the correct type.
226        #[unsafe(method(initWithFontAttributes:))]
227        #[unsafe(method_family = init)]
228        pub unsafe fn initWithFontAttributes(
229            this: Allocated<Self>,
230            attributes: Option<&NSDictionary<NSFontDescriptorAttributeName, AnyObject>>,
231        ) -> Retained<Self>;
232
233        #[unsafe(method(matchingFontDescriptorsWithMandatoryKeys:))]
234        #[unsafe(method_family = none)]
235        pub fn matchingFontDescriptorsWithMandatoryKeys(
236            &self,
237            mandatory_keys: Option<&NSSet<NSFontDescriptorAttributeName>>,
238        ) -> Retained<NSArray<NSFontDescriptor>>;
239
240        #[unsafe(method(matchingFontDescriptorWithMandatoryKeys:))]
241        #[unsafe(method_family = none)]
242        pub fn matchingFontDescriptorWithMandatoryKeys(
243            &self,
244            mandatory_keys: Option<&NSSet<NSFontDescriptorAttributeName>>,
245        ) -> Option<Retained<NSFontDescriptor>>;
246
247        /// # Safety
248        ///
249        /// `attributes` generic should be of the correct type.
250        #[unsafe(method(fontDescriptorByAddingAttributes:))]
251        #[unsafe(method_family = none)]
252        pub unsafe fn fontDescriptorByAddingAttributes(
253            &self,
254            attributes: &NSDictionary<NSFontDescriptorAttributeName, AnyObject>,
255        ) -> Retained<NSFontDescriptor>;
256
257        #[unsafe(method(fontDescriptorWithSymbolicTraits:))]
258        #[unsafe(method_family = none)]
259        pub fn fontDescriptorWithSymbolicTraits(
260            &self,
261            symbolic_traits: NSFontDescriptorSymbolicTraits,
262        ) -> Retained<NSFontDescriptor>;
263
264        #[cfg(feature = "objc2-core-foundation")]
265        #[unsafe(method(fontDescriptorWithSize:))]
266        #[unsafe(method_family = none)]
267        pub fn fontDescriptorWithSize(&self, new_point_size: CGFloat)
268            -> Retained<NSFontDescriptor>;
269
270        #[unsafe(method(fontDescriptorWithMatrix:))]
271        #[unsafe(method_family = none)]
272        pub fn fontDescriptorWithMatrix(
273            &self,
274            matrix: &NSAffineTransform,
275        ) -> Retained<NSFontDescriptor>;
276
277        #[unsafe(method(fontDescriptorWithFace:))]
278        #[unsafe(method_family = none)]
279        pub fn fontDescriptorWithFace(&self, new_face: &NSString) -> Retained<NSFontDescriptor>;
280
281        #[unsafe(method(fontDescriptorWithFamily:))]
282        #[unsafe(method_family = none)]
283        pub fn fontDescriptorWithFamily(&self, new_family: &NSString)
284            -> Retained<NSFontDescriptor>;
285
286        #[unsafe(method(fontDescriptorWithDesign:))]
287        #[unsafe(method_family = none)]
288        pub fn fontDescriptorWithDesign(
289            &self,
290            design: &NSFontDescriptorSystemDesign,
291        ) -> Option<Retained<Self>>;
292    );
293}
294
295/// Methods declared on superclass `NSObject`.
296impl NSFontDescriptor {
297    extern_methods!(
298        #[unsafe(method(init))]
299        #[unsafe(method_family = init)]
300        pub fn init(this: Allocated<Self>) -> Retained<Self>;
301
302        #[unsafe(method(new))]
303        #[unsafe(method_family = new)]
304        pub fn new() -> Retained<Self>;
305    );
306}
307
308impl DefaultRetained for NSFontDescriptor {
309    #[inline]
310    fn default_retained() -> Retained<Self> {
311        Self::new()
312    }
313}
314
315extern "C" {
316    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfamilyattribute?language=objc)
317    pub static NSFontFamilyAttribute: &'static NSFontDescriptorAttributeName;
318}
319
320extern "C" {
321    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontnameattribute?language=objc)
322    pub static NSFontNameAttribute: &'static NSFontDescriptorAttributeName;
323}
324
325extern "C" {
326    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfaceattribute?language=objc)
327    pub static NSFontFaceAttribute: &'static NSFontDescriptorAttributeName;
328}
329
330extern "C" {
331    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontsizeattribute?language=objc)
332    pub static NSFontSizeAttribute: &'static NSFontDescriptorAttributeName;
333}
334
335extern "C" {
336    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontvisiblenameattribute?language=objc)
337    pub static NSFontVisibleNameAttribute: &'static NSFontDescriptorAttributeName;
338}
339
340extern "C" {
341    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontmatrixattribute?language=objc)
342    pub static NSFontMatrixAttribute: &'static NSFontDescriptorAttributeName;
343}
344
345extern "C" {
346    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontvariationattribute?language=objc)
347    pub static NSFontVariationAttribute: &'static NSFontDescriptorAttributeName;
348}
349
350extern "C" {
351    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcharactersetattribute?language=objc)
352    pub static NSFontCharacterSetAttribute: &'static NSFontDescriptorAttributeName;
353}
354
355extern "C" {
356    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcascadelistattribute?language=objc)
357    pub static NSFontCascadeListAttribute: &'static NSFontDescriptorAttributeName;
358}
359
360extern "C" {
361    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttraitsattribute?language=objc)
362    pub static NSFontTraitsAttribute: &'static NSFontDescriptorAttributeName;
363}
364
365extern "C" {
366    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfixedadvanceattribute?language=objc)
367    pub static NSFontFixedAdvanceAttribute: &'static NSFontDescriptorAttributeName;
368}
369
370extern "C" {
371    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfeaturesettingsattribute?language=objc)
372    pub static NSFontFeatureSettingsAttribute: &'static NSFontDescriptorAttributeName;
373}
374
375extern "C" {
376    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontsymbolictrait?language=objc)
377    pub static NSFontSymbolicTrait: &'static NSFontDescriptorTraitKey;
378}
379
380extern "C" {
381    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweighttrait?language=objc)
382    pub static NSFontWeightTrait: &'static NSFontDescriptorTraitKey;
383}
384
385extern "C" {
386    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontwidthtrait?language=objc)
387    pub static NSFontWidthTrait: &'static NSFontDescriptorTraitKey;
388}
389
390extern "C" {
391    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontslanttrait?language=objc)
392    pub static NSFontSlantTrait: &'static NSFontDescriptorTraitKey;
393}
394
395extern "C" {
396    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontvariationaxisidentifierkey?language=objc)
397    pub static NSFontVariationAxisIdentifierKey: &'static NSFontDescriptorVariationKey;
398}
399
400extern "C" {
401    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontvariationaxisminimumvaluekey?language=objc)
402    pub static NSFontVariationAxisMinimumValueKey: &'static NSFontDescriptorVariationKey;
403}
404
405extern "C" {
406    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontvariationaxismaximumvaluekey?language=objc)
407    pub static NSFontVariationAxisMaximumValueKey: &'static NSFontDescriptorVariationKey;
408}
409
410extern "C" {
411    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontvariationaxisdefaultvaluekey?language=objc)
412    pub static NSFontVariationAxisDefaultValueKey: &'static NSFontDescriptorVariationKey;
413}
414
415extern "C" {
416    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontvariationaxisnamekey?language=objc)
417    pub static NSFontVariationAxisNameKey: &'static NSFontDescriptorVariationKey;
418}
419
420extern "C" {
421    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfeaturetypeidentifierkey?language=objc)
422    pub static NSFontFeatureTypeIdentifierKey: &'static NSFontDescriptorFeatureKey;
423}
424
425extern "C" {
426    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfeatureselectoridentifierkey?language=objc)
427    pub static NSFontFeatureSelectorIdentifierKey: &'static NSFontDescriptorFeatureKey;
428}
429
430extern "C" {
431    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightultralight?language=objc)
432    #[cfg(feature = "objc2-core-foundation")]
433    pub static NSFontWeightUltraLight: NSFontWeight;
434}
435
436extern "C" {
437    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightthin?language=objc)
438    #[cfg(feature = "objc2-core-foundation")]
439    pub static NSFontWeightThin: NSFontWeight;
440}
441
442extern "C" {
443    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightlight?language=objc)
444    #[cfg(feature = "objc2-core-foundation")]
445    pub static NSFontWeightLight: NSFontWeight;
446}
447
448extern "C" {
449    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightregular?language=objc)
450    #[cfg(feature = "objc2-core-foundation")]
451    pub static NSFontWeightRegular: NSFontWeight;
452}
453
454extern "C" {
455    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightmedium?language=objc)
456    #[cfg(feature = "objc2-core-foundation")]
457    pub static NSFontWeightMedium: NSFontWeight;
458}
459
460extern "C" {
461    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightsemibold?language=objc)
462    #[cfg(feature = "objc2-core-foundation")]
463    pub static NSFontWeightSemibold: NSFontWeight;
464}
465
466extern "C" {
467    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightbold?language=objc)
468    #[cfg(feature = "objc2-core-foundation")]
469    pub static NSFontWeightBold: NSFontWeight;
470}
471
472extern "C" {
473    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightheavy?language=objc)
474    #[cfg(feature = "objc2-core-foundation")]
475    pub static NSFontWeightHeavy: NSFontWeight;
476}
477
478extern "C" {
479    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightblack?language=objc)
480    #[cfg(feature = "objc2-core-foundation")]
481    pub static NSFontWeightBlack: NSFontWeight;
482}
483
484extern "C" {
485    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontwidthcompressed?language=objc)
486    #[cfg(feature = "objc2-core-foundation")]
487    pub static NSFontWidthCompressed: NSFontWidth;
488}
489
490extern "C" {
491    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontwidthcondensed?language=objc)
492    #[cfg(feature = "objc2-core-foundation")]
493    pub static NSFontWidthCondensed: NSFontWidth;
494}
495
496extern "C" {
497    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontwidthstandard?language=objc)
498    #[cfg(feature = "objc2-core-foundation")]
499    pub static NSFontWidthStandard: NSFontWidth;
500}
501
502extern "C" {
503    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontwidthexpanded?language=objc)
504    #[cfg(feature = "objc2-core-foundation")]
505    pub static NSFontWidthExpanded: NSFontWidth;
506}
507
508extern "C" {
509    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontdescriptorsystemdesigndefault?language=objc)
510    pub static NSFontDescriptorSystemDesignDefault: &'static NSFontDescriptorSystemDesign;
511}
512
513extern "C" {
514    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontdescriptorsystemdesignserif?language=objc)
515    pub static NSFontDescriptorSystemDesignSerif: &'static NSFontDescriptorSystemDesign;
516}
517
518extern "C" {
519    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontdescriptorsystemdesignmonospaced?language=objc)
520    pub static NSFontDescriptorSystemDesignMonospaced: &'static NSFontDescriptorSystemDesign;
521}
522
523extern "C" {
524    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontdescriptorsystemdesignrounded?language=objc)
525    pub static NSFontDescriptorSystemDesignRounded: &'static NSFontDescriptorSystemDesign;
526}
527
528extern "C" {
529    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstylelargetitle?language=objc)
530    pub static NSFontTextStyleLargeTitle: &'static NSFontTextStyle;
531}
532
533extern "C" {
534    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstyletitle1?language=objc)
535    pub static NSFontTextStyleTitle1: &'static NSFontTextStyle;
536}
537
538extern "C" {
539    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstyletitle2?language=objc)
540    pub static NSFontTextStyleTitle2: &'static NSFontTextStyle;
541}
542
543extern "C" {
544    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstyletitle3?language=objc)
545    pub static NSFontTextStyleTitle3: &'static NSFontTextStyle;
546}
547
548extern "C" {
549    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstyleheadline?language=objc)
550    pub static NSFontTextStyleHeadline: &'static NSFontTextStyle;
551}
552
553extern "C" {
554    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstylesubheadline?language=objc)
555    pub static NSFontTextStyleSubheadline: &'static NSFontTextStyle;
556}
557
558extern "C" {
559    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstylebody?language=objc)
560    pub static NSFontTextStyleBody: &'static NSFontTextStyle;
561}
562
563extern "C" {
564    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstylecallout?language=objc)
565    pub static NSFontTextStyleCallout: &'static NSFontTextStyle;
566}
567
568extern "C" {
569    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstylefootnote?language=objc)
570    pub static NSFontTextStyleFootnote: &'static NSFontTextStyle;
571}
572
573extern "C" {
574    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstylecaption1?language=objc)
575    pub static NSFontTextStyleCaption1: &'static NSFontTextStyle;
576}
577
578extern "C" {
579    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstylecaption2?language=objc)
580    pub static NSFontTextStyleCaption2: &'static NSFontTextStyle;
581}
582
583/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfamilyclass?language=objc)
584pub type NSFontFamilyClass = u32;
585
586/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontunknownclass?language=objc)
587pub const NSFontUnknownClass: c_int = 0 << 28;
588/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontoldstyleserifsclass?language=objc)
589pub const NSFontOldStyleSerifsClass: c_int = 1 << 28;
590/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttransitionalserifsclass?language=objc)
591pub const NSFontTransitionalSerifsClass: c_int = 2 << 28;
592/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontmodernserifsclass?language=objc)
593pub const NSFontModernSerifsClass: c_int = 3 << 28;
594/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontclarendonserifsclass?language=objc)
595pub const NSFontClarendonSerifsClass: c_int = 4 << 28;
596/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontslabserifsclass?language=objc)
597pub const NSFontSlabSerifsClass: c_int = 5 << 28;
598/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfreeformserifsclass?language=objc)
599pub const NSFontFreeformSerifsClass: c_int = 7 << 28;
600/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontsansserifclass?language=objc)
601pub const NSFontSansSerifClass: c_int = 8 << 28;
602/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontornamentalsclass?language=objc)
603pub const NSFontOrnamentalsClass: c_int = 9 << 28;
604/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontscriptsclass?language=objc)
605pub const NSFontScriptsClass: c_int = 10 << 28;
606/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontsymbolicclass?language=objc)
607pub const NSFontSymbolicClass: c_int = 12 << 28;
608
609/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfamilyclassmask?language=objc)
610pub const NSFontFamilyClassMask: c_uint = 0xF0000000;
611
612/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontitalictrait?language=objc)
613pub const NSFontItalicTrait: c_uint = 1 << 0;
614/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontboldtrait?language=objc)
615pub const NSFontBoldTrait: c_uint = 1 << 1;
616/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontexpandedtrait?language=objc)
617pub const NSFontExpandedTrait: c_uint = 1 << 5;
618/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcondensedtrait?language=objc)
619pub const NSFontCondensedTrait: c_uint = 1 << 6;
620/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontmonospacetrait?language=objc)
621pub const NSFontMonoSpaceTrait: c_uint = 1 << 10;
622/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontverticaltrait?language=objc)
623pub const NSFontVerticalTrait: c_uint = 1 << 11;
624/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontuioptimizedtrait?language=objc)
625pub const NSFontUIOptimizedTrait: c_uint = 1 << 12;
626
627extern "C" {
628    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcolorattribute?language=objc)
629    #[deprecated]
630    pub static NSFontColorAttribute: &'static NSString;
631}
632
633/// NSFontDescriptor_TextStyles.
634impl NSFontDescriptor {
635    extern_methods!(
636        /// # Safety
637        ///
638        /// `options` generic should be of the correct type.
639        #[unsafe(method(preferredFontDescriptorForTextStyle:options:))]
640        #[unsafe(method_family = none)]
641        pub unsafe fn preferredFontDescriptorForTextStyle_options(
642            style: &NSFontTextStyle,
643            options: &NSDictionary<NSFontTextStyleOptionKey, AnyObject>,
644        ) -> Retained<NSFontDescriptor>;
645    );
646}