mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2024-11-22 09:31:06 +00:00
Add VideoOverlay::prepare_window_handle() and got_window_handle()
This commit is contained in:
parent
0ddab16801
commit
6cf34b1b39
3 changed files with 13 additions and 5 deletions
|
@ -59,8 +59,3 @@ status = "generate"
|
|||
name = "set_render_rectangle"
|
||||
[object.function.return]
|
||||
bool_return_is_error = "Failed to set render rectangle"
|
||||
|
||||
[[object.function]]
|
||||
name = "prepare_window_handle"
|
||||
# to be called by subclasses
|
||||
ignore = true
|
||||
|
|
|
@ -39,6 +39,8 @@ pub trait VideoOverlayExt {
|
|||
|
||||
fn handle_events(&self, handle_events: bool);
|
||||
|
||||
fn prepare_window_handle(&self);
|
||||
|
||||
fn set_render_rectangle(&self, x: i32, y: i32, width: i32, height: i32) -> Result<(), glib::error::BoolError>;
|
||||
|
||||
//fn set_window_handle(&self, handle: /*Unimplemented*/Fundamental: UIntPtr);
|
||||
|
@ -61,6 +63,12 @@ impl<O: IsA<VideoOverlay>> VideoOverlayExt for O {
|
|||
}
|
||||
}
|
||||
|
||||
fn prepare_window_handle(&self) {
|
||||
unsafe {
|
||||
ffi::gst_video_overlay_prepare_window_handle(self.to_glib_none().0);
|
||||
}
|
||||
}
|
||||
|
||||
fn set_render_rectangle(&self, x: i32, y: i32, width: i32, height: i32) -> Result<(), glib::error::BoolError> {
|
||||
unsafe {
|
||||
glib::error::BoolError::from_glib(ffi::gst_video_overlay_set_render_rectangle(self.to_glib_none().0, x, y, width, height), "Failed to set render rectangle")
|
||||
|
|
|
@ -14,10 +14,15 @@ use glib::IsA;
|
|||
|
||||
pub trait VideoOverlayExtManual {
|
||||
unsafe fn set_window_handle(&self, handle: uintptr_t);
|
||||
unsafe fn got_window_handle(&self, handle: uintptr_t);
|
||||
}
|
||||
|
||||
impl<O: IsA<VideoOverlay>> VideoOverlayExtManual for O {
|
||||
unsafe fn set_window_handle(&self, handle: uintptr_t) {
|
||||
ffi::gst_video_overlay_set_window_handle(self.to_glib_none().0, handle)
|
||||
}
|
||||
|
||||
unsafe fn got_window_handle(&self, handle: uintptr_t) {
|
||||
ffi::gst_video_overlay_got_window_handle(self.to_glib_none().0, handle)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue