13e12c5d1SDavid du Colombier #include <u.h> 23e12c5d1SDavid du Colombier #include <libc.h> 33e12c5d1SDavid du Colombier #include <stdio.h> 4*7dd7cddfSDavid du Colombier #include <draw.h> 5*7dd7cddfSDavid du Colombier #include <event.h> 63e12c5d1SDavid du Colombier #define SCX(A) ((((A) - e1->xmin)*e1->scalex + e1->left)+.5) 73e12c5d1SDavid du Colombier #define SCY(A) ((((A) - e1->ymin)*e1->scaley + e1->bottom)+.5) 83e12c5d1SDavid du Colombier #define SCR(A) ((A)*e1->scalex+.5) 93e12c5d1SDavid du Colombier #define unorm(y) (double)(e1->sidey - y) 103e12c5d1SDavid du Colombier #define BIGINT 0x3FFFFFFF /* a large, but valid, int */ 113e12c5d1SDavid du Colombier extern struct penvir { 123e12c5d1SDavid du Colombier double left, bottom; 133e12c5d1SDavid du Colombier double xmin, ymin; 143e12c5d1SDavid du Colombier double scalex, scaley; 153e12c5d1SDavid du Colombier double sidex, sidey; 163e12c5d1SDavid du Colombier double copyx, copyy; 173e12c5d1SDavid du Colombier double quantum; 183e12c5d1SDavid du Colombier double grade; 193e12c5d1SDavid du Colombier int pgap; 203e12c5d1SDavid du Colombier double pslant; 213e12c5d1SDavid du Colombier int pmode, foregr, backgr; 223e12c5d1SDavid du Colombier } *e0, *e1, *esave; 233e12c5d1SDavid du Colombier #define RADIAN 57.3 /* radians per degree */ 243e12c5d1SDavid du Colombier struct seg { 253e12c5d1SDavid du Colombier int x, y, X, Y; 263e12c5d1SDavid du Colombier char stat; 273e12c5d1SDavid du Colombier }; 28*7dd7cddfSDavid du Colombier 293e12c5d1SDavid du Colombier /* 303e12c5d1SDavid du Colombier * display parameters 313e12c5d1SDavid du Colombier */ 323e12c5d1SDavid du Colombier int clipminx, clipminy, clipmaxx, clipmaxy; /* clipping rectangle */ 333e12c5d1SDavid du Colombier int mapminx, mapminy, mapmaxx, mapmaxy; /* centered square */ 343e12c5d1SDavid du Colombier /* 353e12c5d1SDavid du Colombier * Prototypes 363e12c5d1SDavid du Colombier */ 373e12c5d1SDavid du Colombier #include "../plot.h" 383e12c5d1SDavid du Colombier void m_clrwin(int, int, int, int, int); 393e12c5d1SDavid du Colombier void m_finish(void); 403e12c5d1SDavid du Colombier void m_initialize(char *); 413e12c5d1SDavid du Colombier int m_text(int, int, char *, char *, int, int, int); 423e12c5d1SDavid du Colombier void m_vector(int, int, int, int, int); 433e12c5d1SDavid du Colombier void m_swapbuf(void); 443e12c5d1SDavid du Colombier void m_dblbuf(void); 453e12c5d1SDavid du Colombier int bcolor(char *); 463e12c5d1SDavid du Colombier void sscpy(struct penvir *, struct penvir *); 47*7dd7cddfSDavid du Colombier Image *getcolor(int); 48