gstreamer_editing_services/auto/
title_source.rs
1#![allow(deprecated)]
6
7use crate::{
8 ffi, Extractable, MetaContainer, Source, TextHAlign, TextVAlign, TimelineElement, TrackElement,
9 VideoSource,
10};
11use glib::{prelude::*, translate::*};
12
13glib::wrapper! {
14 #[doc(alias = "GESTitleSource")]
21 pub struct TitleSource(Object<ffi::GESTitleSource, ffi::GESTitleSourceClass>) @extends VideoSource, Source, TrackElement, TimelineElement, @implements Extractable, MetaContainer;
22
23 match fn {
24 type_ => || ffi::ges_title_source_get_type(),
25 }
26}
27
28impl TitleSource {
29 pub const NONE: Option<&'static TitleSource> = None;
30}
31
32pub trait TitleSourceExt: IsA<TitleSource> + 'static {
38 #[doc(alias = "ges_title_source_get_background_color")]
44 #[doc(alias = "get_background_color")]
45 fn background_color(&self) -> u32 {
46 unsafe { ffi::ges_title_source_get_background_color(self.as_ref().to_glib_none().0) }
47 }
48
49 #[cfg_attr(feature = "v1_16", deprecated = "Since 1.16")]
61 #[allow(deprecated)]
62 #[doc(alias = "ges_title_source_get_font_desc")]
63 #[doc(alias = "get_font_desc")]
64 fn font_desc(&self) -> Option<glib::GString> {
65 unsafe {
66 from_glib_full(ffi::ges_title_source_get_font_desc(
67 self.as_ref().to_glib_none().0,
68 ))
69 }
70 }
71
72 #[doc(alias = "ges_title_source_get_halignment")]
78 #[doc(alias = "get_halignment")]
79 fn halignment(&self) -> TextHAlign {
80 unsafe {
81 from_glib(ffi::ges_title_source_get_halignment(
82 self.as_ref().to_glib_none().0,
83 ))
84 }
85 }
86
87 #[cfg_attr(feature = "v1_16", deprecated = "Since 1.16")]
98 #[allow(deprecated)]
99 #[doc(alias = "ges_title_source_get_text")]
100 #[doc(alias = "get_text")]
101 fn text(&self) -> Option<glib::GString> {
102 unsafe {
103 from_glib_full(ffi::ges_title_source_get_text(
104 self.as_ref().to_glib_none().0,
105 ))
106 }
107 }
108
109 #[doc(alias = "ges_title_source_get_text_color")]
115 #[doc(alias = "get_text_color")]
116 fn text_color(&self) -> u32 {
117 unsafe { ffi::ges_title_source_get_text_color(self.as_ref().to_glib_none().0) }
118 }
119
120 #[doc(alias = "ges_title_source_get_valignment")]
126 #[doc(alias = "get_valignment")]
127 fn valignment(&self) -> TextVAlign {
128 unsafe {
129 from_glib(ffi::ges_title_source_get_valignment(
130 self.as_ref().to_glib_none().0,
131 ))
132 }
133 }
134
135 #[doc(alias = "ges_title_source_get_xpos")]
141 #[doc(alias = "get_xpos")]
142 fn xpos(&self) -> f64 {
143 unsafe { ffi::ges_title_source_get_xpos(self.as_ref().to_glib_none().0) }
144 }
145
146 #[doc(alias = "ges_title_source_get_ypos")]
152 #[doc(alias = "get_ypos")]
153 fn ypos(&self) -> f64 {
154 unsafe { ffi::ges_title_source_get_ypos(self.as_ref().to_glib_none().0) }
155 }
156
157 #[doc(alias = "ges_title_source_set_background_color")]
161 fn set_background_color(&self, color: u32) {
162 unsafe {
163 ffi::ges_title_source_set_background_color(self.as_ref().to_glib_none().0, color);
164 }
165 }
166
167 #[doc(alias = "ges_title_source_set_font_desc")]
172 fn set_font_desc(&self, font_desc: Option<&str>) {
173 unsafe {
174 ffi::ges_title_source_set_font_desc(
175 self.as_ref().to_glib_none().0,
176 font_desc.to_glib_none().0,
177 );
178 }
179 }
180
181 #[doc(alias = "ges_title_source_set_halignment")]
185 fn set_halignment(&self, halign: TextHAlign) {
186 unsafe {
187 ffi::ges_title_source_set_halignment(
188 self.as_ref().to_glib_none().0,
189 halign.into_glib(),
190 );
191 }
192 }
193
194 #[doc(alias = "ges_title_source_set_text")]
204 fn set_text(&self, text: Option<&str>) {
205 unsafe {
206 ffi::ges_title_source_set_text(self.as_ref().to_glib_none().0, text.to_glib_none().0);
207 }
208 }
209
210 #[doc(alias = "ges_title_source_set_text_color")]
214 fn set_text_color(&self, color: u32) {
215 unsafe {
216 ffi::ges_title_source_set_text_color(self.as_ref().to_glib_none().0, color);
217 }
218 }
219
220 #[doc(alias = "ges_title_source_set_valignment")]
224 fn set_valignment(&self, valign: TextVAlign) {
225 unsafe {
226 ffi::ges_title_source_set_valignment(
227 self.as_ref().to_glib_none().0,
228 valign.into_glib(),
229 );
230 }
231 }
232
233 #[doc(alias = "ges_title_source_set_xpos")]
237 fn set_xpos(&self, position: f64) {
238 unsafe {
239 ffi::ges_title_source_set_xpos(self.as_ref().to_glib_none().0, position);
240 }
241 }
242
243 #[doc(alias = "ges_title_source_set_ypos")]
247 fn set_ypos(&self, position: f64) {
248 unsafe {
249 ffi::ges_title_source_set_ypos(self.as_ref().to_glib_none().0, position);
250 }
251 }
252}
253
254impl<O: IsA<TitleSource>> TitleSourceExt for O {}