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
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        /// Setter for [`minimumScaleFactor`][Self::minimumScaleFactor].
32        #[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
48/// Methods declared on superclass `NSObject`.
49impl 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
65/// Category on [`NSString`].
66pub 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/// Category "NSStringDrawing" on [`NSAttributedString`].
106#[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/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsstringdrawingoptions?language=objc)
132// NS_OPTIONS
133#[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/// Category "NSExtendedStringDrawing" on [`NSString`].
168#[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/// Category "NSExtendedStringDrawing" on [`NSAttributedString`].
205#[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
239/// Category on [`NSString`].
240/// ********************** Deprecated ***********************
241pub 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/// Category "NSStringDrawingDeprecated" on [`NSAttributedString`].
273#[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 {}