Next: 2. Pointer Motion
Up: 3. The Drag Protocol
Previous: 3. The Drag Protocol
  Contents
  Index
When the pointer enters a new top level window, the initiator notifies the
receiver with a XmTOP_LEVEL_ENTER message.
XmTOP_LEVEL_ENTER
Table:
The XmTOP_LEVEL_ENTER
message send by the initiator.
Message User Data |
Size |
Description |
data.b[0] |
BYTE |
Reason: XmTOP_LEVEL_ENTER (0x00) |
data.b[1] |
BYTE |
Byte Order: either 'B' (MSB first) or 'l'
(LSB first). |
data.b[2..3] |
CARD16 |
(DnD Flags: unused) |
data.b[4..7] |
CARD32 |
Timestamp: set to the timestamp of the corresponding X event
triggering this message. |
data.b[8..11] |
CARD32 |
Source Window: source window ID of the initiator. |
data.b[12..15] |
CARD32 |
Drag Initiator Info Atom: atom ID of a property the initiator
set up when it started the drag or drop operation. |
|
The atom ID (in table it is called the
``Drag Initiator Info Atom'') sent in the XmTOP_LEVEL_ENTER
drag message is a selection atom. It must be unique for the duration
of the Drag & Drop transaction. In addition, the initiator must own
the selection and must be ready to convert data from the early
beginning of the drag operation, since the receiver can ask for a
conversion dynamically during the drag to validate the operation.
When the pointer leaves a top level window, the initiator notifies the
receiver with a XmTOP_LEVEL_LEAVE message.
XmTOP_LEVEL_LEAVE
Table:
The XmTOP_LEVEL_LEAVE
message send by the initiator.
Message User Data |
Size |
Description |
data.b[0] |
BYTE |
Reason: XmTOP_LEVEL_LEAVE (0x01) |
data.b[1] |
BYTE |
Byte Order: either 'B' (MSB first) or 'l'
(LSB first). |
data.b[2..3] |
CARD16 |
(DnD Flags: unused) |
data.b[4..7] |
CARD32 |
Timestamp: set to the timestamp of the corresponding X event
triggering this message. |
|
A receiver never replies (echoes) the XmTOP_LEVEL_ENTER and
XmTOP_LEVEL_LEAVE messages.
Next: 2. Pointer Motion
Up: 3. The Drag Protocol
Previous: 3. The Drag Protocol
  Contents
  Index
Danny Backx
2000-12-13