org.apache.royale.events.MouseEvent.mouseOverHandler = function()

in asdoc/org/apache/royale/events/MouseEvent.js [370:422]


org.apache.royale.events.MouseEvent.mouseOverHandler = function(e) {
  var /** @type {number} */ j = 0;
  var /** @type {number} */ m = 0;
  //var /** @type {number} */ j = 0;
  //var /** @type {number} */ m = 0;
  var /** @type {Array} */ outs;
  var /** @type {MouseEvent} */ me;
  var /** @type {Object} */ parent;
  var /** @type {Object} */ target = e.target.royale_wrapper;
  if (target == null)
    return;
  var /** @type {Array} */ targets = org.apache.royale.events.MouseEvent.targets;
  var /** @type {number} */ index = (targets.indexOf(target)) >> 0;
  if (index != -1) {
    outs = targets.slice(index + 1);
    m = (outs.length) >> 0;
    for (j = 0; j < m; j++) {
      me = org.apache.royale.events.MouseEvent.makeMouseEvent(org.apache.royale.events.MouseEvent.ROLL_OUT, e);
      outs[j].element.dispatchEvent(me);
    }
    org.apache.royale.events.MouseEvent.targets = targets.slice(0, index + 1);
  } else {
    var /** @type {Array} */ newTargets = [target];
    if (!('parent' in target))
      parent = null;
    else
      parent = target.parent;
    while (parent) {
      index = (targets.indexOf(parent)) >> 0;
      if (index == -1) {
        newTargets.unshift(parent);
        if (!('parent' in parent))
          break;
        parent = parent.parent;
      } else {
        outs = targets.slice(index + 1);
        m = (outs.length) >> 0;
        for (j = 0; j < m; j++) {
          me = org.apache.royale.events.MouseEvent.makeMouseEvent(org.apache.royale.events.MouseEvent.ROLL_OUT, e);
          outs[j].element.dispatchEvent(me);
        }
        targets = targets.slice(0, index + 1);
        break;
      }
    }
    var /** @type {number} */ n = (newTargets.length) >> 0;
    for (var /** @type {number} */ i = 0; i < n; i++) {
      me = org.apache.royale.events.MouseEvent.makeMouseEvent(org.apache.royale.events.MouseEvent.ROLL_OVER, e);
      newTargets[i].element.dispatchEvent(me);
    }
    org.apache.royale.events.MouseEvent.targets = targets.concat(newTargets);
  }
};