Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

XmDrawingArea(3X)  —  OSF/Motif

NAME

XmDrawingArea − The DrawingArea widget class

SYNOPSIS

#include <Xm/DrawingA.h>

DESCRIPTION

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 XmManager that supports minimal geometry management for multiple widget or gadget children. 

Classes

DrawingArea inherits behavior and resources from the Core, Composite, Constraint, and XmManager classes. 

The class pointer is xmDrawingAreaWidgetClass. 

The class name is XmDrawingArea. 

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). 

XmDrawingArea Resource Set
Name Default Access
      Class       Type
XmNexposeCallback NULL C
      XmCCallback        XtCallbackList
XmNinputCallback NULL C
      XmCCallback        XtCallbackList
XmNmarginHeight 10 CSG
      XmCMarginHeight        Dimension
XmNmarginWidth 10 CSG
      XmCMarginWidth        Dimension
XmNresizeCallback NULL C
      XmCCallback        XtCallbackList
XmNresizePolicy XmRESIZE_ANY CSG
      XmCResizePolicy        unsigned char

XmNexposeCallback
Specifies the list of callbacks that is called when DrawingArea receives an exposure event. The callback reason is XmCR_EXPOSE.  The callback structure also includes the exposure event. 
The default bit gravity for Manager windows is NorthWestGravity.  This may cause the XmNexposeCallback procedures not to be invoked when the DrawingArea window is made smaller. 

XmNinputCallback
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 XmCR_INPUT.  The callback structure also includes the input event. 

XmNmarginHeight
Specifies the minimum spacing in pixels between the top or bottom edge of DrawingArea and any child widget.

XmNmarginWidth
Specifies the minimum spacing in pixels between the left or right edge of DrawingArea and any child widget.

XmNresizeCallback
Specifies the list of callbacks that is called when the DrawingArea is resized. The callback reason is XmCR_RESIZE. 

XmNresizePolicy
Controls the policy for resizing DrawingArea widgets. Possible values include XmRESIZE_NONE (fixed size), XmRESIZE_ANY (shrink or grow as needed), and XmRESIZE_GROW (grow only). 

Inherited Resources

DrawingArea inherits behavior and resources from the following superclasses.  For a complete description of each resource, refer to the man page for that superclass. 

XmManager Resource Set
Name Default Access
      Class       Type
XmNbottomShadowColor dynamic CSG
      XmCBottomShadowColor        Pixel
XmNbottomShadowPixmap XmUNSPECIFIED_PIXMAP CSG
      XmCBottomShadowPixmap        Pixmap
XmNforeground dynamic CSG
      XmCForeground        Pixel
XmNhelpCallback NULL C
      XmCCallback        XtCallbackList
XmNhighlightColor dynamic CSG
      XmCHighlightColor        Pixel
XmNhighlightPixmap dynamic CSG
      XmCHighlightPixmap        Pixmap
XmNinitialFocus NULL CSG
      XmCInitialFocus        Widget
XmNnavigationType XmTAB_GROUP CSG
      XmCNavigationType        XmNavigationType
XmNshadowThickness 0 CSG
      XmCShadowThickness        Dimension
XmNstringDirection dynamic CG
      XmCStringDirection        XmStringDirection
XmNtopShadowColor dynamic CSG
      XmCTopShadowColor        Pixel
XmNtopShadowPixmap dynamic CSG
      XmCTopShadowPixmap        Pixmap
XmNtraversalOn True CSG
      XmCTraversalOn        Boolean
XmNunitType dynamic CSG
      XmCUnitType        unsigned char
XmNuserData NULL CSG
      XmCUserData        XtPointer
Composite Resource Set
Name Default Access
      Class       Type
XmNchildren NULL G
      XmCReadOnly        WidgetList
XmNinsertPosition NULL CSG
      XmCInsertPosition        XtOrderProc
XmNnumChildren 0 G
      XmCReadOnly        Cardinal
Core Resource Set
Name Default Access
      Class       Type
XmNaccelerators dynamic CSG
      XmCAccelerators        XtAccelerators
XmNancestorSensitive dynamic G
      XmCSensitive        Boolean
XmNbackground dynamic CSG
      XmCBackground        Pixel
XmNbackgroundPixmap XmUNSPECIFIED_PIXMAP CSG
      XmCPixmap        Pixmap
XmNborderColor XtDefaultForeground CSG
      XmCBorderColor        Pixel
XmNborderPixmap XmUNSPECIFIED_PIXMAP CSG
      XmCPixmap        Pixmap
XmNborderWidth 0 CSG
      XmCBorderWidth        Dimension
XmNcolormap dynamic CG
      XmCColormap        Colormap
XmNdepth dynamic CG
      XmCDepth        int
XmNdestroyCallback NULL C
      XmCCallback        XtCallbackList
XmNheight dynamic CSG
      XmCHeight        Dimension
XmNinitialResourcesPersistent True C
      XmCInitialResourcesPersistent        Boolean
XmNmappedWhenManaged True CSG
      XmCMappedWhenManaged        Boolean
XmNscreen dynamic CG
      XmCScreen        Screen *
XmNsensitive True CSG
      XmCSensitive        Boolean
XmNtranslations dynamic CSG
      XmCTranslations        XtTranslations
XmNwidth dynamic CSG
      XmCWidth        Dimension
XmNx 0 CSG
      XmCPosition        Position
XmNy 0 CSG
      XmCPosition        Position

Callback Information

A pointer to the following structure is passed to each callback:

typedef struct
{
intreason;
XEvent* event;
Windowwindow;
} XmDrawingAreaCallbackStruct;

reasonIndicates why the callback was invoked

eventPoints to the XEvent that triggered the callback.  This is NULL for the XmNresizeCallback. 

windowIs set to the widget window

Translations

XmDrawingArea inherits translations from XmManager.  Before calling the XmManager actions, all events in the inherited translations except <BtnMotion>, <EnterWindow>, <LeaveWindow>, <FocusIn>, and <FocusOut> also call the DrawingAreaInput() action. 

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

MAny BAny Press:DrawingAreaInput()
MAny BAny Release: DrawingAreaInput()
MAny KAny Press: DrawingAreaInput()
ManagerGadgetKeyInput()
MAny KAny Release: DrawingAreaInput()

Action Routines

The XmDrawingArea action routines are described below:

DrawingAreaInput():
Unless the event takes place in a gadget, calls the callbacks for XmNinputCallback. 

ManagerGadgetKeyInput():
Causes the current gadget to process a keyboard event.

Additional Behavior

The XmDrawingArea widget has the additional behavior described below:

<Expose>:Calls the callbacks for XmNexposeCallback. 

<Widget Resize>:
Calls the callbacks for XmNresizeCallback. 

Virtual Bindings

The bindings for virtual keys are vendor specific.  For information about bindings for virtual buttons and keys, see VirtualBindings(3X). 

RELATED INFORMATION

Composite(3X), Constraint(3X), Core(3X), XmCreateDrawingArea(3X), and XmManager(3X). 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026