gstreamer_editing_services/auto/
title_clip.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
4// DO NOT EDIT
5
6use crate::{ffi, Clip, Container, Extractable, MetaContainer, SourceClip, TimelineElement};
7use glib::translate::*;
8
9glib::wrapper! {
10    /// Renders the given text in the specified font, at specified position, and
11    /// with the specified background pattern.
12    ///
13    /// ## Properties
14    ///
15    ///
16    /// #### `background`
17    ///  The background of the text
18    ///
19    /// Readable | Writeable | Construct
20    ///
21    ///
22    /// #### `color`
23    ///  The color of the text
24    ///
25    /// Readable | Writeable | Construct
26    ///
27    ///
28    /// #### `font-desc`
29    ///  Pango font description string
30    ///
31    /// Readable | Writeable | Construct
32    ///
33    ///
34    /// #### `halignment`
35    ///  Horizontal alignment of the text
36    ///
37    /// Readable | Writeable | Construct
38    ///
39    ///
40    /// #### `text`
41    ///  The text to diplay
42    ///
43    /// Readable | Writeable | Construct
44    ///
45    ///
46    /// #### `valignment`
47    ///  Vertical alignent of the text
48    ///
49    /// Readable | Writeable | Construct
50    ///
51    ///
52    /// #### `xpos`
53    ///  The horizontal position of the text
54    ///
55    /// Readable | Writeable | Construct
56    ///
57    ///
58    /// #### `ypos`
59    ///  The vertical position of the text
60    ///
61    /// Readable | Writeable | Construct
62    /// <details><summary><h4>Clip</h4></summary>
63    ///
64    ///
65    /// #### `duration-limit`
66    ///  The maximum [`duration`][struct@crate::TimelineElement#duration] that can be *currently* set
67    /// for the clip, taking into account the [`in-point`][struct@crate::TimelineElement#in-point],
68    /// [`max-duration`][struct@crate::TimelineElement#max-duration], [`active`][struct@crate::TrackElement#active], and
69    /// [`track`][struct@crate::TrackElement#track] properties of its children, as well as any
70    /// time effects. If there is no limit, this will be set to
71    /// `GST_CLOCK_TIME_NONE`.
72    ///
73    /// Note that whilst a clip has no children in any tracks, the limit will
74    /// be unknown, and similarly set to `GST_CLOCK_TIME_NONE`.
75    ///
76    /// If the duration-limit would ever go below the current
77    /// [`duration`][struct@crate::TimelineElement#duration] of the clip due to a change in the above
78    /// variables, its [`duration`][struct@crate::TimelineElement#duration] will be set to the new
79    /// limit.
80    ///
81    /// Readable
82    ///
83    ///
84    /// #### `layer`
85    ///  The layer this clip lies in.
86    ///
87    /// If you want to connect to this property's [`notify`][struct@crate::glib::Object#notify] signal,
88    /// you should connect to it with `g_signal_connect_after()` since the
89    /// signal emission may be stopped internally.
90    ///
91    /// Readable
92    ///
93    ///
94    /// #### `supported-formats`
95    ///  The [`TrackType`][crate::TrackType]-s that the clip supports, which it can create
96    /// [`TrackElement`][crate::TrackElement]-s for. Note that this can be a combination of
97    /// [`TrackType`][crate::TrackType] flags to indicate support for several
98    /// [`track-type`][struct@crate::TrackElement#track-type] elements.
99    ///
100    /// Readable | Writeable | Construct
101    /// </details>
102    /// <details><summary><h4>Container</h4></summary>
103    ///
104    ///
105    /// #### `height`
106    ///  The span of the container's children's [`priority`][struct@crate::TimelineElement#priority]
107    /// values, which is the number of integers that lie between (inclusive)
108    /// the minimum and maximum priorities found amongst the container's
109    /// children (maximum - minimum + 1).
110    ///
111    /// Readable
112    /// </details>
113    /// <details><summary><h4>TimelineElement</h4></summary>
114    ///
115    ///
116    /// #### `duration`
117    ///  The duration that the element is in effect for in the timeline (a
118    /// time difference in nanoseconds using the time coordinates of the
119    /// timeline). For example, for a source element, this would determine
120    /// for how long it should output its internal content for. For an
121    /// operation element, this would determine for how long its effect
122    /// should be applied to any source content.
123    ///
124    /// Readable | Writeable
125    ///
126    ///
127    /// #### `in-point`
128    ///  The initial offset to use internally when outputting content (in
129    /// nanoseconds, but in the time coordinates of the internal content).
130    ///
131    /// For example, for a [`VideoUriSource`][crate::VideoUriSource] that references some media
132    /// file, the "internal content" is the media file data, and the
133    /// in-point would correspond to some timestamp in the media file.
134    /// When playing the timeline, and when the element is first reached at
135    /// timeline-time [`start`][struct@crate::TimelineElement#start], it will begin outputting the
136    /// data from the timestamp in-point **onwards**, until it reaches the
137    /// end of its [`duration`][struct@crate::TimelineElement#duration] in the timeline.
138    ///
139    /// For elements that have no internal content, this should be kept
140    /// as 0.
141    ///
142    /// Readable | Writeable
143    ///
144    ///
145    /// #### `max-duration`
146    ///  The full duration of internal content that is available (a time
147    /// difference in nanoseconds using the time coordinates of the internal
148    /// content).
149    ///
150    /// This will act as a cap on the [`in-point`][struct@crate::TimelineElement#in-point] of the
151    /// element (which is in the same time coordinates), and will sometimes
152    /// be used to limit the [`duration`][struct@crate::TimelineElement#duration] of the element in
153    /// the timeline.
154    ///
155    /// For example, for a [`VideoUriSource`][crate::VideoUriSource] that references some media
156    /// file, this would be the length of the media file.
157    ///
158    /// For elements that have no internal content, or whose content is
159    /// indefinite, this should be kept as `GST_CLOCK_TIME_NONE`.
160    ///
161    /// Readable | Writeable | Construct
162    ///
163    ///
164    /// #### `name`
165    ///  The name of the element. This should be unique within its timeline.
166    ///
167    /// Readable | Writeable | Construct
168    ///
169    ///
170    /// #### `parent`
171    ///  The parent container of the element.
172    ///
173    /// Readable | Writeable
174    ///
175    ///
176    /// #### `priority`
177    ///  The priority of the element.
178    ///
179    /// Readable | Writeable
180    ///
181    ///
182    /// #### `serialize`
183    ///  Whether the element should be serialized.
184    ///
185    /// Readable | Writeable
186    ///
187    ///
188    /// #### `start`
189    ///  The starting position of the element in the timeline (in nanoseconds
190    /// and in the time coordinates of the timeline). For example, for a
191    /// source element, this would determine the time at which it should
192    /// start outputting its internal content. For an operation element, this
193    /// would determine the time at which it should start applying its effect
194    /// to any source content.
195    ///
196    /// Readable | Writeable
197    ///
198    ///
199    /// #### `timeline`
200    ///  The timeline that the element lies within.
201    ///
202    /// Readable | Writeable
203    /// </details>
204    ///
205    /// # Implements
206    ///
207    /// [`SourceClipExt`][trait@crate::prelude::SourceClipExt], [`ClipExt`][trait@crate::prelude::ClipExt], [`GESContainerExt`][trait@crate::prelude::GESContainerExt], [`TimelineElementExt`][trait@crate::prelude::TimelineElementExt], [`trait@glib::ObjectExt`], [`ExtractableExt`][trait@crate::prelude::ExtractableExt], [`MetaContainerExt`][trait@crate::prelude::MetaContainerExt], [`TimelineElementExtManual`][trait@crate::prelude::TimelineElementExtManual]
208    #[doc(alias = "GESTitleClip")]
209    pub struct TitleClip(Object<ffi::GESTitleClip, ffi::GESTitleClipClass>) @extends SourceClip, Clip, Container, TimelineElement, @implements Extractable, MetaContainer;
210
211    match fn {
212        type_ => || ffi::ges_title_clip_get_type(),
213    }
214}
215
216impl TitleClip {
217    pub const NONE: Option<&'static TitleClip> = None;
218
219    /// Creates a new [`TitleClip`][crate::TitleClip]
220    ///
221    /// # Returns
222    ///
223    /// The newly created [`TitleClip`][crate::TitleClip],
224    /// or [`None`] if there was an error.
225    #[doc(alias = "ges_title_clip_new")]
226    pub fn new() -> Option<TitleClip> {
227        assert_initialized_main_thread!();
228        unsafe { from_glib_none(ffi::ges_title_clip_new()) }
229    }
230}