objc2_app_kit/generated/
NSStringDrawing.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use 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    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsstringdrawingcontext?language=objc)
14    #[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        /// Setter for [`minimumScaleFactor`][Self::minimumScaleFactor].
30        #[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
46/// Methods declared on superclass `NSObject`.
47impl 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
63/// Category on [`NSString`].
64pub 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/// Category "NSStringDrawing" on [`NSAttributedString`].
104#[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/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsstringdrawingoptions?language=objc)
130// NS_OPTIONS
131#[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/// Category "NSExtendedStringDrawing" on [`NSString`].
166#[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/// Category "NSExtendedStringDrawing" on [`NSAttributedString`].
203#[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
237/// Category on [`NSString`].
238/// ********************** Deprecated ***********************
239pub 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/// Category "NSStringDrawingDeprecated" on [`NSAttributedString`].
271#[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 {}