Package limn.backend.lwjgl.transfer


@NullMarked package limn.backend.lwjgl.transfer
The system clipboard beyond GLFW's text: one NativeClipboard per windowing system, which speaks in native types and bytes, under one PlatformClipboard, which turns a limn.transfer.Transfer into those and back. Internal to the backend.
  • Class
    Description
    The canonical names a NativeClipboard speaks, and their spellings on the two Linux windowing systems, where a type is a string any program may write its own way.
    Calling a C function, and being called by one, by a signature written as a string: p is a pointer or anything as wide (long, Atom, Window), i a 32-bit integer, and after > the result, v for none.
    What a C caller is answered by: its arguments widened, and a result that is widened back.
    The macOS clipboard: the general NSPasteboard, on the main thread, which is the UI thread.
    A window's part in the system's drag and drop on macOS: it begins an NSDraggingSession from the window's view, with the pasteboard items a copy would write and the picture the scene cut for it, and it answers as a dragging destination for whatever is dragged over the view, from this program or another.
    One windowing system's clipboard, in the terms every one of them shares: a list of type names and the bytes behind each.
    The clipboard an application sees, over one system's NativeClipboard: a transfer going out becomes type names and, when a program asks, bytes; what another program offers comes back as formats and, when the application asks, values.
    Files as the text/uri-list of RFC 2483: one file: URI a line, CRLF between.
    The Wayland clipboard: a wl_data_device of our own on the display GLFW opened.
    One window's part in the system's drags: it begins them, and stops taking them when it closes.
    The Windows clipboard, through a message-only window of our own.
    The system's drag and drop on Windows, which is OLE's: a window is a destination once an IDropTarget is registered for it, and a drag out of it is DoDragDrop with a data object and an IDropSource.
    The X11 clipboard: the CLIPBOARD selection, owned and converted by a hidden window on a connection of our own.
    The system's drag and drop on X11, which is the XDND protocol (version 5): client messages between a source and the window under the pointer, and the XdndSelection to hand the data over.