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