objc2_app_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#[deprecated]
145 #[doc(alias = "NSStringDrawingDisableScreenFontSubstitution")]
146 const DisableScreenFontSubstitution = 1<<2;
147#[deprecated]
148 #[doc(alias = "NSStringDrawingOneShot")]
149 const OneShot = 1<<4;
150 }
151}
152
153unsafe impl Encode for NSStringDrawingOptions {
154 const ENCODING: Encoding = NSInteger::ENCODING;
155}
156
157unsafe impl RefEncode for NSStringDrawingOptions {
158 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
159}
160
161mod private_NSStringNSExtendedStringDrawing {
162 pub trait Sealed {}
163}
164
165#[doc(alias = "NSExtendedStringDrawing")]
167pub unsafe trait NSStringNSExtendedStringDrawing:
168 ClassType + Sized + private_NSStringNSExtendedStringDrawing::Sealed
169{
170 extern_methods!(
171 #[cfg(feature = "objc2-core-foundation")]
172 #[unsafe(method(drawWithRect:options:attributes:context:))]
173 #[unsafe(method_family = none)]
174 unsafe fn drawWithRect_options_attributes_context(
175 &self,
176 rect: CGRect,
177 options: NSStringDrawingOptions,
178 attributes: Option<&NSDictionary<NSAttributedStringKey, AnyObject>>,
179 context: Option<&NSStringDrawingContext>,
180 );
181
182 #[cfg(feature = "objc2-core-foundation")]
183 #[unsafe(method(boundingRectWithSize:options:attributes:context:))]
184 #[unsafe(method_family = none)]
185 unsafe fn boundingRectWithSize_options_attributes_context(
186 &self,
187 size: CGSize,
188 options: NSStringDrawingOptions,
189 attributes: Option<&NSDictionary<NSAttributedStringKey, AnyObject>>,
190 context: Option<&NSStringDrawingContext>,
191 ) -> CGRect;
192 );
193}
194
195impl private_NSStringNSExtendedStringDrawing::Sealed for NSString {}
196unsafe impl NSStringNSExtendedStringDrawing for NSString {}
197
198mod private_NSAttributedStringNSExtendedStringDrawing {
199 pub trait Sealed {}
200}
201
202#[doc(alias = "NSExtendedStringDrawing")]
204pub unsafe trait NSAttributedStringNSExtendedStringDrawing:
205 ClassType + Sized + private_NSAttributedStringNSExtendedStringDrawing::Sealed
206{
207 extern_methods!(
208 #[cfg(feature = "objc2-core-foundation")]
209 #[unsafe(method(drawWithRect:options:context:))]
210 #[unsafe(method_family = none)]
211 unsafe fn drawWithRect_options_context(
212 &self,
213 rect: CGRect,
214 options: NSStringDrawingOptions,
215 context: Option<&NSStringDrawingContext>,
216 );
217
218 #[cfg(feature = "objc2-core-foundation")]
219 #[unsafe(method(boundingRectWithSize:options:context:))]
220 #[unsafe(method_family = none)]
221 unsafe fn boundingRectWithSize_options_context(
222 &self,
223 size: CGSize,
224 options: NSStringDrawingOptions,
225 context: Option<&NSStringDrawingContext>,
226 ) -> CGRect;
227 );
228}
229
230impl private_NSAttributedStringNSExtendedStringDrawing::Sealed for NSAttributedString {}
231unsafe impl NSAttributedStringNSExtendedStringDrawing for NSAttributedString {}
232
233mod private_NSStringDrawingDeprecated {
234 pub trait Sealed {}
235}
236
237pub unsafe trait NSStringDrawingDeprecated:
240 ClassType + Sized + private_NSStringDrawingDeprecated::Sealed
241{
242 extern_methods!(
243 #[unsafe(method(drawWithRect:options:attributes:))]
244 #[unsafe(method_family = none)]
245 unsafe fn drawWithRect_options_attributes(
246 &self,
247 rect: NSRect,
248 options: NSStringDrawingOptions,
249 attributes: Option<&NSDictionary<NSAttributedStringKey, AnyObject>>,
250 );
251
252 #[unsafe(method(boundingRectWithSize:options:attributes:))]
253 #[unsafe(method_family = none)]
254 unsafe fn boundingRectWithSize_options_attributes(
255 &self,
256 size: NSSize,
257 options: NSStringDrawingOptions,
258 attributes: Option<&NSDictionary<NSAttributedStringKey, AnyObject>>,
259 ) -> NSRect;
260 );
261}
262
263impl private_NSStringDrawingDeprecated::Sealed for NSString {}
264unsafe impl NSStringDrawingDeprecated for NSString {}
265
266mod private_NSAttributedStringNSStringDrawingDeprecated {
267 pub trait Sealed {}
268}
269
270#[doc(alias = "NSStringDrawingDeprecated")]
272pub unsafe trait NSAttributedStringNSStringDrawingDeprecated:
273 ClassType + Sized + private_NSAttributedStringNSStringDrawingDeprecated::Sealed
274{
275 extern_methods!(
276 #[unsafe(method(drawWithRect:options:))]
277 #[unsafe(method_family = none)]
278 unsafe fn drawWithRect_options(&self, rect: NSRect, options: NSStringDrawingOptions);
279
280 #[unsafe(method(boundingRectWithSize:options:))]
281 #[unsafe(method_family = none)]
282 unsafe fn boundingRectWithSize_options(
283 &self,
284 size: NSSize,
285 options: NSStringDrawingOptions,
286 ) -> NSRect;
287 );
288}
289
290impl private_NSAttributedStringNSStringDrawingDeprecated::Sealed for NSAttributedString {}
291unsafe impl NSAttributedStringNSStringDrawingDeprecated for NSAttributedString {}