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!(
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>;
}
);