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 SCREEN_H
10 #define SCREEN_H
11 #include "types.h"
12 #include "globals.h"
13 s_screen *allocscreen(int width, int height, int pixelformat);
14 void freescreen(s_screen **screen);
15 void copyscreen(s_screen *dest, s_screen *src);
16 void copyscreen_o(s_screen *dest, s_screen *src, int x, int y);
17 
18 void clearscreen(s_screen *s);
19 void scalescreen(s_screen *dest, s_screen *src);
20 
21 void copyscreen_trans(s_screen *dest, s_screen *src, int x, int y);
22 void copyscreen_remap(s_screen *dest, s_screen *src, int x, int y, unsigned char *remap);
23 void blendscreen(s_screen *dest, s_screen *src, int x, int y, unsigned char *lut);
24 void putscreen(s_screen *dest, s_screen *src, int x, int y, s_drawmethod *drawmethod);
25 void zoomscreen(s_screen *dest, s_screen *src, int centerx, int centery, int scalex, int scaley);
26 
27 //------------------------------16
28 
29 void putscreenx8p16(s_screen *dest, s_screen *src, int x, int y, int key, u16 *remap, u16(*blendfp)(u16, u16));
30 void blendscreen16(s_screen *dest, s_screen *src, int x, int y, int key, u16(*blendfp)(u16, u16));
31 void scalescreen16(s_screen *dest, s_screen *src);
32 
33 
34 //------------------------------24
35 
36 void putscreenx8p24(s_screen *dest, s_screen *src, int x, int y, int key, unsigned char *remap, u32(*blendfp)(u32, u32));
37 void blendscreen24(s_screen *dest, s_screen *src, int x, int y, int key, u32(*blendfp)(u32, u32));
38 
39 
40 //------------------------------32
41 
42 void putscreenx8p32(s_screen *dest, s_screen *src, int x, int y, int key, u32 *remap, u32(*blendfp)(u32, u32));
43 void blendscreen32(s_screen *dest, s_screen *src, int x, int y, int key, u32(*blendfp)(u32, u32));
44 void scalescreen32(s_screen *dest, s_screen *src);
45 
46 
47 #endif
48 
49