1 |
/* Copyright (c) 1987 Regents of the University of California */ |
2 |
|
3 |
/* SCCSid "$SunId$ LBL" */ |
4 |
|
5 |
/* |
6 |
* rpaint.h - header file for image painting. |
7 |
* |
8 |
* 1/30/87 |
9 |
*/ |
10 |
|
11 |
#include "driver.h" |
12 |
|
13 |
#include "view.h" |
14 |
|
15 |
typedef short COORD; /* an image coordinate */ |
16 |
|
17 |
typedef struct pnode { |
18 |
struct pnode *kid; /* children */ |
19 |
COORD x, y; /* position */ |
20 |
COLOR v; /* value */ |
21 |
} PNODE; /* a paint node */ |
22 |
|
23 |
/* child ordering */ |
24 |
#define DL 0 /* down left */ |
25 |
#define DR 1 /* down right */ |
26 |
#define UL 2 /* up left */ |
27 |
#define UR 3 /* up right */ |
28 |
|
29 |
#define newptree() (PNODE *)calloc(4, sizeof(PNODE)) |
30 |
|
31 |
typedef struct { |
32 |
COORD l, d, r, u; /* left, down, right, up */ |
33 |
} RECT; /* a rectangle */ |
34 |
|
35 |
extern PNODE ptrunk; /* the base of the image tree */ |
36 |
|
37 |
extern VIEW ourview; /* current view parameters */ |
38 |
extern VIEW oldview; /* previous view parameters */ |
39 |
|
40 |
extern int greyscale; /* map colors to brightness? */ |
41 |
|
42 |
extern int pdepth; /* image depth in current frame */ |
43 |
extern RECT pframe; /* current frame rectangle */ |
44 |
|
45 |
extern double exposure; /* exposure for scene */ |
46 |
|
47 |
extern struct driver *dev; /* driver functions */ |
48 |
|
49 |
extern PNODE *findrect(); |