コード例 #1
0
        internal static void visit(IntPtr gcHandlePtr, out int __retval, IntPtr entry, out int entry_release, int current, int index, int total)
        {
            var self = (CfxNavigationEntryVisitor)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target;

            if (self == null || self.CallbacksDisabled)
            {
                __retval      = default(int);
                entry_release = 1;
                return;
            }
            var e = new CfxNavigationEntryVisitorVisitEventArgs(entry, current, index, total);

            self.m_Visit?.Invoke(self, e);
            e.m_isInvalid = true;
            entry_release = e.m_entry_wrapped == null? 1 : 0;
            __retval      = e.m_returnValue ? 1 : 0;
        }
コード例 #2
0
        internal static void visit(IntPtr gcHandlePtr, out int __retval, IntPtr entry, int current, int index, int total)
        {
            var self = (CfxNavigationEntryVisitor)System.Runtime.InteropServices.GCHandle.FromIntPtr(gcHandlePtr).Target;

            if (self == null)
            {
                __retval = default(int);
                return;
            }
            var e            = new CfxNavigationEntryVisitorVisitEventArgs(entry, current, index, total);
            var eventHandler = self.m_Visit;

            if (eventHandler != null)
            {
                eventHandler(self, e);
            }
            e.m_isInvalid = true;
            if (e.m_entry_wrapped == null)
            {
                CfxApi.cfx_release(e.m_entry);
            }
            __retval = e.m_returnValue ? 1 : 0;
        }