xenocara/app/xgc/xgc.h
2010-10-31 19:41:34 +00:00

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);