1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
4// DO NOT EDIT
5
6use crate::ffi;
7use glib::{prelude::*, translate::*};
8
9glib::wrapper! {
10 #[doc(alias = "GstVideoOverlay")]
11 pub struct VideoOverlay(Interface<ffi::GstVideoOverlay, ffi::GstVideoOverlayInterface>);
12
13 match fn {
14 type_ => || ffi::gst_video_overlay_get_type(),
15 }
16}
17
18impl VideoOverlay {
19 pub const NONE: Option<&'static VideoOverlay> = None;
20
21 //#[doc(alias = "gst_video_overlay_install_properties")]
22 //pub fn install_properties(oclass: /*Ignored*/&mut glib::ObjectClass, last_prop_id: i32) {
23 // unsafe { TODO: call ffi:gst_video_overlay_install_properties() }
24 //}
25}
26
27unsafe impl Send for VideoOverlay {}
28unsafe impl Sync for VideoOverlay {}
29
30mod sealed {
31 pub trait Sealed {}
32 impl<T: super::IsA<super::VideoOverlay>> Sealed for T {}
33}
34
35pub trait VideoOverlayExt: IsA<VideoOverlay> + sealed::Sealed + 'static {
36 #[doc(alias = "gst_video_overlay_expose")]
37 fn expose(&self) {
38 unsafe {
39 ffi::gst_video_overlay_expose(self.as_ref().to_glib_none().0);
40 }
41 }
42
43 //#[doc(alias = "gst_video_overlay_got_window_handle")]
44 //fn got_window_handle(&self, handle: /*Unimplemented*/Basic: UIntPtr) {
45 // unsafe { TODO: call ffi:gst_video_overlay_got_window_handle() }
46 //}
47
48 #[doc(alias = "gst_video_overlay_handle_events")]
49 fn handle_events(&self, handle_events: bool) {
50 unsafe {
51 ffi::gst_video_overlay_handle_events(
52 self.as_ref().to_glib_none().0,
53 handle_events.into_glib(),
54 );
55 }
56 }
57
58 #[doc(alias = "gst_video_overlay_prepare_window_handle")]
59 fn prepare_window_handle(&self) {
60 unsafe {
61 ffi::gst_video_overlay_prepare_window_handle(self.as_ref().to_glib_none().0);
62 }
63 }
64
65 #[doc(alias = "gst_video_overlay_set_render_rectangle")]
66 fn set_render_rectangle(
67 &self,
68 x: i32,
69 y: i32,
70 width: i32,
71 height: i32,
72 ) -> Result<(), glib::error::BoolError> {
73 unsafe {
74 glib::result_from_gboolean!(
75 ffi::gst_video_overlay_set_render_rectangle(
76 self.as_ref().to_glib_none().0,
77 x,
78 y,
79 width,
80 height
81 ),
82 "Failed to set render rectangle"
83 )
84 }
85 }
86}
87
88impl<O: IsA<VideoOverlay>> VideoOverlayExt for O {}
89