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
30pub trait VideoOverlayExt: IsA<VideoOverlay> + 'static {
31    #[doc(alias = "gst_video_overlay_expose")]
32    fn expose(&self) {
33        unsafe {
34            ffi::gst_video_overlay_expose(self.as_ref().to_glib_none().0);
35        }
36    }
37
38    //#[doc(alias = "gst_video_overlay_got_window_handle")]
39    //fn got_window_handle(&self, handle: /*Unimplemented*/Basic: UIntPtr) {
40    //    unsafe { TODO: call ffi:gst_video_overlay_got_window_handle() }
41    //}
42
43    #[doc(alias = "gst_video_overlay_handle_events")]
44    fn handle_events(&self, handle_events: bool) {
45        unsafe {
46            ffi::gst_video_overlay_handle_events(
47                self.as_ref().to_glib_none().0,
48                handle_events.into_glib(),
49            );
50        }
51    }
52
53    #[doc(alias = "gst_video_overlay_prepare_window_handle")]
54    fn prepare_window_handle(&self) {
55        unsafe {
56            ffi::gst_video_overlay_prepare_window_handle(self.as_ref().to_glib_none().0);
57        }
58    }
59
60    #[doc(alias = "gst_video_overlay_set_render_rectangle")]
61    fn set_render_rectangle(
62        &self,
63        x: i32,
64        y: i32,
65        width: i32,
66        height: i32,
67    ) -> Result<(), glib::error::BoolError> {
68        unsafe {
69            glib::result_from_gboolean!(
70                ffi::gst_video_overlay_set_render_rectangle(
71                    self.as_ref().to_glib_none().0,
72                    x,
73                    y,
74                    width,
75                    height
76                ),
77                "Failed to set render rectangle"
78            )
79        }
80    }
81}
82
83impl<O: IsA<VideoOverlay>> VideoOverlayExt for O {}