static void OverrideUngroup(GLib.GType gtype, UngroupNativeDelegate callback) { unsafe { IntPtr *raw_ptr = (IntPtr *)(((long)gtype.GetClassPtr()) + (long)class_abi.GetFieldOffset("ungroup")); *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate)callback); } }
private GES.Container[] InternalUngroup(bool recursive) { UngroupNativeDelegate unmanaged = null; unsafe { IntPtr *raw_ptr = (IntPtr *)(((long)this.LookupGType().GetThresholdType().GetClassPtr()) + (long)class_abi.GetFieldOffset("ungroup")); unmanaged = (UngroupNativeDelegate)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(UngroupNativeDelegate)); } if (unmanaged == null) { return(null); } IntPtr __result = unmanaged(this.Handle, recursive); return((GES.Container[])GLib.Marshaller.ListPtrToArray(__result, typeof(GLib.List), true, true, typeof(GES.Container))); }