// This file was generated by gir (https://github.com/gtk-rs/gir) // from gir-files (https://github.com/gtk-rs/gir-files) // DO NOT EDIT use PlayerVideoRenderer; use ffi; use glib; use glib::StaticType; use glib::Value; use glib::object::IsA; use glib::signal::SignalHandlerId; use glib::signal::connect_raw; use glib::translate::*; use glib_ffi; use gobject_ffi; use gst; use std::boxed::Box as Box_; use std::mem; use std::mem::transmute; glib_wrapper! { pub struct PlayerVideoOverlayVideoRenderer(Object): PlayerVideoRenderer; match fn { get_type => || ffi::gst_player_video_overlay_video_renderer_get_type(), } } impl PlayerVideoOverlayVideoRenderer { pub fn expose(&self) { unsafe { ffi::gst_player_video_overlay_video_renderer_expose(self.to_glib_none().0); } } pub fn get_render_rectangle(&self) -> (i32, i32, i32, i32) { unsafe { let mut x = mem::uninitialized(); let mut y = mem::uninitialized(); let mut width = mem::uninitialized(); let mut height = mem::uninitialized(); ffi::gst_player_video_overlay_video_renderer_get_render_rectangle(self.to_glib_none().0, &mut x, &mut y, &mut width, &mut height); (x, y, width, height) } } //pub fn get_window_handle(&self) -> /*Unimplemented*/Option { // unsafe { TODO: call ffi::gst_player_video_overlay_video_renderer_get_window_handle() } //} pub fn set_render_rectangle(&self, x: i32, y: i32, width: i32, height: i32) { unsafe { ffi::gst_player_video_overlay_video_renderer_set_render_rectangle(self.to_glib_none().0, x, y, width, height); } } //pub fn set_window_handle>>(&self, window_handle: P) { // unsafe { TODO: call ffi::gst_player_video_overlay_video_renderer_set_window_handle() } //} pub fn get_property_video_sink(&self) -> Option { unsafe { let mut value = Value::from_type(::static_type()); gobject_ffi::g_object_get_property(self.to_glib_none().0, b"video-sink\0".as_ptr() as *const _, value.to_glib_none_mut().0); value.get() } } pub fn set_property_video_sink + glib::value::SetValueOptional>(&self, video_sink: Option<&P>) { unsafe { gobject_ffi::g_object_set_property(self.to_glib_none().0, b"video-sink\0".as_ptr() as *const _, Value::from(video_sink).to_glib_none().0); } } //pub fn new>>(window_handle: P) -> Option { // unsafe { TODO: call ffi::gst_player_video_overlay_video_renderer_new() } //} //pub fn new_with_sink>, Q: IsA>(window_handle: P, video_sink: &Q) -> Option { // unsafe { TODO: call ffi::gst_player_video_overlay_video_renderer_new_with_sink() } //} pub fn connect_property_video_sink_notify(&self, f: F) -> SignalHandlerId { unsafe { let f: Box_> = Box_::new(Box_::new(f)); connect_raw(self.to_glib_none().0, b"notify::video-sink\0".as_ptr() as *const _, transmute(notify_video_sink_trampoline as usize), Box_::into_raw(f) as *mut _) } } pub fn connect_property_window_handle_notify(&self, f: F) -> SignalHandlerId { unsafe { let f: Box_> = Box_::new(Box_::new(f)); connect_raw(self.to_glib_none().0, b"notify::window-handle\0".as_ptr() as *const _, transmute(notify_window_handle_trampoline as usize), Box_::into_raw(f) as *mut _) } } } unsafe impl Send for PlayerVideoOverlayVideoRenderer {} unsafe impl Sync for PlayerVideoOverlayVideoRenderer {} unsafe extern "C" fn notify_video_sink_trampoline(this: *mut ffi::GstPlayerVideoOverlayVideoRenderer, _param_spec: glib_ffi::gpointer, f: glib_ffi::gpointer) { let f: &&(Fn(&PlayerVideoOverlayVideoRenderer) + Send + Sync + 'static) = transmute(f); f(&from_glib_borrow(this)) } unsafe extern "C" fn notify_window_handle_trampoline(this: *mut ffi::GstPlayerVideoOverlayVideoRenderer, _param_spec: glib_ffi::gpointer, f: glib_ffi::gpointer) { let f: &&(Fn(&PlayerVideoOverlayVideoRenderer) + Send + Sync + 'static) = transmute(f); f(&from_glib_borrow(this)) }