DtDnd(5)

Dt/Dnd.h - Drag and drop definitions

As shipped in IRIX 6.5.19. Added in IRIX 6.5.19.

     NAME
          Dt/Dnd.h - Drag and drop definitions

     SYNOPSIS
          #include <Dt/Dnd.h>

     DESCRIPTION
          The <Dt/Dnd.h> header defines the following enumeration
          types:

               DtCR_DND_CONVERT_DATA
               DtCR_DND_CONVERT_DELETE
               DtCR_DND_DRAG_FINISH
               DtCR_DND_TRANSFER_DATA
               DtCR_DND_DROP_ANIMATE

          The header defines the following enumeration data types,
          with at least the following members:

             DtDndStatus
                   DtDND_SUCCESS, DtDND_FAILURE

             DtDndProtocol

                        DtDND_TEXT_TRANSFER     = (1L << 0)
                        DtDND_FILENAME_TRANSFER = (1L << 1)
                        DtDND_BUFFER_TRANSFER   = (1L << 2)

          The header declares the following structures:

               typedef struct _DtDndBuffer {
                   void *bp;
                   int size;
                   string name;
               } DtDndBuffer;

               typedef struct _DtDndContext {
                   DtDndProtocol protocol;
                   int numItems;
                   union {
                       XmString *strings;
                       String *files;
                       DtDndBuffer *buffers;
                   } data;
               } DtDndContext;

               typedef struct _DtDndConvertCallbackStruct {
                   int reason;
                   XEvent *event;
                   DtDndContext *dragData;
                   DtDndStatus status;
               } DtDndConvertCallbackStruct, *DtDndConvertCallback;
               typedef struct _DtDndDragFinishCallbackStruct {
                   int reason;
                   XEvent *event;
                   DtDndContext *dragData;
                   Widget sourceIcon;
               } DtDndDragFinishCallbackStruct, *DtDndDragFinishCallback;

               typedef struct _DtDndTransferCallbackStruct {
                   int reason;
                   XEvent *event;
                   Position x, y;
                   unsigned char operation;
                   DtDndContext *dropData;
                   Boolean completeMove;
                   DtDndStatus status;
               } DtDndTransferCallbackStruct, *DtDndTransferCallback;

               typedef struct _DtDndDropAnimateCallbackStruct {
                   int reason;
                   XEvent *event;
                   Position x, y;
                   unsigned char operation;
                   DtDndContext *dropData;
               } DtDndDropAnimateCallbackStruct, *DtDndDropAnimateCallback;

          The header declares the following as functions:

          Widget DtDndCreateSourceIcon(Widget parent,
                                       Pixmap pixmap,
                                       Pixmap mask);

          Widget DtDndDragStart(Widget dragSource,
                                XEvent *event,
                                DtDndProtocol protocol,
                                Cardinal numItems,
                                unsigned char operations,
                                XtCallbackList convertCallback,
                                XtCallbackList dragFinishCallback,
                                ArgList argList,
                                Cardinal argCount);

          Widget DtDndVaDragStart(Widget dragSource,
                                  XEvent *event,
                                  DtDndProtocol protocol,
                                  Cardinal numItems,
                                  unsigned char operations,
                                  XtCallbackList convertCallback,
                                  XtCallbackList dragFinishCallback,
                                  ...);

          void DtDndDropRegister(Widget dropSite,
                                 DtDndProtocol protocols,
                                 unsigned char operations,
                                 XtCallbackList transferCallback,
                                 ArgList argList,
                                 Cardinal argCount);

          void DtDndVaDropRegister(Widget dropSite,
                                   DtDndProtocol protocols,
                                   unsigned char operations,
                                   XtCallbackList transferCallback,
                                   ...);

          void DtDndDropUnregister(Widget dropSite);