


     XXmmDDiissppllaayy((33XX))            RReeffeerreennccee PPaaggeess            XXmmDDiissppllaayy((33XX))



     NNAAMMEE
          XXmmDDiissppllaayy-The Display widget class

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDiissppllaayy..hh>>


     DDEESSCCRRIIPPTTIIOONN
          The XmDisplay object is used by the Motif widgets to store
          information that is specific to a display.  It also allows
          the toolkit to access certain information on widget
          hierarchies that would otherwise be unavailable.  Each
          client has one XmDisplay object for each display it
          accesses.

          An XmDisplay object is automatically created when the
          application creates the first shell on a display (usually
          accomplished by a call to XXttAAppppIInniittiiaalliizzee or
          XXttAAppppCCrreeaatteeSShheellll).  It is not necessary to create an
          XmDisplay object by any other means.  An application can use
          the function XXmmGGeettXXmmDDiissppllaayy to obtain the widget ID of the
          XmDisplay object for a given display.

          An application cannot supply initial values for XmDisplay
          resources as arguments to a call to any function that
          creates widgets.  The application or user can supply initial
          values in a resource file.  After creating the first shell
          on the display, the application can use XXmmGGeettXXmmDDiissppllaayy to
          obtain the widget ID of the XmDisplay object and then call
          XXttSSeettVVaalluueess to set the XmDisplay resources.

          XmDisplay resources specify the drag protocol style for a
          client participating in drag and drop transactions.  There
          are two basic protocol types, preregister and dynamic.  When
          a preregister protocol is used, the toolkit handles any
          communication between the initiator and receiver clients,
          and displays the appropriate drag-over and drag-under visual
          effects.  A client registers its drop sites in advance and
          this information is stored in a property for each top-level
          window.  When the drag pointer enters a top level window,
          the drop site information is read by the initiator.  A
          dynamic protocol allows the source and destination clients
          to dynamically communicate drag and drop state information
          between each other, and to update their respective visuals
          accordingly.  The toolkit provides drop site information as
          the pointer passes over any given drop site.  In this mode,
          a receiver can supply a procedure to generate its own drag-
          under effects.

        CCllaasssseess
          Display inherits behavior and resources from CCoorree,
          CCoommppoossiittee, SShheellll, WWMMSShheellll, VVeennddoorrSShheellll, TTooppLLeevveellSShheellll, and



     1-323                                            (printed 5/7/92)






     XXmmDDiissppllaayy((33XX))            RReeffeerreennccee PPaaggeess            XXmmDDiissppllaayy((33XX))



          AApppplliiccaattiioonnSShheellll classes.

          The class pointer is xxmmDDiissppllaayyCCllaassss.

          The class name is XXmmDDiissppllaayy.

        NNeeww RReessoouurrcceess
          The following table defines a set of widget resources used
          by the programmer to specify data.  The programmer can also
          set the resource values for the inherited classes to set
          attributes for this widget.  To reference a resource by name
          or by class in an ..XXddeeffaauullttss file, remove the XXmmNN or XXmmCC
          prefix and use the remaining letters.  To specify one of the
          defined values for a resource in an ..XXddeeffaauullttss file, remove
          the XXmm prefix and use the remaining letters (in either
          lowercase or uppercase, but include any underscores between
          words).  The codes in the access column indicate if the
          given resource can be set at creation time (CC), set by using
          XXttSSeettVVaalluueess (SS), retrieved by using XXttGGeettVVaalluueess (GG), or is
          not applicable (NN//AA).

                                                   XXmmDDiissppllaayy RReessoouurrccee SSeett
     NNaammee                            CCllaassss                           TTyyppee            DDeeffaauulltt                     AAcccceessss
     __________________________________________________________________________________________________________________
     XmNdefaultVirtualBindings       DefaultVirtualBindings          String          dynamic                     CG
     XmNdragInitiatorProtocolStyle   XmCDragInitiatorProtocolStyle   unsigned char   XmDRAG_PREFER_RECEIVER      CG
     XmNdragReceiverProtocolStyle    XmCDragReceiverProtocolStyle    unsigned char   XmDRAG_PREFER_PREREGISTER   CG

          XXmmNNddeeffaauullttVViirrttuuaallBBiinnddiinnggss
                    Specifies the default virtual bindings for the
                    display.  Following is an example of a
                    specification for the ddeeffaauullttVViirrttuuaallBBiinnddiinnggss
                    resource in a resource file:

                    *defaultVirtualBindings: \
                         osfBackSpace   :    <Key>BackSpace\n\
                         osfInsert      :    <Key>InsertChar\n\
                    ...
                         osfDelete      :    <Key>DeleteChar


          XXmmNNddrraaggIInniittiiaattoorrPPrroottooccoollSSttyyllee
                    Specifies the drag and drop protocol requirements
                    or preference when the client is an initiator.
                    The possible values are


                    XXmmDDRRAAGG__PPRREERREEGGIISSTTEERR
                      As an initiator, this client does not use the
                      dynamic protocol and can only arrange visual
                      effects with receivers who provide preregistered
                      information.



     1-324                                            (printed 5/7/92)






     XXmmDDiissppllaayy((33XX))            RReeffeerreennccee PPaaggeess            XXmmDDiissppllaayy((33XX))



                    XXmmDDRRAAGG__DDYYNNAAMMIICC
                      As an initiator, this client does not make use
                      of any preregistered drop site information made
                      available by other clients, and can only arrange
                      visual effects with receivers who use the
                      dynamic protocol.

                    XXmmDDRRAAGG__NNOONNEE
                      Specifies that drag and drop is disabled for
                      this client.

                    XXmmDDRRAAGG__DDRROOPP__OONNLLYY
                      As an initiator, this client does not use either
                      the preregistered drop site information or the
                      dynamic protocol.  It supports dragging, and any
                      time the cursor is over a client that supports
                      drag and drop, valid feedback is provided.
                      There are no other visual effects.

                    XXmmDDRRAAGG__PPRREEFFEERR__DDYYNNAAMMIICC
                      As an initiator, this client can support both
                      the preregister and dynamic protocols, but
                      prefers to use dynamic protocols whenever
                      possible in order to provide high-quality drag-
                      under feedback.

                    XXmmDDRRAAGG__PPRREEFFEERR__PPRREERREEGGIISSTTEERR
                      As an initiator, this client can support both
                      the preregister and dynamic protocols, but
                      prefers to use the preregister protocol whenever
                      possible in order to accommodate performance
                      needs or to provide consistent drag-over
                      feedback.

                    XXmmDDRRAAGG__PPRREEFFEERR__RREECCEEIIVVEERR
                      Indicates that this client can support both
                      preregister and dynamic protocols, but will
                      defer to the preference of the receiver client.
                      This value is valid only for the
                      XXmmNNddrraaggIInniittiiaattoorrPPrroottooccoollSSttyyllee resource, and is
                      its default value.


          XXmmNNddrraaggRReecceeiivveerrPPrroottooccoollSSttyyllee
                    Specifies the drag and drop protocol requirements
                    or preference when this client is a receiver.  The
                    values are


                    XXmmDDRRAAGG__PPRREERREEGGIISSTTEERR
                      As a receiver, this client preregisters drop
                      site information and does not use the dynamic



     1-325                                            (printed 5/7/92)






     XXmmDDiissppllaayy((33XX))            RReeffeerreennccee PPaaggeess            XXmmDDiissppllaayy((33XX))



                      protocol.  It can only arrange visual effects
                      with initiators who make use of the
                      preregistered information.

                    XXmmDDRRAAGG__DDYYNNAAMMIICC
                      As a receiver, this client uses the dynamic
                      protocol and does not preregister drop site
                      information.  It can only arrange visual effects
                      with initiators who use the dynamic protocol.

                    XXmmDDRRAAGG__NNOONNEE
                      Specifies that drag and drop is disabled for
                      this client.

                    XXmmDDRRAAGG__DDRROOPP__OONNLLYY
                      As a receiver, this client neither uses the
                      dynamic protocol nor preregisters drop site
                      information.  It supports dropping, and when
                      dragging over this client, valid feedback is
                      always provided, but there are no other visual
                      effects.

                    XXmmDDRRAAGG__PPRREEFFEERR__DDYYNNAAMMIICC
                      As a receiver, this client can support both the
                      preregister and dynamic protocols, but prefers
                      to use dynamic protocol whenever possible in
                      order to provide high-quality drag-under
                      feedback.

                    XXmmDDRRAAGG__PPRREEFFEERR__PPRREERREEGGIISSTTEERR
                      As a receiver, this client can support both the
                      preregister and dynamic protocols, but prefers
                      to use the preregister protocol whenever
                      possible in order to accommodate performance
                      needs.


                    The actual protocol used between an initiator and
                    a receiver is based on the protocol style of the
                    receiver and initiator.  The decision matrix is as
                    follows:

               DD rr aa gg   II nn ii tt ii aa tt oo rr                     DDrraagg RReecceeiivveerr PPrroottooccooll SSttyyllee
               PP rr oo tt oo cc oo ll   SS tt yy ll ee   _______________________________________________________________
                          PPrreerreeggiisstteerr   PPrreeffeerr PPrreerreeggiisstteerr   PPrreeffeerr DDyynnaammiicc   DDyynnaammiicc
     __________________________________________________________________________________
            PPrreerreeggiisstteerr   Preregister   Preregister          Preregister      Drop Only
     __________________________________________________________________________________







     1-326                                            (printed 5/7/92)






     XXmmDDiissppllaayy((33XX))            RReeffeerreennccee PPaaggeess            XXmmDDiissppllaayy((33XX))



     PPrreeffeerr PPrreerreeggiisstteerr   Preregister   Preregister          Preregister      Dynamic
     __________________________________________________________________________________
        PPrreeffeerr RReecceeiivveerr   Preregister   Preregister          Dynamic          Dynamic
     __________________________________________________________________________________
         PPrreeffeerr DDyynnaammiicc   Preregister   Dynamic              Dynamic          Dynamic
     __________________________________________________________________________________
                DDyynnaammiicc   Drop Only     Dynamic              Dynamic          Dynamic

                    The value XXmmDDRRAAGG__NNOONNEE does not appear in the above
                    matrix.  When specified for either the initiator
                    or receiver side, XXmmDDRRAAGG__NNOONNEE implies that drag
                    and drop transactions are not supported.  A value
                    of XXmmDDRRAAGG__DDRROOPP__OONNLLYY (Drop Only) results when an
                    initiator and receiver cannot compromise protocol
                    styles, that is, one client requires dynamic mode
                    while the other can only support preregister mode,
                    or if either explicitly has specified
                    XXmmDDRRAAGG__DDRROOPP__OONNLLYY.


        IInnhheerriitteedd RReessoouurrcceess
          All of the superclass resources inherited by XmDisplay are
          designated N/A (not applicable).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          AApppplliiccaattiioonnSShheellll((33XX)), CCoommppoossiittee((33XX)), CCoorree((33XX)),
          TTooppLLeevveellSShheellll((33XX)), VVeennddoorrSShheellll((33XX)), WWMMSShheellll((33XX)),
          XXmmGGeettXXmmDDiissppllaayy((33XX)), and XXmmSSccrreeeenn((33XX)).



























     1-327                                            (printed 5/7/92)






     XXmmDDrraaggCCaanncceell((33XX))         RReeffeerreennccee PPaaggeess         XXmmDDrraaggCCaanncceell((33XX))



     NNAAMMEE
          XXmmDDrraaggCCaanncceell-A Drag and Drop function that terminates a drag
          transaction

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraaggDDrroopp..hh>>

          vvooiidd XXmmDDrraaggCCaanncceell ((_d_r_a_g_c_o_n_t_e_x_t))
               WWiiddggeett      _d_r_a_g_c_o_n_t_e_x_t;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmDDrraaggCCaanncceell terminates a drag operation and cancels any
          pending actions of the specified DragContext.  This routine
          can only be called by the initiator client.


          _d_r_a_g_c_o_n_t_e_x_t
                 Specifies the ID of the DragContext widget associated
                 with the drag and drop transaction to be terminated


          For a complete definition of DragContext and its associated
          resources, see XXmmDDrraaggCCoonntteexxtt((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmDDrraaggCCoonntteexxtt((33XX)) and XXmmDDrraaggSSttaarrtt((33XX)).




























     1-328                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



     NNAAMMEE
          XXmmDDrraaggCCoonntteexxtt-The DragContext widget class

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraaggDDrroopp..hh>>


     DDEESSCCRRIIPPTTIIOONN
          DragContexts are special widgets used in drag and drop
          transactions.  A DragContext is implemented as a widget, but
          a client does not explicitly create a DragContext widget.
          Instead, a client initiates a drag and drop transaction by
          calling XXmmDDrraaggSSttaarrtt, and this routine initializes and
          returns a DragContext widget.  There is a unique DragContext
          for each drag operation.  The toolkit frees a DragContext
          when a transaction is complete; therefore, an application
          programmer should not explicitly destroy a DragContext.

          Initiator and receiver clients both use DragContexts to
          track the state of a transaction.  When the initiator and
          receiver of a transaction are in the same client, they share
          the same DragContext instance.  If they are in different
          clients, there are two separate DragContexts.  In this case,
          the initiator calls XXmmDDrraaggSSttaarrtt and the toolkit provides a
          DragContext for the receiver client.  The only resources
          pertinent to the receiver are XXmmNNeexxppoorrttTTaarrggeettss and
          XXmmNNnnuummEExxppoorrttTTaarrggeettss.  These can both be passed as arguments
          to the XXmmDDrrooppSSiitteeRReettrriieevvee function to obtain information
          about the current drop site.

          In general, in order to receive data, a drop site must share
          at least one target type and operation in common with a drag
          source.  The DragContext resource, XXmmNNeexxppoorrttTTaarrggeettss,
          identifies the selection targets for the drag source.  These
          export targets are compared with the XXmmNNiimmppoorrttTTaarrggeettss
          resource list specified by a drop site.  The DragContext
          resource, XXmmNNddrraaggOOppeerraattiioonnss, identifies the valid operations
          that can be applied to the source data by the initiator.
          The drop site counterpart resource is XXmmNNddrrooppSSiitteeOOppeerraattiioonnss,
          which indicates a drop site's supported operations.

          A client uses DragIcon widgets to define the drag-over
          animation effects associated with a given drag and drop
          transaction. An initiator specifies a set of drag icons,
          selects a blending model, and sets foreground and background
          cursor colors with DragContext resources.

          The type of drag-over visual used to represent a drag
          operation depends on the drag protocol style.  In
          preregister mode, the server is grabbed, and either a cursor
          or a pixmap may be used as a drag-over visual.  In dynamic
          mode, drag-over visuals must be implemented with the X



     1-329                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



          cursor.  If the resulting drag protocol style is Drop Only
          or None and the XXmmNNddrraaggIInniittiiaattoorrPPrroottooccoollSSttyyllee is
          XXmmDDRRAAGG__DDYYNNAAMMIICC or XXmmDDRRAAGG__PPRREEFFEERR__DDYYNNAAMMIICC, then a dynamic
          visual style (cursor) is used.  Otherwise, a preregister
          visual style is used.

        CCllaasssseess
          DragContext inherits behavior and resources from CCoorree.

          The class pointer is xxmmDDrraaggCCoonntteexxttCCllaassss.

          The class name is XXmmDDrraaggCCoonntteexxtt.

        NNeeww RReessoouurrcceess
          The following table defines a set of widget resources used
          by the programmer to specify data.  The programmer can also
          set the resource values for the inherited classes to set
          attributes for this widget.  To reference a resource by name
          or by class in a .Xdefaults file, remove the XXmmNN or XXmmCC
          prefix and use the remaining letters.  To specify one of the
          defined values for a resource in a .Xdefaults file, remove
          the XXmm prefix and use the remaining letters (in either
          lowercase or uppercase, but include any underscores between
          words).  The codes in the access column indicate if the
          given resource can be set at creation time (CC), set by using
          XXttSSeettVVaalluueess (SS), retrieved by using XXttGGeettVVaalluueess (GG), or is
          not applicable (NN//AA).

                                                   XXmmDDrraaggCCoonntteexxtt RReessoouurrccee SSeett
     NNaammee                          CCllaassss                    TTyyppee                         DDeeffaauulltt                     AAcccceessss
     ______________________________________________________________________________________________________________________
     XmNblendModel                 XmCBlendModel            unsigned char                XmBLEND_ALL                 CG
     XmNclientData                 XmCClientData            XtPointer                    NULL                        CSG
     XmNconvertProc                XmCConvertProc           XtConvertSelectionIncrProc   NULL                        CSG
     XmNcursorBackground           XmCCursorBackground      Pixel                        dynamic                     CSG
     XmNcursorForeground           XmCCursorForeground      Pixel                        dynamic                     CSG
     XmNdragDropFinishCallback     XmCCallback              XtCallbackList               NULL                        CSG
     XmNdragMotionCallback         XmCCallback              XtCallbackList               NULL                        C
     XmNdragOperations             XmCDragOperations        unsigned char                XmDROP_COPY | XmDROP_MOVE   C
     XmNdropFinishCallback         XmCCallback              XtCallbackList               NULL                        C
     XmNdropSiteEnterCallback      XmCCallback              XtCallbackList               NULL                        C
     XmNdropSiteLeaveCallback      XmCCallback              XtCallbackList               NULL                        C
     XmNdropStartCallback          XmCCallback              XtCallbackList               NULL                        C
     XmNexportTargets              XmCExportTargets         Atom *                       NULL                        CSG
     XmNincremental                XmCIncremental           Boolean                      False                       CSG
     XmNinvalidCursorForeground    XmCCursorForeground      Pixel                        dynamic                     CSG
     XmNnoneCursorForeground       XmCCursorForeground      Pixel                        dynamic                     CSG
     XmNnumExportTargets           XmCNumExportTargets      Cardinal                     0                           CSG







     1-330                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



     XmNoperationChangedCallback   XmCCallback              XtCallbackList               NULL                        C
     XmNoperationCursorIcon        XmCOperationCursorIcon   Widget                       dynamic                     CSG
     XmNsourceCursorIcon           XmCSourceCursorIcon      Widget                       dynamic                     CSG
     XmNsourcePixmapIcon           XmCSourcePixmapIcon      Widget                       dynamic                     CSG
     XmNstateCursorIcon            XmCStateCursorIcon       Widget                       dynamic                     CSG
     XmNtopLevelEnterCallback      XmCCallback              XtCallbackList               NULL                        C
     XmNtopLevelLeaveCallback      XmCCallback              XtCallbackList               NULL                        C
     XmNvalidCursorForeground      XmCCursorForeground      Pixel                        dynamic                     CSG

          XXmmNNbblleennddMMooddeell
                    Specifies which combination of DragIcons are
                    blended to produce a drag-over visual.


                    XXmmBBLLEENNDD__AALLLL
                              Blends all three DragIcons - the source,
                              state and operation icon.  The icons are
                              layered from top to bottom with the
                              operation icon on top and the source
                              icon on the bottom.  The hotspot is
                              derived from the state icon.

                    XXmmBBLLEENNDD__SSTTAATTEE__SSOOUURRCCEE
                              Blends the state and source icons only.
                              The hotspot is derived from the state
                              icon.

                    XXmmBBLLEENNDD__JJUUSSTT__SSOOUURRCCEE
                              Specifies that only the source icon is
                              used, which the initiator updates as
                              required.

                    XXmmBBLLEENNDD__NNOONNEE
                              Specifies that no drag-over visual is
                              generated.  The client tracks the drop
                              site status through callback routines
                              and updates the drag-over visuals as
                              necessary.


          XXmmNNcclliieennttDDaattaa
                    Specifies the client data to be passed to the
                    XXmmNNccoonnvveerrttPPrroocc when it is invoked.

          XXmmNNccoonnvveerrttPPrroocc
                    Specifies a procedure of type
                    XXttCCoonnvveerrttSSeelleeccttiioonnIInnccrrPPrroocc that converts the
                    source data to the format(s) requested by the
                    receiver client.  The _w_i_d_g_e_t argument passed to
                    this procedure is the DragContext widget.  The
                    selection atom passed is _MOTIF_DROP.  If
                    XXmmNNiinnccrreemmeennttaall is False, the procedure should



     1-331                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



                    ignore the _m_a_x__l_e_n_g_t_h, _c_l_i_e_n_t__d_a_t_a, and _r_e_q_u_e_s_t__i_d
                    arguments and should handle the conversion
                    atomically.  Data returned by XXmmNNccoonnvveerrttPPrroocc must
                    be allocated using XXttMMaalllloocc and will be freed
                    automatically by the toolkit after the transfer.
                    For additional information on selection conversion
                    procedures, see _X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s-_C _L_a_n_g_u_a_g_e
                    _I_n_t_e_r_f_a_c_e.

          XXmmNNccuurrssoorrBBaacckkggrroouunndd
                    Specifies the background pixel value of the
                    cursor.

          XXmmNNccuurrssoorrFFoorreeggrroouunndd
                    Specifies the foreground pixel value of the cursor
                    when the state icon is not blended.  This resource
                    defaults to the foreground color of the widget
                    passed to the XXmmDDrraaggSSttaarrtt function.

          XXmmNNddrraaggDDrrooppFFiinniisshhCCaallllbbaacckk
                    Specifies the list of callbacks that are called
                    when the transaction is completed.  The type of
                    the structure whose address is passed to this
                    callback is XXmmDDrraaggDDrrooppFFiinniisshhCCaallllbbaacckkSSttrruucctt.  The
                    reason sent by the callback is
                    XXmmCCRR__DDRRAAGG__DDRROOPP__FFIINNIISSHH.

          XXmmNNddrraaggMMoottiioonnCCaallllbbaacckk
                    Specifies the list of callbacks that are invoked
                    when the pointer moves.  The type of structure
                    whose address is passed to this callback is
                    XXmmDDrraaggMMoottiioonnCCaallllbbaacckkSSttrruucctt.   The reason sent by
                    the callback is XXmmCCRR__DDRRAAGG__MMOOTTIIOONN.

          XXmmNNddrraaggOOppeerraattiioonnss
                    Specifies the set of valid operations associated
                    with an initiator client for a drag transaction.
                    This resource is a bit mask that is formed by
                    combining one or more of the following values
                    using a bitwise operation such as inclusive OR
                    (|):  XXmmDDRROOPP__CCOOPPYY, XXmmDDRROOPP__LLIINNKK, XXmmDDRROOPP__MMOOVVEE.  The
                    value XXmmDDRROOPP__NNOOOOPP for this resource indicates that
                    no operations are valid.  For Text and TextField
                    widgets, this resource is set to XXmmDDRROOPP__CCOOPPYY |
                    XXmmDDRROOPP__MMOOVVEE; for List widgets, it is set to
                    XXmmDDRROOPP__CCOOPPYY.

          XXmmNNddrrooppFFiinniisshhCCaallllbbaacckk
                    Specifies the list of callbacks that are invoked
                    when the drop is completed.   The type of the
                    structure whose address is passed to this callback
                    is XXmmDDrrooppFFiinniisshhCCaallllbbaacckkSSttrruucctt.   The reason sent



     1-332                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



                    by the callback is XXmmCCRR__DDRROOPP__FFIINNIISSHH.

          XXmmNNddrrooppSSiitteeEEnntteerrCCaallllbbaacckk
                    Specifies the list of callbacks that are invoked
                    when the pointer enters a drop site.  The type of
                    the structure whose address is passed to this
                    callback is XXmmDDrrooppSSiitteeEEnntteerrCCaallllbbaacckkSSttrruucctt.  The
                    reason sent by the callback is
                    XXmmCCRR__DDRROOPP__SSIITTEE__EENNTTEERR.

          XXmmNNddrrooppSSiitteeLLeeaavveeCCaallllbbaacckk
                    Specifies the list of callbacks that are invoked
                    when the pointer leaves a drop site.  The type of
                    the structure whose address is passed to this
                    callback is XXmmDDrrooppSSiitteeLLeeaavveeCCaallllbbaacckkSSttrruucctt.  The
                    reason sent by the callback is
                    XXmmCCRR__DDRROOPP__SSIITTEE__LLEEAAVVEE.

          XXmmNNddrrooppSSttaarrttCCaallllbbaacckk
                    Specifies the list of callbacks that are invoked
                    when a drop is initiated.  The type of the
                    structure whose address is passed to this callback
                    is XXmmDDrrooppSSttaarrttCCaallllbbaacckkSSttrruucctt.  The reason sent by
                    the callback is XXmmCCRR__DDRROOPP__SSTTAARRTT.

          XXmmNNeexxppoorrttTTaarrggeettss
                    Specifies the list of target atoms associated with
                    this source.  This resource identifies the
                    selection targets this source can be converted to.

          XXmmNNiinnccrreemmeennttaall
                    Specifies a Boolean value that indicates whether
                    the transfer on the initiator side uses the Xt
                    incremental selection transfer mechanism described
                    in _X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s-_C _L_a_n_g_u_a_g_e _I_n_t_e_r_f_a_c_e.  If
                    the value is True, the initiator uses incremental
                    transfer; if the value is False, the initiator
                    uses atomic transfer.

          XXmmNNiinnvvaalliiddCCuurrssoorrFFoorreeggrroouunndd
                    Specifies the foreground pixel value of the cursor
                    when the state is invalid.  This resource defaults
                    to the value of the XXmmNNccuurrssoorrFFoorreeggrroouunndd resource.

          XXmmNNnnoonneeCCuurrssoorrFFoorreeggrroouunndd
                    Specifies the foreground pixel value of the cursor
                    when the state is none.  This resource defaults to
                    the value of the XXmmNNccuurrssoorrFFoorreeggrroouunndd resource.

          XXmmNNnnuummEExxppoorrttTTaarrggeettss
                    Specifies the number of entries in the list of
                    export targets.



     1-333                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



          XXmmNNooppeerraattiioonnCChhaannggeeddCCaallllbbaacckk
                    Specifies the list of callbacks that are invoked
                    when the drag is started and when the user
                    requests that a different operation be applied to
                    the drop.  The type of the structure whose address
                    is passed to this callback is
                    XXmmOOppeerraattiioonnCChhaannggeeddCCaallllbbaacckkSSttrruucctt.  The reason sent
                    by the callback is XXmmCCRR__OOPPEERRAATTIIOONN__CCHHAANNGGEEDD.

          XXmmNNooppeerraattiioonnCCuurrssoorrIIccoonn
                    Specifies the cursor icon used to designate the
                    type of operation performed by the drag
                    transaction.  If  NULL, XXmmSSccrreeeenn resources provide
                    default icons for copy, link, and move operations.

          XXmmNNssoouurrcceeCCuurrssoorrIIccoonn
                    Specifies the cursor icon used to represent the
                    source when a dynamic visual style is used.  If
                    NULL, the XXmmNNddeeffaauullttSSoouurrcceeCCuurrssoorrIIccoonn resource of
                    XXmmSSccrreeeenn provides a default cursor icon.

          XXmmNNssoouurrcceePPiixxmmaappIIccoonn
                    Specifies the pixmap icon used to represent the
                    source when a preregister visual style is used.
                    The icon is used in conjunction with the colormap
                    of the widget passed to XXmmDDrraaggSSttaarrtt.  If NULL,
                    XXmmNNssoouurrcceeCCuurrssoorrIIccoonn is used.

          XXmmNNssttaatteeCCuurrssoorrIIccoonn
                    Specifies the cursor icon used to designate the
                    state of a drop site.  If NULL, XXmmSSccrreeeenn resources
                    provide default icons for a valid, invalid, and no
                    drop site condition.

          XXmmNNttooppLLeevveellEEnntteerrCCaallllbbaacckk
                    Specifies the list of callbacks that are called
                    when the pointer enters a top-level window or root
                    window (due to changing screens).  The type of the
                    structure whose address is passed to this callback
                    is XXmmTTooppLLeevveellEEnntteerrCCaallllbbaacckkSSttrruucctt.  The reason sent
                    by the callback is XXmmCCRR__TTOOPP__LLEEVVEELL__EENNTTEERR.

          XXmmNNttooppLLeevveellLLeeaavveeCCaallllbbaacckk
                    Specifies the list of callbacks that are called
                    when the pointer leaves a top level window or the
                    root window (due to changing screens).  The type
                    of the structure whose address is passed to this
                    callback is XXmmTTooppLLeevveellLLeeaavveeCCaallllbbaacckkSSttrruucctt.  The
                    reason sent by the callback is
                    XXmmCCRR__TTOOPP__LLEEVVEELL__LLEEAAVVEE.

          XXmmNNvvaalliiddCCuurrssoorrFFoorreeggrroouunndd



     1-334                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



                    Specifies the foreground pixel value of the cursor
                    designated as a valid cursor icon.


        IInnhheerriitteedd RReessoouurrcceess
          DragContext inherits behavior and resources from the
          following superclass.  For a complete description of each
          resource, refer to the CCoorree man page.

                                                   CCoorree RReessoouurrccee SSeett
     NNaammee                            CCllaassss                           TTyyppee             DDeeffaauulltt                AAcccceessss
     ______________________________________________________________________________________________________________
     XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
     XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
     XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
     XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
     XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
     XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
     XmNdepth                        XmCDepth                        int              dynamic                CG
     XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
     XmNheight                       XmCHeight                       Dimension        dynamic                CSG
     XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
     XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
     XmNscreen                       XmCScreen                       Screen *         dynamic                CG
     XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
     XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
     XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
     XmNx                            XmCPosition                     Position         0                      CSG
     XmNy                            XmCPosition                     Position         0                      CSG

        CCaallllbbaacckk IInnffoorrmmaattiioonn
          Each of the DragContext callbacks has an associated callback
          structure.

          A pointer to the following structure is passed to the
          XXmmNNddrraaggDDrrooppFFiinniisshhCCaallllbbaacckk callback.

          ttyyppeeddeeff ssttrruucctt
          {{
            iinntt          _r_e_a_s_o_n;;
            XXEEvveenntt       **_e_v_e_n_t;;
            TTiimmee         _t_i_m_e_S_t_a_m_p;;
          }}XXmmDDrraaggDDrrooppFFiinniisshhCCaallllbbaacckkSSttrruucctt,, **XXmmDDrraaggDDrrooppFFiinniisshhCCaallllbbaacckk;;


          _r_e_a_s_o_n      Indicates why the callback was invoked.

          _e_v_e_n_t       Points to the XXEEvveenntt that triggered the
                      callback.




     1-335                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



          _t_i_m_e_s_t_a_m_p   Specifies the time at which either the drag or
                      the drop was completed.


          A pointer to the following structure is passed to callbacks
          for XXmmNNddrraaggMMoottiioonnCCaallllbbaacckk.

          ttyyppeeddeeff ssttrruucctt
          {{
            iinntt          _r_e_a_s_o_n;;
            XXEEvveenntt       **_e_v_e_n_t;;
            TTiimmee         _t_i_m_e_S_t_a_m_p;;
            uunnssiiggnneedd cchhaarr_o_p_e_r_a_t_i_o_n;;
            uunnssiiggnneedd cchhaarr_o_p_e_r_a_t_i_o_n_s;;
            uunnssiiggnneedd cchhaarr_d_r_o_p_S_i_t_e_S_t_a_t_u_s;;
            PPoossiittiioonn     _x;;
            PPoossiittiioonn     _y;;
          }}XXmmDDrraaggMMoottiioonnCCaallllbbaacckkSSttrruucctt,, **XXmmDDrraaggMMoottiioonnCCaallllbbaacckk;;


          _r_e_a_s_o_n      Indicates why the callback was invoked.

          _e_v_e_n_t       Points to the XXEEvveenntt that triggered the
                      callback.

          _t_i_m_e_S_t_a_m_p   Specifies the timestamp of the logical event.

          _o_p_e_r_a_t_i_o_n   Identifies an operation.

                      If the toolkit has just called a DropSite's
                      XXmmNNddrraaggPPrroocc, the toolkit initializes _o_p_e_r_a_t_i_o_n
                      to the value of the _o_p_e_r_a_t_i_o_n member of the
                      XXmmDDrraaggPPrrooccCCaallllbbaacckkSSttrruucctt at the time the
                      DropSite's XXmmNNddrraaggPPrroocc returns.

                      If the toolkit has not called an XXmmNNddrraaggPPrroocc and
                      the pointer is within an active drop site, the
                      toolkit initializes _o_p_e_r_a_t_i_o_n by selecting an
                      operation from the bitwise AND of the initial
                      value of the _o_p_e_r_a_t_i_o_n_s member and the value of
                      the DropSite's XXmmNNddrrooppSSiitteeOOppeerraattiioonnss resource.
                      The toolkit searches this set first for
                      XXmmDDRROOPP__MMOOVVEE, then for XXmmDDRROOPP__CCOOPPYY, then for
                      XXmmDDRROOPP__LLIINNKK, and initializes _o_p_e_r_a_t_i_o_n to the
                      first operation it finds in the set.  If the
                      toolkit finds none of these operations in the
                      set, it initializes _o_p_e_r_a_t_i_o_n to XXmmDDRROOPP__NNOOOOPP.

                      If the toolkit has not called an XXmmNNddrraaggPPrroocc and
                      the pointer is not within an active drop site,
                      the toolkit initializes _o_p_e_r_a_t_i_o_n by selecting
                      an operation from the initial value of the



     1-336                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



                      _o_p_e_r_a_t_i_o_n_s member.  The toolkit searches this
                      set first for XXmmDDRROOPP__MMOOVVEE, then for XXmmDDRROOPP__CCOOPPYY,
                      then for XXmmDDRROOPP__LLIINNKK, and initializes _o_p_e_r_a_t_i_o_n
                      to the first operation it finds in the set.  If
                      the toolkit finds none of these operations in
                      the set, it initializes _o_p_e_r_a_t_i_o_n to
                      XXmmDDRROOPP__NNOOOOPP.

          _o_p_e_r_a_t_i_o_n_s  Indicates the set of operations supported for
                      the source data.

                      If the toolkit has just called a DropSite's
                      XXmmNNddrraaggPPrroocc, the toolkit initializes _o_p_e_r_a_t_i_o_n_s
                      to the bitwise AND of the DropSite's
                      XXmmNNddrrooppOOppeerraattiioonnss and the value of the
                      _o_p_e_r_a_t_i_o_n_s member of the
                      XXmmDDrraaggPPrrooccCCaallllbbaacckkSSttrruucctt at the time the
                      DropSite's XXmmNNddrraaggPPrroocc returns.  If the
                      resulting set of operations is empty, the
                      toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXmmDDRROOPP__NNOOOOPP.

                      If the toolkit has not called an XXmmNNddrraaggPPrroocc and
                      the user does not select an operation (by
                      pressing a modifier key), the toolkit
                      initializes _o_p_e_r_a_t_i_o_n_s to the value of the
                      DragContext's XXmmNNddrraaggOOppeerraattiioonnss resource.

                      If the toolkit has not called an XXmmNNddrraaggPPrroocc and
                      the user does select an operation, the toolkit
                      initializes _o_p_e_r_a_t_i_o_n_s to the bitwise AND of the
                      corresponding operation and the value of the
                      DragContext's XXmmNNddrraaggOOppeerraattiioonnss resource.  If
                      the resulting set of operations is empty, the
                      toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXmmDDRROOPP__NNOOOOPP.

          _d_r_o_p_S_i_t_e_S_t_a_t_u_s
                      Indicates whether or not a drop site is valid.

                      If the toolkit has just called a DropSite's
                      XXmmNNddrraaggPPrroocc, the toolkit initializes
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s to the value of the
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s member of the
                      XXmmDDrraaggPPrrooccCCaallllbbaacckkSSttrruucctt at the time the
                      DropSite's XXmmNNddrraaggPPrroocc returns.

                      If the toolkit has not called an XXmmNNddrraaggPPrroocc, it
                      initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s as follows:  the
                      toolkit initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s to
                      XXmmNNOO__DDRROOPP__SSIITTEE if the pointer is over an
                      inactive drop site or is not over a drop site.
                      The toolkit initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s to
                      XXmmDDRROOPP__SSIITTEE__VVAALLIIDD if all the following



     1-337                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



                      conditions are met:


                        +o  The pointer is over an active drop site.

                        +o  The DragContext's XXmmNNeexxppoorrttTTaarrggeettss and the
                           DropSite's XXmmNNiimmppoorrttTTaarrggeettss are compatible.

                        +o  The initial value of the _o_p_e_r_a_t_i_o_n member
                           is not XXmmDDRROOPP__NNOOOOPP.

                      Otherwise, the toolkit initializes
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s to XXmmDDRROOPP__SSIITTEE__IINNVVAALLIIDD.


          A pointer to the following structure is passed for the
          XXmmNNddrrooppFFiinniisshhCCaallllbbaacckk callback:

          ttyyppeeddeeff ssttrruucctt
          {{
            iinntt          _r_e_a_s_o_n;;
            XXEEvveenntt       **_e_v_e_n_t;;
            TTiimmee         _t_i_m_e_S_t_a_m_p;;
            uunnssiiggnneedd cchhaarr_o_p_e_r_a_t_i_o_n;;
            uunnssiiggnneedd cchhaarr_o_p_e_r_a_t_i_o_n_s;;
            uunnssiiggnneedd cchhaarr_d_r_o_p_S_i_t_e_S_t_a_t_u_s;;
            uunnssiiggnneedd cchhaarr_d_r_o_p_A_c_t_i_o_n;;
            uunnssiiggnneedd cchhaarr_c_o_m_p_l_e_t_i_o_n_S_t_a_t_u_s;;
          }}XXmmDDrrooppFFiinniisshhCCaallllbbaacckkSSttrruucctt,, **XXmmDDrrooppFFiinniisshhCCaallllbbaacckk;;


          _r_e_a_s_o_n      Indicates why the callback was invoked.

          _e_v_e_n_t       Points to the XXEEvveenntt that triggered the
                      callback.

          _t_i_m_e_S_t_a_m_p   Specifies the time at which the drop was
                      completed.

          _o_p_e_r_a_t_i_o_n   Identifies an operation.

                      If the pointer is over an active drop site when
                      the drop begins, the toolkit initializes
                      _o_p_e_r_a_t_i_o_n to the value of the _o_p_e_r_a_t_i_o_n member
                      of the XXmmDDrrooppPPrrooccCCaallllbbaacckkSSttrruucctt at the time the
                      DropSite's XXmmNNddrrooppPPrroocc returns.

                      If the pointer is not over an active drop site
                      when the drop begins, the toolkit initializes
                      _o_p_e_r_a_t_i_o_n by selecting an operation from the
                      initial value of the _o_p_e_r_a_t_i_o_n_s member.  The
                      toolkit searches this set first for XXmmDDRROOPP__MMOOVVEE,



     1-338                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



                      then for XXmmDDRROOPP__CCOOPPYY, then for XXmmDDRROOPP__LLIINNKK, and
                      initializes _o_p_e_r_a_t_i_o_n to the first operation it
                      finds in the set.  If it finds none of these
                      operations in the set, it initializes _o_p_e_r_a_t_i_o_n
                      to XXmmDDRROOPP__NNOOOOPP.

          _o_p_e_r_a_t_i_o_n_s  Indicates the set of operations supported for
                      the source data.

                      If the pointer is over an active drop site when
                      the drop begins, the toolkit initializes
                      _o_p_e_r_a_t_i_o_n_s to the bitwise AND of the DropSite's
                      XXmmNNddrrooppOOppeerraattiioonnss and the value of the
                      _o_p_e_r_a_t_i_o_n_s member of the
                      XXmmDDrrooppPPrrooccCCaallllbbaacckkSSttrruucctt at the time the
                      DropSite's XXmmNNddrrooppPPrroocc returns.  If the
                      resulting set of operations is empty, the
                      toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXmmDDRROOPP__NNOOOOPP.

                      If the pointer is not over an active drop site
                      when the drop begins and if the user does not
                      select an operation (by pressing a modifier
                      key), the toolkit initializes _o_p_e_r_a_t_i_o_n_s to the
                      value of the DragContext's XXmmNNddrraaggOOppeerraattiioonnss
                      resource.

                      If the pointer is not over an active drop site
                      when the drop begins and if the user does select
                      an operation, the toolkit initializes _o_p_e_r_a_t_i_o_n_s
                      to the bitwise AND of the corresponding
                      operation and the value of the DragContext's
                      XXmmNNddrraaggOOppeerraattiioonnss resource.  If the resulting
                      set of operations is empty, the toolkit
                      initializes _o_p_e_r_a_t_i_o_n_s to XXmmDDRROOPP__NNOOOOPP.

          _d_r_o_p_S_i_t_e_S_t_a_t_u_s
                      Indicates whether or not a drop site is valid.

                      If the pointer is over an active drop site when
                      the drop begins, the toolkit initializes
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s to the value of the
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s member of the
                      XXmmDDrrooppPPrrooccCCaallllbbaacckkSSttrruucctt at the time the
                      DropSite's XXmmNNddrrooppPPrroocc returns.

                      If the pointer is not over an active drop site
                      when the drop begins, the toolkit initializes
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s to XXmmNNOO__DDRROOPP__SSIITTEE.

          _d_r_o_p_A_c_t_i_o_n  Identifies the drop action.  The values are:
                      XXmmDDRROOPP, XXmmDDRROOPP__CCAANNCCEELL, XXmmDDRROOPP__HHEELLPP, and
                      XXmmDDRROOPP__IINNTTEERRRRUUPPTT.  The value XXmmDDRROOPP__IINNTTEERRRRUUPPTT is



     1-339                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



                      currently unsupported; if specified, it will be
                      interpreted as an XXmmDDRROOPP__CCAANNCCEELL.

          _c_o_m_p_l_e_t_i_o_n_S_t_a_t_u_s
                      An IN/OUT member that indicates the status of
                      the drop action.  After the last callback
                      procedure has returned, the final value of this
                      member determines what visual transition effects
                      will be applied.  There are two values:


                      XXmmDDRROOPP__SSUUCCCCEESSSS
                         The drop was successful.

                      XXmmDDRROOPP__FFAAIILLUURREE
                         The drop was unsuccessful.


          A pointer to the following structure is passed to callbacks
          for XXmmNNddrrooppSSiitteeEEnntteerrCCaallllbbaacckk:

          ttyyppeeddeeff ssttrruucctt
          {{
            iinntt          _r_e_a_s_o_n;;
            XXEEvveenntt       **_e_v_e_n_t;;
            TTiimmee         _t_i_m_e_S_t_a_m_p;;
            uunnssiiggnneedd cchhaarr_o_p_e_r_a_t_i_o_n;;
            uunnssiiggnneedd cchhaarr_o_p_e_r_a_t_i_o_n_s;;
            uunnssiiggnneedd cchhaarr_d_r_o_p_S_i_t_e_S_t_a_t_u_s;;
            PPoossiittiioonn     _x;;
            PPoossiittiioonn     _y;;
          }}XXmmDDrrooppSSiitteeEEnntteerrCCaallllbbaacckkSSttrruucctt,, **XXmmDDrrooppSSiitteeEEnntteerrCCaallllbbaacckk;;


          _r_e_a_s_o_n      Indicates why the callback was invoked.

          _e_v_e_n_t       Points to the XXEEvveenntt that triggered the
                      callback.

          _t_i_m_e_s_t_a_m_p   Specifies the time the crossing event occurred.

          _o_p_e_r_a_t_i_o_n   Identifies an operation.

                      If the toolkit has just called a DropSite's
                      XXmmNNddrraaggPPrroocc, the toolkit initializes _o_p_e_r_a_t_i_o_n
                      to the value of the _o_p_e_r_a_t_i_o_n member of the
                      XXmmDDrraaggPPrrooccCCaallllbbaacckkSSttrruucctt at the time the
                      DropSite's XXmmNNddrraaggPPrroocc returns.

                      If the toolkit has not called an XXmmNNddrraaggPPrroocc, it
                      initializes _o_p_e_r_a_t_i_o_n by selecting an operation
                      from the bitwise AND of the initial value of the



     1-340                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



                      _o_p_e_r_a_t_i_o_n_s member and the value of the
                      DropSite's XXmmNNddrrooppSSiitteeOOppeerraattiioonnss resource.  The
                      toolkit searches this set first for XXmmDDRROOPP__MMOOVVEE,
                      then for XXmmDDRROOPP__CCOOPPYY, then for XXmmDDRROOPP__LLIINNKK, and
                      initializes _o_p_e_r_a_t_i_o_n to the first operation it
                      finds in the set.  If the toolkit finds none of
                      these operations in the set, it initializes
                      _o_p_e_r_a_t_i_o_n to XXmmDDRROOPP__NNOOOOPP.

          _o_p_e_r_a_t_i_o_n_s  Indicates the set of operations supported for
                      the source data.

                      If the toolkit has just called a DropSite's
                      XXmmNNddrraaggPPrroocc, the toolkit initializes _o_p_e_r_a_t_i_o_n_s
                      to the bitwise AND of the DropSite's
                      XXmmNNddrrooppOOppeerraattiioonnss and the value of the
                      _o_p_e_r_a_t_i_o_n_s member of the
                      XXmmDDrraaggPPrrooccCCaallllbbaacckkSSttrruucctt at the time the
                      DropSite's XXmmNNddrraaggPPrroocc returns.  If the
                      resulting set of operations is empty, the
                      toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXmmDDRROOPP__NNOOOOPP.

                      If the toolkit has not called an XXmmNNddrraaggPPrroocc and
                      the user does not select an operation (by
                      pressing a modifier key), the toolkit
                      initializes _o_p_e_r_a_t_i_o_n_s to the value of the
                      DragContext's XXmmNNddrraaggOOppeerraattiioonnss resource.

                      If the toolkit has not called an XXmmNNddrraaggPPrroocc and
                      the user does select an operation, the toolkit
                      initializes _o_p_e_r_a_t_i_o_n_s to the bitwise AND of the
                      corresponding operation and the value of the
                      DragContext's XXmmNNddrraaggOOppeerraattiioonnss resource.  If
                      the resulting set of operations is empty, the
                      toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXmmDDRROOPP__NNOOOOPP.

          _d_r_o_p_S_i_t_e_S_t_a_t_u_s
                      Indicates whether or not a drop site is valid.

                      If the toolkit has just called a DropSite's
                      XXmmNNddrraaggPPrroocc, the toolkit initializes
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s to the value of the
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s member of the
                      XXmmDDrraaggPPrrooccCCaallllbbaacckkSSttrruucctt at the time the
                      DropSite's XXmmNNddrraaggPPrroocc returns.

                      If the toolkit has not called an XXmmNNddrraaggPPrroocc, it
                      initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s as follows:  the
                      toolkit initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s to
                      XXmmDDRROOPP__SSIITTEE__VVAALLIIDD if the DragContext's
                      XXmmNNeexxppoorrttTTaarrggeettss and the DropSite's
                      XXmmNNiimmppoorrttTTaarrggeettss are compatible and if the



     1-341                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



                      initial value of the _o_p_e_r_a_t_i_o_n member is not
                      XXmmDDRROOPP__NNOOOOPP.  Otherwise, the toolkit initializes
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s to XXmmDDRROOPP__SSIITTEE__IINNVVAALLIIDD.

          _x           Indicates the x-coordinate of the pointer in
                      root window coordinates.

          _y           Indicates the y-coordinate of the pointer in
                      root window coordinates.


          A pointer to the following structure is passed to callbacks
          for XXmmNNddrrooppSSiitteeLLeeaavveeCCaallllbbaacckk.

          ttyyppeeddeeff ssttrruucctt
          {{
            iinntt          _r_e_a_s_o_n;;
            XXEEvveenntt       **_e_v_e_n_t;;
            TTiimmee         _t_i_m_e_S_t_a_m_p;;
          }}XXmmDDrrooppSSiitteeLLeeaavveeCCaallllbbaacckkSSttrruucctt,, **XXmmDDrrooppSSiitteeLLeeaavveeCCaallllbbaacckk;;


          _r_e_a_s_o_n      Indicates why the callback was invoked.

          _e_v_e_n_t       Points to the XXEEvveenntt that triggered the
                      callback.

          _t_i_m_e_S_t_a_m_p   Specifies the timestamp of the logical event.


          A pointer to the following structure is passed for the
          XXmmNNddrrooppSSttaarrttCCaallllbbaacckk callback:

          ttyyppeeddeeff ssttrruucctt
          {{
            iinntt          _r_e_a_s_o_n;;
            XXEEvveenntt       **_e_v_e_n_t;;
            TTiimmee         _t_i_m_e_S_t_a_m_p;;
            uunnssiiggnneedd cchhaarr_o_p_e_r_a_t_i_o_n;;
            uunnssiiggnneedd cchhaarr_o_p_e_r_a_t_i_o_n_s;;
            uunnssiiggnneedd cchhaarr_d_r_o_p_S_i_t_e_S_t_a_t_u_s;;
            uunnssiiggnneedd cchhaarr_d_r_o_p_A_c_t_i_o_n;;
            PPoossiittiioonn     _x;;
            PPoossiittiioonn     _y;;
          }}XXmmDDrrooppSSttaarrttCCaallllbbaacckkSSttrruucctt,, **XXmmDDrrooppSSttaarrttCCaallllbbaacckk;;


          _r_e_a_s_o_n      Indicates why the callback was invoked.

          _e_v_e_n_t       Points to the XXEEvveenntt that triggered the
                      callback.




     1-342                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



          _t_i_m_e_S_t_a_m_p   Specifies the time at which the drag was
                      completed.

          _o_p_e_r_a_t_i_o_n   Identifies an operation.

                      If the pointer is over an active drop site when
                      the drop begins, the toolkit initializes
                      _o_p_e_r_a_t_i_o_n to the value of the _o_p_e_r_a_t_i_o_n member
                      of the XXmmDDrrooppPPrrooccCCaallllbbaacckkSSttrruucctt at the time the
                      DropSite's XXmmNNddrrooppPPrroocc returns.

                      If the pointer is not over an active drop site
                      when the drop begins, the toolkit initializes
                      _o_p_e_r_a_t_i_o_n by selecting an operation from the
                      initial value of the _o_p_e_r_a_t_i_o_n_s member.  The
                      toolkit searches this set first for XXmmDDRROOPP__MMOOVVEE,
                      then for XXmmDDRROOPP__CCOOPPYY, then for XXmmDDRROOPP__LLIINNKK, and
                      initializes _o_p_e_r_a_t_i_o_n to the first operation it
                      finds in the set.  If it finds none of these
                      operations in the set, it initializes _o_p_e_r_a_t_i_o_n
                      to XXmmDDRROOPP__NNOOOOPP.

          _o_p_e_r_a_t_i_o_n_s  Indicates the set of operations supported for
                      the source data.

                      If the pointer is over an active drop site when
                      the drop begins, the toolkit initializes
                      _o_p_e_r_a_t_i_o_n_s to the bitwise AND of the DropSite's
                      XXmmNNddrrooppOOppeerraattiioonnss and the value of the
                      _o_p_e_r_a_t_i_o_n_s member of the
                      XXmmDDrrooppPPrrooccCCaallllbbaacckkSSttrruucctt at the time the
                      DropSite's XXmmNNddrrooppPPrroocc returns.  If the
                      resulting set of operations is empty, the
                      toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXmmDDRROOPP__NNOOOOPP.

                      If the pointer is not over an active drop site
                      when the drop begins and if the user does not
                      select an operation (by pressing a modifier
                      key), the toolkit initializes _o_p_e_r_a_t_i_o_n_s to the
                      value of the DragContext's XXmmNNddrraaggOOppeerraattiioonnss
                      resource.

                      If the pointer is not over an active drop site
                      when the drop begins and if the user does select
                      an operation, the toolkit initializes _o_p_e_r_a_t_i_o_n_s
                      to the bitwise AND of the corresponding
                      operation and the value of the DragContext's
                      XXmmNNddrraaggOOppeerraattiioonnss resource.  If the resulting
                      set of operations is empty, the toolkit
                      initializes _o_p_e_r_a_t_i_o_n_s to XXmmDDRROOPP__NNOOOOPP.

          _d_r_o_p_S_i_t_e_S_t_a_t_u_s



     1-343                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



                      Indicates whether or not a drop site is valid.

                      If the pointer is over an active drop site when
                      the drop begins, the toolkit initializes
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s to the value of the
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s member of the
                      XXmmDDrrooppPPrrooccCCaallllbbaacckkSSttrruucctt at the time the
                      DropSite's XXmmNNddrrooppPPrroocc returns.

                      If the pointer is not over an active drop site
                      when the drop begins, the toolkit initializes
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s to XXmmNNOO__DDRROOPP__SSIITTEE.

          _d_r_o_p_A_c_t_i_o_n  An IN/OUT member that identifies the drop
                      action.  The values are XXmmDDRROOPP, XXmmDDRROOPP__CCAANNCCEELL,
                      XXmmDDRROOPP__HHEELLPP, and XXmmDDRROOPP__IINNTTEERRRRUUPPTT.  The value of
                      _d_r_o_p_A_c_t_i_o_n can be modified to change the action
                      actually initiated. The value XXmmDDRROOPP__IINNTTEERRRRUUPPTT
                      is currently unsupported; if specified, it will
                      be interpreted as a XXmmDDRROOPP__CCAANNCCEELL.

          _x           Indicates the x-coordinate of the pointer in
                      root window coordinates.

          _y           Indicates the y-coordinate of the pointer in
                      root window coordinates.


          A pointer to the following structure is passed to the
          XXmmNNooppeerraattiioonnCChhaannggeeddCCaallllbbaacckk callback:

          ttyyppeeddeeff ssttrruucctt
          {{
            iinntt          _r_e_a_s_o_n;;
            XXEEvveenntt       **_e_v_e_n_t;;
            TTiimmee         _t_i_m_e_S_t_a_m_p;;
            uunnssiiggnneedd cchhaarr_o_p_e_r_a_t_i_o_n;;
            uunnssiiggnneedd cchhaarr_o_p_e_r_a_t_i_o_n_s;;
            uunnssiiggnneedd cchhaarr_d_r_o_p_S_i_t_e_S_t_a_t_u_s;;
          }}XXmmOOppeerraattiioonnCChhaannggeeddCCaallllbbaacckkSSttrruucctt,, **XXmmOOppeerraattiioonnCChhaannggeeddCCaallllbbaacckk;;


          _r_e_a_s_o_n      Indicates why the callback was invoked.

          _e_v_e_n_t       Points to the XXEEvveenntt that triggered the
                      callback.

          _t_i_m_e_s_t_a_m_p   Specifies the time at which the crossing event
                      occurred.

          _o_p_e_r_a_t_i_o_n   Identifies an operation.




     1-344                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



                      If the toolkit has just called a DropSite's
                      XXmmNNddrraaggPPrroocc, the toolkit initializes _o_p_e_r_a_t_i_o_n
                      to the value of the _o_p_e_r_a_t_i_o_n member of the
                      XXmmDDrraaggPPrrooccCCaallllbbaacckkSSttrruucctt at the time the
                      DropSite's XXmmNNddrraaggPPrroocc returns.

                      If the toolkit has not called an XXmmNNddrraaggPPrroocc and
                      the pointer is within an active drop site, the
                      toolkit initializes _o_p_e_r_a_t_i_o_n by selecting an
                      operation from the bitwise AND of the initial
                      value of the _o_p_e_r_a_t_i_o_n_s member and the value of
                      the DropSite's XXmmNNddrrooppSSiitteeOOppeerraattiioonnss resource.
                      The toolkit searches this set first for
                      XXmmDDRROOPP__MMOOVVEE, then for XXmmDDRROOPP__CCOOPPYY, then for
                      XXmmDDRROOPP__LLIINNKK, and initializes _o_p_e_r_a_t_i_o_n to the
                      first operation it finds in the set.  If the
                      toolkit finds none of these operations in the
                      set, it initializes _o_p_e_r_a_t_i_o_n to XXmmDDRROOPP__NNOOOOPP.

                      If the toolkit has not called an XXmmNNddrraaggPPrroocc and
                      the pointer is not within an active drop site,
                      the toolkit initializes _o_p_e_r_a_t_i_o_n by selecting
                      an operation from the initial value of the
                      _o_p_e_r_a_t_i_o_n_s member.  The toolkit searches this
                      set first for XXmmDDRROOPP__MMOOVVEE, then for XXmmDDRROOPP__CCOOPPYY,
                      then for XXmmDDRROOPP__LLIINNKK, and initializes _o_p_e_r_a_t_i_o_n
                      to the first operation it finds in the set.  If
                      the toolkit finds none of these operations in
                      the set, it initializes _o_p_e_r_a_t_i_o_n to
                      XXmmDDRROOPP__NNOOOOPP.

          _o_p_e_r_a_t_i_o_n_s  Indicates the set of operations supported for
                      the source data.

                      If the toolkit has just called a DropSite's
                      XXmmNNddrraaggPPrroocc, the toolkit initializes _o_p_e_r_a_t_i_o_n_s
                      to the bitwise AND of the DropSite's
                      XXmmNNddrrooppOOppeerraattiioonnss and the value of the
                      _o_p_e_r_a_t_i_o_n_s member of the
                      XXmmDDrraaggPPrrooccCCaallllbbaacckkSSttrruucctt at the time the
                      DropSite's XXmmNNddrraaggPPrroocc returns.  If the
                      resulting set of operations is empty, the
                      toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXmmDDRROOPP__NNOOOOPP.

                      If the toolkit has not called an XXmmNNddrraaggPPrroocc and
                      the user does not select an operation (by
                      pressing a modifier key), the toolkit
                      initializes _o_p_e_r_a_t_i_o_n_s to the value of the
                      DragContext's XXmmNNddrraaggOOppeerraattiioonnss resource.

                      If the toolkit has not called an XXmmNNddrraaggPPrroocc and
                      the user does select an operation, the toolkit



     1-345                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



                      initializes _o_p_e_r_a_t_i_o_n_s to the bitwise AND of the
                      corresponding operation and the value of the
                      DragContext's XXmmNNddrraaggOOppeerraattiioonnss resource.  If
                      the resulting set of operations is empty, the
                      toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXmmDDRROOPP__NNOOOOPP.

          _d_r_o_p_S_i_t_e_S_t_a_t_u_s
                      Indicates whether or not a drop site is valid.

                      If the toolkit has just called a DropSite's
                      XXmmNNddrraaggPPrroocc, the toolkit initializes
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s to the value of the
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s member of the
                      XXmmDDrraaggPPrrooccCCaallllbbaacckkSSttrruucctt at the time the
                      DropSite's XXmmNNddrraaggPPrroocc returns.

                      If the toolkit has not called an XXmmNNddrraaggPPrroocc, it
                      initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s as follows:  the
                      toolkit initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s to
                      XXmmNNOO__DDRROOPP__SSIITTEE if the pointer is over an
                      inactive drop site or is not over a drop site.
                      The toolkit initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s to
                      XXmmDDRROOPP__SSIITTEE__VVAALLIIDD if all the following
                      conditions are met:


                        +o  The pointer is over an active drop site

                        +o  The DragContext's XXmmNNeexxppoorrttTTaarrggeettss and the
                           DropSite's XXmmNNiimmppoorrttTTaarrggeettss are compatible

                        +o  The initial value of the _o_p_e_r_a_t_i_o_n member
                           is not XXmmDDRROOPP__NNOOOOPP

                      Otherwise, the toolkit initializes
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s to XXmmDDRROOPP__SSIITTEE__IINNVVAALLIIDD.


          A pointer to the following structure is passed to callbacks
          for XXmmNNttooppLLeevveellEEnntteerrCCaallllbbaacckk:

          ttyyppeeddeeff ssttrruucctt
          {{
            iinntt          _r_e_a_s_o_n;;
            XXEEvveenntt       **_e_v_e_n_t;;
            TTiimmee         _t_i_m_e_s_t_a_m_p;;
            SSccrreeeenn       _s_c_r_e_e_n;;
            WWiinnddooww       _w_i_n_d_o_w;;
            PPoossiittiioonn     _x;;
            PPoossiittiioonn     _y;;
            uunnssiiggnneedd cchhaarr_d_r_a_g_P_r_o_t_o_c_o_l_S_t_y_l_e;;
          }}XXmmTTooppLLeevveellEEnntteerrCCaallllbbaacckkSSttrruucctt,, **XXmmTTooppLLeevveellEEnntteerrCCaallllbbaacckk;;



     1-346                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



          _r_e_a_s_o_n      Indicates why the callback was invoked.

          _e_v_e_n_t       Points to the XXEEvveenntt that triggered the
                      callback.

          _t_i_m_e_S_t_a_m_p   Specifies the timestamp of the logical event.

          _s_c_r_e_e_n      Specifies the screen associated with the top-
                      level window or root window being entered.

          _w_i_n_d_o_w      Specifies the ID of the top-level window or root
                      window being entered.

          _x           Indicates the x-coordinate of the pointer in
                      root window coordinates.

          _y           Indicates the y-coordinate of the pointer in
                      root window coordinates.

          _d_r_a_g_P_r_o_t_o_c_o_l_S_t_y_l_e
                      Specifies the protocol style adopted by the
                      initiator.  The values are XXmmDDRRAAGG__DDRROOPP__OONNLLYY,
                      XXmmDDRRAAGG__DDYYNNAAMMIICC, XXmmDDRRAAGG__NNOONNEE, and
                      XXmmDDRRAAGG__PPRREERREEGGIISSTTEERR.


          A pointer to the following structure is passed to callbacks
          for XXmmNNttooppLLeevveellLLeeaavveeCCaallllbbaacckk:

          ttyyppeeddeeff ssttrruucctt
          {{
            iinntt          _r_e_a_s_o_n;;
            XXEEvveenntt       **_e_v_e_n_t;;
            TTiimmee         _t_i_m_e_s_t_a_m_p;;
            SSccrreeeenn       _s_c_r_e_e_n;;
            WWiinnddooww       _w_i_n_d_o_w;;
          }}XXmmTTooppLLeevveellLLeeaavveeCCaallllbbaacckkSSttrruucctt,, **XXmmTTooppLLeevveellLLeeaavveeCCaallllbbaacckk;;


          _r_e_a_s_o_n      Indicates why the callback was invoked.

          _e_v_e_n_t       Points to the XXEEvveenntt that triggered the
                      callback.

          _t_i_m_e_S_t_a_m_p   Specifies the timestamp of the logical event.

          _s_c_r_e_e_n      Specifies a screen associated with the top-level
                      window or root window being left.

          _w_i_n_d_o_w      Specifies the ID of the top-level window or root
                      window being left.




     1-347                                            (printed 5/7/92)






     XXmmDDrraaggCCoonntteexxtt((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraaggCCoonntteexxtt((33XX))



        TTrraannssllaattiioonnss
          The XmDragContext translations are listed below.  These
          translations may not directly correspond to a translation
          table.

          BBDDrraagg MMoottiioonn::  DDrraaggMMoottiioonn(())
          BBDDrraagg RReelleeaassee:: FFiinniisshhDDrraagg(())

          KKCCaanncceell::       CCaanncceellDDrraagg(())
          KKHHeellpp::         HHeellppDDrraagg(())


        AAccttiioonn RRoouuttiinneess
          The XmDragContext action routines are described below:


          CCaanncceellDDrraagg(()):
                    Cancels the drag operation and frees the
                    associated DragContext.

          DDrraaggMMoottiioonn(()):
                    Drags the selected data as the pointer is moved.

          FFiinniisshhDDrraagg(()):
                    Finishes the drag operation and starts the drop
                    operation.

          HHeellppDDrraagg(()):
                    Initiates a conditional drop that enables the
                    receiver to provide help information to the user.
                    The user can cancel or continue the drop operation
                    in response to this information.


        VViirrttuuaall BBiinnddiinnggss
          The bindings for virtual keys are vendor specific.  For
          information about bindings for virtual buttons and keys, see
          VViirrttuuaallBBiinnddiinnggss((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          CCoorree((33XX)), XXmmDDiissppllaayy((33XX)), XXmmDDrraaggCCaanncceell((33XX)), XXmmDDrraaggIIccoonn((33XX)),
          XXmmDDrraaggSSttaarrtt((33XX)), XXmmDDrrooppSSiittee((33XX)), XXmmDDrrooppTTrraannssffeerr((33XX)), and
          XXmmSSccrreeeenn((33XX)).












     1-348                                            (printed 5/7/92)






     XXmmDDrraaggIIccoonn((33XX))           RReeffeerreennccee PPaaggeess           XXmmDDrraaggIIccoonn((33XX))



     NNAAMMEE
          XXmmDDrraaggIIccoonn-The DragIcon widget class

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraaggDDrroopp..hh>>


     DDEESSCCRRIIPPTTIIOONN
          A DragIcon is a component of the visual used to represent
          the source data in a drag and drop transaction.  During a
          drag operation, a real or simulated X cursor provides drag-
          over visuals consisting of a static portion that represents
          the object being dragged, and dynamic cues that provide
          visual feedback during the drag operation.  The visual is
          attained by blending together various XXmmDDrraaggIIccoonnss specified
          in the XXmmDDrraaggCCoonntteexxtt associated with the drag operation.

          The static portion of the drag-over visual is the graphic
          representation that identifies the drag source.  For
          example, when a user drags several items within a list, a
          DragIcon depicting a list might be supplied as the visual.
          The XXmmDDrraaggCCoonntteexxtt resources, XXmmNNssoouurrcceeCCuurrssoorrIIccoonn or
          XXmmNNssoouurrcceePPiixxmmaappIIccoonn, specify a DragIcon to use for the
          static portion of the visual.

          A drag-over visual incorporates dynamic cues in order to
          provide visual feedback in response to the user's actions.
          For instance, the drag-over visual might use different
          indicators to identify the type of operation (copy, link, or
          move) being performed.  Dynamic cues could also alert the
          user that a drop site is valid or invalid as the pointer
          traverses the drop site.  The XXmmNNooppeerraattiioonnCCuurrssoorrIIccoonn and
          XXmmNNssttaatteeCCuurrssoorrIIccoonn resources of XXmmDDrraaggCCoonntteexxtt specify
          DragIcons for dynamic cues.

          A drag-over visual typically consists of a source, operation
          and state DragIcon.  The XXmmNNbblleennddMMooddeell resource of
          XXmmDDrraaggCCoonntteexxtt offers several options that determine which
          icons are blended to produce the drag-over visual.  DragIcon
          resources control the relative position of the operation and
          state icons (if used).  If a particular DragIcon is not
          specified, the toolkit uses the XXmmSSccrreeeenn default DragIcons.

          An application initializes a DragIcon with the function
          XXmmCCrreeaatteeDDrraaggIIccoonn or through entries in the resource
          database.  If a pixmap and its mask (optional) are specified
          in the resource database, the toolkit converts the values in
          the X11 Bitmap file format and assigns values to the
          corresponding resources.

        CCllaasssseess
          DragIcon inherits behavior and a resource from OObbjjeecctt.



     1-349                                            (printed 5/7/92)






     XXmmDDrraaggIIccoonn((33XX))           RReeffeerreennccee PPaaggeess           XXmmDDrraaggIIccoonn((33XX))



          The class pointer is xxmmDDrraaggIIccoonnOObbjjeeccttCCllaassss.

          The class name is XXmmDDrraaggIIccoonn.

        NNeeww RReessoouurrcceess
          The following table defines a set of widget resources used
          by the programmer to specify data.  The programmer can also
          set the resource values for the inherited classes to set
          attributes for this widget.  To reference a resource by name
          or by class in a .Xdefaults file, remove the XXmmNN or XXmmCC
          prefix and use the remaining letters.  To specify one of the
          defined values for a resource in a .Xdefaults file, remove
          the XXmm prefix and use the remaining letters (in either
          lowercase or uppercase, but include any underscores between
          words).  The codes in the access column indicate if the
          given resource can be set at creation time (CC), set by using
          XXttSSeettVVaalluueess (SS), retrieved by using XXttGGeettVVaalluueess (GG), or is
          not applicable (NN//AA).

                                XXmmDDrraaggIIccoonn RReessoouurrccee SSeett
     NNaammee            CCllaassss           TTyyppee            DDeeffaauulltt                AAcccceessss
     _____________________________________________________________________________
     XmNattachment   XmCAttachment   unsigned char   XmATTACH_NORTH_WEST    CSG
     XmNdepth        XmCDepth        int             1                      CSG
     XmNheight       XmCHeight       Dimension       0                      CSG
     XmNhotX         XmCHot          Position        0                      CSG
     XmNhotY         XmCHot          Position        0                      CSG
     XmNmask         XmCPixmap       Pixmap          XmUNSPECIFIED_PIXMAP   CSG
     XmNoffsetX      XmCOffset       Position        0                      CSG
     XmNoffsetY      XmCOffset       Position        0                      CSG
     XmNpixmap       XmCPixmap       Pixmap          XmUNSPECIFIED_PIXMAP   CSG
     XmNwidth        XmCWidth        Dimension       0                      CSG

          XXmmNNaattttaacchhmmeenntt
                      Specifies a relative location on the source icon
                      for the attachment of the state or operation
                      icon.  The origin of the state and operation
                      icons is aligned with the specified compass
                      point on the source icon.  The XXmmNNooffffsseettXX and
                      XXmmNNooffffsseettYY resources can be used to further
                      refine the icon positions.  The possible values
                      are


                      XXmmAATTTTAACCHH__NNOORRTTHH__WWEESSTT
                                Attaches the origin of the state or
                                operation icon to the northwest point
                                on the source icon.

                      XXmmAATTTTAACCHH__NNOORRTTHH
                                Attaches the origin of the state or
                                operation icon to the north point on



     1-350                                            (printed 5/7/92)






     XXmmDDrraaggIIccoonn((33XX))           RReeffeerreennccee PPaaggeess           XXmmDDrraaggIIccoonn((33XX))



                                the source icon.

                      XXmmAATTTTAACCHH__NNOORRTTHH__EEAASSTT
                                Attaches the origin of the state or
                                operation icon to the northeast point
                                on the source icon.

                      XXmmAATTTTAACCHH__EEAASSTT
                                Attaches the origin of the state or
                                operation icon to the east point on
                                the source icon.

                      XXmmAATTTTAACCHH__SSOOUUTTHH__EEAASSTT
                                Attaches the origin of the state or
                                operation icon to the southeast point
                                on the source icon.

                      XXmmAATTTTAACCHH__SSOOUUTTHH
                                Attaches the origin of the state or
                                operation icon to the south point on
                                the source icon.

                      XXmmAATTTTAACCHH__SSOOUUTTHH__WWEESSTT
                                Attaches the origin of the state or
                                operation icon to the southwest point
                                on the source icon.

                      XXmmAATTTTAACCHH__WWEESSTT
                                Attaches the origin of the state or
                                operation icon to the west point on
                                the source icon.

                      XXmmAATTTTAACCHH__CCEENNTTEERR
                                Attaches the origin of the state or
                                operation icon to the center of the
                                source icon.  The XXmmNNooffffsseettXX and
                                XXmmNNooffffsseettYY resources may be used to
                                center the attached icon.

                      XXmmAATTTTAACCHH__HHOOTT
                                Attaches the hotspot coordinates of a
                                state or operation DragIcon to an _x,_y
                                position on the source icon.  The _x,_y
                                coordinate is taken from the event
                                passed to the XXmmDDrraaggSSttaarrtt function,
                                and made relative to the widget passed
                                as an argument to the same function.


          XXmmNNddeepptthh    Specifies the depth of the pixmap.

          XXmmNNhheeiigghhtt   Specifies the height of the pixmap.



     1-351                                            (printed 5/7/92)






     XXmmDDrraaggIIccoonn((33XX))           RReeffeerreennccee PPaaggeess           XXmmDDrraaggIIccoonn((33XX))



          XXmmNNhhoottXX     Specifies the x-coordinate of the hotspot of a
                      cursor DragIcon in relation to the origin of the
                      pixmap bounding box.

          XXmmNNhhoottYY     Specifies the y-coordinate of the hotspot of a
                      cursor DragIcon in relation to the origin of the
                      pixmap bounding box.

          XXmmNNmmaasskk     Specifies a pixmap of depth one to use as the
                      DragIcon mask pixmap.

          XXmmNNooffffsseettXX  Specifies a horizontal offset (in pixels) of the
                      origin of the state or operation icon relative
                      to the attachment point on the source icon.  A
                      positive offset value moves the origin to the
                      right; a negative value moves the origin to the
                      left.

          XXmmNNooffffsseettYY  Specifies a vertical offset (in pixels) of the
                      origin of the state or operation icon relative
                      to the attachment point on the source icon.  A
                      positive offset value moves the origin down; a
                      negative value moves the origin up.

          XXmmNNppiixxmmaapp   Specifies a pixmap to use as the DragIcon
                      pixmap.

          XXmmNNwwiiddtthh    Specifies the width of the pixmap.


        IInnhheerriitteedd RReessoouurrcceess
          DragIcon inherits behavior and a resource from OObbjjeecctt.  For
          a complete description of this resource, refer to the OObbjjeecctt
          man page.

                              OObbjjeecctt RReessoouurrccee SSeett
      NNaammee                 CCllaassss         TTyyppee             DDeeffaauulltt   AAcccceessss
      ____________________________________________________________________
      XmNdestroyCallback   XmCCallback   XtCallbackList   NULL      C

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          OObbjjeecctt((33XX)), XXmmCCrreeaatteeDDrraaggIIccoonn((33XX)), XXmmDDiissppllaayy((33XX)),
          XXmmDDrraaggCCoonntteexxtt((33XX)), XXmmDDrrooppSSiittee((33XX)), XXmmDDrrooppTTrraannssffeerr((33XX)), and
          XXmmSSccrreeeenn((33XX)).











     1-352                                            (printed 5/7/92)






     XXmmDDrraaggSSttaarrtt((33XX))          RReeffeerreennccee PPaaggeess          XXmmDDrraaggSSttaarrtt((33XX))



     NNAAMMEE
          XXmmDDrraaggSSttaarrtt-A Drag and Drop function that initiates a drag
          and drop transaction

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraaggDDrroopp..hh>>

          WWiiddggeett XXmmDDrraaggSSttaarrtt ((_w_i_d_g_e_t, _e_v_e_n_t, _a_r_g_l_i_s_t, _a_r_g_c_o_u_n_t))
               WWiiddggeett         _w_i_d_g_e_t;;
               XXEEvveenntt         **_e_v_e_n_t;;
               AArrggLLiisstt        _a_r_g_l_i_s_t;;
               CCaarrddiinnaall       _a_r_g_c_o_u_n_t;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmDDrraaggSSttaarrtt initiates a drag operation.  This routine
          returns the DragContext widget that it initializes for the
          associated drag transaction.  The toolkit is responsible for
          freeing the DragContext when the drag and drop transaction
          is complete.


          _w_i_d_g_e_t Specifies the ID of the smallest widget and/or gadget
                 that encloses the source elements selected for a drag
                 operation.

          _e_v_e_n_t  Specifies the XXEEvveenntt that triggered the drag
                 operation.  This event must be a ButtonPress event.

          _a_r_g_l_i_s_tSpecifies the argument list.  Any XXmmDDrraaggCCoonntteexxtt
                 resources not specified in the argument list are
                 obtained from the resource database or are set to
                 their default values.

          _a_r_g_c_o_u_n_t
                 Specifies the number of attribute/value pairs in the
                 argument list (_a_r_g_l_i_s_t)


          For a complete definition of DragContext and its associated
          resources, see XXmmDDrraaggCCoonntteexxtt((33XX)).

     RREETTUURRNN VVAALLUUEE
          Returns the ID of the DragContext widget that controls this
          drag and drop transaction.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmDDrraaggCCaanncceell((33XX)) and XXmmDDrraaggCCoonntteexxtt((33XX)).







     1-353                                            (printed 5/7/92)






     XXmmDDrraawwiinnggAArreeaa((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraawwiinnggAArreeaa((33XX))



     NNAAMMEE
          XXmmDDrraawwiinnggAArreeaa-The DrawingArea widget class

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraawwiinnggAA..hh>>


     DDEESSCCRRIIPPTTIIOONN
          DrawingArea is an empty widget that is easily adaptable to a
          variety of purposes.  It does no drawing and defines no
          behavior except for invoking callbacks.  Callbacks notify
          the application when graphics need to be drawn (exposure
          events or widget resize) and when the widget receives input
          from the keyboard or mouse.

          Applications are responsible for defining appearance and
          behavior as needed in response to DrawingArea callbacks.

          DrawingArea is also a composite widget and subclass of
          XXmmMMaannaaggeerr that supports minimal geometry management for
          multiple widget or gadget children.

        CCllaasssseess
          DrawingArea inherits behavior and resources from the CCoorree,
          CCoommppoossiittee, CCoonnssttrraaiinntt, and XXmmMMaannaaggeerr classes.

          The class pointer is xxmmDDrraawwiinnggAArreeaaWWiiddggeettCCllaassss.

          The class name is XXmmDDrraawwiinnggAArreeaa.

        NNeeww RReessoouurrcceess
          The following table defines a set of widget resources used
          by the programmer to specify data.  The programmer can also
          set the resource values for the inherited classes to set
          attributes for this widget.  To reference a resource by name
          or by class in a .Xdefaults file, remove the XXmmNN or XXmmCC
          prefix and use the remaining letters.  To specify one of the
          defined values for a resource in a .Xdefaults file, remove
          the XXmm prefix and use the remaining letters (in either
          lowercase or uppercase, but include any underscores between
          words).  The codes in the access column indicate if the
          given resource can be set at creation time (C), set by using
          XXttSSeettVVaalluueess (S), retrieved by using XXttGGeettVVaalluueess (G), or is
          not applicable (N/A).

                              XXmmDDrraawwiinnggAArreeaa RReessoouurrccee SSeett
     NNaammee                CCllaassss             TTyyppee             DDeeffaauulltt        AAcccceessss
     ____________________________________________________________________________







     1-354                                            (printed 5/7/92)






     XXmmDDrraawwiinnggAArreeaa((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraawwiinnggAArreeaa((33XX))



     XmNexposeCallback   XmCCallback       XtCallbackList   NULL           C
     XmNinputCallback    XmCCallback       XtCallbackList   NULL           C
     XmNmarginHeight     XmCMarginHeight   Dimension        10             CSG
     XmNmarginWidth      XmCMarginWidth    Dimension        10             CSG
     XmNresizeCallback   XmCCallback       XtCallbackList   NULL           C
     XmNresizePolicy     XmCResizePolicy   unsigned char    XmRESIZE_ANY   CSG

          XXmmNNeexxppoosseeCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    when DrawingArea receives an exposure event.  The
                    callback reason is XXmmCCRR__EEXXPPOOSSEE.  The callback
                    structure also includes the exposure event.

                    The default bit gravity for Manager windows is
                    NNoorrtthhWWeessttGGrraavviittyy.  This may cause the
                    XXmmNNeexxppoosseeCCaallllbbaacckk procedures not to be invoked
                    when the DrawingArea window is made smaller.

          XXmmNNiinnppuuttCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    when the DrawingArea receives a keyboard or mouse
                    event (key or button, up or down).  The callback
                    reason is XXmmCCRR__IINNPPUUTT.  The callback structure also
                    includes the input event.

          XXmmNNmmaarrggiinnHHeeiigghhtt
                    Specifies the minimum spacing in pixels between
                    the top or bottom edge of DrawingArea and any
                    child widget.

          XXmmNNmmaarrggiinnWWiiddtthh
                    Specifies the minimum spacing in pixels between
                    the left or right edge of DrawingArea and any
                    child widget.

          XXmmNNrreessiizzeeCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    when the DrawingArea is resized.  The callback
                    reason is XXmmCCRR__RREESSIIZZEE.

          XXmmNNrreessiizzeePPoolliiccyy
                    Controls the policy for resizing DrawingArea
                    widgets.  Possible values include XXmmRREESSIIZZEE__NNOONNEE
                    (fixed size), XXmmRREESSIIZZEE__AANNYY (shrink or grow as
                    needed), and XXmmRREESSIIZZEE__GGRROOWW (grow only).


        IInnhheerriitteedd RReessoouurrcceess
          DrawingArea inherits behavior and resources from the
          following superclasses.  For a complete description of each
          resource, refer to the man page for that superclass.




     1-355                                            (printed 5/7/92)






     XXmmDDrraawwiinnggAArreeaa((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraawwiinnggAArreeaa((33XX))



                                          XXmmMMaannaaggeerr RReessoouurrccee SSeett
     NNaammee                    CCllaassss                   TTyyppee                DDeeffaauulltt                AAcccceessss
     _________________________________________________________________________________________________
     XmNbottomShadowColor    XmCBottomShadowColor    Pixel               dynamic                CSG
     XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap              XmUNSPECIFIED_PIXMAP   CSG
     XmNforeground           XmCForeground           Pixel               dynamic                CSG
     XmNhelpCallback         XmCCallback             XtCallbackList      NULL                   C
     XmNhighlightColor       XmCHighlightColor       Pixel               dynamic                CSG
     XmNhighlightPixmap      XmCHighlightPixmap      Pixmap              dynamic                CSG
     XmNinitialFocus         XmCInitialFocus         Widget              NULL                   CSG
     XmNnavigationType       XmCNavigationType       XmNavigationType    XmTAB_GROUP            CSG
     XmNshadowThickness      XmCShadowThickness      Dimension           0                      CSG
     XmNstringDirection      XmCStringDirection      XmStringDirection   dynamic                CG
     XmNtopShadowColor       XmCTopShadowColor       Pixel               dynamic                CSG
     XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap              dynamic                CSG
     XmNtraversalOn          XmCTraversalOn          Boolean             True                   CSG
     XmNunitType             XmCUnitType             unsigned char       dynamic                CSG
     XmNuserData             XmCUserData             XtPointer           NULL                   CSG

                             CCoommppoossiittee RReessoouurrccee SSeett
     NNaammee                CCllaassss               TTyyppee          DDeeffaauulltt   AAcccceessss
     ______________________________________________________________________
     XmNchildren         XmCReadOnly         WidgetList    NULL      G
     XmNinsertPosition   XmCInsertPosition   XtOrderProc   NULL      CSG
     XmNnumChildren      XmCReadOnly         Cardinal      0         G

                                                   CCoorree RReessoouurrccee SSeett
     NNaammee                            CCllaassss                           TTyyppee             DDeeffaauulltt                AAcccceessss
     ______________________________________________________________________________________________________________
     XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
     XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
     XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
     XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
     XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
     XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
     XmNdepth                        XmCDepth                        int              dynamic                CG
     XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
     XmNheight                       XmCHeight                       Dimension        dynamic                CSG
     XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
     XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
     XmNscreen                       XmCScreen                       Screen *         dynamic                CG
     XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
     XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
     XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
     XmNx                            XmCPosition                     Position         0                      CSG
     XmNy                            XmCPosition                     Position         0                      CSG

        CCaallllbbaacckk IInnffoorrmmaattiioonn
          A pointer to the following structure is passed to each
          callback:



     1-356                                            (printed 5/7/92)






     XXmmDDrraawwiinnggAArreeaa((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraawwiinnggAArreeaa((33XX))



          ttyyppeeddeeff ssttrruucctt
          {{
            iinntt      _r_e_a_s_o_n;;
            XXEEvveenntt   * _e_v_e_n_t;;
            WWiinnddooww   _w_i_n_d_o_w;;
          }} XXmmDDrraawwiinnggAArreeaaCCaallllbbaacckkSSttrruucctt;;


          _r_e_a_s_o_n Indicates why the callback was invoked

          _e_v_e_n_t  Points to the XXEEvveenntt that triggered the callback.
                 This is NULL for the XXmmNNrreessiizzeeCCaallllbbaacckk.

          _w_i_n_d_o_w Is set to the widget window


        TTrraannssllaattiioonnss
          XmDrawingArea inherits translations from XmManager.  Before
          calling the XmManager actions, all events in the inherited
          translations except <<BBttnnMMoottiioonn>>, <<EEnntteerrWWiinnddooww>>,
          <<LLeeaavveeWWiinnddooww>>, <<FFooccuussIInn>>, and <<FFooccuussOOuutt>> also call the
          DDrraawwiinnggAArreeaaIInnppuutt(()) action.

          XmDrawingArea has the additional translations listed below.
          These translations may not directly correspond to a
          translation table.

          MMAAnnyy BBAAnnyy PPrreessss::DDrraawwiinnggAArreeaaIInnppuutt(())
          MMAAnnyy BBAAnnyy RReelleeaassee::DDrraawwiinnggAArreeaaIInnppuutt(())

          MMAAnnyy KKAAnnyy PPrreessss::DDrraawwiinnggAArreeaaIInnppuutt(())
                         MMaannaaggeerrGGaaddggeettKKeeyyIInnppuutt(())
          MMAAnnyy KKAAnnyy RReelleeaassee::DDrraawwiinnggAArreeaaIInnppuutt(())


        AAccttiioonn RRoouuttiinneess
          The XmDrawingArea action routines are described below:


          DDrraawwiinnggAArreeaaIInnppuutt(()):
                    Unless the event takes place in a gadget, calls
                    the callbacks for XXmmNNiinnppuuttCCaallllbbaacckk.

          MMaannaaggeerrGGaaddggeettKKeeyyIInnppuutt(()):
                    Causes the current gadget to process a keyboard
                    event.









     1-357                                            (printed 5/7/92)






     XXmmDDrraawwiinnggAArreeaa((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraawwiinnggAArreeaa((33XX))



        AAddddiittiioonnaall BBeehhaavviioorr
          The XmDrawingArea widget has the additional behavior
          described below:


          <<EExxppoossee>>: Calls the callbacks for XXmmNNeexxppoosseeCCaallllbbaacckk.

          <<WWiiddggeett RReessiizzee>>:
                    Calls the callbacks for XXmmNNrreessiizzeeCCaallllbbaacckk.




        VViirrttuuaall BBiinnddiinnggss
          The bindings for virtual keys are vendor specific.  For
          information about bindings for virtual buttons and keys, see
          VViirrttuuaallBBiinnddiinnggss((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          CCoommppoossiittee((33XX)), CCoonnssttrraaiinntt((33XX)), CCoorree((33XX)),
          XXmmCCrreeaatteeDDrraawwiinnggAArreeaa((33XX)), and XXmmMMaannaaggeerr((33XX)).


































     1-358                                            (printed 5/7/92)






     XXmmDDrraawwnnBBuuttttoonn((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraawwnnBBuuttttoonn((33XX))



     NNAAMMEE
          XXmmDDrraawwnnBBuuttttoonn-The DrawnButton widget class

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraawwnnBB..hh>>


     DDEESSCCRRIIPPTTIIOONN
          The DrawnButton widget consists of an empty widget window
          surrounded by a shadow border.  It provides the application
          developer with a graphics area that can have PushButton
          input semantics.

          Callback types are defined for widget exposure and widget
          resize to allow the application to redraw or reposition its
          graphics.  If the DrawnButton widget has a highlight and
          shadow thickness, the application should not draw in that
          area.  To avoid drawing in the highlight and shadow area,
          create the graphics context with a clipping rectangle for
          drawing in the widget.  The clipping rectangle should take
          into account the size of the widget's highlight thickness
          and shadow.

        CCllaasssseess
          DrawnButton inherits behavior and resources from CCoorree,
          XXmmPPrriimmiittiivvee, and XXmmLLaabbeell Classes.

          The class pointer is xxmmDDrraawwnnBBuuttttoonnWWiiddggeettCCllaassss.

          The class name is XXmmDDrraawwnnBBuuttttoonn.

        NNeeww RReessoouurrcceess
          The following table defines a set of widget resources used
          by the programmer to specify data.  The programmer can also
          set the resource values for the inherited classes to set
          attributes for this widget.  To reference a resource by name
          or by class in a .Xdefaults file, remove the XXmmNN or XXmmCC
          prefix and use the remaining letters.  To specify one of the
          defined values for a resource in a .Xdefaults file, remove
          the XXmm prefix and use the remaining letters (in either
          lowercase or uppercase, but include any underscores between
          words).  The codes in the access column indicate if the
          given resource can be set at creation time (C), set by using
          XXttSSeettVVaalluueess (S), retrieved by using XXttGGeettVVaalluueess (G), or is
          not applicable (N/A).

                                     XXmmDDrraawwnnBBuuttttoonn RReessoouurrccee SSeett
     NNaammee                   CCllaassss                  TTyyppee             DDeeffaauulltt              AAcccceessss







     1-359                                            (printed 5/7/92)






     XXmmDDrraawwnnBBuuttttoonn((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraawwnnBBuuttttoonn((33XX))



     __________________________________________________________________________________________
     XmNactivateCallback    XmCCallback            XtCallbackList   NULL                 C
     XmNarmCallback         XmCCallback            XtCallbackList   NULL                 C
     XmNdisarmCallback      XmCCallback            XtCallbackList   NULL                 C
     XmNexposeCallback      XmCCallback            XtCallbackList   NULL                 C
     XmNmultiClick          XmCMultiClick          unsigned char    dynamic              CSG
     XmNpushButtonEnabled   XmCPushButtonEnabled   Boolean          False                CSG
     XmNresizeCallback      XmCCallback            XtCallbackList   NULL                 C
     XmNshadowType          XmCShadowType          unsigned char    XmSHADOW_ETCHED_IN   CSG


          XXmmNNaaccttiivvaatteeCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    when the widget becomes selected.  The reason sent
                    by the callback is XXmmCCRR__AACCTTIIVVAATTEE.

          XXmmNNaarrmmCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    when the widget becomes armed.  The reason sent by
                    the callback is XXmmCCRR__AARRMM.

          XXmmNNddiissaarrmmCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    when the widget becomes disarmed.  The reason sent
                    by the callback is XXmmCCRR__DDIISSAARRMM.

          XXmmNNeexxppoosseeCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    when the widget receives an exposure event.  The
                    reason sent by the callback is XXmmCCRR__EEXXPPOOSSEE.

          XXmmNNmmuullttiiCClliicckk
                    If a button click is followed by another button
                    click within the time span specified by the
                    display's multi-click time, and this resource is
                    set to XXmmMMUULLTTIICCLLIICCKK__DDIISSCCAARRDD, do not process the
                    second click.  If this resource is set to
                    XXmmMMUULLTTIICCLLIICCKK__KKEEEEPP, process the event and increment
                    _c_l_i_c_k__c_o_u_n_t in the callback structure.  When the
                    button is not in a menu, the default value is
                    XXmmMMUULLTTIICCLLIICCKK__KKEEEEPP.

          XXmmNNppuusshhBBuuttttoonnEEnnaabblleedd
                    Enables or disables the three-dimensional shadow
                    drawing as in PushButton.

          XXmmNNrreessiizzeeCCaallllbbaacckk
                    Specifies the list of callbacks that is called
                    when the widget receives a resize event.  The
                    reason sent by the callback is XXmmCCRR__RREESSIIZZEE.  The
                    event returned for this callback is NULL.




     1-360                                            (printed 5/7/92)






     XXmmDDrraawwnnBBuuttttoonn((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraawwnnBBuuttttoonn((33XX))



          XXmmNNsshhaaddoowwTTyyppee
                    Describes the drawing style for the DrawnButton.
                    This resource can have the following values:


                      +o  XXmmSSHHAADDOOWW__IINN-draws the DrawnButton so that the
                         shadow appears inset.  This means that the
                         bottom shadow visuals and top shadow visuals
                         are reversed.

                      +o  XXmmSSHHAADDOOWW__OOUUTT-draws the DrawnButton so that
                         the shadow appears outset.

                      +o  XXmmSSHHAADDOOWW__EETTCCHHEEDD__IINN-draws the DrawnButton
                         using a double line.  This gives the effect
                         of a line etched into the window.  The
                         thickness of the double line is equal to the
                         value of XXmmNNsshhaaddoowwTThhiicckknneessss.

                      +o  XXmmSSHHAADDOOWW__EETTCCHHEEDD__OOUUTT-draws the DrawnButton
                         using a double line.  This gives the effect
                         of a line coming out of the window.  The
                         thickness of the double line is equal to the
                         value of XXmmNNsshhaaddoowwTThhiicckknneessss.


        IInnhheerriitteedd RReessoouurrcceess
          DrawnButton inherits behavior and resources from the
          following superclasses.  For a complete description of each
          resource, refer to the man page for that superclass.

                                                XXmmLLaabbeell RReessoouurrccee SSeett
     NNaammee                        CCllaassss                       TTyyppee                DDeeffaauulltt                  AAcccceessss
     ___________________________________________________________________________________________________________
     XmNaccelerator              XmCAccelerator              String              NULL                     N/A
     XmNacceleratorText          XmCAcceleratorText          XmString            NULL                     N/A
     XmNalignment                XmCAlignment                unsigned char       dynamic                  CSG
     XmNfontList                 XmCFontList                 XmFontList          dynamic                  CSG
     XmNlabelInsensitivePixmap   XmCLabelInsensitivePixmap   Pixmap              XmUNSPECIFIED_PIXMAP     CSG
     XmNlabelPixmap              XmCLabelPixmap              Pixmap              XmUNSPECIFIED_PIXMAP     CSG
     XmNlabelString              XmCXmString                 XmString            "\0"                     CSG
     XmNlabelType                XmCLabelType                unsigned char       XmSTRING                 CSG
     XmNmarginBottom             XmCMarginBottom             Dimension           0                        CSG
     XmNmarginHeight             XmCMarginHeight             Dimension           2                        CSG
     XmNmarginLeft               XmCMarginLeft               Dimension           0                        CSG
     XmNmarginRight              XmCMarginRight              Dimension           0                        CSG
     XmNmarginTop                XmCMarginTop                Dimension           0                        CSG
     XmNmarginWidth              XmCMarginWidth              Dimension           2                        CSG







     1-361                                            (printed 5/7/92)






     XXmmDDrraawwnnBBuuttttoonn((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraawwnnBBuuttttoonn((33XX))



     XmNmnemonic                 XmCMnemonic                 KeySym              NULL                     N/A
     XmNmnemonicCharSet          XmCMnemonicCharSet          String              XmFONTLIST_DEFAULT_TAG   N/A
     XmNrecomputeSize            XmCRecomputeSize            Boolean             True                     CSG
     XmNstringDirection          XmCStringDirection          XmStringDirection   dynamic                  CSG

                                         XXmmPPrriimmiittiivvee RReessoouurrccee SSeett
     NNaammee                    CCllaassss                   TTyyppee               DDeeffaauulltt                AAcccceessss
     ________________________________________________________________________________________________
     XmNbottomShadowColor    XmCBottomShadowColor    Pixel              dynamic                CSG
     XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap             XmUNSPECIFIED_PIXMAP   CSG
     XmNforeground           XmCForeground           Pixel              dynamic                CSG
     XmNhelpCallback         XmCCallback             XtCallbackList     NULL                   C
     XmNhighlightColor       XmCHighlightColor       Pixel              dynamic                CSG
     XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean            False                  CSG
     XmNhighlightPixmap      XmCHighlightPixmap      Pixmap             dynamic                CSG
     XmNhighlightThickness   XmCHighlightThickness   Dimension          2                      CSG
     XmNnavigationType       XmCNavigationType       XmNavigationType   XmNONE                 CSG
     XmNshadowThickness      XmCShadowThickness      Dimension          2                      CSG
     XmNtopShadowColor       XmCTopShadowColor       Pixel              dynamic                CSG
     XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap             dynamic                CSG
     XmNtraversalOn          XmCTraversalOn          Boolean            True                   CSG
     XmNunitType             XmCUnitType             unsigned char      dynamic                CSG
     XmNuserData             XmCUserData             XtPointer          NULL                   CSG

                                                   CCoorree RReessoouurrccee SSeett
     NNaammee                            CCllaassss                           TTyyppee             DDeeffaauulltt                AAcccceessss
     ______________________________________________________________________________________________________________
     XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
     XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
     XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
     XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
     XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
     XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
     XmNdepth                        XmCDepth                        int              dynamic                CG
     XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
     XmNheight                       XmCHeight                       Dimension        dynamic                CSG
     XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
     XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
     XmNscreen                       XmCScreen                       Screen *         dynamic                CG
     XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
     XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
     XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
     XmNx                            XmCPosition                     Position         0                      CSG
     XmNy                            XmCPosition                     Position         0                      CSG

        CCaallllbbaacckk IInnffoorrmmaattiioonn
          A pointer to the following structure is passed to each
          callback:

          ttyyppeeddeeff ssttrruucctt



     1-362                                            (printed 5/7/92)






     XXmmDDrraawwnnBBuuttttoonn((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraawwnnBBuuttttoonn((33XX))



          {{
            iinntt      _r_e_a_s_o_n;;
            XXEEvveenntt   * _e_v_e_n_t;;
            WWiinnddooww   _w_i_n_d_o_w;;
            iinntt      _c_l_i_c_k__c_o_u_n_t;;
          }} XXmmDDrraawwnnBBuuttttoonnCCaallllbbaacckkSSttrruucctt;;


          _r_e_a_s_o_n Indicates why the callback was invoked.

          _e_v_e_n_t  Points to the XXEEvveenntt that triggered the callback.
                 This is  NULL for XXmmNNrreessiizzeeCCaallllbbaacckk.

          _w_i_n_d_o_w Is set to the window ID in which the event occurred.

          _c_l_i_c_k__c_o_u_n_t
                 Contains the number of clicks in the last multiclick
                 sequence if the XXmmNNmmuullttiiCClliicckk resource is set to
                 XXmmMMUULLTTIICCLLIICCKK__KKEEEEPP, otherwise it contains 11.  The
                 activate callback is invoked for each click if
                 XXmmNNmmuullttiiCClliicckk is set to XXmmMMUULLTTIICCLLIICCKK__KKEEEEPP.


        TTrraannssllaattiioonnss
          XmDrawnButton includes translations from Primitive.
          Additional XmDrawnButton translations are listed below.
          These translations may not directly correspond to a
          translation table.

          BBSSeelleecctt PPrreessss:: AArrmm(())
          BBSSeelleecctt CClliicckk:: AAccttiivvaattee(())
                         DDiissaarrmm(())
          BBSSeelleecctt RReelleeaassee::AAccttiivvaattee(())
                         DDiissaarrmm(())
          BBSSeelleecctt PPrreessss 22++::MMuullttiiAArrmm(())
          BBSSeelleecctt RReelleeaassee 22++::MMuullttiiAAccttiivvaattee(())
          KKSSeelleecctt::       AArrmmAAnnddAAccttiivvaattee(())
          KKHHeellpp::         HHeellpp(())

















     1-363                                            (printed 5/7/92)






     XXmmDDrraawwnnBBuuttttoonn((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraawwnnBBuuttttoonn((33XX))



        AAccttiioonn RRoouuttiinneess
          The XmDrawnButton action routines are described below:


          AAccttiivvaattee(()):
                    If XXmmNNppuusshhBBuuttttoonnEEnnaabblleedd is True, redraws the
                    shadow in the unselected state; otherwise, redraws
                    the shadow according to XXmmNNsshhaaddoowwTTyyppee.  If the
                    pointer is within the DrawnButton, calls the
                    XXmmNNaaccttiivvaatteeCCaallllbbaacckk callbacks.

          AArrmm(()):    If XXmmNNppuusshhBBuuttttoonnEEnnaabblleedd is True, redraws the
                    shadow in the selected state; otherwise, redraws
                    the shadow according to XXmmNNsshhaaddoowwTTyyppee.  Calls the
                    callbacks for XXmmNNaarrmmCCaallllbbaacckk.

          AArrmmAAnnddAAccttiivvaattee(()):
                    If XXmmNNppuusshhBBuuttttoonnEEnnaabblleedd is True, redraws the
                    shadow in the selected state; otherwise, redraws
                    the shadow according to XXmmNNsshhaaddoowwTTyyppee.  Calls the
                    callbacks for XXmmNNaarrmmCCaallllbbaacckk.

                    Arranges for the following to happen, either
                    immediately or at a later time:  If
                    XXmmNNppuusshhBBuuttttoonnEEnnaabblleedd is True, the shadow is
                    redrawn in the unselected state; otherwise, the
                    shadow is redrawn according to XXmmNNsshhaaddoowwTTyyppee.  The
                    callbacks for XXmmNNaaccttiivvaatteeCCaallllbbaacckk and
                    XXmmNNddiissaarrmmCCaallllbbaacckk are called.

          DDiissaarrmm(()): Marks the DrawnButton as unselected and calls the
                    callbacks for XXmmNNddiissaarrmmCCaallllbbaacckk.

          HHeellpp(()):   Calls the callbacks for XXmmNNhheellppCCaallllbbaacckk if any
                    exist.  If there are no help callbacks for this
                    widget, this action calls the help callbacks for
                    the nearest ancestor that has them.

          MMuullttiiAAccttiivvaattee(()):
                    If XXmmNNmmuullttiiCClliicckk is XXmmMMUULLTTIICCLLIICCKK__DDIISSCCAARRDD, this
                    action does nothing.

                    If XXmmNNmmuullttiiCClliicckk is XXmmMMUULLTTIICCLLIICCKK__KKEEEEPP, this action
                    does the following:  Increments _c_l_i_c_k__c_o_u_n_t in the
                    callback structure.  If XXmmNNppuusshhBBuuttttoonnEEnnaabblleedd is
                    True, redraws the shadow in the unselected state;
                    otherwise, redraws the shadow according to
                    XXmmNNsshhaaddoowwTTyyppee.  If the pointer is within the
                    DrawnButton,  calls the XXmmNNaaccttiivvaatteeCCaallllbbaacckk
                    callbacks.  Calls the callbacks for
                    XXmmNNddiissaarrmmCCaallllbbaacckk.




     1-364                                            (printed 5/7/92)






     XXmmDDrraawwnnBBuuttttoonn((33XX))        RReeffeerreennccee PPaaggeess        XXmmDDrraawwnnBBuuttttoonn((33XX))



          MMuullttiiAArrmm(()):
                    If XXmmNNmmuullttiiCClliicckk is XXmmMMUULLTTIICCLLIICCKK__DDIISSCCAARRDD, this
                    action does nothing.

                    If XXmmNNmmuullttiiCClliicckk is XXmmMMUULLTTIICCLLIICCKK__KKEEEEPP, this action
                    does the following:  If XXmmNNppuusshhBBuuttttoonnEEnnaabblleedd is
                    True, redraws the shadow in the selected state;
                    otherwise, redraws the shadow according to
                    XXmmNNsshhaaddoowwTTyyppee.  Calls the callbacks for
                    XXmmNNaarrmmCCaallllbbaacckk.


        AAddddiittiioonnaall BBeehhaavviioorr
          This widget has the additional behavior described below:


          <<EEnntteerrWWiinnddooww>>:
                    Draws the shadow in its selected state if
                    XXmmNNppuusshhBBuuttttoonnEEnnaabblleedd is True and if the cursor
                    leaves and re-enters the window while BBSSeelleecctt is
                    pressed.

          <<LLeeaavveeWWiinnddooww>>:
                    Draws the shadow in its unselected state if
                    XXmmNNppuusshhBBuuttttoonnEEnnaabblleedd is True and if the cursor
                    leaves the window while BBSSeelleecctt is pressed.


        VViirrttuuaall BBiinnddiinnggss
          The bindings for virtual keys are vendor specific.  For
          information about bindings for virtual buttons and keys, see
          VViirrttuuaallBBiinnddiinnggss((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          CCoorree((33XX)), XXmmCCrreeaatteeDDrraawwnnBBuuttttoonn, XXmmLLaabbeell((33XX)), XXmmPPrriimmiittiivvee((33XX)),
          XXmmPPuusshhBBuuttttoonn, and XXmmSSeeppaarraattoorr((33XX)).



















     1-365                                            (printed 5/7/92)






     XXmmDDrrooppSSiittee((33XX))           RReeffeerreennccee PPaaggeess           XXmmDDrrooppSSiittee((33XX))



     NNAAMMEE
          XXmmDDrrooppSSiittee-The DropSite Registry

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraaggDDrroopp..hh>>


     DDEESSCCRRIIPPTTIIOONN
          A client registers a widget or gadget as a drop site using
          the XXmmDDrrooppSSiitteeRReeggiisstteerr function.  In addition, this routine
          defines the behavior and capabilities of a drop site by
          specifying appropriate resources.  For example, the
          XXmmNNiimmppoorrttTTaarrggeettss and XXmmNNnnuummIImmppoorrttTTaarrggeettss resources identify
          respectively the selection target types and number of types
          supported by a drop site.  The visual animation effects
          associated with a drop site are also described with DropSite
          resources.

          Drop site animation effects that occur in response to the
          pointer entering a valid drop site are called drag-under
          effects.  A receiver can select from several animation
          styles supplied by the toolkit or can provide customized
          animation effects.  Drag-under effects supplied by the
          toolkit include border highlighting, shadow in/out drawing,
          and pixmap representation.

          When a preregister drag protocol style is used, the toolkit
          generates drag-under visual effects based on the value of
          the XXmmNNaanniimmaattiioonnSSttyyllee resource.  In dynamic mode, if the
          drop site XXmmNNddrraaggPPrroocc resource is NULL, the toolkit also
          provides animation effects based on the XXmmNNaanniimmaattiioonnSSttyyllee
          resource.  Otherwise, if the XXmmNNddrraaggPPrroocc routine is
          specified, the receiver can either assume responsibility for
          animation effects (through the XXmmNNddrraaggPPrroocc routine) or rely
          on the toolkit to provide animation.

          Drop sites may overlap.  The initial stacking order
          corresponds to the order in which the drop sites were
          registered.  When a drop site overlaps another drop site,
          the drag-under effects of the drop site underneath are
          clipped by the obscuring drop site(s).

          The XXmmDDrrooppSSiitteeUUppddaattee routine sets resources for a widget
          that is registered as a drop site.  XXmmDDrrooppSSiitteeRReettrriieevvee gets
          drop site resource values previously specified for a
          registered widget.  These routines are used instead of
          XXttSSeettVVaalluueess and XXttGGeettVVaalluueess.

        CCllaasssseess
          XmDropSite does not inherit from any widget class.

        NNeeww RReessoouurrcceess



     1-366                                            (printed 5/7/92)






     XXmmDDrrooppSSiittee((33XX))           RReeffeerreennccee PPaaggeess           XXmmDDrrooppSSiittee((33XX))



          The following table defines a set of widget resources used
          by the programmer to specify data.  To reference a resource
          by name or by class in a .Xdefaults file, remove the XXmmNN or
          XXmmCC prefix and use the remaining letters.  To specify one of
          the defined values for a resource in a .Xdefaults file,
          remove the XXmm prefix and use the remaining letters (in
          either lowercase or uppercase, but include any underscores
          between words).  The codes in the access column indicate if
          the given resource can be set at creation time (CC), set by
          using XXmmDDrrooppSSiitteeUUppddaattee (SS), retrieved by using
          XXmmDDrrooppSSiitteeRReettrriieevvee (GG), or is not applicable (NN//AA).

                                             XXmmDDrrooppSSiittee RReessoouurrccee SSeett
     NNaammee                      CCllaassss                     TTyyppee             DDeeffaauulltt                     AAcccceessss
     _______________________________________________________________________________________________________
     XmNanimationMask          XmCAnimationMask          Pixmap           XmUNSPECIFIED_PIXMAP        CSG
     XmNanimationPixmap        XmCAnimationPixmap        Pixmap           XmUNSPECIFIED_PIXMAP        CSG
     XmNanimationPixmapDepth   XmCAnimationPixmapDepth   int              0                           CSG
      XmNanimationStyle        XmCAnimationStyle         unsigned char    XmDRAG_UNDER_HIGHLIGHT      CSG
     XmNdragProc               XmCDragProc               XtCallbackProc   NULL                        CSG
     XmNdropProc               XmCDropProc               XtCallbackProc   NULL                        CSG
     XmNdropRectangles         XmCDropRectangles         XRectangle *     dynamic                     CSG
     XmNdropSiteActivity       XmCDropSiteActivity       unsigned char    XmDROP_SITE_ACTIVE          CSG
     XmNdropSiteOperations     XmCDropSiteOperations     unsigned char    XmDROP_MOVE | XmDROP_COPY   CSG
     XmNdropSiteType           XmCDropSiteType           unsigned char    XmDROP_SITE_SIMPLE          CG
     XmNimportTargets          XmCImportTargets          Atom *           NULL                        CSG
     XmNnumDropRectangles      XmCNumDropRectangles      Cardinal         1                           CSG
     XmNnumImportTargets       XmCNumImportTargets       Cardinal         0                           CSG

          XXmmNNaanniimmaattiioonnMMaasskk
                    Specifies a mask to use with the pixmap specified
                    by XXmmNNaanniimmaattiioonnPPiixxmmaapp when the animation style is
                    XXmmDDRRAAGG__UUNNDDEERR__PPIIXXMMAAPP.

          XXmmNNaanniimmaattiioonnPPiixxmmaapp
                    Specifies a pixmap for drag-under animation when
                    the animation style is XXmmDDRRAAGG__UUNNDDEERR__PPIIXXMMAAPP.  The
                    pixmap is drawn with its origin at the upper left
                    corner of the bounding box of the drop site.  If
                    the drop site window is larger than the animation
                    pixmap, the portion of the window not covered by
                    the pixmap will be tiled with the window's
                    background color.

          XXmmNNaanniimmaattiioonnPPiixxmmaappDDeepptthh
                    Specifies the depth of the pixmap specified by the
                    XXmmNNaanniimmaattiioonnPPiixxmmaapp resource.  When the depth is 1,
                    the colors are taken from the foreground and
                    background of the drop site widget.  For any other
                    value, drop site animation occurs only if the
                    XXmmNNaanniimmaattiioonnPPiixxmmaappDDeepptthh matches the depth of the
                    drop site window.  Colors are derived from the



     1-367                                            (printed 5/7/92)






     XXmmDDrrooppSSiittee((33XX))           RReeffeerreennccee PPaaggeess           XXmmDDrrooppSSiittee((33XX))



                    current colormap.

          XXmmNNaanniimmaattiioonnSSttyyllee
                    Specifies the drag-under animation style used when
                    a drag enters a valid drop site.  The possible
                    values are


                    XXmmDDRRAAGG__UUNNDDEERR__HHIIGGHHLLIIGGHHTT
                      The drop site uses highlighting effects.

                    XXmmDDRRAAGG__UUNNDDEERR__SSHHAADDOOWW__OOUUTT
                      The drop site uses an outset shadow.

                    XXmmDDRRAAGG__UUNNDDEERR__SSHHAADDOOWW__IINN
                      The drop site uses an inset shadow.

                    XXmmDDRRAAGG__UUNNDDEERR__PPIIXXMMAAPP
                      The drop site uses the pixmap specified by
                      XXmmNNaanniimmaattiioonnPPiixxmmaapp to indicate that it can
                      receive the drop.

                    XXmmDDRRAAGG__UUNNDDEERR__NNOONNEE
                      The drop site does not use animation effects.  A
                      client using a dynamic protocol, may provide
                      drag-under effects in its XXmmNNddrraaggPPrroocc routine.


          XXmmNNddrraaggPPrroocc
                    Specifies the procedure that is invoked when the
                    drop site receives a crossing, motion, or
                    operation changed message.  This procedure is
                    called only when a dynamic protocol is used.  The
                    type of structure whose address is passed to this
                    procedure is XXmmDDrraaggPPrrooccCCaallllbbaacckkSSttrruucctt.  The reason
                    sent to the procedure is one of the following:


                    XXmmCCRR__DDRROOPP__SSIITTEE__EENNTTEERR__MMEESSSSAAGGEE

                    XXmmCCRR__DDRROOPP__SSIITTEE__LLEEAAVVEE__MMEESSSSAAGGEE

                    XXmmCCRR__DDRRAAGG__MMOOTTIIOONN__MMEESSSSAAGGEE

                    XXmmCCRR__OOPPEERRAATTIIOONN__CCHHAANNGGEEDD__MMEESSSSAAGGEE


                    The drag procedure may change the values of some
                    members of the XXmmDDrraaggPPrrooccCCaallllbbaacckkSSttrruucctt passed to
                    it.  After the drag procedure returns, the toolkit
                    uses the final values in initializing some members
                    of the callback struct passed to the appropriate



     1-368                                            (printed 5/7/92)






     XXmmDDrrooppSSiittee((33XX))           RReeffeerreennccee PPaaggeess           XXmmDDrrooppSSiittee((33XX))



                    callbacks of the initiator (the DragContext's
                    XXmmNNddrrooppSSiitteeEEnntteerrCCaallllbbaacckk,
                    XXmmNNddrrooppSSiitteeLLeeaavveeCCaallllbbaacckk, XXmmNNddrraaggMMoottiioonnCCaallllbbaacckk,
                    or XXmmNNooppeerraattiioonnCChhaannggeeddCCaallllbbaacckk callbacks).

          XXmmNNddrrooppPPrroocc
                    Specifies the procedure that is invoked when a
                    drop (excluding a cancel or interrupt action)
                    occurs on a drop site regardless of the status of
                    the drop site.  The type of the structure whose
                    address is passed to this procedure is
                    XXmmDDrrooppPPrrooccCCaallllbbaacckkSSttrruucctt.  The reason sent to the
                    procedure is XXmmCCRR__DDRROOPP__MMEESSSSAAGGEE.

                    The drop procedure may change the values of some
                    members of the XXmmDDrrooppPPrrooccCCaallllbbaacckkSSttrruucctt passed to
                    it.  After the drop procedure returns, the toolkit
                    uses the final values in initializing some members
                    of the XXmmDDrrooppSSttaarrttCCaallllbbaacckkSSttrruucctt passed to the
                    initiator's drop start callbacks (the
                    DragContext's XXmmNNddrrooppSSttaarrttCCaallllbbaacckk callbacks).

          XXmmNNddrrooppRReeccttaanngglleess
                    Specifies a list of rectangles that describe the
                    shape of a drop site.  The locations of the
                    rectangles are relative to the origin of the
                    enclosing object.  When XXmmNNddrrooppRReeccttaanngglleess is NULL,
                    the drop site is assumed to be the sensitive area
                    of the enclosing widget.  If XXmmNNddrrooppSSiitteeTTyyppee is
                    XXmmDDRROOPP__SSIITTEE__CCOOMMPPOOSSIITTEE, this resource cannot be
                    specified by the application.

          XXmmNNddrrooppSSiitteeAAccttiivviittyy
                    Indicates whether a drop site is active or
                    inactive.  The values are XXmmDDRROOPP__SSIITTEE__AACCTTIIVVEE and
                    XXmmDDRROOPP__SSIITTEE__IINNAACCTTIIVVEE.  An active drop site can
                    receive a drop, whereas an inactive drop site is
                    dormant.  An inactive drop site is treated as if
                    it was not a registered drop site and any drag-
                    under visuals associated with entering or leaving
                    the drop site do not occur.  However, it is still
                    used for clipping drag-under effects.

          XXmmNNddrrooppSSiitteeOOppeerraattiioonnss
                    Specifies the set of valid operations associated
                    with a drop site.  This resource is a bit mask
                    that is formed by combining one or more of the
                    following values using a bitwise operation such as
                    inclusive OR (|):  XXmmDDRROOPP__CCOOPPYY, XXmmDDRROOPP__LLIINNKK, and
                    XXmmDDRROOPP__MMOOVVEE.  The value XXmmDDRROOPP__NNOOOOPP for this
                    resource indicates that no operations are valid.




     1-369                                            (printed 5/7/92)






     XXmmDDrrooppSSiittee((33XX))           RReeffeerreennccee PPaaggeess           XXmmDDrrooppSSiittee((33XX))



          XXmmNNddrrooppSSiitteeTTyyppee
                    Specifies the type of the drop site. The possible
                    values are


                    XXmmDDRROOPP__SSIITTEE__SSIIMMPPLLEE
                      The widget does not have any additional children
                      that are registered as drop sites.

                    XXmmDDRROOPP__SSIITTEE__CCOOMMPPOOSSIITTEE
                      The widget will have children that are
                      registered as drop sites.


          XXmmNNiimmppoorrttTTaarrggeettss
                    Specifies the list of target atoms that this drop
                    site accepts.

          XXmmNNnnuummDDrrooppRReeccttaanngglleess
                    Specifies the number of rectangles in the
                    XXmmNNddrrooppRReeccttaanngglleess list.  If the drop site type is
                    XXmmDDRROOPP__SSIITTEE__CCOOMMPPOOSSIITTEE, this resource can not be
                    specified by the application.

          XXmmNNnnuummIImmppoorrttTTaarrggeettss
                    Specifies the number of atoms in the target atom
                    list.


        CCaallllbbaacckk IInnffoorrmmaattiioonn
          A pointer to the following structure is passed to the
          XXmmNNddrraaggPPrroocc routine when the drop site receives crossing,
          motion, or operation changed messages.

          ttyyppeeddeeff ssttrruucctt
          {{
                  iinntt    _r_e_a_s_o_n;;
            XXEEvveenntt       **_e_v_e_n_t;;
            TTiimmee         _t_i_m_e_S_t_a_m_p;;
            WWiiddggeett       _d_r_a_g_C_o_n_t_e_x_t
            PPoossiittiioonn     _x;;
            PPoossiittiioonn     _y;;
            uunnssiiggnneedd cchhaarr_d_r_o_p_S_i_t_e_S_t_a_t_u_s;;
            uunnssiiggnneedd cchhaarr_o_p_e_r_a_t_i_o_n;;
            uunnssiiggnneedd cchhaarr_o_p_e_r_a_t_i_o_n_s;;
            BBoooolleeaann      _a_n_i_m_a_t_e;;
          }} XXmmDDrraaggPPrrooccCCaallllbbaacckkSSttrruucctt,, **XXmmDDrraaggPPrrooccCCaallllbbaacckk;;


          _r_e_a_s_o_n      Indicates why the callback was invoked.

          _e_v_e_n_t       Points to the XXEEvveenntt that triggered the



     1-370                                            (printed 5/7/92)






     XXmmDDrrooppSSiittee((33XX))           RReeffeerreennccee PPaaggeess           XXmmDDrrooppSSiittee((33XX))



                      callback.

          _t_i_m_e_S_t_a_m_p   Specifies the timestamp of the logical event.

          _d_r_a_g_C_o_n_t_e_x_t Specifies the ID of the DragContext widget
                      associated with the transaction.

          _x           Indicates the x-coordinate of the pointer
                      relative to the drop site.

          _y           Indicates the y-coordinate of the pointer
                      relative to the drop site.

          _d_r_o_p_S_i_t_e_S_t_a_t_u_s
                      An IN/OUT member that indicates whether or not a
                      drop site is valid.

                      When the _r_e_a_s_o_n is XXmmCCRR__DDRROOPP__SSIITTEE__EENNTTEERR__MMEESSSSAAGGEE
                      or XXmmCCRR__OOPPEERRAATTIIOONN__CCHHAANNGGEEDD__MMEESSSSAAGGEE, or when the
                      reason is XXmmCCRR__DDRRAAGG__MMOOTTIIOONN__MMEESSSSAAGGEE or
                      XXmmCCRR__DDRROOPP__SSIITTEE__LLEEAAVVEE__MMEESSSSAAGGEE and the pointer is
                      not in the same drop site as on the previous
                      invocation of the drag procedure, the toolkit
                      initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s as follows:  the
                      toolkit initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s to
                      XXmmDDRROOPP__SSIITTEE__VVAALLIIDD if the DragContext's
                      XXmmNNeexxppoorrttTTaarrggeettss and the DropSite's
                      XXmmNNiimmppoorrttTTaarrggeettss are compatible and if the
                      initial value of the _o_p_e_r_a_t_i_o_n member is not
                      XXmmDDRROOPP__NNOOOOPP.  Otherwise, the toolkit initializes
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s to XXmmDDRROOPP__SSIITTEE__IINNVVAALLIIDD.

                      When the _r_e_a_s_o_n is XXmmCCRR__DDRRAAGG__MMOOTTIIOONN__MMEESSSSAAGGEE or
                      XXmmCCRR__DDRROOPP__SSIITTEE__LLEEAAVVEE__MMEESSSSAAGGEE and the pointer is
                      within the same drop site as on the previous
                      invocation of the drag procedure, the toolkit
                      initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s to the value of
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s at the time the previous
                      invocation of the drag procedure returns.

                      The drag procedure may change the value of this
                      member.  After the drag procedure returns, the
                      toolkit uses the final value in initializing the
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s member of the callback struct
                      passed to the appropriate callbacks of the
                      initiator.

          _o_p_e_r_a_t_i_o_n   An IN/OUT member that identifies an operation.

                      The toolkit initializes _o_p_e_r_a_t_i_o_n by selecting
                      an operation from the bitwise AND of the initial
                      value of the _o_p_e_r_a_t_i_o_n_s member and the value of



     1-371                                            (printed 5/7/92)






     XXmmDDrrooppSSiittee((33XX))           RReeffeerreennccee PPaaggeess           XXmmDDrrooppSSiittee((33XX))



                      the DropSite's XXmmNNddrrooppSSiitteeOOppeerraattiioonnss resource.
                      The toolkit searches this set first for
                      XXmmDDRROOPP__MMOOVVEE, then for XXmmDDRROOPP__CCOOPPYY, then for
                      XXmmDDRROOPP__LLIINNKK, and initializes _o_p_e_r_a_t_i_o_n to the
                      first operation it finds in the set.  If the
                      toolkit finds none of these operations in the
                      set, it initializes _o_p_e_r_a_t_i_o_n to XXmmDDRROOPP__NNOOOOPP.

                      The drag procedure may change the value of this
                      member.  After the drag procedure returns, the
                      toolkit uses the final value in initializing the
                      _o_p_e_r_a_t_i_o_n member of the callback struct passed
                      to the appropriate callbacks of the initiator.

          _o_p_e_r_a_t_i_o_n_s  An IN/OUT member that indicates the set of
                      operations supported for the source data.

                      If the user does not select an operation (by
                      pressing a modifier key), the toolkit
                      initializes _o_p_e_r_a_t_i_o_n_s to the value of the
                      DragContext's XXmmNNddrraaggOOppeerraattiioonnss resource.  If
                      the user does select an operation, the toolkit
                      initializes _o_p_e_r_a_t_i_o_n_s to the bitwise AND of the
                      corresponding operation and the value of the
                      DragContext's XXmmNNddrraaggOOppeerraattiioonnss resource.  If
                      the resulting set of operations is empty, the
                      toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXmmDDRROOPP__NNOOOOPP.

                      The drag procedure may change the value of this
                      member.  After the drag procedure returns, the
                      toolkit uses the final value in initializing the
                      _o_p_e_r_a_t_i_o_n_s member of the callback struct passed
                      to the appropriate callbacks of the initiator.

          _a_n_i_m_a_t_e     An OUT member that indicates whether the toolkit
                      or the receiver client provides drag-under
                      effects for a valid drop site.  If _a_n_i_m_a_t_e is
                      set to True, the toolkit provides drop site
                      animation per the XXmmNNaanniimmaattiioonnSSttyyllee resource
                      value; if it is set to False, the receiver
                      generates drag-under animation effects.


          A pointer to the following structure is passed to the
          XXmmNNddrrooppPPrroocc routine when the drop site receives a drop
          message:

          ttyyppeeddeeff ssttrruucctt
          {{
                  iinntt    _r_e_a_s_o_n;;
            XXEEvveenntt       **_e_v_e_n_t;;
            TTiimmee         _t_i_m_e_S_t_a_m_p;;



     1-372                                            (printed 5/7/92)






     XXmmDDrrooppSSiittee((33XX))           RReeffeerreennccee PPaaggeess           XXmmDDrrooppSSiittee((33XX))



            WWiiddggeett       _d_r_a_g_C_o_n_t_e_x_t;;
            PPoossiittiioonn     _x;;
            PPoossiittiioonn     _y;;
            uunnssiiggnneedd cchhaarr_d_r_o_p_S_i_t_e_S_t_a_t_u_s;;
            uunnssiiggnneedd cchhaarr_o_p_e_r_a_t_i_o_n;;
            uunnssiiggnneedd cchhaarr_o_p_e_r_a_t_i_o_n_s;;
            uunnssiiggnneedd cchhaarr_d_r_o_p_A_c_t_i_o_n;;
          }} XXmmDDrrooppPPrrooccCCaallllbbaacckkSSttrruucctt,, **XXmmDDrrooppPPrrooccCCaallllbbaacckk;;


          _r_e_a_s_o_n      Indicates why the callback was invoked.

          _e_v_e_n_t       Specifies the XXEEvveenntt that triggered the
                      callback.

          _t_i_m_e_S_t_a_m_p   Specifies the timestamp of the logical event.

          _d_r_a_g_C_o_n_t_e_x_t Specifies the ID of the DragContext widget
                      associated with the transaction.

          _x           Indicates the x-coordinate of the pointer
                      relative to the drop site.

          _y           Indicates the y-coordinate of the pointer
                      relative to the drop site.

          _d_r_o_p_S_i_t_e_S_t_a_t_u_s
                      An IN/OUT member that indicates whether or not a
                      drop site is valid.

                      The toolkit initializes _d_r_o_p_S_i_t_e_S_t_a_t_u_s to
                      XXmmDDRROOPP__SSIITTEE__VVAALLIIDD if the DragContext's
                      XXmmNNeexxppoorrttTTaarrggeettss and the DropSite's
                      XXmmNNiimmppoorrttTTaarrggeettss are compatible and if the
                      initial value of the _o_p_e_r_a_t_i_o_n member is not
                      XXmmDDRROOPP__NNOOOOPP.  Otherwise, the toolkit initializes
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s to XXmmDDRROOPP__SSIITTEE__IINNVVAALLIIDD.

                      The drop procedure may change the value of this
                      member.  After the drop procedure returns, the
                      toolkit uses the final value in initializing the
                      _d_r_o_p_S_i_t_e_S_t_a_t_u_s member of the
                      XXmmDDrrooppSSttaarrttCCaallllbbaacckkSSttrruucctt passed to the
                      initiator's drop start callbacks (the
                      DragContext's XXmmNNddrrooppSSttaarrttCCaallllbbaacckk callbacks).

          _o_p_e_r_a_t_i_o_n   An IN/OUT member that identifies an operation.

                      The toolkit initializes _o_p_e_r_a_t_i_o_n by selecting
                      an operation from the bitwise AND of the initial
                      value of the _o_p_e_r_a_t_i_o_n_s member and the value of
                      the DropSite's XXmmNNddrrooppSSiitteeOOppeerraattiioonnss resource.



     1-373                                            (printed 5/7/92)






     XXmmDDrrooppSSiittee((33XX))           RReeffeerreennccee PPaaggeess           XXmmDDrrooppSSiittee((33XX))



                      The toolkit searches this set first for
                      XXmmDDRROOPP__MMOOVVEE, then for XXmmDDRROOPP__CCOOPPYY, then for
                      XXmmDDRROOPP__LLIINNKK, and initializes _o_p_e_r_a_t_i_o_n to the
                      first operation it finds in the set.  If it
                      finds none of these operations in the set, it
                      initializes _o_p_e_r_a_t_i_o_n to XXmmDDRROOPP__NNOOOOPP.

                      The drop procedure may change the value of this
                      member.  After the drop procedure returns, the
                      toolkit uses the final value in initializing the
                      _o_p_e_r_a_t_i_o_n member of the
                      XXmmDDrrooppSSttaarrttCCaallllbbaacckkSSttrruucctt passed to the
                      initiator's drop start callbacks (the
                      DragContext's XXmmNNddrrooppSSttaarrttCCaallllbbaacckk callbacks).

          _o_p_e_r_a_t_i_o_n_s  An IN/OUT member that indicates the set of
                      operations supported for the source data.

                      If the user does not select an operation (by
                      pressing a modifier key), the toolkit
                      initializes _o_p_e_r_a_t_i_o_n_s to the value of the
                      DragContext's XXmmNNddrraaggOOppeerraattiioonnss resource.  If
                      the user does select an operation, the toolkit
                      initializes _o_p_e_r_a_t_i_o_n_s to the bitwise AND of the
                      corresponding operation and the value of the
                      DragContext's XXmmNNddrraaggOOppeerraattiioonnss resource.  If
                      the resulting set of operations is empty, the
                      toolkit initializes _o_p_e_r_a_t_i_o_n_s to XXmmDDRROOPP__NNOOOOPP.

                      The drop procedure may change the value of this
                      member.  After the drop procedure returns, the
                      toolkit uses the final value in initializing the
                      _o_p_e_r_a_t_i_o_n_s member of the
                      XXmmDDrrooppSSttaarrttCCaallllbbaacckkSSttrruucctt passed to the
                      initiator's drop start callbacks (the
                      DragContext's XXmmNNddrrooppSSttaarrttCCaallllbbaacckk callbacks).

          _d_r_o_p_A_c_t_i_o_n  An IN/OUT member that identifies the action
                      associated with the drop.  The possible values
                      are


                      XXmmDDRROOPP
                         A drop was attempted.  If the drop site is
                         valid, drop transfer handling proceeds.

                      XXmmDDRROOPP__HHEELLPP
                         The user has requested help on the drop site.


                      The drop procedure may change the value of this
                      member.  After the drop procedure returns, the



     1-374                                            (printed 5/7/92)






     XXmmDDrrooppSSiittee((33XX))           RReeffeerreennccee PPaaggeess           XXmmDDrrooppSSiittee((33XX))



                      toolkit uses the final value in initializing the
                      _d_r_o_p_A_c_t_i_o_n member of the
                      XXmmDDrrooppSSttaarrttCCaallllbbaacckkSSttrruucctt passed to the
                      initiator's drop start callbacks (the
                      DragContext's XXmmNNddrrooppSSttaarrttCCaallllbbaacckk callbacks).


     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmDDrraaggCCoonntteexxtt((33XX)), XXmmDDrraaggIIccoonn((33XX)),
          XXmmDDrrooppSSiitteeCCoonnffiigguurreeSSttaacckkiinnggOOrrddeerr((33XX)),
          XXmmDDrrooppSSiitteeEEnnddUUppddaattee((33XX)), XXmmDDrrooppSSiitteeQQuueerryySSttaacckkiinnggOOrrddeerr((33)),
          XXmmDDrrooppSSiitteeRReeggiisstteerr((33XX)), XXmmDDrrooppSSiitteeSSttaarrttUUppddaattee((33XX)),
          XXmmDDrrooppSSiitteeUUppddaattee((33XX)), XXmmDDrrooppSSiitteeUUnnrreeggiisstteerr((33XX)),
          XXmmDDrrooppTTrraannssffeerr((33XX)), and XXmmTTaarrggeettssAArreeCCoommppaattiibbllee((33XX)).









































     1-375                                            (printed 5/7/92)






     XXmmDDrrooppSSiitteeCCoonnffiigguurreeSSttaacckkiinnRRgegeOfOfreredrdrXXeemeemrnDrnD(cr(cr3eo3eoX pXpP)S)PSaiaigtgteeeesCsCoonnffiigguurreeSSttaacckkiinnggOOrrddeerr((33XX))



     NNAAMMEE
          XXmmDDrrooppSSiitteeCCoonnffiigguurreeSSttaacckkiinnggOOrrddeerr-A Drag and Drop function
          that reorders a stack of widgets that are registered drop
          sites

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraaggDDrroopp..hh>>

          vvooiidd XXmmDDrrooppSSiitteeCCoonnffiigguurreeSSttaacckkiinnggOOrrddeerr ((_w_i_d_g_e_t, _s_i_b_l_i_n_g, _s_t_a_c_k__m_o_d_e))
               WWiiddggeett      _w_i_d_g_e_t;;
               WWiiddggeett      _s_i_b_l_i_n_g;;
               CCaarrddiinnaall    _s_t_a_c_k__m_o_d_e;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmDDrrooppSSiitteeCCoonnffiigguurreeSSttaacckkiinnggOOrrddeerr changes the stacking order
          of the drop site specified by _w_i_d_g_e_t.  The stacking order
          controls the manner in which drag-under effects are clipped
          by overlapping siblings, regardless of whether they are
          active.  The stack mode is relative either to the entire
          stack, or to another drop site within the stack.  The stack
          order can be modified only if the drop sites are siblings in
          both the widget and drop site hierarchy, and the widget
          parent of the drop sites is registered as a composite drop
          site.


          _w_i_d_g_e_t Specifies the drop site to be restacked.

          _s_i_b_l_i_n_gSpecifies a sibling drop site for stacking
                 operations.  If specified, then _w_i_d_g_e_t is restacked
                 relative to this drop site's stack position.

          _s_t_a_c_k__m_o_d_e
                 Specifies the new stack position for the specified
                 widget.  The values are XXmmAABBOOVVEE and XXmmBBEELLOOWW.  If a
                 sibling is specified, then _w_i_d_g_e_t is restacked as
                 follows:


                 XXmmAABBOOVVEE
                    The widget is placed just above the sibling.

                 XXmmBBEELLOOWW
                    The widget is placed just below the sibling.

                 If the _s_i_b_l_i_n_g parameter is not specified, then
                 _w_i_d_g_e_t is restacked as follows:


                 XXmmAABBOOVVEE
                    The widget is placed at the top of the stack.



     1-376                                            (printed 5/7/92)






     XXmmDDrrooppSSiitteeCCoonnffiigguurreeSSttaacckkiinnRRgegeOfOfreredrdrXXeemeemrnDrnD(cr(cr3eo3eoX pXpP)S)PSaiaigtgteeeesCsCoonnffiigguurreeSSttaacckkiinnggOOrrddeerr((33XX))



                 XXmmBBEELLOOWW
                    The widget is placed at the bottom of the stack.




          For a complete definition of DropSite and its associated
          resources, see XXmmDDrrooppSSiittee((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmDDrrooppSSiittee((33XX)), XXmmDDrrooppSSiitteeRReettrriieevvee((33XX)), and
          XXmmDDrrooppSSiitteeQQuueerryySSttaacckkiinnggOOrrddeerr((33XX)).











































     1-377                                            (printed 5/7/92)






     XXmmDDrrooppSSiitteeEEnnddUUppddaattee((33XX))  RReeffeerreennccee PPaaggeess  XXmmDDrrooppSSiitteeEEnnddUUppddaattee((33XX))



     NNAAMMEE
          XXmmDDrrooppSSiitteeEEnnddUUppddaattee-A Drag and Drop function that
          facilitates processing updates to multiple drop sites

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraaggDDrroopp..hh>>

          vvooiidd XXmmDDrrooppSSiitteeEEnnddUUppddaattee ((_w_i_d_g_e_t))
               WWiiddggeett      _w_i_d_g_e_t;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmDDrrooppSSiitteeEEnnddUUppddaattee is used in conjunction with
          XXmmDDrrooppSSiitteeSSttaarrttUUppddaattee to process updates to multiple drop
          sites within the same hierarchy.  XXmmDDrrooppSSiitteeSSttaarrttUUppddaattee and
          XXmmDDrrooppSSiitteeEEnnddUUppddaattee signal the beginning and the end
          respectively of a series of calls to XXmmDDrrooppSSiitteeUUppddaattee.
          Calls to XXmmDDrrooppSSiitteeSSttaarrttUUppddaattee and XXmmDDrrooppSSiitteeEEnnddUUppddaattee can
          be recursively stacked.  Using these routines optimizes the
          processing of update information.


          _w_i_d_g_e_t Specifies the ID of any widget within a given
                 hierarchy.  The function uses this widget to identify
                 the shell that contains the drop sites.


          For a complete definition of DropSite and its associated
          resources, see XXmmDDrrooppSSiittee((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmDDrrooppSSiitteeSSttaarrttUUppddaattee((33XX)) and XXmmDDrrooppSSiitteeUUppddaattee((33XX)).























     1-378                                            (printed 5/7/92)






     XXmmDDrrooppSSiitteeQQuueerryySSttaacckkiinnggOOrrddRReeeerfrf(e(e3r3rXeXe)n)ncceeXX mmPDPDarargogoepepsSsSiitteeQQuueerryySSttaacckkiinnggOOrrddeerr((33XX))



     NNAAMMEE
          XXmmDDrrooppSSiitteeQQuueerryySSttaacckkiinnggOOrrddeerr-A Drag and Drop function that
          returns the parent, a list of children, and the number of
          children for a specified widget

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraaggDDrroopp..hh>>

          SSttaattuuss XXmmDDrrooppSSiitteeQQuueerryySSttaacckkiinnggOOrrddeerr ((_w_i_d_g_e_t, _p_a_r_e_n_t__r_e_t_u_r_n, _c_h_i_l_d__r_e_t_u_r_n_s, _n_u_m__c_h_i_l_d__r_e_t_u_r_n_s))
               WWiiddggeett      _w_i_d_g_e_t;;
               WWiiddggeett      **_p_a_r_e_n_t__r_e_t_u_r_n;;
               WWiiddggeett      ****_c_h_i_l_d__r_e_t_u_r_n_s;;
               CCaarrddiinnaall    **_n_u_m__c_h_i_l_d__r_e_t_u_r_n_s;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmDDrrooppSSiitteeQQuueerryySSttaacckkiinnggOOrrddeerr obtains the parent, a list of
          children registered as drop sites, and the number of
          children registered as drop sites for a given widget.  The
          children are listed in current stacking order, from bottom-
          most (first child) to the top-most (last child).  This
          function allocates memory for the returned data that must be
          freed by calling XXttFFrreeee.


          _w_i_d_g_e_t Specifies the widget ID.  For this widget, you obtain
                 the list of its children, its parent, and the number
                 of children.

          _p_a_r_e_n_t__r_e_t_u_r_n
                 Returns the widget ID of the drop site parent of the
                 specified widget.

          _c_h_i_l_d__r_e_t_u_r_n_s
                 Returns a pointer to the list of drop site children
                 associated with the specified widget.

          _n_u_m__c_h_i_l_d__r_e_t_u_r_n_s
                 Returns the number of drop site children for the
                 specified widget.


          For a complete definition of DropSite and its associated
          resources, see XXmmDDrrooppSSiittee((33XX)).

     RREETTUURRNN VVAALLUUEE
          Returns zero if the routine fails; returns a nonzero value
          if it succeeds.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmDDrrooppSSiittee((33XX)) and XXmmDDrrooppSSiitteeCCoonnffiigguurreeSSttaacckkiinnggOOrrddeerr((33XX)).




     1-379                                            (printed 5/7/92)






     XXmmDDrrooppSSiitteeRReeggiisstteerr((33XX))   RReeffeerreennccee PPaaggeess   XXmmDDrrooppSSiitteeRReeggiisstteerr((33XX))



     NNAAMMEE
          XXmmDDrrooppSSiitteeRReeggiisstteerr-A Drag and Drop function that identifies
          a drop site and assigns resources that specify its behavior

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraaggDDrroopp..hh>>

          vvooiidd XXmmDDrrooppSSiitteeRReeggiisstteerr ((_w_i_d_g_e_t, _a_r_g_l_i_s_t, _a_r_g_c_o_u_n_t))
               WWiiddggeett      _w_i_d_g_e_t;;
               AArrggLLiisstt     _a_r_g_l_i_s_t;;
               CCaarrddiinnaall    _a_r_g_c_o_u_n_t;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmDDrrooppSSiitteeRReeggiisstteerr identifies the specified widget or gadget
          as a drop site and sets resource values that define the drop
          site's behavior.  The routine assigns default values to any
          resources that are not specified in the argument list.  The
          toolkit generates a warning message if a drop site is
          registered with XXmmNNddrrooppSSiitteeAAccttiivviittyy set to
          XXmmDDRROOPP__SSIITTEE__AACCTTIIVVEE and the XXmmNNddrrooppPPrroocc resource is NULL.

          If the drop site is a descendant of a widget that is
          registered as a drop site, the XXmmNNddrrooppSSiitteeTTyyppee resource of
          the ancestor drop site must be specified as
          XXmmDDRROOPP__SSIITTEE__CCOOMMPPOOSSIITTEE.  The ancestor must be registered
          before the descendant.  The drop site is stacked above all
          other sibling drop sites already registered.


          _w_i_d_g_e_t Specifies the ID of the widget to be registered.

          _a_r_g_l_i_s_tSpecifies the argument list.

          _a_r_g_c_o_u_n_t
                 Specifies the number of attribute/value pairs in the
                 argument list (_a_r_g_l_i_s_t).


          For a complete definition of DropSite and its associated
          resources, see XXmmDDrrooppSSiittee((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmDDiissppllaayy((33XX)), XXmmDDrrooppSSiittee((33XX)), XXmmDDrrooppSSiitteeEEnnddUUppddaattee((33XX)),
          XXmmDDrrooppSSiitteeSSttaarrttUUppddaattee((33XX)), XXmmDDrrooppSSiitteeUUppddaattee((33XX)),
          XXmmDDrrooppSSiitteeUUnnrreeggiisstteerr((33XX)), and XXmmSSccrreeeenn((33XX)).









     1-380                                            (printed 5/7/92)






     XXmmDDrrooppSSiitteeRReettrriieevvee((33XX))   RReeffeerreennccee PPaaggeess   XXmmDDrrooppSSiitteeRReettrriieevvee((33XX))



     NNAAMMEE
          XXmmDDrrooppSSiitteeRReettrriieevvee-A Drag and Drop function that retrieves
          resource values set on a drop site

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraaggDDrroopp..hh>>

          vvooiidd XXmmDDrrooppSSiitteeRReettrriieevvee ((_w_i_d_g_e_t, _a_r_g_l_i_s_t, _a_r_g_c_o_u_n_t))
               WWiiddggeett      _w_i_d_g_e_t;;
               AArrggLLiisstt     _a_r_g_l_i_s_t;;
               CCaarrddiinnaall    _a_r_g_c_o_u_n_t;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmDDrrooppSSiitteeRReettrriieevvee extracts values for the given resources
          from the drop site specified by _w_i_d_g_e_t.  An initiator can
          also obtain information about the current drop site by
          passing the associated DragContext widget as the _w_i_d_g_e_t
          parameter to this routine.  The initiator can retrieve all
          of the drop site resources except XXmmNNddrraaggPPrroocc and
          XXmmNNddrrooppPPrroocc using this method.


          _w_i_d_g_e_t Specifies the ID of the widget that encloses the drop
                 site.

          _a_r_g_l_i_s_tSpecifies the argument list.

          _a_r_g_c_o_u_n_t
                 Specifies the number of attribute/value pairs in the
                 argument list (_a_r_g_l_i_s_t).


          For a complete definition of DropSite and its associated
          resources, see XXmmDDrrooppSSiittee((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmDDrrooppSSiittee((33XX)) and XXmmDDrrooppSSiitteeUUppddaattee((33XX)).

















     1-381                                            (printed 5/7/92)






     XXmmDDrrooppSSiitteeSSttaarrttUUppddaattee((33XX))RReeffeerreennccee PPaaggeessXXmmDDrrooppSSiitteeSSttaarrttUUppddaattee((33XX))



     NNAAMMEE
          XXmmDDrrooppSSiitteeSSttaarrttUUppddaattee-A Drag and Drop function that
          facilitates processing updates to multiple drop sites

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraaggDDrroopp..hh>>

          vvooiidd XXmmDDrrooppSSiitteeSSttaarrttUUppddaattee ((_w_i_d_g_e_t))
               WWiiddggeett      _w_i_d_g_e_t;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmDDrrooppSSiitteeSSttaarrttUUppddaattee is used in conjunction with
          XXmmDDrrooppSSiitteeEEnnddUUppddaattee to process updates to multiple drop
          sites within the same shell widget.  XXmmDDrrooppSSiitteeSSttaarrttUUppddaattee
          and XXmmDDrrooppSSiitteeEEnnddUUppddaattee signal the beginning and the end
          respectively of a series of calls to XXmmDDrrooppSSiitteeUUppddaattee.
          Calls to XXmmDDrrooppSSiitteeSSttaarrttUUppddaattee and XXmmDDrrooppSSiitteeEEnnddUUppddaattee can
          be recursively stacked.  Using these routines optimizes the
          processing of update information.


          _w_i_d_g_e_t Specifies the ID of any widget within a given
                 hierarchy.  The function uses this widget to identify
                 the shell that contains the drop sites.


          For a complete definition of DropSite and its associated
          resources, see XXmmDDrrooppSSiittee((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmDDrrooppSSiittee((33XX)), XXmmDDrrooppSSiitteeEEnnddUUppddaattee((33XX)), and
          XXmmDDrrooppSSiitteeUUppddaattee((33XX)).






















     1-382                                            (printed 5/7/92)






     XXmmDDrrooppSSiitteeUUnnrreeggiisstteerr((33XX)) RReeffeerreennccee PPaaggeess XXmmDDrrooppSSiitteeUUnnrreeggiisstteerr((33XX))



     NNAAMMEE
          XXmmDDrrooppSSiitteeUUnnrreeggiisstteerr-A Drag and Drop function that frees
          drop site information

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraaggDDrroopp..hh>>

          vvooiidd XXmmDDrrooppSSiitteeUUnnrreeggiisstteerr ((_w_i_d_g_e_t))
               WWiiddggeett      _w_i_d_g_e_t;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmDDrrooppSSiitteeUUnnrreeggiisstteerr informs the toolkit that the specified
          widget is no longer a registered drop site.  The function
          frees all associated drop site information.


          _w_i_d_g_e_t Specifies the ID of the widget, registered as a drop
                 site, that is to be unregistered


          For a complete definition of DropSite and its associated
          resources, see XXmmDDrrooppSSiittee((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmDDrrooppSSiittee((33XX)) and XXmmDDrrooppSSiitteeRReeggiisstteerr((33XX)).





























     1-383                                            (printed 5/7/92)






     XXmmDDrrooppSSiitteeUUppddaattee((33XX))     RReeffeerreennccee PPaaggeess     XXmmDDrrooppSSiitteeUUppddaattee((33XX))



     NNAAMMEE
          XXmmDDrrooppSSiitteeUUppddaattee-A Drag and Drop function that sets resource
          values for a drop site

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraaggDDrroopp..hh>>

          vvooiidd XXmmDDrrooppSSiitteeUUppddaattee ((_w_i_d_g_e_t, _a_r_g_l_i_s_t, _a_r_g_c_o_u_n_t))
               WWiiddggeett      _w_i_d_g_e_t;;
               AArrggLLiisstt     _a_r_g_l_i_s_t;;
               CCaarrddiinnaall    _a_r_g_c_o_u_n_t;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmDDrrooppSSiitteeUUppddaattee modifies drop site resources associated
          with the specified widget.  This routine updates the drop
          site resources specified in the _a_r_g_l_i_s_t.


          _w_i_d_g_e_t Specifies the ID of the widget registered as a drop
                 site

          _a_r_g_l_i_s_tSpecifies the argument list

          _a_r_g_c_o_u_n_t
                 Specifies the number of attribute/value pairs in the
                 argument list (_a_r_g_l_i_s_t)


          For a complete definition of DropSite and its associated
          resources, see XXmmDDrrooppSSiittee((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmDDrrooppSSiittee((33XX)), XXmmDDrrooppSSiitteeEEnnddUUppddaattee((33XX)),
          XXmmDDrrooppSSiitteeRReeggiisstteerr((33XX)), XXmmDDrrooppSSiitteeSSttaarrttUUppddaattee((33XX)), and
          XXmmDDrrooppSSiitteeUUnnrreeggiisstteerr((33XX)).



















     1-384                                            (printed 5/7/92)






     XXmmDDrrooppTTrraannssffeerr((33XX))       RReeffeerreennccee PPaaggeess       XXmmDDrrooppTTrraannssffeerr((33XX))



     NNAAMMEE
          XXmmDDrrooppTTrraannssffeerr-The DropTransfer widget class

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraaggDDrroopp..hh>>


     DDEESSCCRRIIPPTTIIOONN
          DropTransfer provides a set of resources that identifies the
          procedures and associated information required by the
          toolkit in order to process and complete a drop transaction.
          Clients should not explicitly create a DropTransfer widget.
          Instead, a client initiates a transfer by calling
          XXmmDDrrooppTTrraannssffeerrSSttaarrtt, which initializes and returns a
          DropTransfer widget.  If this function is called within an
          XXmmNNddrrooppPPrroocc callback, the actual transfers are initiated
          after the callback returns.  Even if no data needs to be
          transferred, XXmmDDrrooppTTrraannssffeerrSSttaarrtt needs to be called
          (typically with no arguments, or just setting
          XXmmNNttrraannssffeerrSSttaattuuss) to finish the drag and drop transaction.

          The XXmmNNddrrooppTTrraannssffeerrss resource specifies a transfer list that
          describes the requested target types for the source data.  A
          transfer list is an array of XXmmDDrrooppTTrraannssffeerrEEnnttrryyRReecc
          structures, each of which identifies a target type.  The
          transfer list is analogous to the MULTIPLE selections
          capability defined in the _I_n_t_e_r-_C_l_i_e_n_t _C_o_m_m_u_n_i_c_a_t_i_o_n
          _C_o_n_v_e_n_t_i_o_n_s _M_a_n_u_a_l (ICCCM).

          The DropTransfer resource, XXmmNNttrraannssffeerrPPrroocc, specifies a
          transfer procedure of type XtSelectionCallbackProc that
          delivers the requested selection data.  This procedure
          operates in conjunction with the underlying Xt selection
          capabilities and is called for each target in the transfer
          list.  Additional target types can be requested after a
          transfer is initiated by calling the XXmmDDrrooppTTrraannssffeerrAAdddd
          function.

        SSttrruuccttuurreess
          An XXmmDDrrooppTTrraannssffeerrEEnnttrryy is a pointer to the following
          structure of type XXmmDDrrooppTTrraannssffeerrEEnnttrryyRReecc, which identifies a
          selection target associated with a given drop transaction:

          ttyyppeeddeeff ssttrruucctt
          {{
            XXttPPooiinntteerr _c_l_i_e_n_t__d_a_t_a;;
            AAttoomm      _t_a_r_g_e_t;;
          }} XXmmDDrrooppTTrraannssffeerrEEnnttrryyRReecc,, **XXmmDDrrooppTTrraannssffeerrEEnnttrryy;;


          _c_l_i_e_n_t__d_a_t_a
                    Specifies any additional information required by



     1-385                                            (printed 5/7/92)






     XXmmDDrrooppTTrraannssffeerr((33XX))       RReeffeerreennccee PPaaggeess       XXmmDDrrooppTTrraannssffeerr((33XX))



                    this selection target

          _t_a_r_g_e_t    Specifies a selection target associated with the
                    drop operation


        CCllaasssseess
          DropTransfer inherits behavior and a resource from OObbjjeecctt.

          The class pointer is xxmmDDrrooppTTrraannssffeerrOObbjjeeccttCCllaassss.

          The class name is XXmmDDrrooppTTrraannssffeerr.

        NNeeww RReessoouurrcceess
          The following table defines a set of widget resources used
          by the programmer to specify data.  The programmer can also
          set the resource values for the inherited classes to set
          attributes for this widget.  To reference a resource by name
          or by class in a .Xdefaults file, remove the XXmmNN or XXmmCC
          prefix and use the remaining letters.  To specify one of the
          defined values for a resource in a .Xdefaults file, remove
          the XXmm prefix and use the remaining letters (in either
          lowercase or uppercase, but include any underscores between
          words).  The codes in the access column indicate if the
          given resource can be set at creation time (CC), set by using
          XXttSSeettVVaalluueess (SS), retrieved by using XXttGGeettVVaalluueess (GG), or is
          not applicable (NN//AA).

                                        XXmmDDrrooppTTrraannssffeerr RReessoouurrccee SSeett
     NNaammee                  CCllaassss                 TTyyppee                       DDeeffaauulltt              AAcccceessss
     __________________________________________________________________________________________________
     XmNdropTransfers      XmCDropTransfers      XmDropTransferEntryRec *   NULL                 CG
     XmNincremental        XmCIncremental        Boolean                    False                CSG
     XmNnumDropTransfers   XmCNumDropTransfers   Cardinal                   0                    CSG
     XmNtransferProc       XmCTransferProc       XtSelectionCallbackProc    NULL                 CSG
     XmNtransferStatus     XmCTransferStatus     unsigned char              XmTRANSFER_SUCCESS   CSG

          XXmmNNddrrooppTTrraannssffeerrss
                    Specifies the address of an array of drop transfer
                    entry records.  The drop transfer is complete when
                    all the entries in the list have been processed.

          XXmmNNiinnccrreemmeennttaall
                    Specifies a Boolean value that indicates whether
                    the transfer on the receiver side uses the Xt
                    incremental selection transfer mechanism described
                    in _X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s-_C _L_a_n_g_u_a_g_e _I_n_t_e_r_f_a_c_e.  If
                    the value is True, the receiver uses incremental
                    transfer; if the value is False, the receiver uses
                    atomic transfer.

          XXmmNNnnuummDDrrooppTTrraannssffeerrss



     1-386                                            (printed 5/7/92)






     XXmmDDrrooppTTrraannssffeerr((33XX))       RReeffeerreennccee PPaaggeess       XXmmDDrrooppTTrraannssffeerr((33XX))



                    Specifies the number of entries in
                    XXmmNNddrrooppTTrraannssffeerrss.  If this resource is set to 0 at
                    any time, the transfer is considered complete.
                    The value of XXmmNNttrraannssffeerrSSttaattuuss determines the
                    completion handshaking process.

          XXmmNNttrraannssffeerrPPrroocc
                    Specifies a procedure of type
                    XXttSSeelleeccttiioonnCCaallllbbaacckkPPrroocc that delivers the
                    requested selection values.  The _w_i_d_g_e_t argument
                    passed to this procedure is the DropTransfer
                    widget.  The selection atom passed is _MOTIF_DROP.
                    For additional information on selection callback
                    procedures, see _X _T_o_o_l_k_i_t _I_n_t_r_i_n_s_i_c_s-_C _L_a_n_g_u_a_g_e
                    _I_n_t_e_r_f_a_c_e.

          XXmmNNttrraannssffeerrSSttaattuuss
                    Specifies the current status of the drop transfer.
                    The client updates this value when the transfer
                    ends and communicates the value to the initiator.
                    The possible values are


                    XXmmTTRRAANNSSFFEERR__SSUUCCCCEESSSS  The transfer succeeded.

                    XXmmTTRRAANNSSFFEERR__FFAAIILLUURREE  The transfer failed.


        IInnhheerriitteedd RReessoouurrcceess
          DropTransfer inherits behavior and a resource from OObbjjeecctt.
          For a complete description of this resource, refer to the
          OObbjjeecctt reference page.

                              OObbjjeecctt RReessoouurrccee SSeett
      NNaammee                 CCllaassss         TTyyppee             DDeeffaauulltt   AAcccceessss
      ____________________________________________________________________
      XmNdestroyCallback   XmCCallback   XtCallbackList   NULL      C

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          OObbjjeecctt((33XX)), XXmmDDiissppllaayy((33XX)), XXmmDDrraaggCCoonntteexxtt((33XX)),
          XXmmDDrraaggIIccoonn((33XX)), XXmmDDrrooppSSiittee((33XX)), XXmmDDrrooppTTrraannssffeerrAAdddd((33XX)), and
          XXmmDDrrooppTTrraannssffeerrSSttaarrtt((33XX)).













     1-387                                            (printed 5/7/92)






     XXmmDDrrooppTTrraannssffeerrAAdddd((33XX))    RReeffeerreennccee PPaaggeess    XXmmDDrrooppTTrraannssffeerrAAdddd((33XX))



     NNAAMMEE
          XXmmDDrrooppTTrraannssffeerrAAdddd-A Drag and Drop function that enables
          additional drop transfer entries to be processed after
          initiating a drop transfer

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraaggDDrroopp..hh>>

          vvooiidd XXmmDDrrooppTTrraannssffeerrAAdddd ((_d_r_o_p__t_r_a_n_s_f_e_r, _t_r_a_n_s_f_e_r_s, _n_u_m__t_r_a_n_s_f_e_r_s))
               WWiiddggeett           _d_r_o_p__t_r_a_n_s_f_e_r;;
               XXmmDDrrooppTTrraannssffeerrEEnnttrryyRReecc**_t_r_a_n_s_f_e_r_s;;
               CCaarrddiinnaall         _n_u_m__t_r_a_n_s_f_e_r_s;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmDDrrooppTTrraannssffeerrAAdddd identifies a list of additional drop
          transfer entries to be processed after a drop transfer is
          started.


          _d_r_o_p__t_r_a_n_s_f_e_r
                 Specifies the ID of the DropTransfer widget returned
                 by XXmmDDrrooppTTrraannssffeerrSSttaarrtt

          _t_r_a_n_s_f_e_r_s
                 Specifies the additional drop transfer entries that
                 the receiver wants processed

          _n_u_m__t_r_a_n_s_f_e_r_s
                 Specifies the number of items in the _t_r_a_n_s_f_e_r_s array


          For a complete definition of DropTransfer and its associated
          resources, see XXmmDDrrooppTTrraannssffeerr((33XX)).

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmDDrraaggCCoonntteexxtt((33XX)), XXmmDDrrooppTTrraannssffeerr((33XX)), and
          XXmmDDrrooppTTrraannssffeerrSSttaarrtt((33XX))..

















     1-388                                            (printed 5/7/92)






     XXmmDDrrooppTTrraannssffeerrSSttaarrtt((33XX))  RReeffeerreennccee PPaaggeess  XXmmDDrrooppTTrraannssffeerrSSttaarrtt((33XX))



     NNAAMMEE
          XXmmDDrrooppTTrraannssffeerrSSttaarrtt-A Drag and Drop function that initiates
          a drop transfer

     SSYYNNOOPPSSIISS
          ##iinncclluuddee <<XXmm//DDrraaggDDrroopp..hh>>

          WWiiddggeett XXmmDDrrooppTTrraannssffeerrSSttaarrtt ((_w_i_d_g_e_t, _a_r_g_l_i_s_t, _a_r_g_c_o_u_n_t))
               WWiiddggeett      _w_i_d_g_e_t;;
               AArrggLLiisstt     _a_r_g_l_i_s_t;;
               CCaarrddiinnaall    _a_r_g_c_o_u_n_t;;


     DDEESSCCRRIIPPTTIIOONN
          XXmmDDrrooppTTrraannssffeerrSSttaarrtt initiates a drop transfer and uses the
          specified argument list to initialize an XXmmDDrrooppTTrraannssffeerr
          object.  The DropTransfer object can be manipulated with
          XXttSSeettVVaalluueess and XXttGGeettVVaalluueess until the last call to the
          XXmmNNttrraannssffeerrPPrroocc procedure is made.  After that point, the
          result of using the widget pointer is undefined.  The
          DropTransfer object is freed by the toolkit when a transfer
          is complete.


          _r_e_f_w_i_d_g_e_t
                 Specifies the ID of the DragContext widget associated
                 with the transaction

          _a_r_g_l_i_s_tSpecifies the argument list

          _a_r_g_c_o_u_n_t
                 Specifies the number of attribute/value pairs in the
                 argument list (_a_r_g_l_i_s_t)


          For a complete definition of DropTransfer and its associated
          resources, see XXmmDDrrooppTTrraannssffeerr((33XX)).

     RREETTUURRNN VVAALLUUEE
          Returns the ID of the DropTransfer widget.

     RREELLAATTEEDD IINNFFOORRMMAATTIIOONN
          XXmmDDrraaggCCoonntteexxtt((33XX)), XXmmDDrrooppTTrraannssffeerr((33XX)), and
          XXmmDDrrooppTTrraannssffeerrAAdddd((33XX)).











     1-389                                            (printed 5/7/92)



 R
