Class DragAndDrop

java.lang.Object
com.prineside.tdi2.scene2d.utils.DragAndDrop

public class DragAndDrop extends Object
Manages drag and drop operations through registered drag sources and drop targets.
Author:
Nathan Sweet
  • Constructor Details

    • DragAndDrop

      public DragAndDrop()
  • Method Details

    • 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 is Input.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()
    • getDragActor

      @Null public Actor getDragActor()
      Returns the current drag actor, or null.
    • 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 the drag time has elapsed since the drag started.
    • setCancelTouchFocus

      public void setCancelTouchFocus(boolean cancelTouchFocus)
      When true (default), the Stage.cancelTouchFocus() touch focus} is cancelled if dragStart returns non-null. This ensures the DragAndDrop is the only touch focus listener, eg when the source is inside a ScrollPane with flick scroll enabled.
    • setKeepWithinStage

      public void setKeepWithinStage(boolean keepWithinStage)