objc2_app_kit/generated/
NSParagraphStyle.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
12/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nslinebreakmode?language=objc)
13// NS_ENUM
14#[repr(transparent)]
15#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16pub struct NSLineBreakMode(pub NSUInteger);
17impl NSLineBreakMode {
18    #[doc(alias = "NSLineBreakByWordWrapping")]
19    pub const ByWordWrapping: Self = Self(0);
20    #[doc(alias = "NSLineBreakByCharWrapping")]
21    pub const ByCharWrapping: Self = Self(1);
22    #[doc(alias = "NSLineBreakByClipping")]
23    pub const ByClipping: Self = Self(2);
24    #[doc(alias = "NSLineBreakByTruncatingHead")]
25    pub const ByTruncatingHead: Self = Self(3);
26    #[doc(alias = "NSLineBreakByTruncatingTail")]
27    pub const ByTruncatingTail: Self = Self(4);
28    #[doc(alias = "NSLineBreakByTruncatingMiddle")]
29    pub const ByTruncatingMiddle: Self = Self(5);
30}
31
32unsafe impl Encode for NSLineBreakMode {
33    const ENCODING: Encoding = NSUInteger::ENCODING;
34}
35
36unsafe impl RefEncode for NSLineBreakMode {
37    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
38}
39
40/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nslinebreakstrategy?language=objc)
41// NS_OPTIONS
42#[repr(transparent)]
43#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
44pub struct NSLineBreakStrategy(pub NSUInteger);
45bitflags::bitflags! {
46    impl NSLineBreakStrategy: NSUInteger {
47        #[doc(alias = "NSLineBreakStrategyNone")]
48        const None = 0;
49        #[doc(alias = "NSLineBreakStrategyPushOut")]
50        const PushOut = 1<<0;
51        #[doc(alias = "NSLineBreakStrategyHangulWordPriority")]
52        const HangulWordPriority = 1<<1;
53        #[doc(alias = "NSLineBreakStrategyStandard")]
54        const Standard = 0xFFFF;
55    }
56}
57
58unsafe impl Encode for NSLineBreakStrategy {
59    const ENCODING: Encoding = NSUInteger::ENCODING;
60}
61
62unsafe impl RefEncode for NSLineBreakStrategy {
63    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
64}
65
66/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstexttaboptionkey?language=objc)
67// NS_TYPED_ENUM
68pub type NSTextTabOptionKey = NSString;
69
70extern "C" {
71    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstabcolumnterminatorsattributename?language=objc)
72    pub static NSTabColumnTerminatorsAttributeName: &'static NSTextTabOptionKey;
73}
74
75extern_class!(
76    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstexttab?language=objc)
77    #[unsafe(super(NSObject))]
78    #[derive(Debug, PartialEq, Eq, Hash)]
79    pub struct NSTextTab;
80);
81
82extern_conformance!(
83    unsafe impl NSCoding for NSTextTab {}
84);
85
86extern_conformance!(
87    unsafe impl NSCopying for NSTextTab {}
88);
89
90unsafe impl CopyingHelper for NSTextTab {
91    type Result = Self;
92}
93
94extern_conformance!(
95    unsafe impl NSObjectProtocol for NSTextTab {}
96);
97
98extern_conformance!(
99    unsafe impl NSSecureCoding for NSTextTab {}
100);
101
102impl NSTextTab {
103    extern_methods!(
104        #[unsafe(method(columnTerminatorsForLocale:))]
105        #[unsafe(method_family = none)]
106        pub unsafe fn columnTerminatorsForLocale(
107            a_locale: Option<&NSLocale>,
108        ) -> Retained<NSCharacterSet>;
109
110        #[cfg(feature = "objc2-core-foundation")]
111        #[unsafe(method(location))]
112        #[unsafe(method_family = none)]
113        pub unsafe fn location(&self) -> CGFloat;
114
115        #[unsafe(method(options))]
116        #[unsafe(method_family = none)]
117        pub unsafe fn options(&self) -> Retained<NSDictionary<NSTextTabOptionKey, AnyObject>>;
118    );
119}
120
121/// Methods declared on superclass `NSObject`.
122impl NSTextTab {
123    extern_methods!(
124        #[unsafe(method(init))]
125        #[unsafe(method_family = init)]
126        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
127
128        #[unsafe(method(new))]
129        #[unsafe(method_family = new)]
130        pub unsafe fn new() -> Retained<Self>;
131    );
132}
133
134extern_class!(
135    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsparagraphstyle?language=objc)
136    #[unsafe(super(NSObject))]
137    #[derive(Debug, PartialEq, Eq, Hash)]
138    pub struct NSParagraphStyle;
139);
140
141extern_conformance!(
142    unsafe impl NSCoding for NSParagraphStyle {}
143);
144
145extern_conformance!(
146    unsafe impl NSCopying for NSParagraphStyle {}
147);
148
149unsafe impl CopyingHelper for NSParagraphStyle {
150    type Result = Self;
151}
152
153extern_conformance!(
154    unsafe impl NSMutableCopying for NSParagraphStyle {}
155);
156
157unsafe impl MutableCopyingHelper for NSParagraphStyle {
158    type Result = NSMutableParagraphStyle;
159}
160
161extern_conformance!(
162    unsafe impl NSObjectProtocol for NSParagraphStyle {}
163);
164
165extern_conformance!(
166    unsafe impl NSSecureCoding for NSParagraphStyle {}
167);
168
169impl NSParagraphStyle {
170    extern_methods!(
171        #[unsafe(method(defaultParagraphStyle))]
172        #[unsafe(method_family = none)]
173        pub unsafe fn defaultParagraphStyle() -> Retained<NSParagraphStyle>;
174
175        #[cfg(feature = "NSText")]
176        #[unsafe(method(defaultWritingDirectionForLanguage:))]
177        #[unsafe(method_family = none)]
178        pub unsafe fn defaultWritingDirectionForLanguage(
179            language_name: Option<&NSString>,
180        ) -> NSWritingDirection;
181
182        #[cfg(feature = "objc2-core-foundation")]
183        #[unsafe(method(lineSpacing))]
184        #[unsafe(method_family = none)]
185        pub unsafe fn lineSpacing(&self) -> CGFloat;
186
187        #[cfg(feature = "objc2-core-foundation")]
188        #[unsafe(method(paragraphSpacing))]
189        #[unsafe(method_family = none)]
190        pub unsafe fn paragraphSpacing(&self) -> CGFloat;
191
192        #[cfg(feature = "objc2-core-foundation")]
193        #[unsafe(method(headIndent))]
194        #[unsafe(method_family = none)]
195        pub unsafe fn headIndent(&self) -> CGFloat;
196
197        #[cfg(feature = "objc2-core-foundation")]
198        #[unsafe(method(tailIndent))]
199        #[unsafe(method_family = none)]
200        pub unsafe fn tailIndent(&self) -> CGFloat;
201
202        #[cfg(feature = "objc2-core-foundation")]
203        #[unsafe(method(firstLineHeadIndent))]
204        #[unsafe(method_family = none)]
205        pub unsafe fn firstLineHeadIndent(&self) -> CGFloat;
206
207        #[cfg(feature = "objc2-core-foundation")]
208        #[unsafe(method(minimumLineHeight))]
209        #[unsafe(method_family = none)]
210        pub unsafe fn minimumLineHeight(&self) -> CGFloat;
211
212        #[cfg(feature = "objc2-core-foundation")]
213        #[unsafe(method(maximumLineHeight))]
214        #[unsafe(method_family = none)]
215        pub unsafe fn maximumLineHeight(&self) -> CGFloat;
216
217        #[unsafe(method(lineBreakMode))]
218        #[unsafe(method_family = none)]
219        pub unsafe fn lineBreakMode(&self) -> NSLineBreakMode;
220
221        #[cfg(feature = "NSText")]
222        #[unsafe(method(baseWritingDirection))]
223        #[unsafe(method_family = none)]
224        pub unsafe fn baseWritingDirection(&self) -> NSWritingDirection;
225
226        #[cfg(feature = "objc2-core-foundation")]
227        #[unsafe(method(lineHeightMultiple))]
228        #[unsafe(method_family = none)]
229        pub unsafe fn lineHeightMultiple(&self) -> CGFloat;
230
231        #[cfg(feature = "objc2-core-foundation")]
232        #[unsafe(method(paragraphSpacingBefore))]
233        #[unsafe(method_family = none)]
234        pub unsafe fn paragraphSpacingBefore(&self) -> CGFloat;
235
236        #[unsafe(method(hyphenationFactor))]
237        #[unsafe(method_family = none)]
238        pub unsafe fn hyphenationFactor(&self) -> c_float;
239
240        #[unsafe(method(usesDefaultHyphenation))]
241        #[unsafe(method_family = none)]
242        pub unsafe fn usesDefaultHyphenation(&self) -> bool;
243
244        #[unsafe(method(tabStops))]
245        #[unsafe(method_family = none)]
246        pub unsafe fn tabStops(&self) -> Retained<NSArray<NSTextTab>>;
247
248        #[cfg(feature = "objc2-core-foundation")]
249        #[unsafe(method(defaultTabInterval))]
250        #[unsafe(method_family = none)]
251        pub unsafe fn defaultTabInterval(&self) -> CGFloat;
252
253        #[cfg(feature = "NSTextList")]
254        #[unsafe(method(textLists))]
255        #[unsafe(method_family = none)]
256        pub unsafe fn textLists(&self) -> Retained<NSArray<NSTextList>>;
257
258        #[unsafe(method(allowsDefaultTighteningForTruncation))]
259        #[unsafe(method_family = none)]
260        pub unsafe fn allowsDefaultTighteningForTruncation(&self) -> bool;
261
262        #[unsafe(method(lineBreakStrategy))]
263        #[unsafe(method_family = none)]
264        pub unsafe fn lineBreakStrategy(&self) -> NSLineBreakStrategy;
265    );
266}
267
268/// Methods declared on superclass `NSObject`.
269impl NSParagraphStyle {
270    extern_methods!(
271        #[unsafe(method(init))]
272        #[unsafe(method_family = init)]
273        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
274
275        #[unsafe(method(new))]
276        #[unsafe(method_family = new)]
277        pub unsafe fn new() -> Retained<Self>;
278    );
279}
280
281extern_class!(
282    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsmutableparagraphstyle?language=objc)
283    #[unsafe(super(NSParagraphStyle, NSObject))]
284    #[derive(Debug, PartialEq, Eq, Hash)]
285    pub struct NSMutableParagraphStyle;
286);
287
288extern_conformance!(
289    unsafe impl NSCoding for NSMutableParagraphStyle {}
290);
291
292extern_conformance!(
293    unsafe impl NSCopying for NSMutableParagraphStyle {}
294);
295
296unsafe impl CopyingHelper for NSMutableParagraphStyle {
297    type Result = NSParagraphStyle;
298}
299
300extern_conformance!(
301    unsafe impl NSMutableCopying for NSMutableParagraphStyle {}
302);
303
304unsafe impl MutableCopyingHelper for NSMutableParagraphStyle {
305    type Result = Self;
306}
307
308extern_conformance!(
309    unsafe impl NSObjectProtocol for NSMutableParagraphStyle {}
310);
311
312extern_conformance!(
313    unsafe impl NSSecureCoding for NSMutableParagraphStyle {}
314);
315
316impl NSMutableParagraphStyle {
317    extern_methods!(
318        #[cfg(feature = "objc2-core-foundation")]
319        #[unsafe(method(lineSpacing))]
320        #[unsafe(method_family = none)]
321        pub unsafe fn lineSpacing(&self) -> CGFloat;
322
323        #[cfg(feature = "objc2-core-foundation")]
324        /// Setter for [`lineSpacing`][Self::lineSpacing].
325        #[unsafe(method(setLineSpacing:))]
326        #[unsafe(method_family = none)]
327        pub unsafe fn setLineSpacing(&self, line_spacing: CGFloat);
328
329        #[cfg(feature = "objc2-core-foundation")]
330        #[unsafe(method(paragraphSpacing))]
331        #[unsafe(method_family = none)]
332        pub unsafe fn paragraphSpacing(&self) -> CGFloat;
333
334        #[cfg(feature = "objc2-core-foundation")]
335        /// Setter for [`paragraphSpacing`][Self::paragraphSpacing].
336        #[unsafe(method(setParagraphSpacing:))]
337        #[unsafe(method_family = none)]
338        pub unsafe fn setParagraphSpacing(&self, paragraph_spacing: CGFloat);
339
340        #[cfg(feature = "objc2-core-foundation")]
341        #[unsafe(method(firstLineHeadIndent))]
342        #[unsafe(method_family = none)]
343        pub unsafe fn firstLineHeadIndent(&self) -> CGFloat;
344
345        #[cfg(feature = "objc2-core-foundation")]
346        /// Setter for [`firstLineHeadIndent`][Self::firstLineHeadIndent].
347        #[unsafe(method(setFirstLineHeadIndent:))]
348        #[unsafe(method_family = none)]
349        pub unsafe fn setFirstLineHeadIndent(&self, first_line_head_indent: CGFloat);
350
351        #[cfg(feature = "objc2-core-foundation")]
352        #[unsafe(method(headIndent))]
353        #[unsafe(method_family = none)]
354        pub unsafe fn headIndent(&self) -> CGFloat;
355
356        #[cfg(feature = "objc2-core-foundation")]
357        /// Setter for [`headIndent`][Self::headIndent].
358        #[unsafe(method(setHeadIndent:))]
359        #[unsafe(method_family = none)]
360        pub unsafe fn setHeadIndent(&self, head_indent: CGFloat);
361
362        #[cfg(feature = "objc2-core-foundation")]
363        #[unsafe(method(tailIndent))]
364        #[unsafe(method_family = none)]
365        pub unsafe fn tailIndent(&self) -> CGFloat;
366
367        #[cfg(feature = "objc2-core-foundation")]
368        /// Setter for [`tailIndent`][Self::tailIndent].
369        #[unsafe(method(setTailIndent:))]
370        #[unsafe(method_family = none)]
371        pub unsafe fn setTailIndent(&self, tail_indent: CGFloat);
372
373        #[unsafe(method(lineBreakMode))]
374        #[unsafe(method_family = none)]
375        pub unsafe fn lineBreakMode(&self) -> NSLineBreakMode;
376
377        /// Setter for [`lineBreakMode`][Self::lineBreakMode].
378        #[unsafe(method(setLineBreakMode:))]
379        #[unsafe(method_family = none)]
380        pub unsafe fn setLineBreakMode(&self, line_break_mode: NSLineBreakMode);
381
382        #[cfg(feature = "objc2-core-foundation")]
383        #[unsafe(method(minimumLineHeight))]
384        #[unsafe(method_family = none)]
385        pub unsafe fn minimumLineHeight(&self) -> CGFloat;
386
387        #[cfg(feature = "objc2-core-foundation")]
388        /// Setter for [`minimumLineHeight`][Self::minimumLineHeight].
389        #[unsafe(method(setMinimumLineHeight:))]
390        #[unsafe(method_family = none)]
391        pub unsafe fn setMinimumLineHeight(&self, minimum_line_height: CGFloat);
392
393        #[cfg(feature = "objc2-core-foundation")]
394        #[unsafe(method(maximumLineHeight))]
395        #[unsafe(method_family = none)]
396        pub unsafe fn maximumLineHeight(&self) -> CGFloat;
397
398        #[cfg(feature = "objc2-core-foundation")]
399        /// Setter for [`maximumLineHeight`][Self::maximumLineHeight].
400        #[unsafe(method(setMaximumLineHeight:))]
401        #[unsafe(method_family = none)]
402        pub unsafe fn setMaximumLineHeight(&self, maximum_line_height: CGFloat);
403
404        #[cfg(feature = "NSText")]
405        #[unsafe(method(baseWritingDirection))]
406        #[unsafe(method_family = none)]
407        pub unsafe fn baseWritingDirection(&self) -> NSWritingDirection;
408
409        #[cfg(feature = "NSText")]
410        /// Setter for [`baseWritingDirection`][Self::baseWritingDirection].
411        #[unsafe(method(setBaseWritingDirection:))]
412        #[unsafe(method_family = none)]
413        pub unsafe fn setBaseWritingDirection(&self, base_writing_direction: NSWritingDirection);
414
415        #[cfg(feature = "objc2-core-foundation")]
416        #[unsafe(method(lineHeightMultiple))]
417        #[unsafe(method_family = none)]
418        pub unsafe fn lineHeightMultiple(&self) -> CGFloat;
419
420        #[cfg(feature = "objc2-core-foundation")]
421        /// Setter for [`lineHeightMultiple`][Self::lineHeightMultiple].
422        #[unsafe(method(setLineHeightMultiple:))]
423        #[unsafe(method_family = none)]
424        pub unsafe fn setLineHeightMultiple(&self, line_height_multiple: CGFloat);
425
426        #[cfg(feature = "objc2-core-foundation")]
427        #[unsafe(method(paragraphSpacingBefore))]
428        #[unsafe(method_family = none)]
429        pub unsafe fn paragraphSpacingBefore(&self) -> CGFloat;
430
431        #[cfg(feature = "objc2-core-foundation")]
432        /// Setter for [`paragraphSpacingBefore`][Self::paragraphSpacingBefore].
433        #[unsafe(method(setParagraphSpacingBefore:))]
434        #[unsafe(method_family = none)]
435        pub unsafe fn setParagraphSpacingBefore(&self, paragraph_spacing_before: CGFloat);
436
437        #[unsafe(method(hyphenationFactor))]
438        #[unsafe(method_family = none)]
439        pub unsafe fn hyphenationFactor(&self) -> c_float;
440
441        /// Setter for [`hyphenationFactor`][Self::hyphenationFactor].
442        #[unsafe(method(setHyphenationFactor:))]
443        #[unsafe(method_family = none)]
444        pub unsafe fn setHyphenationFactor(&self, hyphenation_factor: c_float);
445
446        #[unsafe(method(usesDefaultHyphenation))]
447        #[unsafe(method_family = none)]
448        pub unsafe fn usesDefaultHyphenation(&self) -> bool;
449
450        /// Setter for [`usesDefaultHyphenation`][Self::usesDefaultHyphenation].
451        #[unsafe(method(setUsesDefaultHyphenation:))]
452        #[unsafe(method_family = none)]
453        pub unsafe fn setUsesDefaultHyphenation(&self, uses_default_hyphenation: bool);
454
455        #[unsafe(method(tabStops))]
456        #[unsafe(method_family = none)]
457        pub unsafe fn tabStops(&self) -> Retained<NSArray<NSTextTab>>;
458
459        /// Setter for [`tabStops`][Self::tabStops].
460        #[unsafe(method(setTabStops:))]
461        #[unsafe(method_family = none)]
462        pub unsafe fn setTabStops(&self, tab_stops: Option<&NSArray<NSTextTab>>);
463
464        #[cfg(feature = "objc2-core-foundation")]
465        #[unsafe(method(defaultTabInterval))]
466        #[unsafe(method_family = none)]
467        pub unsafe fn defaultTabInterval(&self) -> CGFloat;
468
469        #[cfg(feature = "objc2-core-foundation")]
470        /// Setter for [`defaultTabInterval`][Self::defaultTabInterval].
471        #[unsafe(method(setDefaultTabInterval:))]
472        #[unsafe(method_family = none)]
473        pub unsafe fn setDefaultTabInterval(&self, default_tab_interval: CGFloat);
474
475        #[unsafe(method(allowsDefaultTighteningForTruncation))]
476        #[unsafe(method_family = none)]
477        pub unsafe fn allowsDefaultTighteningForTruncation(&self) -> bool;
478
479        /// Setter for [`allowsDefaultTighteningForTruncation`][Self::allowsDefaultTighteningForTruncation].
480        #[unsafe(method(setAllowsDefaultTighteningForTruncation:))]
481        #[unsafe(method_family = none)]
482        pub unsafe fn setAllowsDefaultTighteningForTruncation(
483            &self,
484            allows_default_tightening_for_truncation: bool,
485        );
486
487        #[unsafe(method(lineBreakStrategy))]
488        #[unsafe(method_family = none)]
489        pub unsafe fn lineBreakStrategy(&self) -> NSLineBreakStrategy;
490
491        /// Setter for [`lineBreakStrategy`][Self::lineBreakStrategy].
492        #[unsafe(method(setLineBreakStrategy:))]
493        #[unsafe(method_family = none)]
494        pub unsafe fn setLineBreakStrategy(&self, line_break_strategy: NSLineBreakStrategy);
495
496        #[cfg(feature = "NSTextList")]
497        #[unsafe(method(textLists))]
498        #[unsafe(method_family = none)]
499        pub unsafe fn textLists(&self) -> Retained<NSArray<NSTextList>>;
500
501        #[cfg(feature = "NSTextList")]
502        /// Setter for [`textLists`][Self::textLists].
503        #[unsafe(method(setTextLists:))]
504        #[unsafe(method_family = none)]
505        pub unsafe fn setTextLists(&self, text_lists: &NSArray<NSTextList>);
506
507        #[unsafe(method(addTabStop:))]
508        #[unsafe(method_family = none)]
509        pub unsafe fn addTabStop(&self, an_object: &NSTextTab);
510
511        #[unsafe(method(removeTabStop:))]
512        #[unsafe(method_family = none)]
513        pub unsafe fn removeTabStop(&self, an_object: &NSTextTab);
514
515        #[unsafe(method(setParagraphStyle:))]
516        #[unsafe(method_family = none)]
517        pub unsafe fn setParagraphStyle(&self, obj: &NSParagraphStyle);
518    );
519}
520
521/// Methods declared on superclass `NSObject`.
522impl NSMutableParagraphStyle {
523    extern_methods!(
524        #[unsafe(method(init))]
525        #[unsafe(method_family = init)]
526        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
527
528        #[unsafe(method(new))]
529        #[unsafe(method_family = new)]
530        pub unsafe fn new() -> Retained<Self>;
531    );
532}
533
534impl NSTextTab {
535    extern_methods!(
536        #[cfg(all(feature = "NSText", feature = "objc2-core-foundation"))]
537        #[unsafe(method(initWithTextAlignment:location:options:))]
538        #[unsafe(method_family = init)]
539        pub unsafe fn initWithTextAlignment_location_options(
540            this: Allocated<Self>,
541            alignment: NSTextAlignment,
542            loc: CGFloat,
543            options: &NSDictionary<NSTextTabOptionKey, AnyObject>,
544        ) -> Retained<Self>;
545
546        #[cfg(feature = "NSText")]
547        #[unsafe(method(alignment))]
548        #[unsafe(method_family = none)]
549        pub unsafe fn alignment(&self) -> NSTextAlignment;
550    );
551}
552
553impl NSParagraphStyle {
554    extern_methods!(
555        #[cfg(feature = "NSText")]
556        #[unsafe(method(alignment))]
557        #[unsafe(method_family = none)]
558        pub unsafe fn alignment(&self) -> NSTextAlignment;
559
560        #[unsafe(method(tighteningFactorForTruncation))]
561        #[unsafe(method_family = none)]
562        pub unsafe fn tighteningFactorForTruncation(&self) -> c_float;
563
564        #[cfg(feature = "NSTextTable")]
565        #[unsafe(method(textBlocks))]
566        #[unsafe(method_family = none)]
567        pub unsafe fn textBlocks(&self) -> Retained<NSArray<NSTextBlock>>;
568
569        #[unsafe(method(headerLevel))]
570        #[unsafe(method_family = none)]
571        pub unsafe fn headerLevel(&self) -> NSInteger;
572    );
573}
574
575impl NSMutableParagraphStyle {
576    extern_methods!(
577        #[cfg(feature = "NSText")]
578        #[unsafe(method(alignment))]
579        #[unsafe(method_family = none)]
580        pub unsafe fn alignment(&self) -> NSTextAlignment;
581
582        #[cfg(feature = "NSText")]
583        /// Setter for [`alignment`][Self::alignment].
584        #[unsafe(method(setAlignment:))]
585        #[unsafe(method_family = none)]
586        pub unsafe fn setAlignment(&self, alignment: NSTextAlignment);
587
588        #[unsafe(method(tighteningFactorForTruncation))]
589        #[unsafe(method_family = none)]
590        pub unsafe fn tighteningFactorForTruncation(&self) -> c_float;
591
592        /// Setter for [`tighteningFactorForTruncation`][Self::tighteningFactorForTruncation].
593        #[unsafe(method(setTighteningFactorForTruncation:))]
594        #[unsafe(method_family = none)]
595        pub unsafe fn setTighteningFactorForTruncation(
596            &self,
597            tightening_factor_for_truncation: c_float,
598        );
599
600        #[cfg(feature = "NSTextTable")]
601        #[unsafe(method(textBlocks))]
602        #[unsafe(method_family = none)]
603        pub unsafe fn textBlocks(&self) -> Retained<NSArray<NSTextBlock>>;
604
605        #[cfg(feature = "NSTextTable")]
606        /// Setter for [`textBlocks`][Self::textBlocks].
607        #[unsafe(method(setTextBlocks:))]
608        #[unsafe(method_family = none)]
609        pub unsafe fn setTextBlocks(&self, text_blocks: &NSArray<NSTextBlock>);
610
611        #[unsafe(method(headerLevel))]
612        #[unsafe(method_family = none)]
613        pub unsafe fn headerLevel(&self) -> NSInteger;
614
615        /// Setter for [`headerLevel`][Self::headerLevel].
616        #[unsafe(method(setHeaderLevel:))]
617        #[unsafe(method_family = none)]
618        pub unsafe fn setHeaderLevel(&self, header_level: NSInteger);
619    );
620}
621
622/// ********************** Deprecated ***********************
623///
624/// See also [Apple's documentation](https://developer.apple.com/documentation/appkit/nstexttabtype?language=objc)
625// NS_ENUM
626#[repr(transparent)]
627#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
628pub struct NSTextTabType(pub NSUInteger);
629impl NSTextTabType {
630    #[doc(alias = "NSLeftTabStopType")]
631    pub const LeftTabStopType: Self = Self(0);
632    #[doc(alias = "NSRightTabStopType")]
633    pub const RightTabStopType: Self = Self(1);
634    #[doc(alias = "NSCenterTabStopType")]
635    pub const CenterTabStopType: Self = Self(2);
636    #[doc(alias = "NSDecimalTabStopType")]
637    pub const DecimalTabStopType: Self = Self(3);
638}
639
640unsafe impl Encode for NSTextTabType {
641    const ENCODING: Encoding = NSUInteger::ENCODING;
642}
643
644unsafe impl RefEncode for NSTextTabType {
645    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
646}
647
648/// NSTextTabDeprecated.
649impl NSTextTab {
650    extern_methods!(
651        #[cfg(feature = "objc2-core-foundation")]
652        #[unsafe(method(initWithType:location:))]
653        #[unsafe(method_family = init)]
654        pub unsafe fn initWithType_location(
655            this: Allocated<Self>,
656            r#type: NSTextTabType,
657            loc: CGFloat,
658        ) -> Retained<Self>;
659
660        #[unsafe(method(tabStopType))]
661        #[unsafe(method_family = none)]
662        pub unsafe fn tabStopType(&self) -> NSTextTabType;
663    );
664}