163 lines
4.9 KiB
C
163 lines
4.9 KiB
C
|
/*
|
||
|
** xgc
|
||
|
**
|
||
|
** xgc.h
|
||
|
*/
|
||
|
|
||
|
#include "constants.h"
|
||
|
|
||
|
typedef struct {
|
||
|
Display *dpy; /* the display! */
|
||
|
Screen *scr; /* the screen! */
|
||
|
Window win; /* the window the test runs in */
|
||
|
GC gc; /* the GC! */
|
||
|
GC miscgc; /* used for doing stuff when we don't want
|
||
|
to change the normal GC */
|
||
|
XGCValues gcv; /* a separate copy of what's in the GC,
|
||
|
since we're not allowed to look in it */
|
||
|
Pixmap tile; /* what we tile with */
|
||
|
Pixmap stipple; /* what we stipple with */
|
||
|
XImage *image; /* image for GetImage & PutImage */
|
||
|
int test; /* which test is being run */
|
||
|
float percent; /* percentage of test to run */
|
||
|
Pixel foreground;
|
||
|
Pixel background;
|
||
|
char *fontname;
|
||
|
} XStuff; /* All the stuff that only X needs to
|
||
|
know about */
|
||
|
|
||
|
typedef struct {
|
||
|
char name[40]; /* name as it will appear on the screen */
|
||
|
char text[40]; /* Xgc command it translates to */
|
||
|
int num_commands; /* number of command buttons inside it */
|
||
|
int columns; /* how many columns of command buttons; if
|
||
|
0, then there's only one row */
|
||
|
struct {
|
||
|
char name[40]; /* name as it will appear on the screen */
|
||
|
char text[40]; /* Xgc command it translates to */
|
||
|
} command_data[MAXCHOICES];
|
||
|
} ChoiceStuff; /* All the info needed to deal with a
|
||
|
choice widget */
|
||
|
typedef struct {
|
||
|
const char *name;
|
||
|
const char *text;
|
||
|
int code;
|
||
|
} XgcData;
|
||
|
|
||
|
typedef struct {
|
||
|
struct {
|
||
|
const char *name;
|
||
|
const char *text;
|
||
|
int num_toggles;
|
||
|
int columns;
|
||
|
} choice;
|
||
|
XgcData *data;
|
||
|
} XgcStuff;
|
||
|
|
||
|
typedef struct {
|
||
|
Widget label;
|
||
|
int size;
|
||
|
WidgetList widgets;
|
||
|
} ChoiceDesc;
|
||
|
|
||
|
/************/
|
||
|
|
||
|
extern XStuff X;
|
||
|
extern Widget topform;
|
||
|
extern XtAppContext appcontext;
|
||
|
|
||
|
extern XgcStuff TestStuff;
|
||
|
extern XgcStuff FunctionStuff;
|
||
|
extern XgcStuff LinestyleStuff;
|
||
|
extern XgcStuff CapstyleStuff;
|
||
|
extern XgcStuff JoinstyleStuff;
|
||
|
extern XgcStuff FillstyleStuff;
|
||
|
extern XgcStuff FillruleStuff;
|
||
|
extern XgcStuff ArcmodeStuff;
|
||
|
|
||
|
extern ChoiceDesc *GCdescs[];
|
||
|
extern ChoiceDesc *testchoicedesc;
|
||
|
extern Widget test;
|
||
|
extern Widget GCform;
|
||
|
extern Widget foregroundtext;
|
||
|
extern Widget backgroundtext;
|
||
|
extern Widget linewidthtext;
|
||
|
extern Widget fonttext;
|
||
|
extern Widget dashlistchoice;
|
||
|
extern Widget planemaskchoice;
|
||
|
extern Widget testchoiceform;
|
||
|
|
||
|
extern Widget result;
|
||
|
|
||
|
extern Boolean recording;
|
||
|
extern Widget filename_text_widget, recordbutton;
|
||
|
|
||
|
extern int fildes[2];
|
||
|
extern FILE *outend;
|
||
|
extern FILE *yyin;
|
||
|
|
||
|
/************/
|
||
|
|
||
|
extern void change_percent(int, Boolean);
|
||
|
extern void change_test(int, Boolean);
|
||
|
extern void change_text(Widget, String);
|
||
|
extern void choose_defaults(ChoiceDesc *[], int);
|
||
|
extern void circle_line_test(int, int);
|
||
|
extern void close_file_if_recording(void);
|
||
|
extern void copyarea_test(void);
|
||
|
extern void copyplane_test(void);
|
||
|
extern ChoiceDesc * create_choice(Widget, XgcStuff *);
|
||
|
extern void create_dashlist_choice(Widget);
|
||
|
extern void create_planemask_choice(Widget);
|
||
|
extern void create_testfrac_choice(Widget);
|
||
|
extern Widget create_text_choice(Widget, int, int, int);
|
||
|
extern void fillpolygon_test(void);
|
||
|
extern void GC_change_arcmode(int, Boolean);
|
||
|
extern void GC_change_background(unsigned long, Boolean);
|
||
|
extern void GC_change_capstyle(int, Boolean);
|
||
|
extern void GC_change_dashlist(int, Boolean);
|
||
|
extern void GC_change_fillrule(int, Boolean);
|
||
|
extern void GC_change_fillstyle(int, Boolean);
|
||
|
extern void GC_change_font(char *, Boolean);
|
||
|
extern void GC_change_foreground(unsigned long, Boolean);
|
||
|
extern void GC_change_function(int, Boolean);
|
||
|
extern void GC_change_joinstyle(int, Boolean);
|
||
|
extern void GC_change_linestyle(int, Boolean);
|
||
|
extern void GC_change_linewidth(int, Boolean);
|
||
|
extern void GC_change_planemask(unsigned long, Boolean);
|
||
|
extern void genericarc_test(Boolean);
|
||
|
extern void genericrectangle_test(Boolean);
|
||
|
extern void get_filename(void (*)(void), void (*)(void));
|
||
|
extern void imagetext16_test(void);
|
||
|
extern void imagetext8_test(void);
|
||
|
extern void interpret(const char *);
|
||
|
extern void line_up_labels(ChoiceDesc *[], int);
|
||
|
extern void polyarc_test(void);
|
||
|
extern void polyfillarc_test(void);
|
||
|
extern void polyfillrectangle_test(void);
|
||
|
extern void polyline_test(void);
|
||
|
extern void polypoint_test(void);
|
||
|
extern void polyrectangle_test(void);
|
||
|
extern void polysegment_test(void);
|
||
|
extern void polytext16_test(void);
|
||
|
extern void polytext8_test(void);
|
||
|
extern void print_if_recording(const char *);
|
||
|
extern void putimage_test(void);
|
||
|
extern void read_from_keyboard(void);
|
||
|
extern void run_test(void);
|
||
|
extern void select_button(ChoiceDesc *, int);
|
||
|
extern void set_text(Widget, char *);
|
||
|
extern void show_result(char *);
|
||
|
extern void start_playback(void);
|
||
|
extern void toggle_recordbutton(Widget, caddr_t, caddr_t);
|
||
|
extern void update_dashlist(int);
|
||
|
extern void update_planemask(long);
|
||
|
extern void update_slider(int);
|
||
|
extern void yyerror(const char *);
|
||
|
extern int yylex(void);
|
||
|
extern int yyparse(void);
|
||
|
extern void yyrestart(FILE *);
|
||
|
extern int yywrap(void);
|
||
|
|
||
|
|