AllegroGL  0.4.4
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 
void allegro_gl_destroy_video_bitmap(BITMAP *bmp)
destroy_video_bitmap() overload.
Definition: videovtb.c:308
BITMAP * allegro_gl_create_video_bitmap(int w, int h)
create_video_bitmap() overload.
Definition: videovtb.c:344