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