In Section #sdragsource, we present an example that creates a custom drag source, and we describe the source code in
detail.
Once a DragContext has been created, the Motif toolkit for the initiating application assumes control of the drag, so
the application itself doesn't have to do anything during the drag. If any of the DragContext callbacks have been
specified, they are called automatically by the Motif toolkit at the appropriate time.
When the drop occurs, the drop site determines whether or not the data transfer can succeed based on the operations
and targets supported by the drag source and the drop site. If the transfer can succeed, the drop site initiates the
transfer, which causes the XmN-convertProc to be called for each data target that the drop site has requested. This
routine converts the data into the requested format and passes it back to the drop site, so the drop site can do whatever
it needs with the data.
19.2.2 The Drop Site
Once the user starts a drag and drop transfer, the data can be dropped in any location that has been registered as a drop
site, and if the drop site understands the data, the transfer will succeed. The application that contains the drop site
where data is dropped is the receiving client in a drag and drop transfer. A drop site is always associated with a
widget. Like a drag source, a drop site supports particular types of data, depending on the type of object it is.
A drop site can be designed to handle any type of data, or even multiple types if appropriate. ...