1 /*
2  * OpenBOR - http://www.chronocrash.com
3  * -----------------------------------------------------------------------
4  * All rights reserved, see LICENSE in OpenBOR root for details.
5  *
6  * Copyright (c) 2004 - 2014 OpenBOR Team
7  */
8 
9 #ifndef DRAW_H
10 #define DRAW_H
11 
12 // Primitive drawing functions. Support clipping.
13 
14 
15 // Line function, not particularly fast
16 void line(int sx, int sy, int ex, int ey, int colour, s_screen *screen, int alpha);
17 
18 void drawbox(int x, int y, int width, int height, int colour, s_screen *screen, int alpha);
19 //void drawbox_trans(int x, int y, int width, int height, char colour, s_screen *screen, char *lut);
20 
21 // Pretty slow circle function
22 void circle(int x, int y, int radius, int colour, s_screen *screen, int alpha);
23 
24 // Always handy
25 void _putpixel(int x, int y, int colour, s_screen *screen, int alpha);
26 
27 
28 ///////////////////////////////////////
29 ///////   16/32bit version ...........
30 ///////////////////////////////////////////
31 void line16(int sx, int sy, int ex, int ey, unsigned short colour, s_screen *screen, int alpha);
32 void drawbox16(int x, int y, int width, int height, unsigned short colour, s_screen *screen, int alpha);
33 void _putpixel16(int x, int y, unsigned short colour, s_screen *screen, int alpha);
34 
35 void line32(int sx, int sy, int ex, int ey, unsigned colour, s_screen *screen, int alpha);
36 void drawbox32(int x, int y, int width, int height, unsigned colour, s_screen *screen, int alpha);
37 void _putpixel32(int x, int y, unsigned colour, s_screen *screen, int alpha);
38 
39 
40 //======================== root methods ==================================
41 
42 void putbox(int x, int y, int width, int height, int colour, s_screen *screen, s_drawmethod *drawmethod);
43 void putline(int sx, int sy, int ex, int ey, int colour, s_screen *screen, s_drawmethod *drawmethod);
44 void putpixel(unsigned x, unsigned y, int colour, s_screen *screen, s_drawmethod *drawmethod);
45 
46 
47 #endif
48 
49 
50