objc2_tv_ui_kit/generated/
TVMediaItemContentConfiguration.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#[cfg(feature = "objc2-quartz-core")]
10use objc2_quartz_core::*;
11use objc2_ui_kit::*;
12
13use crate::*;
14
15/// [Apple's documentation](https://developer.apple.com/documentation/tvuikit/tvmediaitemcontenttexttransform?language=objc)
16// NS_ENUM
17#[repr(transparent)]
18#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
19pub struct TVMediaItemContentTextTransform(pub NSInteger);
20impl TVMediaItemContentTextTransform {
21    #[doc(alias = "TVMediaItemContentTextTransformNone")]
22    pub const None: Self = Self(0);
23    #[doc(alias = "TVMediaItemContentTextTransformUppercase")]
24    pub const Uppercase: Self = Self(1);
25    #[doc(alias = "TVMediaItemContentTextTransformLowercase")]
26    pub const Lowercase: Self = Self(2);
27    #[doc(alias = "TVMediaItemContentTextTransformCapitalized")]
28    pub const Capitalized: Self = Self(3);
29}
30
31unsafe impl Encode for TVMediaItemContentTextTransform {
32    const ENCODING: Encoding = NSInteger::ENCODING;
33}
34
35unsafe impl RefEncode for TVMediaItemContentTextTransform {
36    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
37}
38
39extern_class!(
40    /// [Apple's documentation](https://developer.apple.com/documentation/tvuikit/tvmediaitemcontentconfiguration?language=objc)
41    #[unsafe(super(NSObject))]
42    #[thread_kind = MainThreadOnly]
43    #[derive(Debug, PartialEq, Eq, Hash)]
44    pub struct TVMediaItemContentConfiguration;
45);
46
47extern_conformance!(
48    unsafe impl NSCoding for TVMediaItemContentConfiguration {}
49);
50
51extern_conformance!(
52    unsafe impl NSCopying for TVMediaItemContentConfiguration {}
53);
54
55unsafe impl CopyingHelper for TVMediaItemContentConfiguration {
56    type Result = Self;
57}
58
59extern_conformance!(
60    unsafe impl NSObjectProtocol for TVMediaItemContentConfiguration {}
61);
62
63extern_conformance!(
64    unsafe impl NSSecureCoding for TVMediaItemContentConfiguration {}
65);
66
67extern_conformance!(
68    unsafe impl UIContentConfiguration for TVMediaItemContentConfiguration {}
69);
70
71impl TVMediaItemContentConfiguration {
72    extern_methods!(
73        /// Returns the default configuration for a wide cell with a 16:9 aspect ratio.
74        #[unsafe(method(wideCellConfiguration))]
75        #[unsafe(method_family = none)]
76        pub unsafe fn wideCellConfiguration(mtm: MainThreadMarker) -> Retained<Self>;
77
78        /// The image to display.
79        #[unsafe(method(image))]
80        #[unsafe(method_family = none)]
81        pub unsafe fn image(&self) -> Option<Retained<UIImage>>;
82
83        /// Setter for [`image`][Self::image].
84        #[unsafe(method(setImage:))]
85        #[unsafe(method_family = none)]
86        pub unsafe fn setImage(&self, image: Option<&UIImage>);
87
88        /// The primary text.
89        #[unsafe(method(text))]
90        #[unsafe(method_family = none)]
91        pub unsafe fn text(&self) -> Option<Retained<NSString>>;
92
93        /// Setter for [`text`][Self::text].
94        #[unsafe(method(setText:))]
95        #[unsafe(method_family = none)]
96        pub unsafe fn setText(&self, text: Option<&NSString>);
97
98        /// Additional properties to configure the primary text.
99        #[unsafe(method(textProperties))]
100        #[unsafe(method_family = none)]
101        pub unsafe fn textProperties(&self) -> Retained<TVMediaItemContentTextProperties>;
102
103        /// The secondary text.
104        #[unsafe(method(secondaryText))]
105        #[unsafe(method_family = none)]
106        pub unsafe fn secondaryText(&self) -> Option<Retained<NSString>>;
107
108        /// Setter for [`secondaryText`][Self::secondaryText].
109        #[unsafe(method(setSecondaryText:))]
110        #[unsafe(method_family = none)]
111        pub unsafe fn setSecondaryText(&self, secondary_text: Option<&NSString>);
112
113        /// Additional properties to configure the secondary text.
114        #[unsafe(method(secondaryTextProperties))]
115        #[unsafe(method_family = none)]
116        pub unsafe fn secondaryTextProperties(&self) -> Retained<TVMediaItemContentTextProperties>;
117
118        /// Playback progress to display. Value is clamped between 0.0 and 1.0.
119        #[unsafe(method(playbackProgress))]
120        #[unsafe(method_family = none)]
121        pub unsafe fn playbackProgress(&self) -> c_float;
122
123        /// Setter for [`playbackProgress`][Self::playbackProgress].
124        #[unsafe(method(setPlaybackProgress:))]
125        #[unsafe(method_family = none)]
126        pub unsafe fn setPlaybackProgress(&self, playback_progress: c_float);
127
128        /// Optional text to display in a badge that is displayed in the top corner of the content.
129        #[unsafe(method(badgeText))]
130        #[unsafe(method_family = none)]
131        pub unsafe fn badgeText(&self) -> Option<Retained<NSString>>;
132
133        /// Setter for [`badgeText`][Self::badgeText].
134        #[unsafe(method(setBadgeText:))]
135        #[unsafe(method_family = none)]
136        pub unsafe fn setBadgeText(&self, badge_text: Option<&NSString>);
137
138        /// Additional properties to configure the badge.
139        #[unsafe(method(badgeProperties))]
140        #[unsafe(method_family = none)]
141        pub unsafe fn badgeProperties(&self) -> Retained<TVMediaItemContentBadgeProperties>;
142
143        /// Setter for [`badgeProperties`][Self::badgeProperties].
144        #[unsafe(method(setBadgeProperties:))]
145        #[unsafe(method_family = none)]
146        pub unsafe fn setBadgeProperties(
147            &self,
148            badge_properties: &TVMediaItemContentBadgeProperties,
149        );
150
151        /// The overlayView will be placed above the image, and automatically resized to fill frame.
152        /// Enable preservesSuperviewLayoutMargins to inherit layoutMargins.
153        #[unsafe(method(overlayView))]
154        #[unsafe(method_family = none)]
155        pub unsafe fn overlayView(&self) -> Option<Retained<UIView>>;
156
157        /// Setter for [`overlayView`][Self::overlayView].
158        #[unsafe(method(setOverlayView:))]
159        #[unsafe(method_family = none)]
160        pub unsafe fn setOverlayView(&self, overlay_view: Option<&UIView>);
161
162        #[unsafe(method(new))]
163        #[unsafe(method_family = new)]
164        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
165
166        #[unsafe(method(init))]
167        #[unsafe(method_family = init)]
168        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
169    );
170}
171
172extern_class!(
173    /// [Apple's documentation](https://developer.apple.com/documentation/tvuikit/tvmediaitemcontentview?language=objc)
174    #[unsafe(super(UIView, UIResponder, NSObject))]
175    #[derive(Debug, PartialEq, Eq, Hash)]
176    pub struct TVMediaItemContentView;
177);
178
179#[cfg(feature = "objc2-quartz-core")]
180extern_conformance!(
181    unsafe impl CALayerDelegate for TVMediaItemContentView {}
182);
183
184extern_conformance!(
185    unsafe impl NSCoding for TVMediaItemContentView {}
186);
187
188extern_conformance!(
189    unsafe impl NSObjectProtocol for TVMediaItemContentView {}
190);
191
192extern_conformance!(
193    unsafe impl UIAppearance for TVMediaItemContentView {}
194);
195
196extern_conformance!(
197    unsafe impl UIAppearanceContainer for TVMediaItemContentView {}
198);
199
200extern_conformance!(
201    unsafe impl UIContentView for TVMediaItemContentView {}
202);
203
204extern_conformance!(
205    unsafe impl UICoordinateSpace for TVMediaItemContentView {}
206);
207
208extern_conformance!(
209    unsafe impl UIDynamicItem for TVMediaItemContentView {}
210);
211
212extern_conformance!(
213    unsafe impl UIFocusEnvironment for TVMediaItemContentView {}
214);
215
216extern_conformance!(
217    unsafe impl UIFocusItem for TVMediaItemContentView {}
218);
219
220extern_conformance!(
221    unsafe impl UIFocusItemContainer for TVMediaItemContentView {}
222);
223
224extern_conformance!(
225    unsafe impl UIResponderStandardEditActions for TVMediaItemContentView {}
226);
227
228extern_conformance!(
229    unsafe impl UITraitEnvironment for TVMediaItemContentView {}
230);
231
232impl TVMediaItemContentView {
233    extern_methods!(
234        #[unsafe(method(initWithConfiguration:))]
235        #[unsafe(method_family = init)]
236        pub unsafe fn initWithConfiguration(
237            this: Allocated<Self>,
238            configuration: &TVMediaItemContentConfiguration,
239        ) -> Retained<Self>;
240
241        #[unsafe(method(configuration))]
242        #[unsafe(method_family = none)]
243        pub unsafe fn configuration(&self) -> Retained<TVMediaItemContentConfiguration>;
244
245        /// Setter for [`configuration`][Self::configuration].
246        #[unsafe(method(setConfiguration:))]
247        #[unsafe(method_family = none)]
248        pub unsafe fn setConfiguration(&self, configuration: &TVMediaItemContentConfiguration);
249
250        /// The content view may display itself in a larger frame when focused.
251        /// This layout guide can be used to align other elements with the image view's focused frame.
252        #[unsafe(method(focusedFrameGuide))]
253        #[unsafe(method_family = none)]
254        pub unsafe fn focusedFrameGuide(&self) -> Retained<UILayoutGuide>;
255
256        #[cfg(feature = "objc2-core-foundation")]
257        #[unsafe(method(initWithFrame:))]
258        #[unsafe(method_family = init)]
259        pub unsafe fn initWithFrame(this: Allocated<Self>, frame: CGRect) -> Retained<Self>;
260
261        #[unsafe(method(init))]
262        #[unsafe(method_family = init)]
263        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
264
265        #[unsafe(method(new))]
266        #[unsafe(method_family = new)]
267        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
268    );
269}
270
271/// Methods declared on superclass `UIView`.
272impl TVMediaItemContentView {
273    extern_methods!(
274        #[unsafe(method(initWithCoder:))]
275        #[unsafe(method_family = init)]
276        pub unsafe fn initWithCoder(
277            this: Allocated<Self>,
278            coder: &NSCoder,
279        ) -> Option<Retained<Self>>;
280    );
281}
282
283extern_class!(
284    /// [Apple's documentation](https://developer.apple.com/documentation/tvuikit/tvmediaitemcontenttextproperties?language=objc)
285    #[unsafe(super(NSObject))]
286    #[derive(Debug, PartialEq, Eq, Hash)]
287    pub struct TVMediaItemContentTextProperties;
288);
289
290extern_conformance!(
291    unsafe impl NSCoding for TVMediaItemContentTextProperties {}
292);
293
294extern_conformance!(
295    unsafe impl NSCopying for TVMediaItemContentTextProperties {}
296);
297
298unsafe impl CopyingHelper for TVMediaItemContentTextProperties {
299    type Result = Self;
300}
301
302extern_conformance!(
303    unsafe impl NSObjectProtocol for TVMediaItemContentTextProperties {}
304);
305
306extern_conformance!(
307    unsafe impl NSSecureCoding for TVMediaItemContentTextProperties {}
308);
309
310impl TVMediaItemContentTextProperties {
311    extern_methods!(
312        /// The font used for the text.
313        #[unsafe(method(font))]
314        #[unsafe(method_family = none)]
315        pub unsafe fn font(&self) -> Retained<UIFont>;
316
317        /// Setter for [`font`][Self::font].
318        #[unsafe(method(setFont:))]
319        #[unsafe(method_family = none)]
320        pub unsafe fn setFont(&self, font: &UIFont);
321
322        /// The color of the text.
323        #[unsafe(method(color))]
324        #[unsafe(method_family = none)]
325        pub unsafe fn color(&self) -> Retained<UIColor>;
326
327        /// Setter for [`color`][Self::color].
328        #[unsafe(method(setColor:))]
329        #[unsafe(method_family = none)]
330        pub unsafe fn setColor(&self, color: &UIColor);
331
332        /// A transform that is applied to the text before it is displayed.
333        #[unsafe(method(transform))]
334        #[unsafe(method_family = none)]
335        pub unsafe fn transform(&self) -> TVMediaItemContentTextTransform;
336
337        /// Setter for [`transform`][Self::transform].
338        #[unsafe(method(setTransform:))]
339        #[unsafe(method_family = none)]
340        pub unsafe fn setTransform(&self, transform: TVMediaItemContentTextTransform);
341
342        #[unsafe(method(new))]
343        #[unsafe(method_family = new)]
344        pub unsafe fn new() -> Retained<Self>;
345
346        #[unsafe(method(init))]
347        #[unsafe(method_family = init)]
348        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
349    );
350}
351
352extern_class!(
353    /// [Apple's documentation](https://developer.apple.com/documentation/tvuikit/tvmediaitemcontentbadgeproperties?language=objc)
354    #[unsafe(super(NSObject))]
355    #[derive(Debug, PartialEq, Eq, Hash)]
356    pub struct TVMediaItemContentBadgeProperties;
357);
358
359extern_conformance!(
360    unsafe impl NSCoding for TVMediaItemContentBadgeProperties {}
361);
362
363extern_conformance!(
364    unsafe impl NSCopying for TVMediaItemContentBadgeProperties {}
365);
366
367unsafe impl CopyingHelper for TVMediaItemContentBadgeProperties {
368    type Result = Self;
369}
370
371extern_conformance!(
372    unsafe impl NSObjectProtocol for TVMediaItemContentBadgeProperties {}
373);
374
375extern_conformance!(
376    unsafe impl NSSecureCoding for TVMediaItemContentBadgeProperties {}
377);
378
379impl TVMediaItemContentBadgeProperties {
380    extern_methods!(
381        /// Returns the properties for a default styled badge.
382        #[unsafe(method(defaultBadgeProperties))]
383        #[unsafe(method_family = none)]
384        pub unsafe fn defaultBadgeProperties() -> Retained<Self>;
385
386        /// Returns the properties for a badge representing live content.
387        #[unsafe(method(liveContentBadgeProperties))]
388        #[unsafe(method_family = none)]
389        pub unsafe fn liveContentBadgeProperties() -> Retained<Self>;
390
391        /// The background tint color of the badge.
392        #[unsafe(method(backgroundColor))]
393        #[unsafe(method_family = none)]
394        pub unsafe fn backgroundColor(&self) -> Retained<UIColor>;
395
396        /// Setter for [`backgroundColor`][Self::backgroundColor].
397        #[unsafe(method(setBackgroundColor:))]
398        #[unsafe(method_family = none)]
399        pub unsafe fn setBackgroundColor(&self, background_color: &UIColor);
400
401        /// The font used for the badge text.
402        #[unsafe(method(font))]
403        #[unsafe(method_family = none)]
404        pub unsafe fn font(&self) -> Retained<UIFont>;
405
406        /// Setter for [`font`][Self::font].
407        #[unsafe(method(setFont:))]
408        #[unsafe(method_family = none)]
409        pub unsafe fn setFont(&self, font: &UIFont);
410
411        /// The color of the badge text.
412        #[unsafe(method(color))]
413        #[unsafe(method_family = none)]
414        pub unsafe fn color(&self) -> Retained<UIColor>;
415
416        /// Setter for [`color`][Self::color].
417        #[unsafe(method(setColor:))]
418        #[unsafe(method_family = none)]
419        pub unsafe fn setColor(&self, color: &UIColor);
420
421        /// A transform that is applied to the badge text before it is displayed.
422        #[unsafe(method(transform))]
423        #[unsafe(method_family = none)]
424        pub unsafe fn transform(&self) -> TVMediaItemContentTextTransform;
425
426        /// Setter for [`transform`][Self::transform].
427        #[unsafe(method(setTransform:))]
428        #[unsafe(method_family = none)]
429        pub unsafe fn setTransform(&self, transform: TVMediaItemContentTextTransform);
430
431        #[unsafe(method(new))]
432        #[unsafe(method_family = new)]
433        pub unsafe fn new() -> Retained<Self>;
434
435        #[unsafe(method(init))]
436        #[unsafe(method_family = init)]
437        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
438    );
439}
440
441mod private_NSCollectionLayoutSectionTVMediaItemContentConfiguration {
442    pub trait Sealed {}
443}
444
445/// Category "TVMediaItemContentConfiguration" on [`NSCollectionLayoutSection`].
446#[doc(alias = "TVMediaItemContentConfiguration")]
447pub unsafe trait NSCollectionLayoutSectionTVMediaItemContentConfiguration:
448    ClassType + Sized + private_NSCollectionLayoutSectionTVMediaItemContentConfiguration::Sealed
449{
450    extern_methods!(
451        /// Creates an orthogonal scrolling section with the system default sizing and spacing.
452        #[unsafe(method(orthogonalLayoutSectionForMediaItems))]
453        #[unsafe(method_family = none)]
454        unsafe fn orthogonalLayoutSectionForMediaItems(
455            mtm: MainThreadMarker,
456        ) -> Retained<NSCollectionLayoutSection>;
457    );
458}
459
460impl private_NSCollectionLayoutSectionTVMediaItemContentConfiguration::Sealed
461    for NSCollectionLayoutSection
462{
463}
464unsafe impl NSCollectionLayoutSectionTVMediaItemContentConfiguration for NSCollectionLayoutSection {}