objc2_ui_kit/generated/
NSStringDrawing.rs1use 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 #[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 #[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
46impl 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
63pub 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#[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#[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#[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#[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
227impl 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 #[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}