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