public bool DispatchEvent(EventContext context) { EventBridge bridge = TryGetEventBridge(context.type); EventBridge gBridge = null; if ((this is DisplayObject) && ((DisplayObject)this).gOwner != null) { gBridge = ((DisplayObject)this).gOwner.TryGetEventBridge(context.type); } EventDispatcher savedSender = context.sender; if (bridge != null && !bridge.isEmpty) { bridge.CallCaptureInternal(context); bridge.CallInternal(context); } if (gBridge != null && !gBridge.isEmpty) { gBridge.CallCaptureInternal(context); gBridge.CallInternal(context); } context.sender = savedSender; return(context._defaultPrevented); }
internal bool InternalDispatchEvent(string strType, EventBridge bridge, object data) { EventBridge gBridge = null; if ((this is DisplayObject) && ((DisplayObject)this).gOwner != null) { gBridge = ((DisplayObject)this).gOwner.TryGetEventBridge(strType); } bool b1 = bridge != null && !bridge.isEmpty; bool b2 = gBridge != null && !gBridge.isEmpty; if (b1 || b2) { EventContext context = EventContext.Get(); context.initiator = this; context._stopsPropagation = false; context._defaultPrevented = false; context.type = strType; context.data = data; if (b1) { bridge.CallCaptureInternal(context); bridge.CallInternal(context); } if (b2) { gBridge.CallCaptureInternal(context); gBridge.CallInternal(context); } EventContext.Return(context); context.initiator = null; context.sender = null; context.data = null; return(context._defaultPrevented); } else { return(false); } }