Skip to Main Content
Volume 7A: XView Programming Manual
book

Volume 7A: XView Programming Manual

by Dan Heller
October 1994
Intermediate to advanced content levelIntermediate to advanced
770 pages
22h 58m
English
O'Reilly Media, Inc.
Content preview from Volume 7A: XView Programming Manual
The value to the ATTR_LIST attribute is an Attr_avlist, the same type returned by
attr_create_list(). The following code fragment shows how this can be used:
...
Canvas canvas1, canvas2, canvas3;
Attr_avlist attr_list;
attr_list = attr_create_list(
WIN_CMS, cms,
WIN_EVENT_PROC, my_event_proc,
XV_WIDTH, 100,
NULL);
canvas1 = xv_create(frame, CANVAS,
ATTR_LIST, attr_list,
WIN_BACKGROUND_COLOR, 1,
NULL);
canvas2 = xv_create(frame, CANVAS,
ATTR_LIST, attr_list,
WIN_BACKGROUND_COLOR, 2,
NULL);
canvas3 = xv_create(frame, CANVAS,
ATTR_LIST, attr_list,
WIN_BACKGROUND_COLOR, 3,
NULL);
free(attr_list);
...
The only restriction on the use of ATTR_LIST is that it must be the first attribute specified in
the call to xv_create(), xv_set() or any other xv_* routine that accepts attribute-val-
ue lists. Be sure that ATTR_LIST is the first attribute specified when you use it. There are
cases when ATTR_LIST may appear to be the first attribute specified, but it is actually not the
first attribute. This occurs when you use a macro. For panels, the following are macros:
PANEL_CHOICE_STACK, PANEL_CHECK_BOX, and PANEL_TOGGLE. These macros expand to
PANEL_CHOICE objects with several associated attributes that will not be visible. These attri-
butes displace ATTR_LIST as the first attribute. These and similar cases should be avoided if
you use ATTR_LIST.
Lastly, since attr_create_list() allocates memory, the list should be freed when it is
no longer needed.
25.2.3 Interpreting Attributes
When a routine is passed an Attr_avlist, it needs to scan ...
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 6A: Motif Programming Manual

Volume 6A: Motif Programming Manual

David Brennan, Dan Heller, Paula Ferguson
Java™ Media APIs: Cross-Platform Imaging, Media, and Visualization

Java™ Media APIs: Cross-Platform Imaging, Media, and Visualization

Alejandro Terrazas, John Ostuni, Michael Barlow

Publisher Resources

ISBN: 9780937175873