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
122extern_conformance!(
123    unsafe impl NSCoding for NSFontDescriptor {}
124);
125
126extern_conformance!(
127    unsafe impl NSCopying for NSFontDescriptor {}
128);
129
130unsafe impl CopyingHelper for NSFontDescriptor {
131    type Result = Self;
132}
133
134extern_conformance!(
135    unsafe impl NSObjectProtocol for NSFontDescriptor {}
136);
137
138extern_conformance!(
139    unsafe impl NSSecureCoding for NSFontDescriptor {}
140);
141
142impl NSFontDescriptor {
143    extern_methods!(
144        #[unsafe(method(postscriptName))]
145        #[unsafe(method_family = none)]
146        pub unsafe fn postscriptName(&self) -> Option<Retained<NSString>>;
147
148        #[cfg(feature = "objc2-core-foundation")]
149        #[unsafe(method(pointSize))]
150        #[unsafe(method_family = none)]
151        pub unsafe fn pointSize(&self) -> CGFloat;
152
153        #[unsafe(method(matrix))]
154        #[unsafe(method_family = none)]
155        pub unsafe fn matrix(&self) -> Option<Retained<NSAffineTransform>>;
156
157        #[unsafe(method(symbolicTraits))]
158        #[unsafe(method_family = none)]
159        pub unsafe fn symbolicTraits(&self) -> NSFontDescriptorSymbolicTraits;
160
161        #[unsafe(method(requiresFontAssetRequest))]
162        #[unsafe(method_family = none)]
163        pub unsafe fn requiresFontAssetRequest(&self) -> bool;
164
165        #[unsafe(method(objectForKey:))]
166        #[unsafe(method_family = none)]
167        pub unsafe fn objectForKey(
168            &self,
169            attribute: &NSFontDescriptorAttributeName,
170        ) -> Option<Retained<AnyObject>>;
171
172        #[unsafe(method(fontAttributes))]
173        #[unsafe(method_family = none)]
174        pub unsafe fn fontAttributes(
175            &self,
176        ) -> Retained<NSDictionary<NSFontDescriptorAttributeName, AnyObject>>;
177
178        #[unsafe(method(fontDescriptorWithFontAttributes:))]
179        #[unsafe(method_family = none)]
180        pub unsafe fn fontDescriptorWithFontAttributes(
181            attributes: Option<&NSDictionary<NSFontDescriptorAttributeName, AnyObject>>,
182        ) -> Retained<NSFontDescriptor>;
183
184        #[cfg(feature = "objc2-core-foundation")]
185        #[unsafe(method(fontDescriptorWithName:size:))]
186        #[unsafe(method_family = none)]
187        pub unsafe fn fontDescriptorWithName_size(
188            font_name: &NSString,
189            size: CGFloat,
190        ) -> Retained<NSFontDescriptor>;
191
192        #[unsafe(method(fontDescriptorWithName:matrix:))]
193        #[unsafe(method_family = none)]
194        pub unsafe fn fontDescriptorWithName_matrix(
195            font_name: &NSString,
196            matrix: &NSAffineTransform,
197        ) -> Retained<NSFontDescriptor>;
198
199        #[unsafe(method(initWithFontAttributes:))]
200        #[unsafe(method_family = init)]
201        pub unsafe fn initWithFontAttributes(
202            this: Allocated<Self>,
203            attributes: Option<&NSDictionary<NSFontDescriptorAttributeName, AnyObject>>,
204        ) -> Retained<Self>;
205
206        #[unsafe(method(matchingFontDescriptorsWithMandatoryKeys:))]
207        #[unsafe(method_family = none)]
208        pub unsafe fn matchingFontDescriptorsWithMandatoryKeys(
209            &self,
210            mandatory_keys: Option<&NSSet<NSFontDescriptorAttributeName>>,
211        ) -> Retained<NSArray<NSFontDescriptor>>;
212
213        #[unsafe(method(matchingFontDescriptorWithMandatoryKeys:))]
214        #[unsafe(method_family = none)]
215        pub unsafe fn matchingFontDescriptorWithMandatoryKeys(
216            &self,
217            mandatory_keys: Option<&NSSet<NSFontDescriptorAttributeName>>,
218        ) -> Option<Retained<NSFontDescriptor>>;
219
220        #[unsafe(method(fontDescriptorByAddingAttributes:))]
221        #[unsafe(method_family = none)]
222        pub unsafe fn fontDescriptorByAddingAttributes(
223            &self,
224            attributes: &NSDictionary<NSFontDescriptorAttributeName, AnyObject>,
225        ) -> Retained<NSFontDescriptor>;
226
227        #[unsafe(method(fontDescriptorWithSymbolicTraits:))]
228        #[unsafe(method_family = none)]
229        pub unsafe fn fontDescriptorWithSymbolicTraits(
230            &self,
231            symbolic_traits: NSFontDescriptorSymbolicTraits,
232        ) -> Retained<NSFontDescriptor>;
233
234        #[cfg(feature = "objc2-core-foundation")]
235        #[unsafe(method(fontDescriptorWithSize:))]
236        #[unsafe(method_family = none)]
237        pub unsafe fn fontDescriptorWithSize(
238            &self,
239            new_point_size: CGFloat,
240        ) -> Retained<NSFontDescriptor>;
241
242        #[unsafe(method(fontDescriptorWithMatrix:))]
243        #[unsafe(method_family = none)]
244        pub unsafe fn fontDescriptorWithMatrix(
245            &self,
246            matrix: &NSAffineTransform,
247        ) -> Retained<NSFontDescriptor>;
248
249        #[unsafe(method(fontDescriptorWithFace:))]
250        #[unsafe(method_family = none)]
251        pub unsafe fn fontDescriptorWithFace(
252            &self,
253            new_face: &NSString,
254        ) -> Retained<NSFontDescriptor>;
255
256        #[unsafe(method(fontDescriptorWithFamily:))]
257        #[unsafe(method_family = none)]
258        pub unsafe fn fontDescriptorWithFamily(
259            &self,
260            new_family: &NSString,
261        ) -> Retained<NSFontDescriptor>;
262
263        #[unsafe(method(fontDescriptorWithDesign:))]
264        #[unsafe(method_family = none)]
265        pub unsafe fn fontDescriptorWithDesign(
266            &self,
267            design: &NSFontDescriptorSystemDesign,
268        ) -> Option<Retained<Self>>;
269    );
270}
271
272/// Methods declared on superclass `NSObject`.
273impl NSFontDescriptor {
274    extern_methods!(
275        #[unsafe(method(init))]
276        #[unsafe(method_family = init)]
277        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
278
279        #[unsafe(method(new))]
280        #[unsafe(method_family = new)]
281        pub unsafe fn new() -> Retained<Self>;
282    );
283}
284
285extern "C" {
286    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfamilyattribute?language=objc)
287    pub static NSFontFamilyAttribute: &'static NSFontDescriptorAttributeName;
288}
289
290extern "C" {
291    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontnameattribute?language=objc)
292    pub static NSFontNameAttribute: &'static NSFontDescriptorAttributeName;
293}
294
295extern "C" {
296    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfaceattribute?language=objc)
297    pub static NSFontFaceAttribute: &'static NSFontDescriptorAttributeName;
298}
299
300extern "C" {
301    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontsizeattribute?language=objc)
302    pub static NSFontSizeAttribute: &'static NSFontDescriptorAttributeName;
303}
304
305extern "C" {
306    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontvisiblenameattribute?language=objc)
307    pub static NSFontVisibleNameAttribute: &'static NSFontDescriptorAttributeName;
308}
309
310extern "C" {
311    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontmatrixattribute?language=objc)
312    pub static NSFontMatrixAttribute: &'static NSFontDescriptorAttributeName;
313}
314
315extern "C" {
316    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontvariationattribute?language=objc)
317    pub static NSFontVariationAttribute: &'static NSFontDescriptorAttributeName;
318}
319
320extern "C" {
321    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcharactersetattribute?language=objc)
322    pub static NSFontCharacterSetAttribute: &'static NSFontDescriptorAttributeName;
323}
324
325extern "C" {
326    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcascadelistattribute?language=objc)
327    pub static NSFontCascadeListAttribute: &'static NSFontDescriptorAttributeName;
328}
329
330extern "C" {
331    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttraitsattribute?language=objc)
332    pub static NSFontTraitsAttribute: &'static NSFontDescriptorAttributeName;
333}
334
335extern "C" {
336    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfixedadvanceattribute?language=objc)
337    pub static NSFontFixedAdvanceAttribute: &'static NSFontDescriptorAttributeName;
338}
339
340extern "C" {
341    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfeaturesettingsattribute?language=objc)
342    pub static NSFontFeatureSettingsAttribute: &'static NSFontDescriptorAttributeName;
343}
344
345extern "C" {
346    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontsymbolictrait?language=objc)
347    pub static NSFontSymbolicTrait: &'static NSFontDescriptorTraitKey;
348}
349
350extern "C" {
351    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweighttrait?language=objc)
352    pub static NSFontWeightTrait: &'static NSFontDescriptorTraitKey;
353}
354
355extern "C" {
356    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontwidthtrait?language=objc)
357    pub static NSFontWidthTrait: &'static NSFontDescriptorTraitKey;
358}
359
360extern "C" {
361    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontslanttrait?language=objc)
362    pub static NSFontSlantTrait: &'static NSFontDescriptorTraitKey;
363}
364
365extern "C" {
366    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontvariationaxisidentifierkey?language=objc)
367    pub static NSFontVariationAxisIdentifierKey: &'static NSFontDescriptorVariationKey;
368}
369
370extern "C" {
371    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontvariationaxisminimumvaluekey?language=objc)
372    pub static NSFontVariationAxisMinimumValueKey: &'static NSFontDescriptorVariationKey;
373}
374
375extern "C" {
376    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontvariationaxismaximumvaluekey?language=objc)
377    pub static NSFontVariationAxisMaximumValueKey: &'static NSFontDescriptorVariationKey;
378}
379
380extern "C" {
381    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontvariationaxisdefaultvaluekey?language=objc)
382    pub static NSFontVariationAxisDefaultValueKey: &'static NSFontDescriptorVariationKey;
383}
384
385extern "C" {
386    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontvariationaxisnamekey?language=objc)
387    pub static NSFontVariationAxisNameKey: &'static NSFontDescriptorVariationKey;
388}
389
390extern "C" {
391    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfeaturetypeidentifierkey?language=objc)
392    pub static NSFontFeatureTypeIdentifierKey: &'static NSFontDescriptorFeatureKey;
393}
394
395extern "C" {
396    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfeatureselectoridentifierkey?language=objc)
397    pub static NSFontFeatureSelectorIdentifierKey: &'static NSFontDescriptorFeatureKey;
398}
399
400extern "C" {
401    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightultralight?language=objc)
402    #[cfg(feature = "objc2-core-foundation")]
403    pub static NSFontWeightUltraLight: NSFontWeight;
404}
405
406extern "C" {
407    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightthin?language=objc)
408    #[cfg(feature = "objc2-core-foundation")]
409    pub static NSFontWeightThin: NSFontWeight;
410}
411
412extern "C" {
413    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightlight?language=objc)
414    #[cfg(feature = "objc2-core-foundation")]
415    pub static NSFontWeightLight: NSFontWeight;
416}
417
418extern "C" {
419    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightregular?language=objc)
420    #[cfg(feature = "objc2-core-foundation")]
421    pub static NSFontWeightRegular: NSFontWeight;
422}
423
424extern "C" {
425    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightmedium?language=objc)
426    #[cfg(feature = "objc2-core-foundation")]
427    pub static NSFontWeightMedium: NSFontWeight;
428}
429
430extern "C" {
431    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightsemibold?language=objc)
432    #[cfg(feature = "objc2-core-foundation")]
433    pub static NSFontWeightSemibold: NSFontWeight;
434}
435
436extern "C" {
437    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightbold?language=objc)
438    #[cfg(feature = "objc2-core-foundation")]
439    pub static NSFontWeightBold: NSFontWeight;
440}
441
442extern "C" {
443    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightheavy?language=objc)
444    #[cfg(feature = "objc2-core-foundation")]
445    pub static NSFontWeightHeavy: NSFontWeight;
446}
447
448extern "C" {
449    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontweightblack?language=objc)
450    #[cfg(feature = "objc2-core-foundation")]
451    pub static NSFontWeightBlack: NSFontWeight;
452}
453
454extern "C" {
455    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontwidthcompressed?language=objc)
456    #[cfg(feature = "objc2-core-foundation")]
457    pub static NSFontWidthCompressed: NSFontWidth;
458}
459
460extern "C" {
461    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontwidthcondensed?language=objc)
462    #[cfg(feature = "objc2-core-foundation")]
463    pub static NSFontWidthCondensed: NSFontWidth;
464}
465
466extern "C" {
467    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontwidthstandard?language=objc)
468    #[cfg(feature = "objc2-core-foundation")]
469    pub static NSFontWidthStandard: NSFontWidth;
470}
471
472extern "C" {
473    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontwidthexpanded?language=objc)
474    #[cfg(feature = "objc2-core-foundation")]
475    pub static NSFontWidthExpanded: NSFontWidth;
476}
477
478extern "C" {
479    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontdescriptorsystemdesigndefault?language=objc)
480    pub static NSFontDescriptorSystemDesignDefault: &'static NSFontDescriptorSystemDesign;
481}
482
483extern "C" {
484    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontdescriptorsystemdesignserif?language=objc)
485    pub static NSFontDescriptorSystemDesignSerif: &'static NSFontDescriptorSystemDesign;
486}
487
488extern "C" {
489    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontdescriptorsystemdesignmonospaced?language=objc)
490    pub static NSFontDescriptorSystemDesignMonospaced: &'static NSFontDescriptorSystemDesign;
491}
492
493extern "C" {
494    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontdescriptorsystemdesignrounded?language=objc)
495    pub static NSFontDescriptorSystemDesignRounded: &'static NSFontDescriptorSystemDesign;
496}
497
498extern "C" {
499    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstylelargetitle?language=objc)
500    pub static NSFontTextStyleLargeTitle: &'static NSFontTextStyle;
501}
502
503extern "C" {
504    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstyletitle1?language=objc)
505    pub static NSFontTextStyleTitle1: &'static NSFontTextStyle;
506}
507
508extern "C" {
509    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstyletitle2?language=objc)
510    pub static NSFontTextStyleTitle2: &'static NSFontTextStyle;
511}
512
513extern "C" {
514    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstyletitle3?language=objc)
515    pub static NSFontTextStyleTitle3: &'static NSFontTextStyle;
516}
517
518extern "C" {
519    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstyleheadline?language=objc)
520    pub static NSFontTextStyleHeadline: &'static NSFontTextStyle;
521}
522
523extern "C" {
524    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstylesubheadline?language=objc)
525    pub static NSFontTextStyleSubheadline: &'static NSFontTextStyle;
526}
527
528extern "C" {
529    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstylebody?language=objc)
530    pub static NSFontTextStyleBody: &'static NSFontTextStyle;
531}
532
533extern "C" {
534    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstylecallout?language=objc)
535    pub static NSFontTextStyleCallout: &'static NSFontTextStyle;
536}
537
538extern "C" {
539    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstylefootnote?language=objc)
540    pub static NSFontTextStyleFootnote: &'static NSFontTextStyle;
541}
542
543extern "C" {
544    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstylecaption1?language=objc)
545    pub static NSFontTextStyleCaption1: &'static NSFontTextStyle;
546}
547
548extern "C" {
549    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttextstylecaption2?language=objc)
550    pub static NSFontTextStyleCaption2: &'static NSFontTextStyle;
551}
552
553/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfamilyclass?language=objc)
554pub type NSFontFamilyClass = u32;
555
556/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontunknownclass?language=objc)
557pub const NSFontUnknownClass: c_int = 0 << 28;
558/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontoldstyleserifsclass?language=objc)
559pub const NSFontOldStyleSerifsClass: c_int = 1 << 28;
560/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfonttransitionalserifsclass?language=objc)
561pub const NSFontTransitionalSerifsClass: c_int = 2 << 28;
562/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontmodernserifsclass?language=objc)
563pub const NSFontModernSerifsClass: c_int = 3 << 28;
564/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontclarendonserifsclass?language=objc)
565pub const NSFontClarendonSerifsClass: c_int = 4 << 28;
566/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontslabserifsclass?language=objc)
567pub const NSFontSlabSerifsClass: c_int = 5 << 28;
568/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfreeformserifsclass?language=objc)
569pub const NSFontFreeformSerifsClass: c_int = 7 << 28;
570/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontsansserifclass?language=objc)
571pub const NSFontSansSerifClass: c_int = 8 << 28;
572/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontornamentalsclass?language=objc)
573pub const NSFontOrnamentalsClass: c_int = 9 << 28;
574/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontscriptsclass?language=objc)
575pub const NSFontScriptsClass: c_int = 10 << 28;
576/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontsymbolicclass?language=objc)
577pub const NSFontSymbolicClass: c_int = 12 << 28;
578
579/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontfamilyclassmask?language=objc)
580pub const NSFontFamilyClassMask: c_uint = 0xF0000000;
581
582/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontitalictrait?language=objc)
583pub const NSFontItalicTrait: c_uint = 1 << 0;
584/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontboldtrait?language=objc)
585pub const NSFontBoldTrait: c_uint = 1 << 1;
586/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontexpandedtrait?language=objc)
587pub const NSFontExpandedTrait: c_uint = 1 << 5;
588/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcondensedtrait?language=objc)
589pub const NSFontCondensedTrait: c_uint = 1 << 6;
590/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontmonospacetrait?language=objc)
591pub const NSFontMonoSpaceTrait: c_uint = 1 << 10;
592/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontverticaltrait?language=objc)
593pub const NSFontVerticalTrait: c_uint = 1 << 11;
594/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontuioptimizedtrait?language=objc)
595pub const NSFontUIOptimizedTrait: c_uint = 1 << 12;
596
597extern "C" {
598    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsfontcolorattribute?language=objc)
599    pub static NSFontColorAttribute: &'static NSString;
600}
601
602/// NSFontDescriptor_TextStyles.
603impl NSFontDescriptor {
604    extern_methods!(
605        #[unsafe(method(preferredFontDescriptorForTextStyle:options:))]
606        #[unsafe(method_family = none)]
607        pub unsafe fn preferredFontDescriptorForTextStyle_options(
608            style: &NSFontTextStyle,
609            options: &NSDictionary<NSFontTextStyleOptionKey, AnyObject>,
610        ) -> Retained<NSFontDescriptor>;
611    );
612}