AllegroGL: glvtable.h Source File

AllegroGL 0.4.4

- Main Page
- Related Pages
- Modules
- Files

- File List
- Globals

glvtable.h
1 #ifndef ALLEGRO_GL_WINDOWS_VTABLE_H
2 #define ALLEGRO_GL_WINDOWS_VTABLE_H
3
4 #include <allegro.h>
5
6
7 /* Special structure for holding video bitmaps. This piggy-backs
8 * over the regular BITMAP structure to provide AllegroGL with the
9 * necessary information for maintaining video bitmap over OpenGL
10 */
11 typedef struct AGL_VIDEO_BITMAP {
12 GLenum target; /* GL_TEXTURE_2D, GL_TEXTURE_RECTANGLE_NV, etc */
13 BITMAP *memory_copy; /* Memory copy for reading -> subbitmap */
14 GLuint tex; /* Associated texture number */
15 GLuint fbo; /* Associated FBO number. */
16 int x_ofs, y_ofs; /* Offsets of this block */
17 int width, height; /* Size of the bitmap block */
18 struct AGL_VIDEO_BITMAP *next; /* Next block, if bitmap is too large to fit in one texture */
19 GLenum format; /* Pixel data format of the memory copy bitmap. */
20 GLenum type; /* Pixel data type of the memory copy bitmap. */
21 } AGL_VIDEO_BITMAP;
22
23
24 void __allegro_gl__glvtable_update_vtable (GFX_VTABLE **vtable);
25 BITMAP *allegro_gl_create_video_bitmap(int w, int h);
26 void allegro_gl_drawing_mode(void);
27 void allegro_gl_set_blender_mode(int mode, int r, int g, int b, int a);
28 void allegro_gl_destroy_video_bitmap(BITMAP *bmp);
29 void allegro_gl_created_sub_bitmap(BITMAP *bmp, BITMAP *parent);
30 void split_color(int color, GLubyte *r, GLubyte *g, GLubyte *b, GLubyte *a,
31 int color_depth);
32 void allegro_gl_screen_blit_to_self (struct BITMAP *source, struct BITMAP *dest,
33 int source_x, int source_y, int dest_x, int dest_y, int width,
34 int height);
35 void allegro_gl_video_blit_from_memory(struct BITMAP *source,
36 struct BITMAP *dest, int source_x, int source_y, int dest_x,
37 int dest_y, int width, int height);
38 void allegro_gl_video_blit_to_memory(struct BITMAP *source, struct BITMAP *dest,
39 int source_x, int source_y, int dest_x, int dest_y, int width,
40 int height);
41 void do_masked_blit_screen(struct BITMAP *source, struct BITMAP *dest,
42 int source_x, int source_y, int dest_x, int dest_y, int width, int height,
43 int flip_dir, int blit_type);
44 void allegro_gl_video_blit_to_self(struct BITMAP *source, struct BITMAP *dest,
45 int source_x, int source_y, int dest_x, int dest_y, int width, int height);
46 void allegro_gl_screen_clear_to_color(struct BITMAP *bmp, int color);
47 void allegro_gl_upload_and_display_texture(struct BITMAP *source,
48 int source_x, int source_y, int dest_x, int dest_y, int width, int height,
49 int flip_dir, GLint format, GLint type);
50 void allegro_gl_screen_draw_glyph_ex(struct BITMAP *bmp,
51 AL_CONST struct FONT_GLYPH *glyph, int x, int y,
52 int color, int bg, int flip);
53 void allegro_gl_screen_draw_color_glyph_ex(struct BITMAP *bmp,
54 struct BITMAP *sprite, int x, int y, int color, int bg, int flip);
55 void allegro_gl_screen_polygon3d_f(struct BITMAP *bmp, int type,
56 struct BITMAP *texture, int vc,
57 V3D_f *vtx[]);
58 #endif
59
allegro_gl_destroy_video_bitmap
void allegro_gl_destroy_video_bitmap(BITMAP *bmp)
destroy_video_bitmap() overload.
Definition: videovtb.c:308
allegro_gl_create_video_bitmap
BITMAP * allegro_gl_create_video_bitmap(int w, int h)
create_video_bitmap() overload.
Definition: videovtb.c:344