@Override public void onEmit (Event[] events) { // each event has an id which defines the interaction of which it is a part for (Event event : events) { // start a new interaction for this id if START and we don't already have one Interaction iact = activeIacts.get(event.id); if (iact == null && event.kind.isStart) { Layer hitLayer = LayerUtil.getHitLayer(root, scratch.set(event.x, event.y)); if (hitLayer != null) activeIacts.put(event.id, iact = new Interaction(hitLayer, bubble)); } // dispatch the event to the interaction if (iact != null) iact.dispatch(event); // if this is END or CANCEL, clear out the interaction for this id if (event.kind.isEnd) activeIacts.remove(event.id); } } }
private void dispatchSolo (Event event) { Layer hitLayer = LayerUtil.getHitLayer(root, scratch.set(event.x, event.y)); if (hitLayer != null) new Interaction(hitLayer, bubble, true).dispatch(event); } }
@Override public void onEmit (Event event) { // start a new interaction on START, if we don't already have one if (currentIact == null && event.kind.isStart) { Layer hitLayer = LayerUtil.getHitLayer(root, scratch.set(event.x, event.y)); if (hitLayer != null) currentIact = new Interaction(hitLayer, bubble); } // dispatch the event to the interaction if (currentIact != null) currentIact.dispatch(event); // if this is END or CANCEL, clear out the current interaction if (event.kind.isEnd) currentIact = null; } }
Layer hitLayer = LayerUtil.getHitLayer(root, scratch.set(event.x, event.y)); if (hitLayer != null) currentIact = new Interaction(hitLayer, bubble, false); Layer hitLayer = LayerUtil.getHitLayer(root, scratch.set(event.x, event.y));