Huge code merge. This reflects the current status of my rewrite/restructuring. A...
[supertux.git] / src / screen.h
1 /*
2   screen.h
3   
4   Super Tux - Screen Functions
5   
6   by Bill Kendrick
7   bill@newbreedsoftware.com
8   http://www.newbreedsoftware.com/supertux/
9   
10   April 11, 2000 - April 21, 2000
11 */
12
13 #include <SDL.h>
14 #include <SDL_opengl.h>
15
16 #define NO_UPDATE 0
17 #define UPDATE 1
18 #define USE_ALPHA 0
19 #define IGNORE_ALPHA 1
20
21 #ifndef GL_NV_texture_rectangle
22 #define GL_TEXTURE_RECTANGLE_NV           0x84F5
23 #define GL_TEXTURE_BINDING_RECTANGLE_NV   0x84F6
24 #define GL_PROXY_TEXTURE_RECTANGLE_NV     0x84F7
25 #define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV  0x84F8
26 #endif
27
28 void load_and_display_image(char * file);
29 void clearscreen(float r, float g, float b);
30 void updatescreen(void);
31 void flipscreen(void);
32 SDL_Surface * load_image(char * file, int use_alpha);
33 /*
34 void drawimage(SDL_Surface * surf, float x, float y, int update);
35 void drawpart(SDL_Surface * surf, float x, float y, float w, float h, int update);
36 */
37 void drawtext(char * text, int x, int y, SDL_Surface * surf, int update, int shadowsize);
38 void drawcenteredtext(char * text, int y, SDL_Surface * surf, int update, int shadowsize);
39 void erasetext(char * text, int x, int y, SDL_Surface * surf, int update, int shadowsize);
40 void erasecenteredtext(char * text, int y, SDL_Surface * surf, int update, int shadowsize);
41 void create_gl_texture(SDL_Surface * surf, GLint * tex);
42 void update_rect(SDL_Surface *scr, Sint32 x, Sint32 y, Sint32 w, Sint32 h);
43