gstreamer_editing_services/auto/
title_source.rs1#![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 {}