changed to match the processing direction. This resource can have the following values:
XmTOP_LEFT
XmTOP_RIGHT
XmBOTTOM_LEFT
XmBOTTOM_RIGHT
10.3.3 Callback Routines
The callback routines associated with the ScrollBar are its only links into the internal mechanisms that actually scroll
the data. You can use these callback routines in various contexts, depending on what you want to accomplish. For
example, you can monitor scrolling in an automatic or semi−automatic ScrolledWindow, such as a ScrolledText or
ScrolledList object. These two activities are identical when it comes to the implementation of what we are about to
describe. You can also implement application−defined scrolling, which requires intimate knowledge of the internals of
the object being scrolled.
There are different parts of a ScrollBar that the user can manipulate to cause a scrolling action. In fact, each part of the
ScrollBar has a separate callback routine associated with it. These callback routines are used both to monitor
automatic (or semi−automatic) scrolling and to implement application−defined scrolling. As with all Motif callbacks,
the callback routines take the form of an XtCallbackProc. All of the ScrollBar callbacks pass a structure of type
XmScrollBarCallbackStruct for the third parameter. This structure takes the following form:
typedef struct {
int reason;
XEvent *event;
int value;
int pixel;
} XmScrollBarCallbackStruct;
The reason field specifies the scrolling action performed by the user. Each callback has ...