public virtual void bubbleEvent(AsEvent _event)
 {
     AsVector<AsEventDispatcher> chain = null;
     AsDisplayObject element = this as AsDisplayObject;
     int length = 1;
     if(sBubbleChains.getLength() > 0)
     {
         chain = (AsVector<AsEventDispatcher>)(sBubbleChains.pop());
         chain[0] = element;
     }
     else
     {
         chain = new AsVector<AsEventDispatcher>();
     }
     while((element = element.getParent()) != null)
     {
         chain[length++] = element;
     }
     int i = 0;
     for (; i < length; ++i)
     {
         bool stopPropagation = chain[i].invokeEvent(_event);
         if(stopPropagation)
         {
             break;
         }
     }
     chain.setLength(0);
     sBubbleChains.push(chain);
 }
        public virtual void bubbleEvent(AsEvent _event)
        {
            AsVector <AsEventDispatcher> chain = null;
            AsDisplayObject element            = this as AsDisplayObject;
            int             length             = 1;

            if (sBubbleChains.getLength() > 0)
            {
                chain    = (AsVector <AsEventDispatcher>)(sBubbleChains.pop());
                chain[0] = element;
            }
            else
            {
                chain = new AsVector <AsEventDispatcher>();
            }
            while ((element = element.getParent()) != null)
            {
                chain[length++] = element;
            }
            int i = 0;

            for (; i < length; ++i)
            {
                bool stopPropagation = chain[i].invokeEvent(_event);
                if (stopPropagation)
                {
                    break;
                }
            }
            chain.setLength(0);
            sBubbleChains.push(chain);
        }
 public virtual void dispatchEventWith(String type, bool bubbles, Object data)
 {
     if (bubbles || hasEventListener(type))
     {
         AsEvent _event = AsEvent.fromPool(type, bubbles, data);
         dispatchEvent(_event);
         AsEvent.toPool(_event);
     }
 }
 public virtual void broadcastEvent(AsEvent _event)
 {
     if(_event.getBubbles())
     {
         throw new AsArgumentError("Broadcast of bubbling events is prohibited");
     }
     int fromIndex = (int)(sBroadcastListeners.getLength());
     getChildEventListeners(this, _event.getType(), sBroadcastListeners);
     int toIndex = (int)(sBroadcastListeners.getLength());
     int i = fromIndex;
     for (; i < toIndex; ++i)
     {
         sBroadcastListeners[i].dispatchEvent(_event);
     }
     sBroadcastListeners.setLength(fromIndex);
 }
 public virtual void dispatchEvent(AsEvent _event)
 {
     bool bubbles = _event.getBubbles();
     if(!bubbles && (mEventListeners == null || !(mEventListeners.containsKey(_event.getType()))))
     {
         return;
     }
     AsEventDispatcher previousTarget = _event.getTarget();
     _event.setTarget(this);
     if(bubbles && this is AsDisplayObject)
     {
         bubbleEvent(_event);
     }
     else
     {
         invokeEvent(_event);
     }
     if(previousTarget != null)
     {
         _event.setTarget(previousTarget);
     }
 }
        public virtual void dispatchEvent(AsEvent _event)
        {
            bool bubbles = _event.getBubbles();

            if (!bubbles && (mEventListeners == null || !(mEventListeners.containsKey(_event.getType()))))
            {
                return;
            }
            AsEventDispatcher previousTarget = _event.getTarget();

            _event.setTarget(this);
            if (bubbles && this is AsDisplayObject)
            {
                bubbleEvent(_event);
            }
            else
            {
                invokeEvent(_event);
            }
            if (previousTarget != null)
            {
                _event.setTarget(previousTarget);
            }
        }
        public virtual bool invokeEvent(AsEvent _event)
        {
            AsVector <AsEventListenerCallback> listeners = mEventListeners != null ? mEventListeners[_event.getType()] as AsVector <AsEventListenerCallback> : null;
            int numListeners = listeners == null ? 0 : listeners.getLength();

            if (numListeners != 0)
            {
                _event.setCurrentTarget(this);
                int i = 0;
                for (; i < numListeners; ++i)
                {
                    AsEventListenerCallback listener = listeners[i] as AsEventListenerCallback;
                    if (_event.getStopsImmediatePropagation())
                    {
                        return(true);
                    }
                }
                return(_event.getStopsPropagation());
            }
            else
            {
                return(false);
            }
        }
示例#8
0
 public static void toPool(AsEvent _event)
 {
     _event.mData = _event.mTarget = _event.mCurrentTarget = null;
     sEventPool.push(_event);
 }
示例#9
0
 public static void toPool(AsEvent _event)
 {
     _event.mData = _event.mTarget = _event.mCurrentTarget = null;
     sEventPool.push(_event);
 }
 public virtual bool invokeEvent(AsEvent _event)
 {
     AsVector<AsEventListenerCallback> listeners = mEventListeners != null ? mEventListeners[_event.getType()] as AsVector<AsEventListenerCallback> : null;
     int numListeners = listeners == null ? 0 : listeners.getLength();
     if(numListeners != 0)
     {
         _event.setCurrentTarget(this);
         int i = 0;
         for (; i < numListeners; ++i)
         {
             AsEventListenerCallback listener = listeners[i] as AsEventListenerCallback;
             if(_event.getStopsImmediatePropagation())
             {
                 return true;
             }
         }
         return _event.getStopsPropagation();
     }
     else
     {
         return false;
     }
 }
示例#11
0
 private void onRemove(AsEvent _event)
 {
     _remove(_event.getTarget() as AsIAnimatable);
     AsTween tween = _event.getTarget() as AsTween;
     if(tween != null && tween.getIsComplete())
     {
         _add(tween.getNextTween());
     }
 }
示例#12
0
 private void onPooledTweenComplete(AsEvent _event)
 {
     AsTween.toPool(_event.getTarget() as AsTween);
 }
 private void onFlatten(AsEvent _event)
 {
     if(mRequiresRedraw)
     {
         redrawContents();
     }
 }
 private void onContextCreated(AsEvent _event)
 {
     AsContext3D context = AsStarling.getContext();
     AsBitmapData bitmapData = mData as AsBitmapData;
     AsAtfData atfData = mData as AsAtfData;
     bc.flash.display3D.textures.AsTexture nativeTexture = null;
     if(bitmapData != null)
     {
         nativeTexture = context.createTexture(mWidth, mHeight, AsContext3DTextureFormat.BGRA, mOptimizedForRenderTexture);
         AsTexture.uploadBitmapData(nativeTexture, bitmapData, mMipMapping);
     }
     else
     {
         if(atfData != null)
         {
             nativeTexture = context.createTexture(atfData.getWidth(), atfData.getHeight(), atfData.getFormat(), mOptimizedForRenderTexture);
             AsTexture.uploadAtfData(nativeTexture, atfData.getData());
         }
     }
     mBase = nativeTexture;
 }