public void SetResizeCallback(ULResizeCallback callback, IntPtr userData = default) { if (callback is not null) { ULResizeCallback__PInvoke__ callback__PInvoke__ = (user_data, window, width, height) => callback(user_data, new ULWindow(window), width, height); if (handles[1].IsAllocated) { handles[1].Free(); } handles[1] = GCHandle.Alloc(callback__PInvoke__, GCHandleType.Normal); AppCoreMethods.ulWindowSetResizeCallback(Ptr, callback__PInvoke__, userData); } else { if (handles[1].IsAllocated) { handles[1].Free(); } handles[1] = default; AppCoreMethods.ulWindowSetResizeCallback(Ptr, null, userData); } }
internal static extern void ulWindowSetResizeCallback(IntPtr window, ULResizeCallback callback, IntPtr user_data);
public static extern void ulWindowSetResizeCallback(ULWindow window, ULResizeCallback callback, IntPtr user_data);