[DllImport("libgstinterfaces-0.10.dll")] static extern void gst_navigation_send_event(IntPtr raw, IntPtr structure); [DllImport("libgstreamer-0.10.dll")] static extern IntPtr gst_structure_copy (IntPtr raw); void Gst.Interfaces.Navigation.SendEvent(Gst.Structure structure) { gst_navigation_send_event(Handle, structure == null ? IntPtr.Zero : gst_structure_copy (structure.Handle)); } [DllImport("libgstinterfaces-0.10.dll")] static extern void gst_navigation_send_mouse_event(IntPtr raw, IntPtr evnt, int button, double x, double y); void Gst.Interfaces.Navigation.SendMouseEvent(string evnt, int button, double x, double y) { IntPtr native_evnt = GLib.Marshaller.StringToPtrGStrdup (evnt); gst_navigation_send_mouse_event(Handle, native_evnt, button, x, y); GLib.Marshaller.Free (native_evnt); } [DllImport("libgstinterfaces-0.10.dll")] static extern void gst_navigation_send_key_event(IntPtr raw, IntPtr evnt, IntPtr key); void Gst.Interfaces.Navigation.SendKeyEvent(string evnt, string key) { IntPtr native_evnt = GLib.Marshaller.StringToPtrGStrdup (evnt); IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key); gst_navigation_send_key_event(Handle, native_evnt, native_key); GLib.Marshaller.Free (native_evnt); GLib.Marshaller.Free (native_key); } [DllImport("libgstinterfaces-0.10.dll")] static extern void gst_navigation_send_command(IntPtr raw, int command); void Gst.Interfaces.Navigation.SendCommand(Gst.Interfaces.NavigationCommand command) { gst_navigation_send_command(Handle, (int) command); }