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 one 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(X3mot)
man page.