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
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 fn minimumScaleFactor(&self) -> CGFloat;
29
30 #[cfg(feature = "objc2-core-foundation")]
31 #[unsafe(method(setMinimumScaleFactor:))]
33 #[unsafe(method_family = none)]
34 pub 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 fn actualScaleFactor(&self) -> CGFloat;
40
41 #[cfg(feature = "objc2-core-foundation")]
42 #[unsafe(method(totalBounds))]
43 #[unsafe(method_family = none)]
44 pub fn totalBounds(&self) -> CGRect;
45 );
46}
47
48impl NSStringDrawingContext {
50 extern_methods!(
51 #[unsafe(method(init))]
52 #[unsafe(method_family = init)]
53 pub fn init(this: Allocated<Self>) -> Retained<Self>;
54
55 #[unsafe(method(new))]
56 #[unsafe(method_family = new)]
57 pub fn new() -> Retained<Self>;
58 );
59}
60
61impl DefaultRetained for NSStringDrawingContext {
62 #[inline]
63 fn default_retained() -> Retained<Self> {
64 Self::new()
65 }
66}
67
68mod private_NSStringDrawing {
69 pub trait Sealed {}
70}
71
72pub unsafe trait NSStringDrawing:
74 ClassType + Sized + private_NSStringDrawing::Sealed
75{
76 extern_methods!(
77 #[cfg(feature = "objc2-core-foundation")]
78 #[unsafe(method(sizeWithAttributes:))]
82 #[unsafe(method_family = none)]
83 unsafe fn sizeWithAttributes(
84 &self,
85 attrs: Option<&NSDictionary<NSAttributedStringKey, AnyObject>>,
86 ) -> CGSize;
87
88 #[cfg(feature = "objc2-core-foundation")]
89 #[unsafe(method(drawAtPoint:withAttributes:))]
93 #[unsafe(method_family = none)]
94 unsafe fn drawAtPoint_withAttributes(
95 &self,
96 point: CGPoint,
97 attrs: Option<&NSDictionary<NSAttributedStringKey, AnyObject>>,
98 );
99
100 #[cfg(feature = "objc2-core-foundation")]
101 #[unsafe(method(drawInRect:withAttributes:))]
105 #[unsafe(method_family = none)]
106 unsafe fn drawInRect_withAttributes(
107 &self,
108 rect: CGRect,
109 attrs: Option<&NSDictionary<NSAttributedStringKey, AnyObject>>,
110 );
111 );
112}
113
114impl private_NSStringDrawing::Sealed for NSString {}
115unsafe impl NSStringDrawing for NSString {}
116
117mod private_NSAttributedStringNSStringDrawing {
118 pub trait Sealed {}
119}
120
121#[doc(alias = "NSStringDrawing")]
123pub unsafe trait NSAttributedStringNSStringDrawing:
124 ClassType + Sized + private_NSAttributedStringNSStringDrawing::Sealed
125{
126 extern_methods!(
127 #[cfg(feature = "objc2-core-foundation")]
128 #[unsafe(method(size))]
129 #[unsafe(method_family = none)]
130 fn size(&self) -> CGSize;
131
132 #[cfg(feature = "objc2-core-foundation")]
133 #[unsafe(method(drawAtPoint:))]
134 #[unsafe(method_family = none)]
135 fn drawAtPoint(&self, point: CGPoint);
136
137 #[cfg(feature = "objc2-core-foundation")]
138 #[unsafe(method(drawInRect:))]
139 #[unsafe(method_family = none)]
140 fn drawInRect(&self, rect: CGRect);
141 );
142}
143
144impl private_NSAttributedStringNSStringDrawing::Sealed for NSAttributedString {}
145unsafe impl NSAttributedStringNSStringDrawing for NSAttributedString {}
146
147#[repr(transparent)]
150#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
151pub struct NSStringDrawingOptions(pub NSInteger);
152bitflags::bitflags! {
153 impl NSStringDrawingOptions: NSInteger {
154 #[doc(alias = "NSStringDrawingUsesLineFragmentOrigin")]
155 const UsesLineFragmentOrigin = 1<<0;
156 #[doc(alias = "NSStringDrawingUsesFontLeading")]
157 const UsesFontLeading = 1<<1;
158 #[doc(alias = "NSStringDrawingUsesDeviceMetrics")]
159 const UsesDeviceMetrics = 1<<3;
160 #[doc(alias = "NSStringDrawingTruncatesLastVisibleLine")]
161 const TruncatesLastVisibleLine = 1<<5;
162#[doc(alias = "NSStringDrawingOptionsResolvesNaturalAlignmentWithBaseWritingDirection")]
166 const OptionsResolvesNaturalAlignmentWithBaseWritingDirection = 1<<9;
167#[doc(alias = "NSStringDrawingDisableScreenFontSubstitution")]
171#[deprecated]
172 const DisableScreenFontSubstitution = 1<<2;
173#[doc(alias = "NSStringDrawingOneShot")]
177#[deprecated]
178 const OneShot = 1<<4;
179 }
180}
181
182unsafe impl Encode for NSStringDrawingOptions {
183 const ENCODING: Encoding = NSInteger::ENCODING;
184}
185
186unsafe impl RefEncode for NSStringDrawingOptions {
187 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
188}
189
190mod private_NSStringNSExtendedStringDrawing {
191 pub trait Sealed {}
192}
193
194#[doc(alias = "NSExtendedStringDrawing")]
196pub unsafe trait NSStringNSExtendedStringDrawing:
197 ClassType + Sized + private_NSStringNSExtendedStringDrawing::Sealed
198{
199 extern_methods!(
200 #[cfg(feature = "objc2-core-foundation")]
201 #[unsafe(method(drawWithRect:options:attributes:context:))]
205 #[unsafe(method_family = none)]
206 unsafe fn drawWithRect_options_attributes_context(
207 &self,
208 rect: CGRect,
209 options: NSStringDrawingOptions,
210 attributes: Option<&NSDictionary<NSAttributedStringKey, AnyObject>>,
211 context: Option<&NSStringDrawingContext>,
212 );
213
214 #[cfg(feature = "objc2-core-foundation")]
215 #[unsafe(method(boundingRectWithSize:options:attributes:context:))]
219 #[unsafe(method_family = none)]
220 unsafe fn boundingRectWithSize_options_attributes_context(
221 &self,
222 size: CGSize,
223 options: NSStringDrawingOptions,
224 attributes: Option<&NSDictionary<NSAttributedStringKey, AnyObject>>,
225 context: Option<&NSStringDrawingContext>,
226 ) -> CGRect;
227 );
228}
229
230impl private_NSStringNSExtendedStringDrawing::Sealed for NSString {}
231unsafe impl NSStringNSExtendedStringDrawing for NSString {}
232
233mod private_NSAttributedStringNSExtendedStringDrawing {
234 pub trait Sealed {}
235}
236
237#[doc(alias = "NSExtendedStringDrawing")]
239pub unsafe trait NSAttributedStringNSExtendedStringDrawing:
240 ClassType + Sized + private_NSAttributedStringNSExtendedStringDrawing::Sealed
241{
242 extern_methods!(
243 #[cfg(feature = "objc2-core-foundation")]
244 #[unsafe(method(drawWithRect:options:context:))]
245 #[unsafe(method_family = none)]
246 fn drawWithRect_options_context(
247 &self,
248 rect: CGRect,
249 options: NSStringDrawingOptions,
250 context: Option<&NSStringDrawingContext>,
251 );
252
253 #[cfg(feature = "objc2-core-foundation")]
254 #[unsafe(method(boundingRectWithSize:options:context:))]
255 #[unsafe(method_family = none)]
256 fn boundingRectWithSize_options_context(
257 &self,
258 size: CGSize,
259 options: NSStringDrawingOptions,
260 context: Option<&NSStringDrawingContext>,
261 ) -> CGRect;
262 );
263}
264
265impl private_NSAttributedStringNSExtendedStringDrawing::Sealed for NSAttributedString {}
266unsafe impl NSAttributedStringNSExtendedStringDrawing for NSAttributedString {}
267
268mod private_NSStringDrawingDeprecated {
269 pub trait Sealed {}
270}
271
272pub unsafe trait NSStringDrawingDeprecated:
276 ClassType + Sized + private_NSStringDrawingDeprecated::Sealed
277{
278 extern_methods!(
279 #[unsafe(method(drawWithRect:options:attributes:))]
283 #[unsafe(method_family = none)]
284 unsafe fn drawWithRect_options_attributes(
285 &self,
286 rect: NSRect,
287 options: NSStringDrawingOptions,
288 attributes: Option<&NSDictionary<NSAttributedStringKey, AnyObject>>,
289 );
290
291 #[unsafe(method(boundingRectWithSize:options:attributes:))]
295 #[unsafe(method_family = none)]
296 unsafe fn boundingRectWithSize_options_attributes(
297 &self,
298 size: NSSize,
299 options: NSStringDrawingOptions,
300 attributes: Option<&NSDictionary<NSAttributedStringKey, AnyObject>>,
301 ) -> NSRect;
302 );
303}
304
305impl private_NSStringDrawingDeprecated::Sealed for NSString {}
306unsafe impl NSStringDrawingDeprecated for NSString {}
307
308mod private_NSAttributedStringNSStringDrawingDeprecated {
309 pub trait Sealed {}
310}
311
312#[doc(alias = "NSStringDrawingDeprecated")]
314pub unsafe trait NSAttributedStringNSStringDrawingDeprecated:
315 ClassType + Sized + private_NSAttributedStringNSStringDrawingDeprecated::Sealed
316{
317 extern_methods!(
318 #[unsafe(method(drawWithRect:options:))]
319 #[unsafe(method_family = none)]
320 fn drawWithRect_options(&self, rect: NSRect, options: NSStringDrawingOptions);
321
322 #[unsafe(method(boundingRectWithSize:options:))]
323 #[unsafe(method_family = none)]
324 fn boundingRectWithSize_options(
325 &self,
326 size: NSSize,
327 options: NSStringDrawingOptions,
328 ) -> NSRect;
329 );
330}
331
332impl private_NSAttributedStringNSStringDrawingDeprecated::Sealed for NSAttributedString {}
333unsafe impl NSAttributedStringNSStringDrawingDeprecated for NSAttributedString {}