diff --git a/core/src/main/java/edu/umd/cs/piccolo/PCanvas.java b/core/src/main/java/edu/umd/cs/piccolo/PCanvas.java index ff6e4da..40f63cd 100644 --- a/core/src/main/java/edu/umd/cs/piccolo/PCanvas.java +++ b/core/src/main/java/edu/umd/cs/piccolo/PCanvas.java @@ -688,4 +688,8 @@ public int getInteractingRenderQuality() { return interactingRenderQuality; } + + public PInputEventListener[] getInputEventListeners() { + return camera.getInputEventListeners(); + } } \ No newline at end of file diff --git a/core/src/main/java/edu/umd/cs/piccolo/PNode.java b/core/src/main/java/edu/umd/cs/piccolo/PNode.java index 6aaadc5..0d6bf34 100644 --- a/core/src/main/java/edu/umd/cs/piccolo/PNode.java +++ b/core/src/main/java/edu/umd/cs/piccolo/PNode.java @@ -59,6 +59,7 @@ import java.util.Collection; import java.util.Collections; import java.util.Enumeration; +import java.util.EventListener; import java.util.Iterator; import java.util.List; import java.util.ListIterator; @@ -3195,4 +3196,17 @@ return result.toString(); } + + public PInputEventListener[] getInputEventListeners() { + if (listenerList == null || listenerList.getListenerCount() == 0) + return new PInputEventListener[] {}; + + EventListener[] listeners = listenerList.getListeners(PInputEventListener.class); + + PInputEventListener[] result = new PInputEventListener[listeners.length]; + for (int i=0; i