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