Main Page | Modules | File List | Globals | Related Pages

glvtable.h

00001 #ifndef ALLEGRO_GL_WINDOWS_VTABLE_H
00002 #define ALLEGRO_GL_WINDOWS_VTABLE_H
00003 
00004 #include <allegro.h>
00005 
00006 
00007 /* Special structure for holding video bitmaps. This piggy-backs
00008  * over the regular BITMAP structure to provide AllegroGL with the
00009  * necessary information for maintaining video bitmap over OpenGL
00010  */
00011 typedef struct AGL_VIDEO_BITMAP {
00012     BITMAP *memory_copy;   /* Memory copy for reading -> subbitmap */
00013     GLuint tex;            /* Associated texture number */
00014     int x_ofs, y_ofs;      /* Offsets of this block */
00015     char *line;            /* Hack to get the Allegro color conversion to work properly */
00016     struct AGL_VIDEO_BITMAP *next; /* Next block, if bitmap is too large to fit in one texture */
00017 } AGL_VIDEO_BITMAP;
00018 
00019 
00020 void __allegro_gl__glvtable_update_vtable (GFX_VTABLE **vtable);
00021 BITMAP *allegro_gl_create_video_bitmap(int w, int h);
00022 void allegro_gl_destroy_video_bitmap(BITMAP *bmp);
00023 void allegro_gl_created_sub_bitmap(BITMAP *bmp, BITMAP *parent);
00024 void split_color(int color, GLubyte *r, GLubyte *g, GLubyte *b, GLubyte *a,
00025         int color_depth);
00026 void allegro_gl_screen_blit_to_self (struct BITMAP *source, struct BITMAP *dest,
00027         int source_x, int source_y, int dest_x, int dest_y, int width,
00028         int height);
00029 void allegro_gl_video_blit_from_memory(struct BITMAP *source,
00030         struct BITMAP *dest, int source_x, int source_y, int dest_x,
00031         int dest_y, int width, int height);
00032 void allegro_gl_video_blit_to_memory(struct BITMAP *source, struct BITMAP *dest,
00033         int source_x, int source_y, int dest_x, int dest_y, int width,
00034         int height);
00035 #endif
00036 

Generated on Wed Jun 30 23:59:52 2004 for AllegroGL by doxygen 1.3.5