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
32mod sealed {
33 pub trait Sealed {}
34 impl<T: super::IsA<super::TitleSource>> Sealed for T {}
35}
36
37pub trait TitleSourceExt: IsA<TitleSource> + sealed::Sealed + 'static {
43 #[doc(alias = "ges_title_source_get_background_color")]
49 #[doc(alias = "get_background_color")]
50 fn background_color(&self) -> u32 {
51 unsafe { ffi::ges_title_source_get_background_color(self.as_ref().to_glib_none().0) }
52 }
53
54 #[cfg_attr(feature = "v1_16", deprecated = "Since 1.16")]
66 #[allow(deprecated)]
67 #[doc(alias = "ges_title_source_get_font_desc")]
68 #[doc(alias = "get_font_desc")]
69 fn font_desc(&self) -> Option<glib::GString> {
70 unsafe {
71 from_glib_full(ffi::ges_title_source_get_font_desc(
72 self.as_ref().to_glib_none().0,
73 ))
74 }
75 }
76
77 #[doc(alias = "ges_title_source_get_halignment")]
83 #[doc(alias = "get_halignment")]
84 fn halignment(&self) -> TextHAlign {
85 unsafe {
86 from_glib(ffi::ges_title_source_get_halignment(
87 self.as_ref().to_glib_none().0,
88 ))
89 }
90 }
91
92 #[cfg_attr(feature = "v1_16", deprecated = "Since 1.16")]
103 #[allow(deprecated)]
104 #[doc(alias = "ges_title_source_get_text")]
105 #[doc(alias = "get_text")]
106 fn text(&self) -> Option<glib::GString> {
107 unsafe {
108 from_glib_full(ffi::ges_title_source_get_text(
109 self.as_ref().to_glib_none().0,
110 ))
111 }
112 }
113
114 #[doc(alias = "ges_title_source_get_text_color")]
120 #[doc(alias = "get_text_color")]
121 fn text_color(&self) -> u32 {
122 unsafe { ffi::ges_title_source_get_text_color(self.as_ref().to_glib_none().0) }
123 }
124
125 #[doc(alias = "ges_title_source_get_valignment")]
131 #[doc(alias = "get_valignment")]
132 fn valignment(&self) -> TextVAlign {
133 unsafe {
134 from_glib(ffi::ges_title_source_get_valignment(
135 self.as_ref().to_glib_none().0,
136 ))
137 }
138 }
139
140 #[doc(alias = "ges_title_source_get_xpos")]
146 #[doc(alias = "get_xpos")]
147 fn xpos(&self) -> f64 {
148 unsafe { ffi::ges_title_source_get_xpos(self.as_ref().to_glib_none().0) }
149 }
150
151 #[doc(alias = "ges_title_source_get_ypos")]
157 #[doc(alias = "get_ypos")]
158 fn ypos(&self) -> f64 {
159 unsafe { ffi::ges_title_source_get_ypos(self.as_ref().to_glib_none().0) }
160 }
161
162 #[doc(alias = "ges_title_source_set_background_color")]
166 fn set_background_color(&self, color: u32) {
167 unsafe {
168 ffi::ges_title_source_set_background_color(self.as_ref().to_glib_none().0, color);
169 }
170 }
171
172 #[doc(alias = "ges_title_source_set_font_desc")]
177 fn set_font_desc(&self, font_desc: Option<&str>) {
178 unsafe {
179 ffi::ges_title_source_set_font_desc(
180 self.as_ref().to_glib_none().0,
181 font_desc.to_glib_none().0,
182 );
183 }
184 }
185
186 #[doc(alias = "ges_title_source_set_halignment")]
190 fn set_halignment(&self, halign: TextHAlign) {
191 unsafe {
192 ffi::ges_title_source_set_halignment(
193 self.as_ref().to_glib_none().0,
194 halign.into_glib(),
195 );
196 }
197 }
198
199 #[doc(alias = "ges_title_source_set_text")]
209 fn set_text(&self, text: Option<&str>) {
210 unsafe {
211 ffi::ges_title_source_set_text(self.as_ref().to_glib_none().0, text.to_glib_none().0);
212 }
213 }
214
215 #[doc(alias = "ges_title_source_set_text_color")]
219 fn set_text_color(&self, color: u32) {
220 unsafe {
221 ffi::ges_title_source_set_text_color(self.as_ref().to_glib_none().0, color);
222 }
223 }
224
225 #[doc(alias = "ges_title_source_set_valignment")]
229 fn set_valignment(&self, valign: TextVAlign) {
230 unsafe {
231 ffi::ges_title_source_set_valignment(
232 self.as_ref().to_glib_none().0,
233 valign.into_glib(),
234 );
235 }
236 }
237
238 #[doc(alias = "ges_title_source_set_xpos")]
242 fn set_xpos(&self, position: f64) {
243 unsafe {
244 ffi::ges_title_source_set_xpos(self.as_ref().to_glib_none().0, position);
245 }
246 }
247
248 #[doc(alias = "ges_title_source_set_ypos")]
252 fn set_ypos(&self, position: f64) {
253 unsafe {
254 ffi::ges_title_source_set_ypos(self.as_ref().to_glib_none().0, position);
255 }
256 }
257}
258
259impl<O: IsA<TitleSource>> TitleSourceExt for O {}