1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
|
dnl ### Check for Xaw version
AC_DEFUN([XDVI_OLD_XAW],[
if test "${with_xdvi_x_toolkit}" = xaw; then
AC_MSG_CHECKING(for Xaw library)
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
AC_TRY_COMPILE([
#include <X11/X.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xos.h>
#include <X11/Xfuncs.h>
#include <X11/Intrinsic.h>
#include <X11/Xaw/Form.h>
],[
],
xdvi_have_xaw=yes, xdvi_have_xaw=no
)
CPPFLAGS=$save_CPPFLAGS
if test $xdvi_have_xaw = yes; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(not found)
AC_MSG_ERROR([Sorry, you will need at least the Xaw header/library files to compile xdvik.])
fi
AC_MSG_CHECKING(version of Xaw library)
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
AC_TRY_COMPILE([
#include <X11/IntrinsicP.h>
#include <X11/StringDefs.h>
#include <X11/Intrinsic.h>
#include <X11/StringDefs.h>
#include <X11/Xos.h>
#include <X11/Xaw/Text.h>
#include <X11/Xaw/AsciiText.h>
#include <X11/Xaw/ToggleP.h>
typedef void (*XawDiamondProc) (Widget);
/* New fields for the Radio widget class record */
typedef struct _RadioClass {
Dimension dsize; /* diamond size */
XawDiamondProc drawDiamond;
/* pixmaps for the button */
Pixmap sel_radio; /* selected state */
Pixmap unsel_radio; /* unselected state */
Pixmap sel_menu; /* selected state */
Pixmap unsel_menu; /* unselected state */
/* TODO: 3-d and xaw-xpm features? */
XtPointer extension;
} RadioClassPart;
/* Full class record declaration */
typedef struct _RadioClassRec {
CoreClassPart core_class;
SimpleClassPart simple_class;
LabelClassPart label_class;
CommandClassPart command_class;
ToggleClassPart toggle_class;
RadioClassPart radio_class;
} RadioClassRec;
/* New fields for the Radio widget record */
typedef struct {
/* resources */
Boolean isRadio; /* radio if True, checkbox else */
/* TODO: 3-d and xaw-xpm features? */
/* private data */
XtPointer extension;
} RadioPart;
/* Full widget declaration */
typedef struct _RadioRec {
CorePart core;
SimplePart simple;
#ifdef _ThreeDP_h
ThreeDPart threeD;
#endif
LabelPart label;
CommandPart command;
TogglePart toggle;
RadioPart radio;
} RadioRec;
/* The actions table from Toggle is almost perfect, but we need
* to override Highlight, Set, and Unset.
*/
#define SuperClass ((ToggleWidgetClass)&toggleClassRec)
#define BOX_SIZE 16
#define PIXMAP_OFFSET 2 /* additional space between pixmap and label */
],[
RadioClassRec radioClassRec = {
{
(WidgetClass) SuperClass, /* superclass */
"Radio", /* class_name */
sizeof(RadioRec), /* size */
NULL, /* class_initialize */
NULL, /* class_part_initialize */
FALSE, /* class_inited */
NULL, /* initialize */
NULL, /* initialize_hook */
XtInheritRealize, /* realize */
NULL, /* actions */
0, /* num_actions */
NULL, /* resources */
0, /* resource_count */
NULLQUARK, /* xrm_class */
TRUE, /* compress_motion */
TRUE, /* compress_exposure */
TRUE, /* compress_enterleave */
FALSE, /* visible_interest */
NULL, /* destroy */
NULL, /* resize */
NULL, /* expose */
NULL, /* set_values */
NULL, /* set_values_hook */
XtInheritSetValuesAlmost, /* set_values_almost */
NULL, /* get_values_hook */
NULL, /* accept_focus */
XtVersion, /* version */
NULL, /* callback_private */
XtInheritTranslations, /* tm_table */
NULL, /* query_geometry */
XtInheritDisplayAccelerator, /* display_accelerator */
NULL /* extension */
}, /* CoreClass fields initialization */
{
XtInheritChangeSensitive, /* change_sensitive */
NULL
}, /* SimpleClass fields initialization */
{
0 /* field not used */
}, /* LabelClass fields initialization */
{
0 /* field not used */
}, /* CommandClass fields initialization */
{
NULL, /* Set Procedure. */
NULL, /* Unset Procedure. */
NULL /* extension. */
}, /* ToggleClass fields initialization */
{
BOX_SIZE,
NULL, /* draw procedure */
None, /* selected radiobutton */
None, /* unselected radiobutton */
None, /* selected menubutton */
None, /* unselected menubutton */
NULL /* extension. */
} /* RadioClass fields initialization */
};
(void)radioClassRec;
],
xdvi_old_xaw=no, xdvi_old_xaw=yes
)
CPPFLAGS=$save_CPPFLAGS
if test $xdvi_old_xaw = yes; then
AC_MSG_RESULT(old)
AC_DEFINE([HAVE_OLD_XAW], 1,
[Define if you have an old version of the Xaw library])
else
AC_MSG_RESULT(current)
fi
fi
])
|