Class DragAndDrop
- java.lang.Object
-
- com.badlogic.gdx.scenes.scene2d.utils.DragAndDrop
-
public class DragAndDrop extends java.lang.ObjectManages drag and drop operations through registered drag sources and drop targets.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDragAndDrop.PayloadThe payload of a drag and drop operation.static classDragAndDrop.SourceA source where a payload can be dragged from.static classDragAndDrop.TargetA target where a payload can be dropped to.
-
Constructor Summary
Constructors Constructor Description DragAndDrop()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddSource(DragAndDrop.Source source)voidaddTarget(DragAndDrop.Target target)voidcancelTouchFocusExcept(DragAndDrop.Source except)Cancels the touch focus for everything except the specified source.voidclear()Removes all targets and sources.ActorgetDragActor()Returns the current drag actor, or null.DragAndDrop.PayloadgetDragPayload()Returns the current drag payload, or null.DragAndDrop.SourcegetDragSource()Returns the current drag source, or null.intgetDragTime()booleanisDragging()booleanisDragValid()Returns true if a drag is in progress and thedrag timehas elapsed since the drag started.voidremoveSource(DragAndDrop.Source source)voidremoveTarget(DragAndDrop.Target target)voidsetButton(int button)Sets the button to listen for, all other buttons are ignored.voidsetCancelTouchFocus(boolean cancelTouchFocus)When true (default), theStage.cancelTouchFocus()touch focus} is cancelled ifdragStartreturns non-null.voidsetDragActorPosition(float dragActorX, float dragActorY)voidsetDragTime(int dragMillis)Time in milliseconds that a drag must take before a drop will be considered valid.voidsetKeepWithinStage(boolean keepWithinStage)voidsetTapSquareSize(float halfTapSquareSize)Sets the distance a touch must travel before being considered a drag.voidsetTouchOffset(float touchOffsetX, float touchOffsetY)Sets an offset in stage coordinates from the touch position which is used to determine the drop location.
-
-
-
Method Detail
-
addSource
public void addSource(DragAndDrop.Source source)
-
removeSource
public void removeSource(DragAndDrop.Source source)
-
addTarget
public void addTarget(DragAndDrop.Target target)
-
removeTarget
public void removeTarget(DragAndDrop.Target target)
-
clear
public void clear()
Removes all targets and sources.
-
cancelTouchFocusExcept
public void cancelTouchFocusExcept(DragAndDrop.Source except)
Cancels the touch focus for everything except the specified source.
-
setTapSquareSize
public void setTapSquareSize(float halfTapSquareSize)
Sets the distance a touch must travel before being considered a drag.
-
setButton
public void setButton(int button)
Sets the button to listen for, all other buttons are ignored. Default isInput.Buttons.LEFT. Use -1 for any button.
-
setDragActorPosition
public void setDragActorPosition(float dragActorX, float dragActorY)
-
setTouchOffset
public void setTouchOffset(float touchOffsetX, float touchOffsetY)Sets an offset in stage coordinates from the touch position which is used to determine the drop location. Default is 0,0.
-
isDragging
public boolean isDragging()
-
getDragPayload
@Null public DragAndDrop.Payload getDragPayload()
Returns the current drag payload, or null.
-
getDragSource
@Null public DragAndDrop.Source getDragSource()
Returns the current drag source, or null.
-
setDragTime
public void setDragTime(int dragMillis)
Time in milliseconds that a drag must take before a drop will be considered valid. This ignores an accidental drag and drop that was meant to be a click. Default is 250.
-
getDragTime
public int getDragTime()
-
isDragValid
public boolean isDragValid()
Returns true if a drag is in progress and thedrag timehas elapsed since the drag started.
-
setCancelTouchFocus
public void setCancelTouchFocus(boolean cancelTouchFocus)
When true (default), theStage.cancelTouchFocus()touch focus} is cancelled ifdragStartreturns non-null. This ensures the DragAndDrop is the only touch focus listener, eg when the source is inside aScrollPanewith flick scroll enabled.
-
setKeepWithinStage
public void setKeepWithinStage(boolean keepWithinStage)
-
-