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