1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use objc2::__framework_prelude::*;
use objc2_foundation::*;

use crate::*;

extern_class!(
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct UIFont;

    unsafe impl ClassType for UIFont {
        type Super = NSObject;
        type Mutability = InteriorMutable;
    }
);

unsafe impl Send for UIFont {}

unsafe impl Sync for UIFont {}

unsafe impl NSCoding for UIFont {}

unsafe impl NSCopying for UIFont {}

unsafe impl NSObjectProtocol for UIFont {}

unsafe impl NSSecureCoding for UIFont {}

extern_methods!(
    unsafe impl UIFont {
        #[cfg(feature = "UIFontDescriptor")]
        #[method_id(@__retain_semantics Other preferredFontForTextStyle:)]
        pub unsafe fn preferredFontForTextStyle(style: &UIFontTextStyle) -> Retained<UIFont>;

        #[cfg(all(feature = "UIFontDescriptor", feature = "UITraitCollection"))]
        #[method_id(@__retain_semantics Other preferredFontForTextStyle:compatibleWithTraitCollection:)]
        pub unsafe fn preferredFontForTextStyle_compatibleWithTraitCollection(
            style: &UIFontTextStyle,
            trait_collection: Option<&UITraitCollection>,
        ) -> Retained<UIFont>;

        #[method_id(@__retain_semantics Other fontWithName:size:)]
        pub unsafe fn fontWithName_size(
            font_name: &NSString,
            font_size: CGFloat,
        ) -> Option<Retained<UIFont>>;

        #[method_id(@__retain_semantics Other familyNames)]
        pub unsafe fn familyNames() -> Retained<NSArray<NSString>>;

        #[method_id(@__retain_semantics Other fontNamesForFamilyName:)]
        pub unsafe fn fontNamesForFamilyName(family_name: &NSString)
            -> Retained<NSArray<NSString>>;

        #[method_id(@__retain_semantics Other systemFontOfSize:)]
        pub unsafe fn systemFontOfSize(font_size: CGFloat) -> Retained<UIFont>;

        #[method_id(@__retain_semantics Other boldSystemFontOfSize:)]
        pub unsafe fn boldSystemFontOfSize(font_size: CGFloat) -> Retained<UIFont>;

        #[method_id(@__retain_semantics Other italicSystemFontOfSize:)]
        pub unsafe fn italicSystemFontOfSize(font_size: CGFloat) -> Retained<UIFont>;

        #[cfg(feature = "UIFontDescriptor")]
        #[method_id(@__retain_semantics Other systemFontOfSize:weight:)]
        pub unsafe fn systemFontOfSize_weight(
            font_size: CGFloat,
            weight: UIFontWeight,
        ) -> Retained<UIFont>;

        #[cfg(feature = "UIFontDescriptor")]
        #[method_id(@__retain_semantics Other monospacedDigitSystemFontOfSize:weight:)]
        pub unsafe fn monospacedDigitSystemFontOfSize_weight(
            font_size: CGFloat,
            weight: UIFontWeight,
        ) -> Retained<UIFont>;

        #[cfg(feature = "UIFontDescriptor")]
        #[method_id(@__retain_semantics Other systemFontOfSize:weight:width:)]
        pub unsafe fn systemFontOfSize_weight_width(
            font_size: CGFloat,
            weight: UIFontWeight,
            width: UIFontWidth,
        ) -> Retained<UIFont>;

        #[cfg(feature = "UIFontDescriptor")]
        #[method_id(@__retain_semantics Other monospacedSystemFontOfSize:weight:)]
        pub unsafe fn monospacedSystemFontOfSize_weight(
            font_size: CGFloat,
            weight: UIFontWeight,
        ) -> Retained<UIFont>;

        #[method_id(@__retain_semantics Other familyName)]
        pub unsafe fn familyName(&self) -> Retained<NSString>;

        #[method_id(@__retain_semantics Other fontName)]
        pub unsafe fn fontName(&self) -> Retained<NSString>;

        #[method(pointSize)]
        pub unsafe fn pointSize(&self) -> CGFloat;

        #[method(ascender)]
        pub unsafe fn ascender(&self) -> CGFloat;

        #[method(descender)]
        pub unsafe fn descender(&self) -> CGFloat;

        #[method(capHeight)]
        pub unsafe fn capHeight(&self) -> CGFloat;

        #[method(xHeight)]
        pub unsafe fn xHeight(&self) -> CGFloat;

        #[method(lineHeight)]
        pub unsafe fn lineHeight(&self) -> CGFloat;

        #[method(leading)]
        pub unsafe fn leading(&self) -> CGFloat;

        #[method_id(@__retain_semantics Other fontWithSize:)]
        pub unsafe fn fontWithSize(&self, font_size: CGFloat) -> Retained<UIFont>;

        #[cfg(feature = "UIFontDescriptor")]
        #[method_id(@__retain_semantics Other fontWithDescriptor:size:)]
        pub unsafe fn fontWithDescriptor_size(
            descriptor: &UIFontDescriptor,
            point_size: CGFloat,
        ) -> Retained<UIFont>;

        #[cfg(feature = "UIFontDescriptor")]
        #[method_id(@__retain_semantics Other fontDescriptor)]
        pub unsafe fn fontDescriptor(&self) -> Retained<UIFontDescriptor>;
    }
);

extern_methods!(
    /// Methods declared on superclass `NSObject`
    unsafe impl UIFont {
        #[method_id(@__retain_semantics Init init)]
        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;

        #[method_id(@__retain_semantics New new)]
        pub unsafe fn new() -> Retained<Self>;
    }
);