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 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);
     }
 }
 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);
     }
 }
 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);
     }
 }
 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;
 }