xgc.h revision e53c48bf
1/*
2** xgc
3**
4** xgc.h
5*/
6
7#include "constants.h"
8
9typedef struct {
10  Display  *dpy;		/* the display! */
11  Screen   *scr;		/* the screen! */
12  Window    win;		/* the window the test runs in */
13  GC        gc;			/* the GC! */
14  GC        miscgc;		/* used for doing stuff when we don't want
15				   to change the normal GC */
16  XGCValues gcv;		/* a separate copy of what's in the GC,
17				   since we're not allowed to look in it */
18  Pixmap    tile;		/* what we tile with */
19  Pixmap    stipple;		/* what we stipple with */
20  XImage   *image;		/* image for GetImage & PutImage */
21  int       test;		/* which test is being run */
22  float     percent;		/* percentage of test to run */
23  Pixel     foreground;
24  Pixel     background;
25  char      *fontname;
26} XStuff;                       /* All the stuff that only X needs to
27                                   know about */
28
29typedef struct {
30  char name[40];  		/* name as it will appear on the screen */
31  char text[40];	       	/* Xgc command it translates to */
32  int num_commands;		/* number of command buttons inside it */
33  int columns;			/* how many columns of command buttons; if
34				   0, then there's only one row */
35  struct {
36    char name[40];		/* name as it will appear on the screen */
37    char text[40];   		/* Xgc command it translates to */
38  } command_data[MAXCHOICES];
39} ChoiceStuff;			/* All the info needed to deal with a
40				   choice widget */
41typedef struct {
42  const char *name;
43  const char *text;
44  int code;
45} XgcData;
46
47typedef struct {
48  struct {
49    const char *name;
50    const char *text;
51    int   num_toggles;
52    int   columns;
53  } choice;
54  XgcData *data;
55} XgcStuff;
56
57typedef struct {
58  Widget label;
59  int size;
60  WidgetList widgets;
61} ChoiceDesc;
62
63/************/
64
65extern XStuff X;
66extern Widget topform;
67extern XtAppContext appcontext;
68
69extern XgcStuff TestStuff;
70extern XgcStuff FunctionStuff;
71extern XgcStuff LinestyleStuff;
72extern XgcStuff CapstyleStuff;
73extern XgcStuff JoinstyleStuff;
74extern XgcStuff FillstyleStuff;
75extern XgcStuff FillruleStuff;
76extern XgcStuff ArcmodeStuff;
77
78extern ChoiceDesc *GCdescs[];
79extern ChoiceDesc *testchoicedesc;
80extern Widget test;
81extern Widget GCform;
82extern Widget foregroundtext;
83extern Widget backgroundtext;
84extern Widget linewidthtext;
85extern Widget fonttext;
86extern Widget dashlistchoice;
87extern Widget planemaskchoice;
88extern Widget testchoiceform;
89
90extern Widget result;
91
92extern Boolean recording;
93extern Widget filename_text_widget, recordbutton;
94
95extern int fildes[2];
96extern FILE *outend;
97extern FILE *yyin;
98
99/************/
100
101extern void change_percent(int, Boolean);
102extern void change_test(int, Boolean);
103extern void change_text(Widget, String);
104extern void choose_defaults(ChoiceDesc *[], int);
105extern void circle_line_test(int, int);
106extern void close_file_if_recording(void);
107extern void copyarea_test(void);
108extern void copyplane_test(void);
109extern ChoiceDesc * create_choice(Widget, XgcStuff *);
110extern void create_dashlist_choice(Widget);
111extern void create_planemask_choice(Widget);
112extern void create_testfrac_choice(Widget);
113extern Widget create_text_choice(Widget, int, int, int);
114extern void fillpolygon_test(void);
115extern void GC_change_arcmode(int, Boolean);
116extern void GC_change_background(unsigned long, Boolean);
117extern void GC_change_capstyle(int, Boolean);
118extern void GC_change_dashlist(int, Boolean);
119extern void GC_change_fillrule(int, Boolean);
120extern void GC_change_fillstyle(int, Boolean);
121extern void GC_change_font(char *, Boolean);
122extern void GC_change_foreground(unsigned long, Boolean);
123extern void GC_change_function(int, Boolean);
124extern void GC_change_joinstyle(int, Boolean);
125extern void GC_change_linestyle(int, Boolean);
126extern void GC_change_linewidth(int, Boolean);
127extern void GC_change_planemask(unsigned long, Boolean);
128extern void genericarc_test(Boolean);
129extern void genericrectangle_test(Boolean);
130extern void get_filename(void (*)(void), void (*)(void));
131extern void imagetext16_test(void);
132extern void imagetext8_test(void);
133extern void interpret(const char *);
134extern void line_up_labels(ChoiceDesc *[], int);
135extern void polyarc_test(void);
136extern void polyfillarc_test(void);
137extern void polyfillrectangle_test(void);
138extern void polyline_test(void);
139extern void polypoint_test(void);
140extern void polyrectangle_test(void);
141extern void polysegment_test(void);
142extern void polytext16_test(void);
143extern void polytext8_test(void);
144extern void print_if_recording(const char *);
145extern void putimage_test(void);
146extern void read_from_keyboard(void);
147extern void run_test(void);
148extern void select_button(ChoiceDesc *, int);
149extern void set_text(Widget, char *);
150extern void show_result(char *);
151extern void start_playback(void);
152extern void toggle_recordbutton(Widget, caddr_t, caddr_t);
153extern void update_dashlist(int);
154extern void update_planemask(long);
155extern void update_slider(int);
156extern void yyerror(const char *);
157extern int yylex(void);
158extern int yyparse(void);
159extern void yyrestart(FILE *);
160extern int yywrap(void);
161
162
163