1 #include <u.h> 2 #include <libc.h> 3 #include <libg.h> 4 #include <bio.h> 5 #include "proof.h" 6 7 int Mode = DorS; 8 9 Rectangle rpage = { 0, 0, 850, 1150 }; 10 char devname[64]; 11 double mag = DEFMAG; 12 int dbg = 0; 13 char *track = 0; 14 Biobuf bin; 15 char libfont[100] = "/lib/font/bit"; 16 char mapfile[100] = "MAP"; 17 char *mapname = "MAP"; 18 19 void 20 main(int argc, char *argv[]) 21 { 22 char c; 23 int dotrack = 0; 24 25 for (argv++; *argv && (**argv == '-'); argv++) 26 switch(argv[0][1]) { 27 case 'm': /* magnification */ 28 mag = atof(&argv[0][2]); 29 if (mag < 0.1 || mag > 10){ 30 fprint(2, "ridiculous mag argument ignored\n"); 31 mag = DEFMAG; 32 } 33 break; 34 case '/': 35 nview = atoi(&argv[0][2]); 36 if (nview < 1 || nview > MAXVIEW) 37 nview = 1; 38 break; 39 case 'x': 40 xyoffset.x += atoi(&argv[0][2]) * 100; 41 break; 42 case 'y': 43 xyoffset.y += atoi(&argv[0][2]) * 100; 44 break; 45 case 'M': /* change MAP file */ 46 if (argv[0][2]) 47 strcpy(mapname, &argv[0][2]); 48 else { 49 strcpy(mapname, argv[1]); 50 argv++; 51 argc--; 52 } 53 break; 54 case 'F': /* change /lib/font/bit directory */ 55 if (argv[0][2]) 56 strcpy(libfont, &argv[0][2]); 57 else { 58 strcpy(libfont, argv[1]); 59 argv++; 60 argc--; 61 } 62 break; 63 case 'd': 64 dbg = 1; 65 break; 66 case 't': 67 dotrack = 1; 68 break; 69 default: 70 fprint(2, "unknown option '%s' ignored!\n", *argv); 71 break; 72 } 73 if (*argv) { 74 close(0); 75 if (open(*argv, 0) == -1) { 76 perror(*argv); 77 exits("open failure"); 78 } 79 if(dotrack) 80 track = *argv; 81 } 82 Binit(&bin, 0, OREAD); 83 sprint(mapfile, "%s/%s", libfont, mapname); 84 readmapfile(mapfile); 85 for (c = 0; c < NFONT; c++) 86 loadfontname(c, "??"); 87 mapscreen(); 88 clearscreen(); 89 readpage(); 90 } 91