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
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
264impl 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 pub static NSFontFamilyAttribute: &'static NSFontDescriptorAttributeName;
280}
281
282extern "C" {
283 pub static NSFontNameAttribute: &'static NSFontDescriptorAttributeName;
285}
286
287extern "C" {
288 pub static NSFontFaceAttribute: &'static NSFontDescriptorAttributeName;
290}
291
292extern "C" {
293 pub static NSFontSizeAttribute: &'static NSFontDescriptorAttributeName;
295}
296
297extern "C" {
298 pub static NSFontVisibleNameAttribute: &'static NSFontDescriptorAttributeName;
300}
301
302extern "C" {
303 pub static NSFontMatrixAttribute: &'static NSFontDescriptorAttributeName;
305}
306
307extern "C" {
308 pub static NSFontVariationAttribute: &'static NSFontDescriptorAttributeName;
310}
311
312extern "C" {
313 pub static NSFontCharacterSetAttribute: &'static NSFontDescriptorAttributeName;
315}
316
317extern "C" {
318 pub static NSFontCascadeListAttribute: &'static NSFontDescriptorAttributeName;
320}
321
322extern "C" {
323 pub static NSFontTraitsAttribute: &'static NSFontDescriptorAttributeName;
325}
326
327extern "C" {
328 pub static NSFontFixedAdvanceAttribute: &'static NSFontDescriptorAttributeName;
330}
331
332extern "C" {
333 pub static NSFontFeatureSettingsAttribute: &'static NSFontDescriptorAttributeName;
335}
336
337extern "C" {
338 pub static NSFontSymbolicTrait: &'static NSFontDescriptorTraitKey;
340}
341
342extern "C" {
343 pub static NSFontWeightTrait: &'static NSFontDescriptorTraitKey;
345}
346
347extern "C" {
348 pub static NSFontWidthTrait: &'static NSFontDescriptorTraitKey;
350}
351
352extern "C" {
353 pub static NSFontSlantTrait: &'static NSFontDescriptorTraitKey;
355}
356
357extern "C" {
358 pub static NSFontVariationAxisIdentifierKey: &'static NSFontDescriptorVariationKey;
360}
361
362extern "C" {
363 pub static NSFontVariationAxisMinimumValueKey: &'static NSFontDescriptorVariationKey;
365}
366
367extern "C" {
368 pub static NSFontVariationAxisMaximumValueKey: &'static NSFontDescriptorVariationKey;
370}
371
372extern "C" {
373 pub static NSFontVariationAxisDefaultValueKey: &'static NSFontDescriptorVariationKey;
375}
376
377extern "C" {
378 pub static NSFontVariationAxisNameKey: &'static NSFontDescriptorVariationKey;
380}
381
382extern "C" {
383 pub static NSFontFeatureTypeIdentifierKey: &'static NSFontDescriptorFeatureKey;
385}
386
387extern "C" {
388 pub static NSFontFeatureSelectorIdentifierKey: &'static NSFontDescriptorFeatureKey;
390}
391
392extern "C" {
393 #[cfg(feature = "objc2-core-foundation")]
395 pub static NSFontWeightUltraLight: NSFontWeight;
396}
397
398extern "C" {
399 #[cfg(feature = "objc2-core-foundation")]
401 pub static NSFontWeightThin: NSFontWeight;
402}
403
404extern "C" {
405 #[cfg(feature = "objc2-core-foundation")]
407 pub static NSFontWeightLight: NSFontWeight;
408}
409
410extern "C" {
411 #[cfg(feature = "objc2-core-foundation")]
413 pub static NSFontWeightRegular: NSFontWeight;
414}
415
416extern "C" {
417 #[cfg(feature = "objc2-core-foundation")]
419 pub static NSFontWeightMedium: NSFontWeight;
420}
421
422extern "C" {
423 #[cfg(feature = "objc2-core-foundation")]
425 pub static NSFontWeightSemibold: NSFontWeight;
426}
427
428extern "C" {
429 #[cfg(feature = "objc2-core-foundation")]
431 pub static NSFontWeightBold: NSFontWeight;
432}
433
434extern "C" {
435 #[cfg(feature = "objc2-core-foundation")]
437 pub static NSFontWeightHeavy: NSFontWeight;
438}
439
440extern "C" {
441 #[cfg(feature = "objc2-core-foundation")]
443 pub static NSFontWeightBlack: NSFontWeight;
444}
445
446extern "C" {
447 #[cfg(feature = "objc2-core-foundation")]
449 pub static NSFontWidthCompressed: NSFontWidth;
450}
451
452extern "C" {
453 #[cfg(feature = "objc2-core-foundation")]
455 pub static NSFontWidthCondensed: NSFontWidth;
456}
457
458extern "C" {
459 #[cfg(feature = "objc2-core-foundation")]
461 pub static NSFontWidthStandard: NSFontWidth;
462}
463
464extern "C" {
465 #[cfg(feature = "objc2-core-foundation")]
467 pub static NSFontWidthExpanded: NSFontWidth;
468}
469
470extern "C" {
471 pub static NSFontDescriptorSystemDesignDefault: &'static NSFontDescriptorSystemDesign;
473}
474
475extern "C" {
476 pub static NSFontDescriptorSystemDesignSerif: &'static NSFontDescriptorSystemDesign;
478}
479
480extern "C" {
481 pub static NSFontDescriptorSystemDesignMonospaced: &'static NSFontDescriptorSystemDesign;
483}
484
485extern "C" {
486 pub static NSFontDescriptorSystemDesignRounded: &'static NSFontDescriptorSystemDesign;
488}
489
490extern "C" {
491 pub static NSFontTextStyleLargeTitle: &'static NSFontTextStyle;
493}
494
495extern "C" {
496 pub static NSFontTextStyleTitle1: &'static NSFontTextStyle;
498}
499
500extern "C" {
501 pub static NSFontTextStyleTitle2: &'static NSFontTextStyle;
503}
504
505extern "C" {
506 pub static NSFontTextStyleTitle3: &'static NSFontTextStyle;
508}
509
510extern "C" {
511 pub static NSFontTextStyleHeadline: &'static NSFontTextStyle;
513}
514
515extern "C" {
516 pub static NSFontTextStyleSubheadline: &'static NSFontTextStyle;
518}
519
520extern "C" {
521 pub static NSFontTextStyleBody: &'static NSFontTextStyle;
523}
524
525extern "C" {
526 pub static NSFontTextStyleCallout: &'static NSFontTextStyle;
528}
529
530extern "C" {
531 pub static NSFontTextStyleFootnote: &'static NSFontTextStyle;
533}
534
535extern "C" {
536 pub static NSFontTextStyleCaption1: &'static NSFontTextStyle;
538}
539
540extern "C" {
541 pub static NSFontTextStyleCaption2: &'static NSFontTextStyle;
543}
544
545pub type NSFontFamilyClass = u32;
547
548pub const NSFontUnknownClass: c_int = 0 << 28;
550pub const NSFontOldStyleSerifsClass: c_int = 1 << 28;
552pub const NSFontTransitionalSerifsClass: c_int = 2 << 28;
554pub const NSFontModernSerifsClass: c_int = 3 << 28;
556pub const NSFontClarendonSerifsClass: c_int = 4 << 28;
558pub const NSFontSlabSerifsClass: c_int = 5 << 28;
560pub const NSFontFreeformSerifsClass: c_int = 7 << 28;
562pub const NSFontSansSerifClass: c_int = 8 << 28;
564pub const NSFontOrnamentalsClass: c_int = 9 << 28;
566pub const NSFontScriptsClass: c_int = 10 << 28;
568pub const NSFontSymbolicClass: c_int = 12 << 28;
570
571pub const NSFontFamilyClassMask: c_uint = 0xF0000000;
573
574pub const NSFontItalicTrait: c_uint = 1 << 0;
576pub const NSFontBoldTrait: c_uint = 1 << 1;
578pub const NSFontExpandedTrait: c_uint = 1 << 5;
580pub const NSFontCondensedTrait: c_uint = 1 << 6;
582pub const NSFontMonoSpaceTrait: c_uint = 1 << 10;
584pub const NSFontVerticalTrait: c_uint = 1 << 11;
586pub const NSFontUIOptimizedTrait: c_uint = 1 << 12;
588
589extern "C" {
590 pub static NSFontColorAttribute: &'static NSString;
592}
593
594impl 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}