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}