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")]
15 pub struct TitleSource(Object<ffi::GESTitleSource, ffi::GESTitleSourceClass>) @extends VideoSource, Source, TrackElement, TimelineElement, @implements Extractable, MetaContainer;
16
17 match fn {
18 type_ => || ffi::ges_title_source_get_type(),
19 }
20}
21
22impl TitleSource {
23 pub const NONE: Option<&'static TitleSource> = None;
24}
25
26mod sealed {
27 pub trait Sealed {}
28 impl<T: super::IsA<super::TitleSource>> Sealed for T {}
29}
30
31pub trait TitleSourceExt: IsA<TitleSource> + sealed::Sealed + 'static {
32 #[doc(alias = "ges_title_source_get_background_color")]
33 #[doc(alias = "get_background_color")]
34 fn background_color(&self) -> u32 {
35 unsafe { ffi::ges_title_source_get_background_color(self.as_ref().to_glib_none().0) }
36 }
37
38 #[cfg_attr(feature = "v1_16", deprecated = "Since 1.16")]
39 #[allow(deprecated)]
40 #[doc(alias = "ges_title_source_get_font_desc")]
41 #[doc(alias = "get_font_desc")]
42 fn font_desc(&self) -> Option<glib::GString> {
43 unsafe {
44 from_glib_full(ffi::ges_title_source_get_font_desc(
45 self.as_ref().to_glib_none().0,
46 ))
47 }
48 }
49
50 #[doc(alias = "ges_title_source_get_halignment")]
51 #[doc(alias = "get_halignment")]
52 fn halignment(&self) -> TextHAlign {
53 unsafe {
54 from_glib(ffi::ges_title_source_get_halignment(
55 self.as_ref().to_glib_none().0,
56 ))
57 }
58 }
59
60 #[cfg_attr(feature = "v1_16", deprecated = "Since 1.16")]
61 #[allow(deprecated)]
62 #[doc(alias = "ges_title_source_get_text")]
63 #[doc(alias = "get_text")]
64 fn text(&self) -> Option<glib::GString> {
65 unsafe {
66 from_glib_full(ffi::ges_title_source_get_text(
67 self.as_ref().to_glib_none().0,
68 ))
69 }
70 }
71
72 #[doc(alias = "ges_title_source_get_text_color")]
73 #[doc(alias = "get_text_color")]
74 fn text_color(&self) -> u32 {
75 unsafe { ffi::ges_title_source_get_text_color(self.as_ref().to_glib_none().0) }
76 }
77
78 #[doc(alias = "ges_title_source_get_valignment")]
79 #[doc(alias = "get_valignment")]
80 fn valignment(&self) -> TextVAlign {
81 unsafe {
82 from_glib(ffi::ges_title_source_get_valignment(
83 self.as_ref().to_glib_none().0,
84 ))
85 }
86 }
87
88 #[doc(alias = "ges_title_source_get_xpos")]
89 #[doc(alias = "get_xpos")]
90 fn xpos(&self) -> f64 {
91 unsafe { ffi::ges_title_source_get_xpos(self.as_ref().to_glib_none().0) }
92 }
93
94 #[doc(alias = "ges_title_source_get_ypos")]
95 #[doc(alias = "get_ypos")]
96 fn ypos(&self) -> f64 {
97 unsafe { ffi::ges_title_source_get_ypos(self.as_ref().to_glib_none().0) }
98 }
99
100 #[doc(alias = "ges_title_source_set_background_color")]
101 fn set_background_color(&self, color: u32) {
102 unsafe {
103 ffi::ges_title_source_set_background_color(self.as_ref().to_glib_none().0, color);
104 }
105 }
106
107 #[doc(alias = "ges_title_source_set_font_desc")]
108 fn set_font_desc(&self, font_desc: Option<&str>) {
109 unsafe {
110 ffi::ges_title_source_set_font_desc(
111 self.as_ref().to_glib_none().0,
112 font_desc.to_glib_none().0,
113 );
114 }
115 }
116
117 #[doc(alias = "ges_title_source_set_halignment")]
118 fn set_halignment(&self, halign: TextHAlign) {
119 unsafe {
120 ffi::ges_title_source_set_halignment(
121 self.as_ref().to_glib_none().0,
122 halign.into_glib(),
123 );
124 }
125 }
126
127 #[doc(alias = "ges_title_source_set_text")]
128 fn set_text(&self, text: Option<&str>) {
129 unsafe {
130 ffi::ges_title_source_set_text(self.as_ref().to_glib_none().0, text.to_glib_none().0);
131 }
132 }
133
134 #[doc(alias = "ges_title_source_set_text_color")]
135 fn set_text_color(&self, color: u32) {
136 unsafe {
137 ffi::ges_title_source_set_text_color(self.as_ref().to_glib_none().0, color);
138 }
139 }
140
141 #[doc(alias = "ges_title_source_set_valignment")]
142 fn set_valignment(&self, valign: TextVAlign) {
143 unsafe {
144 ffi::ges_title_source_set_valignment(
145 self.as_ref().to_glib_none().0,
146 valign.into_glib(),
147 );
148 }
149 }
150
151 #[doc(alias = "ges_title_source_set_xpos")]
152 fn set_xpos(&self, position: f64) {
153 unsafe {
154 ffi::ges_title_source_set_xpos(self.as_ref().to_glib_none().0, position);
155 }
156 }
157
158 #[doc(alias = "ges_title_source_set_ypos")]
159 fn set_ypos(&self, position: f64) {
160 unsafe {
161 ffi::ges_title_source_set_ypos(self.as_ref().to_glib_none().0, position);
162 }
163 }
164}
165
166impl<O: IsA<TitleSource>> TitleSourceExt for O {}