Exemplo n.º 1
0
        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();
                }
            }
        }
Exemplo n.º 2
0
        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();
                }
            }
        }