| 11 |
|
*/ |
| 12 |
|
|
| 13 |
|
#include <stdio.h> |
| 14 |
< |
|
| 14 |
> |
#include <math.h> |
| 15 |
|
#include <sys/ioctl.h> |
| 16 |
|
|
| 17 |
|
#include <X11/Xlib.h> |
| 26 |
|
#define GAMMA 2.2 /* default exponent correction */ |
| 27 |
|
|
| 28 |
|
#define MINWIDTH (32*COMCW) /* minimum graphics window width */ |
| 29 |
< |
#define MINHEIGHT MINWIDTH /* minimum graphics window height */ |
| 29 |
> |
#define MINHEIGHT (MINWIDTH/2) /* minimum graphics window height */ |
| 30 |
|
|
| 31 |
|
#define BORWIDTH 5 /* border width */ |
| 32 |
|
#define COMHEIGHT (COMLH*COMCH) /* command line height (pixels) */ |
| 78 |
|
x11_comout, x11_comin, x11_flush, 1.0 |
| 79 |
|
}; |
| 80 |
|
|
| 81 |
+ |
static int getpixels(), xnewcolr(), freepixels(), resizewindow(), |
| 82 |
+ |
getevent(), getkey(), fixwindow(), x11_getc(); |
| 83 |
+ |
static unsigned long true_pixel(); |
| 84 |
|
|
| 85 |
+ |
|
| 86 |
|
struct driver * |
| 87 |
|
x11_init(name, id) /* initialize driver */ |
| 88 |
|
char *name, *id; |
| 125 |
|
ourwhite = WhitePixel(ourdisplay,ourscreen); |
| 126 |
|
} |
| 127 |
|
/* set gamma */ |
| 128 |
< |
if ((gv = getenv("GAMMA")) != NULL) |
| 128 |
> |
if ((gv = XGetDefault(ourdisplay, "radiance", "gamma")) != NULL |
| 129 |
> |
|| (gv = getenv("GAMMA")) != NULL) |
| 130 |
|
make_gmap(atof(gv)); |
| 131 |
|
else |
| 132 |
|
make_gmap(GAMMA); |
| 244 |
|
COLOR col; |
| 245 |
|
int xmin, ymin, xmax, ymax; |
| 246 |
|
{ |
| 242 |
– |
extern int xnewcolr(); /* pixel assignment routine */ |
| 243 |
– |
extern unsigned long true_pixel(); |
| 247 |
|
unsigned long pixel; |
| 248 |
|
|
| 249 |
|
if (!mapped) |
| 271 |
|
x11_comin(inp, prompt) /* read in a command line */ |
| 272 |
|
char *inp, *prompt; |
| 273 |
|
{ |
| 271 |
– |
extern int x11_getc(); |
| 272 |
– |
|
| 274 |
|
if (prompt != NULL) |
| 275 |
|
if (fromcombuf(inp, &x11_driver)) |
| 276 |
|
return; |
| 322 |
|
if (c_last > c_first) /* key pressed */ |
| 323 |
|
return(x11_getc()); |
| 324 |
|
/* button pressed */ |
| 325 |
< |
if (levptr(XButtonPressedEvent)->button & Button1) |
| 325 |
> |
if (levptr(XButtonPressedEvent)->button == Button1) |
| 326 |
|
return(MB1); |
| 327 |
< |
if (levptr(XButtonPressedEvent)->button & Button2) |
| 327 |
> |
if (levptr(XButtonPressedEvent)->button == Button2) |
| 328 |
|
return(MB2); |
| 329 |
< |
if (levptr(XButtonPressedEvent)->button & Button3) |
| 329 |
> |
if (levptr(XButtonPressedEvent)->button == Button3) |
| 330 |
|
return(MB3); |
| 330 |
– |
if (levptr(XButtonPressedEvent)->button & (Button4|Button5)) |
| 331 |
– |
return(MB1); |
| 331 |
|
return(ABORT); |
| 332 |
|
} |
| 333 |
|
|