// This file was generated by the Gtk# code generator. // Any changes made will be lost if regenerated. namespace Gst.Video { using System; using System.Runtime.InteropServices; #region Autogenerated code public partial class VideoOverlayAdapter : GLib.GInterfaceAdapter, Gst.Video.IVideoOverlay { [StructLayout (LayoutKind.Sequential)] struct GstVideoOverlayInterface { public ExposeNativeDelegate Expose; public HandleEventsNativeDelegate HandleEvents; public SetRenderRectangleNativeDelegate SetRenderRectangle; public SetWindowHandleNativeDelegate SetWindowHandle; } static GstVideoOverlayInterface iface; static VideoOverlayAdapter () { GLib.GType.Register (_gtype, typeof (VideoOverlayAdapter)); iface.Expose = new ExposeNativeDelegate (Expose_cb); iface.HandleEvents = new HandleEventsNativeDelegate (HandleEvents_cb); iface.SetRenderRectangle = new SetRenderRectangleNativeDelegate (SetRenderRectangle_cb); iface.SetWindowHandle = new SetWindowHandleNativeDelegate (SetWindowHandle_cb); } [UnmanagedFunctionPointer (CallingConvention.Cdecl)] delegate void ExposeNativeDelegate (IntPtr inst); static void Expose_cb (IntPtr inst) { try { IVideoOverlayImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOverlayImplementor; __obj.Expose (); } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException (e, false); } } [UnmanagedFunctionPointer (CallingConvention.Cdecl)] delegate void HandleEventsNativeDelegate (IntPtr inst, bool handle_events); static void HandleEvents_cb (IntPtr inst, bool handle_events) { try { IVideoOverlayImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOverlayImplementor; __obj.HandleEvents (handle_events); } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException (e, false); } } [UnmanagedFunctionPointer (CallingConvention.Cdecl)] delegate void SetRenderRectangleNativeDelegate (IntPtr inst, int x, int y, int width, int height); static void SetRenderRectangle_cb (IntPtr inst, int x, int y, int width, int height) { try { IVideoOverlayImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOverlayImplementor; __obj.SetRenderRectangle (x, y, width, height); } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException (e, false); } } [UnmanagedFunctionPointer (CallingConvention.Cdecl)] delegate void SetWindowHandleNativeDelegate (IntPtr inst, IntPtr handle); static void SetWindowHandle_cb (IntPtr inst, IntPtr handle) { try { IVideoOverlayImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOverlayImplementor; __obj.WindowHandle = handle; } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException (e, false); } } static int class_offset = 2 * IntPtr.Size; static void Initialize (IntPtr ptr, IntPtr data) { IntPtr ifaceptr = new IntPtr (ptr.ToInt64 () + class_offset); GstVideoOverlayInterface native_iface = (GstVideoOverlayInterface) Marshal.PtrToStructure (ifaceptr, typeof (GstVideoOverlayInterface)); native_iface.Expose = iface.Expose; native_iface.HandleEvents = iface.HandleEvents; native_iface.SetRenderRectangle = iface.SetRenderRectangle; native_iface.SetWindowHandle = iface.SetWindowHandle; Marshal.StructureToPtr (native_iface, ifaceptr, false); } GLib.Object implementor; public VideoOverlayAdapter () { InitHandler = new GLib.GInterfaceInitHandler (Initialize); } public VideoOverlayAdapter (IVideoOverlayImplementor implementor) { if (implementor == null) throw new ArgumentNullException ("implementor"); else if (!(implementor is GLib.Object)) throw new ArgumentException ("implementor must be a subclass of GLib.Object"); this.implementor = implementor as GLib.Object; } public VideoOverlayAdapter (IntPtr handle) { if (!_gtype.IsInstance (handle)) throw new ArgumentException ("The gobject doesn't implement the GInterface of this adapter", "handle"); implementor = GLib.Object.GetObject (handle); } [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_video_overlay_get_type(); private static GLib.GType _gtype = new GLib.GType (gst_video_overlay_get_type ()); public static GLib.GType GType { get { return _gtype; } } public override GLib.GType GInterfaceGType { get { return _gtype; } } public override IntPtr Handle { get { return implementor.Handle; } } public IntPtr OwnedHandle { get { return implementor.OwnedHandle; } } public static IVideoOverlay GetObject (IntPtr handle, bool owned) { GLib.Object obj = GLib.Object.GetObject (handle, owned); return GetObject (obj); } public static IVideoOverlay GetObject (GLib.Object obj) { if (obj == null) return null; else if (obj is IVideoOverlayImplementor) return new VideoOverlayAdapter (obj as IVideoOverlayImplementor); else if (obj as IVideoOverlay == null) return new VideoOverlayAdapter (obj.Handle); else return obj as IVideoOverlay; } public IVideoOverlayImplementor Implementor { get { return implementor as IVideoOverlayImplementor; } } [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern bool gst_video_overlay_set_property(IntPtr _object, int last_prop_id, uint property_id, IntPtr value); public static bool SetProperty(GLib.Object _object, int last_prop_id, uint property_id, GLib.Value value) { IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value); bool raw_ret = gst_video_overlay_set_property(_object == null ? IntPtr.Zero : _object.Handle, last_prop_id, property_id, native_value); bool ret = raw_ret; Marshal.FreeHGlobal (native_value); return ret; } [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_video_overlay_expose(IntPtr raw); public void Expose() { gst_video_overlay_expose(Handle); } [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_video_overlay_got_window_handle(IntPtr raw, IntPtr handle); public void GotWindowHandle(IntPtr handle) { gst_video_overlay_got_window_handle(Handle, handle); } [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_video_overlay_handle_events(IntPtr raw, bool handle_events); public void HandleEvents(bool handle_events) { gst_video_overlay_handle_events(Handle, handle_events); } [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_video_overlay_prepare_window_handle(IntPtr raw); public void PrepareWindowHandle() { gst_video_overlay_prepare_window_handle(Handle); } [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern bool gst_video_overlay_set_render_rectangle(IntPtr raw, int x, int y, int width, int height); public bool SetRenderRectangle(int x, int y, int width, int height) { bool raw_ret = gst_video_overlay_set_render_rectangle(Handle, x, y, width, height); bool ret = raw_ret; return ret; } [DllImport("libgstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_video_overlay_set_window_handle(IntPtr raw, IntPtr handle); public IntPtr WindowHandle { set { gst_video_overlay_set_window_handle(Handle, value); } } #endregion } }