internal static void on_draggable_regions_changed(IntPtr gcHandlePtr, IntPtr browser, out int browser_release, IntPtr frame, out int frame_release, UIntPtr regionsCount, IntPtr regions, int regions_structsize) { var self = (CfxDragHandler)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target; if (self == null || self.CallbacksDisabled) { browser_release = 1; frame_release = 1; return; } var e = new CfxOnDraggableRegionsChangedEventArgs(); e.m_browser = browser; e.m_frame = frame; e.m_regions = regions; e.m_regions_structsize = regions_structsize; e.m_regionsCount = regionsCount; self.m_OnDraggableRegionsChanged?.Invoke(self, e); e.m_isInvalid = true; browser_release = e.m_browser_wrapped == null? 1 : 0; frame_release = e.m_frame_wrapped == null? 1 : 0; if (e.m_regions_managed != null) { for (int i = 0; i < e.m_regions_managed.Length; ++i) { e.m_regions_managed[i].Dispose(); } } }
internal static void on_draggable_regions_changed(IntPtr gcHandlePtr, IntPtr browser, int regionsCount, IntPtr regions, int regions_structsize) { var self = (CfxDragHandler)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target; if (self == null) { return; } var e = new CfxOnDraggableRegionsChangedEventArgs(browser, regions, regionsCount, regions_structsize); var eventHandler = self.m_OnDraggableRegionsChanged; if (eventHandler != null) { eventHandler(self, e); } e.m_isInvalid = true; if (e.m_browser_wrapped == null) { CfxApi.cfx_release(e.m_browser); } if (e.m_regions_managed != null) { for (int i = 0; i < e.m_regions_managed.Length; ++i) { e.m_regions_managed[i].Dispose(); } } }