Skip to Main Content
Volume 6A: Motif Programming Manual
book

Volume 6A: Motif Programming Manual

by David Brennan, Dan Heller, Paula Ferguson
September 1993
Intermediate to advanced content levelIntermediate to advanced
1014 pages
28h 26m
English
O'Reilly Media, Inc.
Content preview from Volume 6A: Motif Programming Manual
XmNinputCallback@XmCR_INPUT@ButtonPress, ButtonRelease, @@KeyPress, KeyRelease
_ A common convention we've included in this program is the double use of the drawing_area_callback()
function. This technique is known as function overloading, since the same function is used by more than one source.
We are using the routine as the input callback for the DrawingArea widget, as well as the activate callback for the
PushButton gadget. Whenever the PushButton is activated, the callback function is invoked and passed an
XmPushButtonCallbackStruct with the reason field set to XmCR_ACTIVATE.
It is beyond the scope of this book to discuss at length or even introduce the use of Xlib; for that, see Volume One,
Xlib Programming Manual. However, there are a couple of details concerning the use of Xlib functions that are
noteworthy. For efficiency in use of the X protocol, Xlib drawing calls typically do not carry a lot of information
about the drawing to be done. Instead, drawing characteristics such as the foreground and background colors, fill style,
line weight, and so on, are defined in a graphics context (GC), which is cached in the X server. Any drawing function
that wishes to use a particular GC must include the handle returned by a GC creation call.
If many different routines are going to use the same GC, the programmer should try to make the handle to it generally
available. The natural tendency is to declare the GC as a global variable. However, as a program gets large, it is easy
to get carried ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Volume 7A: XView Programming Manual

Volume 7A: XView Programming Manual

Dan Heller

Publisher Resources

ISBN: 9780596000431