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