objc2_app_kit/generated/
NSFontDescriptor.rs1use 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
12pub type NSFontSymbolicTraits = u32;
14
15#[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
77pub type NSFontDescriptorAttributeName = NSString;
80
81pub type NSFontDescriptorTraitKey = NSString;
84
85pub type NSFontDescriptorVariationKey = NSString;
88
89pub type NSFontDescriptorFeatureKey = NSString;
92
93#[cfg(feature = "objc2-core-foundation")]
96pub type NSFontWeight = CGFloat;
97
98#[cfg(feature = "objc2-core-foundation")]
101pub type NSFontWidth = CGFloat;
102
103pub type NSFontDescriptorSystemDesign = NSString;
106
107pub type NSFontTextStyle = NSString;
110
111pub type NSFontTextStyleOptionKey = NSString;
114
115extern_class!(
116 #[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
272impl 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 pub static NSFontFamilyAttribute: &'static NSFontDescriptorAttributeName;
288}
289
290extern "C" {
291 pub static NSFontNameAttribute: &'static NSFontDescriptorAttributeName;
293}
294
295extern "C" {
296 pub static NSFontFaceAttribute: &'static NSFontDescriptorAttributeName;
298}
299
300extern "C" {
301 pub static NSFontSizeAttribute: &'static NSFontDescriptorAttributeName;
303}
304
305extern "C" {
306 pub static NSFontVisibleNameAttribute: &'static NSFontDescriptorAttributeName;
308}
309
310extern "C" {
311 pub static NSFontMatrixAttribute: &'static NSFontDescriptorAttributeName;
313}
314
315extern "C" {
316 pub static NSFontVariationAttribute: &'static NSFontDescriptorAttributeName;
318}
319
320extern "C" {
321 pub static NSFontCharacterSetAttribute: &'static NSFontDescriptorAttributeName;
323}
324
325extern "C" {
326 pub static NSFontCascadeListAttribute: &'static NSFontDescriptorAttributeName;
328}
329
330extern "C" {
331 pub static NSFontTraitsAttribute: &'static NSFontDescriptorAttributeName;
333}
334
335extern "C" {
336 pub static NSFontFixedAdvanceAttribute: &'static NSFontDescriptorAttributeName;
338}
339
340extern "C" {
341 pub static NSFontFeatureSettingsAttribute: &'static NSFontDescriptorAttributeName;
343}
344
345extern "C" {
346 pub static NSFontSymbolicTrait: &'static NSFontDescriptorTraitKey;
348}
349
350extern "C" {
351 pub static NSFontWeightTrait: &'static NSFontDescriptorTraitKey;
353}
354
355extern "C" {
356 pub static NSFontWidthTrait: &'static NSFontDescriptorTraitKey;
358}
359
360extern "C" {
361 pub static NSFontSlantTrait: &'static NSFontDescriptorTraitKey;
363}
364
365extern "C" {
366 pub static NSFontVariationAxisIdentifierKey: &'static NSFontDescriptorVariationKey;
368}
369
370extern "C" {
371 pub static NSFontVariationAxisMinimumValueKey: &'static NSFontDescriptorVariationKey;
373}
374
375extern "C" {
376 pub static NSFontVariationAxisMaximumValueKey: &'static NSFontDescriptorVariationKey;
378}
379
380extern "C" {
381 pub static NSFontVariationAxisDefaultValueKey: &'static NSFontDescriptorVariationKey;
383}
384
385extern "C" {
386 pub static NSFontVariationAxisNameKey: &'static NSFontDescriptorVariationKey;
388}
389
390extern "C" {
391 pub static NSFontFeatureTypeIdentifierKey: &'static NSFontDescriptorFeatureKey;
393}
394
395extern "C" {
396 pub static NSFontFeatureSelectorIdentifierKey: &'static NSFontDescriptorFeatureKey;
398}
399
400extern "C" {
401 #[cfg(feature = "objc2-core-foundation")]
403 pub static NSFontWeightUltraLight: NSFontWeight;
404}
405
406extern "C" {
407 #[cfg(feature = "objc2-core-foundation")]
409 pub static NSFontWeightThin: NSFontWeight;
410}
411
412extern "C" {
413 #[cfg(feature = "objc2-core-foundation")]
415 pub static NSFontWeightLight: NSFontWeight;
416}
417
418extern "C" {
419 #[cfg(feature = "objc2-core-foundation")]
421 pub static NSFontWeightRegular: NSFontWeight;
422}
423
424extern "C" {
425 #[cfg(feature = "objc2-core-foundation")]
427 pub static NSFontWeightMedium: NSFontWeight;
428}
429
430extern "C" {
431 #[cfg(feature = "objc2-core-foundation")]
433 pub static NSFontWeightSemibold: NSFontWeight;
434}
435
436extern "C" {
437 #[cfg(feature = "objc2-core-foundation")]
439 pub static NSFontWeightBold: NSFontWeight;
440}
441
442extern "C" {
443 #[cfg(feature = "objc2-core-foundation")]
445 pub static NSFontWeightHeavy: NSFontWeight;
446}
447
448extern "C" {
449 #[cfg(feature = "objc2-core-foundation")]
451 pub static NSFontWeightBlack: NSFontWeight;
452}
453
454extern "C" {
455 #[cfg(feature = "objc2-core-foundation")]
457 pub static NSFontWidthCompressed: NSFontWidth;
458}
459
460extern "C" {
461 #[cfg(feature = "objc2-core-foundation")]
463 pub static NSFontWidthCondensed: NSFontWidth;
464}
465
466extern "C" {
467 #[cfg(feature = "objc2-core-foundation")]
469 pub static NSFontWidthStandard: NSFontWidth;
470}
471
472extern "C" {
473 #[cfg(feature = "objc2-core-foundation")]
475 pub static NSFontWidthExpanded: NSFontWidth;
476}
477
478extern "C" {
479 pub static NSFontDescriptorSystemDesignDefault: &'static NSFontDescriptorSystemDesign;
481}
482
483extern "C" {
484 pub static NSFontDescriptorSystemDesignSerif: &'static NSFontDescriptorSystemDesign;
486}
487
488extern "C" {
489 pub static NSFontDescriptorSystemDesignMonospaced: &'static NSFontDescriptorSystemDesign;
491}
492
493extern "C" {
494 pub static NSFontDescriptorSystemDesignRounded: &'static NSFontDescriptorSystemDesign;
496}
497
498extern "C" {
499 pub static NSFontTextStyleLargeTitle: &'static NSFontTextStyle;
501}
502
503extern "C" {
504 pub static NSFontTextStyleTitle1: &'static NSFontTextStyle;
506}
507
508extern "C" {
509 pub static NSFontTextStyleTitle2: &'static NSFontTextStyle;
511}
512
513extern "C" {
514 pub static NSFontTextStyleTitle3: &'static NSFontTextStyle;
516}
517
518extern "C" {
519 pub static NSFontTextStyleHeadline: &'static NSFontTextStyle;
521}
522
523extern "C" {
524 pub static NSFontTextStyleSubheadline: &'static NSFontTextStyle;
526}
527
528extern "C" {
529 pub static NSFontTextStyleBody: &'static NSFontTextStyle;
531}
532
533extern "C" {
534 pub static NSFontTextStyleCallout: &'static NSFontTextStyle;
536}
537
538extern "C" {
539 pub static NSFontTextStyleFootnote: &'static NSFontTextStyle;
541}
542
543extern "C" {
544 pub static NSFontTextStyleCaption1: &'static NSFontTextStyle;
546}
547
548extern "C" {
549 pub static NSFontTextStyleCaption2: &'static NSFontTextStyle;
551}
552
553pub type NSFontFamilyClass = u32;
555
556pub const NSFontUnknownClass: c_int = 0 << 28;
558pub const NSFontOldStyleSerifsClass: c_int = 1 << 28;
560pub const NSFontTransitionalSerifsClass: c_int = 2 << 28;
562pub const NSFontModernSerifsClass: c_int = 3 << 28;
564pub const NSFontClarendonSerifsClass: c_int = 4 << 28;
566pub const NSFontSlabSerifsClass: c_int = 5 << 28;
568pub const NSFontFreeformSerifsClass: c_int = 7 << 28;
570pub const NSFontSansSerifClass: c_int = 8 << 28;
572pub const NSFontOrnamentalsClass: c_int = 9 << 28;
574pub const NSFontScriptsClass: c_int = 10 << 28;
576pub const NSFontSymbolicClass: c_int = 12 << 28;
578
579pub const NSFontFamilyClassMask: c_uint = 0xF0000000;
581
582pub const NSFontItalicTrait: c_uint = 1 << 0;
584pub const NSFontBoldTrait: c_uint = 1 << 1;
586pub const NSFontExpandedTrait: c_uint = 1 << 5;
588pub const NSFontCondensedTrait: c_uint = 1 << 6;
590pub const NSFontMonoSpaceTrait: c_uint = 1 << 10;
592pub const NSFontVerticalTrait: c_uint = 1 << 11;
594pub const NSFontUIOptimizedTrait: c_uint = 1 << 12;
596
597extern "C" {
598 pub static NSFontColorAttribute: &'static NSString;
600}
601
602impl 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}