AllegroGL: videovtb.c File Reference

AllegroGL 0.4.4

- Main Page
- Related Pages
- Modules
- Files

- File List
- Globals

Macros | Functions | Variables
videovtb.c File Reference

video bitmaps (ie. More...

`#include <string.h>`
`#include <limits.h>`
`#include <allegro.h>`
`#include "alleggl.h"`
`#include "allglint.h"`
`#include "glvtable.h"`
`#include <allegro/internal/aintern.h>`
`#include <GL/glu.h>`

Go to the source code of this file.

## Macros
#define | MASKED_BLIT 1
#define | BLIT 2
#define | TRANS 3
#define | FOR_EACH_TEXTURE_FRAGMENT(screen_blit_from_vid, screen_blit_from_mem, mem_copy_blit_from_vid, mem_copy_blit_from_mem, vid_and_mem_copy_blit_from_vid, vid_and_mem_copy_blit_from_mem)
#define | BIN_2_DEG(x) (-(x) * 180.0 / 128)

## Functions
void | allegro_gl_destroy_video_bitmap (BITMAP *bmp)
| destroy_video_bitmap() overload. More...
static int | allegro_gl_make_video_bitmap_helper1 (int w, int h, int x, int y, GLint target, AGL_VIDEO_BITMAP **pvid)
static int | allegro_gl_make_video_bitmap_helper0 (int w, int h, int x, int y, AGL_VIDEO_BITMAP **pvid)
static BITMAP * | allegro_gl_make_video_bitmap (BITMAP *bmp)
BITMAP * | allegro_gl_create_video_bitmap (int w, int h)
| create_video_bitmap() overload. More...
static void | allegro_gl_video_acquire (struct BITMAP *bmp)
| acquire_bitmap(bmp) overload. More...
static void | allegro_gl_video_release (struct BITMAP *bmp)
| release_bitmap(bmp) overload. More...
static void | set_drawing_pattern (void)
static void | unset_drawing_pattern (void)
static int | allegro_gl_video_getpixel (struct BITMAP *bmp, int x, int y)
static void | update_texture_memory (AGL_VIDEO_BITMAP *vid, int x1, int y1, int x2, int y2)
static void | allegro_gl_video_putpixel (struct BITMAP *bmp, int x, int y, int color)
static void | allegro_gl_video_vline (BITMAP *bmp, int x, int y1, int y2, int color)
static void | allegro_gl_video_hline (BITMAP *bmp, int x1, int y, int x2, int color)
static void | allegro_gl_video_line (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int color)
static void | allegro_gl_video_rectfill (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int color)
static void | allegro_gl_video_triangle (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int x3, int y3, int color)
static void | allegro_gl_video_blit_from_memory_ex (BITMAP *source, BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height, int draw_type)
void | allegro_gl_video_blit_from_memory (BITMAP *source, BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height)
void | allegro_gl_video_blit_to_memory (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height)
static void | __video_update_memory_copy (BITMAP *source, BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height, int draw_type)
void | allegro_gl_video_blit_to_self (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height)
static void | do_masked_blit_video (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height, int flip_dir, int blit_type)
static void | allegro_gl_video_masked_blit (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height)
static void | allegro_gl_video_draw_sprite (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y)
static void | allegro_gl_video_draw_sprite_v_flip (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y)
static void | allegro_gl_video_draw_sprite_h_flip (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y)
static void | allegro_gl_video_draw_sprite_vh_flip (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y)
static void | allegro_gl_video_pivot_scaled_sprite_flip (struct BITMAP *bmp, struct BITMAP *sprite, fixed x, fixed y, fixed cx, fixed cy, fixed angle, fixed scale, int v_flip)
static void | allegro_gl_video_do_stretch_blit (BITMAP *source, BITMAP *dest, int source_x, int source_y, int source_width, int source_height, int dest_x, int dest_y, int dest_width, int dest_height, int masked)
static void | allegro_gl_video_draw_trans_rgba_sprite (BITMAP *bmp, BITMAP *sprite, int x, int y)
static void | allegro_gl_video_draw_sprite_ex (BITMAP *bmp, BITMAP *sprite, int x, int y, int mode, int flip)
static void | allegro_gl_video_clear_to_color (BITMAP *bmp, int color)
static void | allegro_gl_video_draw_color_glyph (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y, int color, int bg)
static void | allegro_gl_video_draw_256_sprite (BITMAP *bmp, BITMAP *sprite, int x, int y)
static void | allegro_gl_video_draw_character (BITMAP *bmp, BITMAP *sprite, int x, int y, int color, int bg)
static void | allegro_gl_video_draw_glyph (struct BITMAP *bmp, AL_CONST struct FONT_GLYPH *glyph, int x, int y, int color, int bg)
static void | allegro_gl_video_polygon3d_f (BITMAP *bmp, int type, BITMAP *texture, int vc, V3D_f *vtx[])
static void | allegro_gl_video_polygon3d (BITMAP *bmp, int type, BITMAP *texture, int vc, V3D *vtx[])
static void | allegro_gl_video_triangle3d (BITMAP *bmp, int type, BITMAP *texture, V3D *v1, V3D *v2, V3D *v3)
static void | allegro_gl_video_triangle3d_f (BITMAP *bmp, int type, BITMAP *texture, V3D_f *v1, V3D_f *v2, V3D_f *v3)
static void | allegro_gl_video_quad3d (BITMAP *bmp, int type, BITMAP *texture, V3D *v1, V3D *v2, V3D *v3, V3D *v4)
static void | allegro_gl_video_quad3d_f (BITMAP *bmp, int type, BITMAP *texture, V3D_f *v1, V3D_f *v2, V3D_f *v3, V3D_f *v4)
static void | dummy_unwrite_bank (void)
Video Bitmap Rountines
GLint | allegro_gl_set_video_bitmap_color_depth (int bpp)
| Sets the color depth you'd like AllegroGL to use for video bitmaps. More...

## Variables
static GFX_VTABLE | allegro_gl_video_vtable
static int | video_bitmap_count = 2
static int | __allegro_gl_video_bitmap_bpp = -1
BITMAP * | __agl_drawing_pattern_bmp
BITMAP * | old_pattern = NULL

## Detailed Description

video bitmaps (ie.

texture rendering) vtable Some of these don't work correctly or will be very slow.

Definition in file videovtb.c.

## Function Documentation

void allegro_gl_destroy_video_bitmap | ( | BITMAP * | bmp | ) |

destroy_video_bitmap() overload.

Will destroy the video bitmap. You mustn't use the BITMAP pointer after calling this function.

Definition at line 308 of file videovtb.c.

BITMAP* allegro_gl_create_video_bitmap | ( | int | w,
|  | int | h
| ) |  |

create_video_bitmap() overload.

This function will create a video bitmap using texture memory. Video bitmaps do not currently share space with the frame buffer (screen). Video bitmaps are lost when switching screen modes.

Definition at line 344 of file videovtb.c.