Interface DropTargetAsync.DropCallback

All Superinterfaces:
FunctionPointer
Enclosing class:
DropTargetAsync
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public static interface DropTargetAsync.DropCallback extends FunctionPointer

Functional interface declaration of the DropCallback callback.

See Also:
  • Method Details

    • run

      boolean run(@Nullable Drop drop, double x, double y)

      Emitted on the drop site when the user drops the data onto the widget.

      The signal handler must determine whether the pointer position is in a drop zone or not. If it is not in a drop zone, it returns false and no further processing is necessary.

      Otherwise, the handler returns true. In this case, this handler will accept the drop. The handler must ensure that Drop#finish is called to let the source know that the drop is done. The call to Drop#finish must only be done when all data has been received.

      To receive the data, use one of the read functions provided by Drop such as Drop#readAsync or Drop#readValueAsync.

    • upcall

      default int upcall(MemorySegment sourceDropTargetAsync, MemorySegment drop, double x, double y)
      The upcall method is called from native code. The parameters are marshaled and run(Drop, double, double) is executed.
    • toCallback

      default MemorySegment toCallback(Arena arena)
      Creates a native function pointer to the upcall(MemorySegment, MemorySegment, double, double) method.
      Specified by:
      toCallback in interface FunctionPointer
      Parameters:
      arena - the arena in which the function pointer is allocated
      Returns:
      the native function pointer