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
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 }
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#[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#[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
229impl 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 #[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}