public interface PenOwner
PenProvider
s and unpauses/pauses the PenManager
whenever the mouse cursor enters/exits the PenClip
. The PenOwner allows drag-out operation.Modifier and Type | Interface and Description |
---|---|
static interface |
PenOwner.PenManagerHandle
Wraps a
PenManager and defines extra accessor methods. |
Modifier and Type | Method and Description |
---|---|
boolean |
enforceSinglePenManager() |
java.lang.Object |
evalPenEventTag(PenEvent ev)
This method is called by the
PenManager 's machinary when creating a PenEvent . |
PenClip |
getPenClip() |
java.util.Collection<PenProvider.Constructor> |
getPenProviderConstructors()
Called once by the
PenManager.PenManager(PenOwner) constructor to get the available PenProvider.Constructor s and use them to setup the PenProvider s. |
boolean |
isDraggingOut()
Called by the
PenManager to avoid sending PLevelEvent s to clients when the location is outside the PenClip and this method returns false . |
void |
setPenManagerHandle(PenOwner.PenManagerHandle penManagerHandle)
Called once by the
PenManager.PenManager(PenOwner) constructor to allow this PenOwner to access the PenManager through the given PenOwner.PenManagerHandle . |
java.util.Collection<PenProvider.Constructor> getPenProviderConstructors()
PenManager.PenManager(PenOwner)
constructor to get the available PenProvider.Constructor
s and use them to setup the PenProvider
s.void setPenManagerHandle(PenOwner.PenManagerHandle penManagerHandle)
PenManager.PenManager(PenOwner)
constructor to allow this PenOwner to access the PenManager through the given PenOwner.PenManagerHandle
.PenClip getPenClip()
boolean isDraggingOut()
PenManager
to avoid sending PLevelEvent
s to clients when the location is outside the PenClip and this method returns false
. The PenManager calls this method holding the PenOwner.PenManagerHandle.getPenSchedulerLock()
synchronization lock.true
if this PenOwner is currently in a drag-out operation.java.lang.Object evalPenEventTag(PenEvent ev)
PenManager
's machinary when creating a PenEvent
. This method returns a tag to be stored on the given PenEvent
or null
if no tagging is needed (the PenManager
machinary stores this tag on the private PenEvent
's penOwnerTag
field ). The tag can be later retrieved using PenOwner.PenManagerHandle.retrievePenEventTag(PenEvent)
.boolean enforceSinglePenManager()
true
if you want to allow only one PenManager
per JVM---attempting to create more than one PenManager
instance will cause an IllegalStateException to be thrown by the PenManager's constructor.