gstreamer_editing_services/auto/text_overlay.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#![allow(deprecated)]
6
7use crate::{
8 ffi, Extractable, MetaContainer, Operation, TextHAlign, TextVAlign, TimelineElement,
9 TrackElement,
10};
11use glib::{prelude::*, translate::*};
12
13glib::wrapper! {
14 ///
15 ///
16 /// # Implements
17 ///
18 /// [`TextOverlayExt`][trait@crate::prelude::TextOverlayExt], [`OperationExt`][trait@crate::prelude::OperationExt], [`TrackElementExt`][trait@crate::prelude::TrackElementExt], [`TimelineElementExt`][trait@crate::prelude::TimelineElementExt], [`trait@glib::ObjectExt`], [`ExtractableExt`][trait@crate::prelude::ExtractableExt], [`MetaContainerExt`][trait@crate::prelude::MetaContainerExt], [`TimelineElementExtManual`][trait@crate::prelude::TimelineElementExtManual]
19 #[doc(alias = "GESTextOverlay")]
20 pub struct TextOverlay(Object<ffi::GESTextOverlay, ffi::GESTextOverlayClass>) @extends Operation, TrackElement, TimelineElement, @implements Extractable, MetaContainer;
21
22 match fn {
23 type_ => || ffi::ges_text_overlay_get_type(),
24 }
25}
26
27impl TextOverlay {
28 pub const NONE: Option<&'static TextOverlay> = None;
29
30 /// Creates a new [`TextOverlay`][crate::TextOverlay].
31 ///
32 /// # Deprecated since 1.18
33 ///
34 /// This should never be called by applications as this will
35 /// be created by clips.
36 ///
37 /// # Returns
38 ///
39 /// The newly created [`TextOverlay`][crate::TextOverlay] or
40 /// [`None`] if something went wrong.
41 #[cfg_attr(feature = "v1_18", deprecated = "Since 1.18")]
42 #[allow(deprecated)]
43 #[doc(alias = "ges_text_overlay_new")]
44 pub fn new() -> Option<TextOverlay> {
45 assert_initialized_main_thread!();
46 unsafe { from_glib_none(ffi::ges_text_overlay_new()) }
47 }
48}
49
50/// Trait containing all [`struct@TextOverlay`] methods.
51///
52/// # Implementors
53///
54/// [`TextOverlay`][struct@crate::TextOverlay]
55pub trait TextOverlayExt: IsA<TextOverlay> + 'static {
56 /// Get the color used by `source`.
57 ///
58 /// # Returns
59 ///
60 /// The color used by `source`.
61 #[doc(alias = "ges_text_overlay_get_color")]
62 #[doc(alias = "get_color")]
63 fn color(&self) -> u32 {
64 unsafe { ffi::ges_text_overlay_get_color(self.as_ref().to_glib_none().0) }
65 }
66
67 /// Get the pango font description currently set on `source`.
68 ///
69 /// # Returns
70 ///
71 /// The pango font description currently set on `source`.
72 #[doc(alias = "ges_text_overlay_get_font_desc")]
73 #[doc(alias = "get_font_desc")]
74 fn font_desc(&self) -> Option<glib::GString> {
75 unsafe {
76 from_glib_none(ffi::ges_text_overlay_get_font_desc(
77 self.as_ref().to_glib_none().0,
78 ))
79 }
80 }
81
82 /// Get the horizontal aligment used by `source`.
83 ///
84 /// # Returns
85 ///
86 /// The horizontal aligment used by `source`.
87 #[doc(alias = "ges_text_overlay_get_halignment")]
88 #[doc(alias = "get_halignment")]
89 fn halignment(&self) -> TextHAlign {
90 unsafe {
91 from_glib(ffi::ges_text_overlay_get_halignment(
92 self.as_ref().to_glib_none().0,
93 ))
94 }
95 }
96
97 /// Get the text currently set on `source`.
98 ///
99 /// # Returns
100 ///
101 /// The text currently set on `source`.
102 #[doc(alias = "ges_text_overlay_get_text")]
103 #[doc(alias = "get_text")]
104 fn text(&self) -> Option<glib::GString> {
105 unsafe {
106 from_glib_none(ffi::ges_text_overlay_get_text(
107 self.as_ref().to_glib_none().0,
108 ))
109 }
110 }
111
112 /// Get the vertical aligment used by `source`.
113 ///
114 /// # Returns
115 ///
116 /// The vertical aligment used by `source`.
117 #[doc(alias = "ges_text_overlay_get_valignment")]
118 #[doc(alias = "get_valignment")]
119 fn valignment(&self) -> TextVAlign {
120 unsafe {
121 from_glib(ffi::ges_text_overlay_get_valignment(
122 self.as_ref().to_glib_none().0,
123 ))
124 }
125 }
126
127 /// Get the horizontal position used by `source`.
128 ///
129 /// # Returns
130 ///
131 /// The horizontal position used by `source`.
132 #[doc(alias = "ges_text_overlay_get_xpos")]
133 #[doc(alias = "get_xpos")]
134 fn xpos(&self) -> f64 {
135 unsafe { ffi::ges_text_overlay_get_xpos(self.as_ref().to_glib_none().0) }
136 }
137
138 /// Get the vertical position used by `source`.
139 ///
140 /// # Returns
141 ///
142 /// The vertical position used by `source`.
143 #[doc(alias = "ges_text_overlay_get_ypos")]
144 #[doc(alias = "get_ypos")]
145 fn ypos(&self) -> f64 {
146 unsafe { ffi::ges_text_overlay_get_ypos(self.as_ref().to_glib_none().0) }
147 }
148
149 /// Sets the color of the text.
150 /// ## `color`
151 /// The color `self` is being set to
152 #[doc(alias = "ges_text_overlay_set_color")]
153 fn set_color(&self, color: u32) {
154 unsafe {
155 ffi::ges_text_overlay_set_color(self.as_ref().to_glib_none().0, color);
156 }
157 }
158
159 /// Sets the pango font description of the text this track element
160 /// will render.
161 /// ## `font_desc`
162 /// the pango font description
163 #[doc(alias = "ges_text_overlay_set_font_desc")]
164 fn set_font_desc(&self, font_desc: Option<&str>) {
165 unsafe {
166 ffi::ges_text_overlay_set_font_desc(
167 self.as_ref().to_glib_none().0,
168 font_desc.to_glib_none().0,
169 );
170 }
171 }
172
173 /// Sets the horizontal aligment of the text.
174 /// ## `halign`
175 /// The [`TextHAlign`][crate::TextHAlign] defining the horizontal alignment
176 /// of the text render by `self`.
177 #[doc(alias = "ges_text_overlay_set_halignment")]
178 fn set_halignment(&self, halign: TextHAlign) {
179 unsafe {
180 ffi::ges_text_overlay_set_halignment(
181 self.as_ref().to_glib_none().0,
182 halign.into_glib(),
183 );
184 }
185 }
186
187 /// Sets the text this track element will render.
188 /// ## `text`
189 /// the text to render. an internal copy of this text will be
190 /// made.
191 #[doc(alias = "ges_text_overlay_set_text")]
192 fn set_text(&self, text: Option<&str>) {
193 unsafe {
194 ffi::ges_text_overlay_set_text(self.as_ref().to_glib_none().0, text.to_glib_none().0);
195 }
196 }
197
198 /// Sets the vertical aligment of the text.
199 /// ## `valign`
200 /// The [`TextVAlign`][crate::TextVAlign] defining the vertical alignment
201 /// of the text render by `self`.
202 #[doc(alias = "ges_text_overlay_set_valignment")]
203 fn set_valignment(&self, valign: TextVAlign) {
204 unsafe {
205 ffi::ges_text_overlay_set_valignment(
206 self.as_ref().to_glib_none().0,
207 valign.into_glib(),
208 );
209 }
210 }
211
212 /// Sets the horizontal position of the text.
213 /// ## `position`
214 /// The horizontal position `self` is being set to
215 #[doc(alias = "ges_text_overlay_set_xpos")]
216 fn set_xpos(&self, position: f64) {
217 unsafe {
218 ffi::ges_text_overlay_set_xpos(self.as_ref().to_glib_none().0, position);
219 }
220 }
221
222 /// Sets the vertical position of the text.
223 /// ## `position`
224 /// The vertical position `self` is being set to
225 #[doc(alias = "ges_text_overlay_set_ypos")]
226 fn set_ypos(&self, position: f64) {
227 unsafe {
228 ffi::ges_text_overlay_set_ypos(self.as_ref().to_glib_none().0, position);
229 }
230 }
231}
232
233impl<O: IsA<TextOverlay>> TextOverlayExt for O {}