static void OverrideEdit(GLib.GType gtype, EditNativeDelegate callback) { unsafe { IntPtr *raw_ptr = (IntPtr *)(((long)gtype.GetClassPtr()) + (long)class_abi.GetFieldOffset("edit")); *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate)callback); } }
private bool InternalEdit(GLib.List layers, int new_layer_priority, GES.EditMode mode, GES.Edge edge, ulong position) { EditNativeDelegate unmanaged = null; unsafe { IntPtr *raw_ptr = (IntPtr *)(((long)this.LookupGType().GetThresholdType().GetClassPtr()) + (long)class_abi.GetFieldOffset("edit")); unmanaged = (EditNativeDelegate)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(EditNativeDelegate)); } if (unmanaged == null) { return(false); } bool __result = unmanaged(this.Handle, layers == null ? IntPtr.Zero : layers.Handle, new_layer_priority, (int)mode, (int)edge, position); return(__result); }