use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSGlyphInfo;
unsafe impl ClassType for NSGlyphInfo {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSCoding for NSGlyphInfo {}
unsafe impl NSCopying for NSGlyphInfo {}
unsafe impl NSObjectProtocol for NSGlyphInfo {}
unsafe impl NSSecureCoding for NSGlyphInfo {}
extern_methods!(
unsafe impl NSGlyphInfo {
#[method_id(@__retain_semantics Other baseString)]
pub unsafe fn baseString(&self) -> Id<NSString>;
}
);
extern_methods!(
unsafe impl NSGlyphInfo {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct NSCharacterCollection(pub NSUInteger);
impl NSCharacterCollection {
pub const NSIdentityMappingCharacterCollection: Self = Self(0);
pub const NSAdobeCNS1CharacterCollection: Self = Self(1);
pub const NSAdobeGB1CharacterCollection: Self = Self(2);
pub const NSAdobeJapan1CharacterCollection: Self = Self(3);
pub const NSAdobeJapan2CharacterCollection: Self = Self(4);
pub const NSAdobeKorea1CharacterCollection: Self = Self(5);
}
unsafe impl Encode for NSCharacterCollection {
const ENCODING: Encoding = NSUInteger::ENCODING;
}
unsafe impl RefEncode for NSCharacterCollection {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
extern_methods!(
unsafe impl NSGlyphInfo {
#[cfg(feature = "NSFont")]
#[method_id(@__retain_semantics Other glyphInfoWithGlyphName:forFont:baseString:)]
pub unsafe fn glyphInfoWithGlyphName_forFont_baseString(
glyph_name: &NSString,
font: &NSFont,
string: &NSString,
) -> Option<Id<NSGlyphInfo>>;
#[cfg(feature = "NSFont")]
#[method_id(@__retain_semantics Other glyphInfoWithGlyph:forFont:baseString:)]
pub unsafe fn glyphInfoWithGlyph_forFont_baseString(
glyph: NSGlyph,
font: &NSFont,
string: &NSString,
) -> Option<Id<NSGlyphInfo>>;
#[method_id(@__retain_semantics Other glyphInfoWithCharacterIdentifier:collection:baseString:)]
pub unsafe fn glyphInfoWithCharacterIdentifier_collection_baseString(
cid: NSUInteger,
character_collection: NSCharacterCollection,
string: &NSString,
) -> Option<Id<NSGlyphInfo>>;
#[method_id(@__retain_semantics Other glyphName)]
pub unsafe fn glyphName(&self) -> Option<Id<NSString>>;
#[method(characterIdentifier)]
pub unsafe fn characterIdentifier(&self) -> NSUInteger;
#[method(characterCollection)]
pub unsafe fn characterCollection(&self) -> NSCharacterCollection;
}
);