gstreamer_editing_services/auto/
text_overlay.rs1#![allow(deprecated)]
6
7use crate::{
8 ffi, Extractable, MetaContainer, Operation, TextHAlign, TextVAlign, TimelineElement,
9 TrackElement,
10};
11use glib::{prelude::*, translate::*};
12
13glib::wrapper! {
14 #[doc(alias = "GESTextOverlay")]
15 pub struct TextOverlay(Object<ffi::GESTextOverlay, ffi::GESTextOverlayClass>) @extends Operation, TrackElement, TimelineElement, @implements Extractable, MetaContainer;
16
17 match fn {
18 type_ => || ffi::ges_text_overlay_get_type(),
19 }
20}
21
22impl TextOverlay {
23 pub const NONE: Option<&'static TextOverlay> = None;
24
25 #[cfg_attr(feature = "v1_18", deprecated = "Since 1.18")]
26 #[allow(deprecated)]
27 #[doc(alias = "ges_text_overlay_new")]
28 pub fn new() -> Option<TextOverlay> {
29 assert_initialized_main_thread!();
30 unsafe { from_glib_none(ffi::ges_text_overlay_new()) }
31 }
32}
33
34pub trait TextOverlayExt: IsA<TextOverlay> + 'static {
35 #[doc(alias = "ges_text_overlay_get_color")]
36 #[doc(alias = "get_color")]
37 fn color(&self) -> u32 {
38 unsafe { ffi::ges_text_overlay_get_color(self.as_ref().to_glib_none().0) }
39 }
40
41 #[doc(alias = "ges_text_overlay_get_font_desc")]
42 #[doc(alias = "get_font_desc")]
43 fn font_desc(&self) -> Option<glib::GString> {
44 unsafe {
45 from_glib_none(ffi::ges_text_overlay_get_font_desc(
46 self.as_ref().to_glib_none().0,
47 ))
48 }
49 }
50
51 #[doc(alias = "ges_text_overlay_get_halignment")]
52 #[doc(alias = "get_halignment")]
53 fn halignment(&self) -> TextHAlign {
54 unsafe {
55 from_glib(ffi::ges_text_overlay_get_halignment(
56 self.as_ref().to_glib_none().0,
57 ))
58 }
59 }
60
61 #[doc(alias = "ges_text_overlay_get_text")]
62 #[doc(alias = "get_text")]
63 fn text(&self) -> Option<glib::GString> {
64 unsafe {
65 from_glib_none(ffi::ges_text_overlay_get_text(
66 self.as_ref().to_glib_none().0,
67 ))
68 }
69 }
70
71 #[doc(alias = "ges_text_overlay_get_valignment")]
72 #[doc(alias = "get_valignment")]
73 fn valignment(&self) -> TextVAlign {
74 unsafe {
75 from_glib(ffi::ges_text_overlay_get_valignment(
76 self.as_ref().to_glib_none().0,
77 ))
78 }
79 }
80
81 #[doc(alias = "ges_text_overlay_get_xpos")]
82 #[doc(alias = "get_xpos")]
83 fn xpos(&self) -> f64 {
84 unsafe { ffi::ges_text_overlay_get_xpos(self.as_ref().to_glib_none().0) }
85 }
86
87 #[doc(alias = "ges_text_overlay_get_ypos")]
88 #[doc(alias = "get_ypos")]
89 fn ypos(&self) -> f64 {
90 unsafe { ffi::ges_text_overlay_get_ypos(self.as_ref().to_glib_none().0) }
91 }
92
93 #[doc(alias = "ges_text_overlay_set_color")]
94 fn set_color(&self, color: u32) {
95 unsafe {
96 ffi::ges_text_overlay_set_color(self.as_ref().to_glib_none().0, color);
97 }
98 }
99
100 #[doc(alias = "ges_text_overlay_set_font_desc")]
101 fn set_font_desc(&self, font_desc: Option<&str>) {
102 unsafe {
103 ffi::ges_text_overlay_set_font_desc(
104 self.as_ref().to_glib_none().0,
105 font_desc.to_glib_none().0,
106 );
107 }
108 }
109
110 #[doc(alias = "ges_text_overlay_set_halignment")]
111 fn set_halignment(&self, halign: TextHAlign) {
112 unsafe {
113 ffi::ges_text_overlay_set_halignment(
114 self.as_ref().to_glib_none().0,
115 halign.into_glib(),
116 );
117 }
118 }
119
120 #[doc(alias = "ges_text_overlay_set_text")]
121 fn set_text(&self, text: Option<&str>) {
122 unsafe {
123 ffi::ges_text_overlay_set_text(self.as_ref().to_glib_none().0, text.to_glib_none().0);
124 }
125 }
126
127 #[doc(alias = "ges_text_overlay_set_valignment")]
128 fn set_valignment(&self, valign: TextVAlign) {
129 unsafe {
130 ffi::ges_text_overlay_set_valignment(
131 self.as_ref().to_glib_none().0,
132 valign.into_glib(),
133 );
134 }
135 }
136
137 #[doc(alias = "ges_text_overlay_set_xpos")]
138 fn set_xpos(&self, position: f64) {
139 unsafe {
140 ffi::ges_text_overlay_set_xpos(self.as_ref().to_glib_none().0, position);
141 }
142 }
143
144 #[doc(alias = "ges_text_overlay_set_ypos")]
145 fn set_ypos(&self, position: f64) {
146 unsafe {
147 ffi::ges_text_overlay_set_ypos(self.as_ref().to_glib_none().0, position);
148 }
149 }
150}
151
152impl<O: IsA<TextOverlay>> TextOverlayExt for O {}