mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2025-02-18 03:55:36 +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"
|
name = "set_render_rectangle"
|
||||||
[object.function.return]
|
[object.function.return]
|
||||||
bool_return_is_error = "Failed to set render rectangle"
|
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 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_render_rectangle(&self, x: i32, y: i32, width: i32, height: i32) -> Result<(), glib::error::BoolError>;
|
||||||
|
|
||||||
//fn set_window_handle(&self, handle: /*Unimplemented*/Fundamental: UIntPtr);
|
//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> {
|
fn set_render_rectangle(&self, x: i32, y: i32, width: i32, height: i32) -> Result<(), glib::error::BoolError> {
|
||||||
unsafe {
|
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")
|
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 {
|
pub trait VideoOverlayExtManual {
|
||||||
unsafe fn set_window_handle(&self, handle: uintptr_t);
|
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 {
|
impl<O: IsA<VideoOverlay>> VideoOverlayExtManual for O {
|
||||||
unsafe fn set_window_handle(&self, handle: uintptr_t) {
|
unsafe fn set_window_handle(&self, handle: uintptr_t) {
|
||||||
ffi::gst_video_overlay_set_window_handle(self.to_glib_none().0, handle)
|
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