objc2_ui_kit/generated/
NSStringDrawing.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use 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
12extern_class!(
13    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/nsstringdrawingcontext?language=objc)
14    #[unsafe(super(NSObject))]
15    #[derive(Debug, PartialEq, Eq, Hash)]
16    pub struct NSStringDrawingContext;
17);
18
19unsafe impl NSObjectProtocol for NSStringDrawingContext {}
20
21impl NSStringDrawingContext {
22    extern_methods!(
23        #[cfg(feature = "objc2-core-foundation")]
24        #[unsafe(method(minimumScaleFactor))]
25        #[unsafe(method_family = none)]
26        pub unsafe fn minimumScaleFactor(&self) -> CGFloat;
27
28        #[cfg(feature = "objc2-core-foundation")]
29        /// Setter for [`minimumScaleFactor`][Self::minimumScaleFactor].
30        #[unsafe(method(setMinimumScaleFactor:))]
31        #[unsafe(method_family = none)]
32        pub unsafe fn setMinimumScaleFactor(&self, minimum_scale_factor: CGFloat);
33
34        #[cfg(feature = "objc2-core-foundation")]
35        #[unsafe(method(actualScaleFactor))]
36        #[unsafe(method_family = none)]
37        pub unsafe fn actualScaleFactor(&self) -> CGFloat;
38
39        #[cfg(feature = "objc2-core-foundation")]
40        #[unsafe(method(totalBounds))]
41        #[unsafe(method_family = none)]
42        pub unsafe fn totalBounds(&self) -> CGRect;
43    );
44}
45
46/// Methods declared on superclass `NSObject`.
47impl NSStringDrawingContext {
48    extern_methods!(
49        #[unsafe(method(init))]
50        #[unsafe(method_family = init)]
51        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
52
53        #[unsafe(method(new))]
54        #[unsafe(method_family = new)]
55        pub unsafe fn new() -> Retained<Self>;
56    );
57}
58
59mod private_NSStringDrawing {
60    pub trait Sealed {}
61}
62
63/// Category on [`NSString`].
64pub unsafe trait NSStringDrawing:
65    ClassType + Sized + private_NSStringDrawing::Sealed
66{
67    extern_methods!(
68        #[cfg(feature = "objc2-core-foundation")]
69        #[unsafe(method(sizeWithAttributes:))]
70        #[unsafe(method_family = none)]
71        unsafe fn sizeWithAttributes(
72            &self,
73            attrs: Option<&NSDictionary<NSAttributedStringKey, AnyObject>>,
74        ) -> CGSize;
75
76        #[cfg(feature = "objc2-core-foundation")]
77        #[unsafe(method(drawAtPoint:withAttributes:))]
78        #[unsafe(method_family = none)]
79        unsafe fn drawAtPoint_withAttributes(
80            &self,
81            point: CGPoint,
82            attrs: Option<&NSDictionary<NSAttributedStringKey, AnyObject>>,
83        );
84
85        #[cfg(feature = "objc2-core-foundation")]
86        #[unsafe(method(drawInRect:withAttributes:))]
87        #[unsafe(method_family = none)]
88        unsafe fn drawInRect_withAttributes(
89            &self,
90            rect: CGRect,
91            attrs: Option<&NSDictionary<NSAttributedStringKey, AnyObject>>,
92        );
93    );
94}
95
96impl private_NSStringDrawing::Sealed for NSString {}
97unsafe impl NSStringDrawing for NSString {}
98
99mod private_NSAttributedStringNSStringDrawing {
100    pub trait Sealed {}
101}
102
103/// Category "NSStringDrawing" on [`NSAttributedString`].
104#[doc(alias = "NSStringDrawing")]
105pub unsafe trait NSAttributedStringNSStringDrawing:
106    ClassType + Sized + private_NSAttributedStringNSStringDrawing::Sealed
107{
108    extern_methods!(
109        #[cfg(feature = "objc2-core-foundation")]
110        #[unsafe(method(size))]
111        #[unsafe(method_family = none)]
112        unsafe fn size(&self) -> CGSize;
113
114        #[cfg(feature = "objc2-core-foundation")]
115        #[unsafe(method(drawAtPoint:))]
116        #[unsafe(method_family = none)]
117        unsafe fn drawAtPoint(&self, point: CGPoint);
118
119        #[cfg(feature = "objc2-core-foundation")]
120        #[unsafe(method(drawInRect:))]
121        #[unsafe(method_family = none)]
122        unsafe fn drawInRect(&self, rect: CGRect);
123    );
124}
125
126impl private_NSAttributedStringNSStringDrawing::Sealed for NSAttributedString {}
127unsafe impl NSAttributedStringNSStringDrawing for NSAttributedString {}
128
129/// [Apple's documentation](https://developer.apple.com/documentation/uikit/nsstringdrawingoptions?language=objc)
130// NS_OPTIONS
131#[repr(transparent)]
132#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
133pub struct NSStringDrawingOptions(pub NSInteger);
134bitflags::bitflags! {
135    impl NSStringDrawingOptions: NSInteger {
136        #[doc(alias = "NSStringDrawingUsesLineFragmentOrigin")]
137        const UsesLineFragmentOrigin = 1<<0;
138        #[doc(alias = "NSStringDrawingUsesFontLeading")]
139        const UsesFontLeading = 1<<1;
140        #[doc(alias = "NSStringDrawingUsesDeviceMetrics")]
141        const UsesDeviceMetrics = 1<<3;
142        #[doc(alias = "NSStringDrawingTruncatesLastVisibleLine")]
143        const TruncatesLastVisibleLine = 1<<5;
144    }
145}
146
147unsafe impl Encode for NSStringDrawingOptions {
148    const ENCODING: Encoding = NSInteger::ENCODING;
149}
150
151unsafe impl RefEncode for NSStringDrawingOptions {
152    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
153}
154
155mod private_NSStringNSExtendedStringDrawing {
156    pub trait Sealed {}
157}
158
159/// Category "NSExtendedStringDrawing" on [`NSString`].
160#[doc(alias = "NSExtendedStringDrawing")]
161pub unsafe trait NSStringNSExtendedStringDrawing:
162    ClassType + Sized + private_NSStringNSExtendedStringDrawing::Sealed
163{
164    extern_methods!(
165        #[cfg(feature = "objc2-core-foundation")]
166        #[unsafe(method(drawWithRect:options:attributes:context:))]
167        #[unsafe(method_family = none)]
168        unsafe fn drawWithRect_options_attributes_context(
169            &self,
170            rect: CGRect,
171            options: NSStringDrawingOptions,
172            attributes: Option<&NSDictionary<NSAttributedStringKey, AnyObject>>,
173            context: Option<&NSStringDrawingContext>,
174        );
175
176        #[cfg(feature = "objc2-core-foundation")]
177        #[unsafe(method(boundingRectWithSize:options:attributes:context:))]
178        #[unsafe(method_family = none)]
179        unsafe fn boundingRectWithSize_options_attributes_context(
180            &self,
181            size: CGSize,
182            options: NSStringDrawingOptions,
183            attributes: Option<&NSDictionary<NSAttributedStringKey, AnyObject>>,
184            context: Option<&NSStringDrawingContext>,
185        ) -> CGRect;
186    );
187}
188
189impl private_NSStringNSExtendedStringDrawing::Sealed for NSString {}
190unsafe impl NSStringNSExtendedStringDrawing for NSString {}
191
192mod private_NSAttributedStringNSExtendedStringDrawing {
193    pub trait Sealed {}
194}
195
196/// Category "NSExtendedStringDrawing" on [`NSAttributedString`].
197#[doc(alias = "NSExtendedStringDrawing")]
198pub unsafe trait NSAttributedStringNSExtendedStringDrawing:
199    ClassType + Sized + private_NSAttributedStringNSExtendedStringDrawing::Sealed
200{
201    extern_methods!(
202        #[cfg(feature = "objc2-core-foundation")]
203        #[unsafe(method(drawWithRect:options:context:))]
204        #[unsafe(method_family = none)]
205        unsafe fn drawWithRect_options_context(
206            &self,
207            rect: CGRect,
208            options: NSStringDrawingOptions,
209            context: Option<&NSStringDrawingContext>,
210        );
211
212        #[cfg(feature = "objc2-core-foundation")]
213        #[unsafe(method(boundingRectWithSize:options:context:))]
214        #[unsafe(method_family = none)]
215        unsafe fn boundingRectWithSize_options_context(
216            &self,
217            size: CGSize,
218            options: NSStringDrawingOptions,
219            context: Option<&NSStringDrawingContext>,
220        ) -> CGRect;
221    );
222}
223
224impl private_NSAttributedStringNSExtendedStringDrawing::Sealed for NSAttributedString {}
225unsafe impl NSAttributedStringNSExtendedStringDrawing for NSAttributedString {}
226
227/// NSStringDrawingContextDeprecated.
228/// ********************** Deprecated ***********************
229impl NSStringDrawingContext {
230    extern_methods!(
231        #[cfg(feature = "objc2-core-foundation")]
232        #[deprecated]
233        #[unsafe(method(minimumTrackingAdjustment))]
234        #[unsafe(method_family = none)]
235        pub unsafe fn minimumTrackingAdjustment(&self) -> CGFloat;
236
237        #[cfg(feature = "objc2-core-foundation")]
238        /// Setter for [`minimumTrackingAdjustment`][Self::minimumTrackingAdjustment].
239        #[deprecated]
240        #[unsafe(method(setMinimumTrackingAdjustment:))]
241        #[unsafe(method_family = none)]
242        pub unsafe fn setMinimumTrackingAdjustment(&self, minimum_tracking_adjustment: CGFloat);
243
244        #[cfg(feature = "objc2-core-foundation")]
245        #[deprecated]
246        #[unsafe(method(actualTrackingAdjustment))]
247        #[unsafe(method_family = none)]
248        pub unsafe fn actualTrackingAdjustment(&self) -> CGFloat;
249    );
250}