gstreamer_video/auto/
video_overlay.rs

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 {}