hypercube-0.3.1
[polytopiary:hypercube.git] / raster.h
1 #ifndef RASTER_H
2 #define RASTER_H 1
3 /* raster drawing algorithms */
4
5 #include "stack.h"
6
7 #define RASTER_WIDTH (320)
8 #define RASTER_HEIGHT (200)
9 #define RASTER_BPP (1)
10 #define RASTER_SIZE (RASTER_HEIGHT*RASTER_WIDTH)
11
12 typedef unsigned char pixel;
13 typedef pixel raster[RASTER_SIZE];
14
15 void r_clear(raster *rb, pixel pen);
16 void r_plot(raster *rb, int x, int y, pixel pen);
17 pixel r_get(raster *rb, int x, int y);
18 void r_hline(raster *rb, int x0, int y, int x1, pixel pen);
19 void r_line(raster *rb, int x0, int y0, int x1, int y1, pixel pen);
20 void r_poly(raster *rb, stack *p, pixel pen);
21 void r_fillpoly(raster *rb, stack *p, pixel pen);
22 void r_copy(raster *to, raster *from);
23 void r_bitor(raster *to, raster *from);
24 void r_bitand(raster *to, raster *from);
25 void r_bitxor(raster *to, raster *from);
26
27 /* EOF */
28 #endif