NAME
XmDragIcon — The DragIcon widget class
SYNOPSIS
#include <Xm/DragDrop.h>
DESCRIPTION
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 XmDragIcons specified in the
XmDragContext 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 XmDragContext resources,
XmNsourceCursorIcon or XmNsourcePixmapIcon, 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 XmNoperationCursorIcon and XmNstateCursorIcon
resources of XmDragContext specify DragIcons for dynamic cues.
A drag-over visual typically consists of a source, operation and state
DragIcon. The XmNblendModel resource of XmDragContext 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 XmScreen default DragIcons.
An application initializes a DragIcon with the function
XmCreateDragIcon 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.
Classes
DragIcon inherits behavior and a resource from Object.
The class pointer is xmDragIconObjectClass.
The class name is XmDragIcon.
New Resources
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 XmN or XmC prefix and use the remaining letters. To specify one of
the defined values for a resource in a .Xdefaults file, remove the Xm
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 XtSetValues (S), retrieved by using XtGetValues (G), or is
not applicable (N/A).
+------------------------------------------------------------------------------+
| | XmDragIcon Resource|Set | |
|Name | Class | Type | Default | Access |
+--------------+---------------+---------------+----------------------+--------+
|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 |
+--------------+---------------+---------------+----------------------+--------+
+--------------+---------------+---------------+----------------------+--------+
XmNattachment
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 XmNoffsetX and
XmNoffsetY resources can be used to further refine the icon
positions. The possible values are
XmATTACH_NORTH_WEST
Attaches the origin of the state or operation icon
to the northwest point on the source icon.
XmATTACH_NORTH
Attaches the origin of the state or operation icon
to the north point on the source icon.
XmATTACH_NORTH_EAST
Attaches the origin of the state or operation icon
to the northeast point on the source icon.
XmATTACH_EAST
Attaches the origin of the state or operation icon
to the east point on the source icon.
XmATTACH_SOUTH_EAST
Attaches the origin of the state or operation icon
to the southeast point on the source icon.
XmATTACH_SOUTH
Attaches the origin of the state or operation icon
to the south point on the source icon.
XmATTACH_SOUTH_WEST
Attaches the origin of the state or operation icon
to the southwest point on the source icon.
XmATTACH_WEST
Attaches the origin of the state or operation icon
to the west point on the source icon.
XmATTACH_CENTER
Attaches the origin of the state or operation icon
to the center of the source icon. The XmNoffsetX
and XmNoffsetY resources may be used to center the
attached icon.
XmATTACH_HOT
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 XmDragStart function, and made
relative to the widget passed as an argument to the
same function.
XmNdepth Specifies the depth of the pixmap.
XmNheight Specifies the height of the pixmap.
XmNhotX Specifies the x-coordinate of the hotspot of a cursor
DragIcon in relation to the origin of the pixmap bounding
box.
XmNhotY Specifies the y-coordinate of the hotspot of a cursor
DragIcon in relation to the origin of the pixmap bounding
box.
XmNmask Specifies a pixmap of depth 1 to use as the DragIcon mask
pixmap.
XmNoffsetX
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.
XmNoffsetY
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.
XmNpixmap Specifies a pixmap to use as the DragIcon pixmap.
XmNwidth Specifies the width of the pixmap.
Inherited Resources
DragIcon inherits behavior and a resource from Object. For a complete
description of this resource, refer to the Object reference page.
+---------------------------------------------------------------------+
| | Object Resource Set | | |
|Name | Class | Type | Default | Access |
+-------------------+-------------+----------------+---------+--------+
|XmNdestroyCallback | XmCCallback | XtCallbackList | NULL | C |
+-------------------+-------------+----------------+---------+--------+
+-------------------+-------------+----------------+---------+--------+
RELATED INFORMATION
Object(3), XmCreateDragIcon(3), XmDisplay(3), XmDragContext(3),
XmDropSite(3), XmDropTransfer(3), and XmScreen(3).
XmDragIcon(library call)