request_video_bitmap
Section: Allegro manual (3)
Updated: version 4.2.2
Index
Return to Main Contents
NAME
request_video_bitmap - Triple buffering page flip request. Allegro game programming library.
SYNOPSIS
#include <allegro.h>
int request_video_bitmap(BITMAP *bitmap);
DESCRIPTION
This function is used for triple buffering. It requests a page flip to
display the specified video bitmap object, but returns immediately rather
than waiting for a retrace. The flip will then take place during the next
vertical retrace, but you can carry on running other code in the meantime
and use the poll_scroll() routine to detect when the flip has actually
taken place. Triple buffering is only possible on certain hardware: see
the comments about request_scroll(). Example:
int current_page;
BITMAP *video_page[3];
...
/* Create pages for page flipping */
video_page[0] = create_video_bitmap(SCREEN_W, SCREEN_H);
video_page[1] = create_video_bitmap(SCREEN_W, SCREEN_H);
video_page[2] = create_video_bitmap(SCREEN_W, SCREEN_H);
current_page = 0;
...
/* draw the screen and flip pages */
draw_screen(video_page[current_page]);
do {
} while (poll_scroll());
request_video_bitmap(video_page[current_page]);
current_page = (current_page+1)%3;
...
RETURN VALUE
Returns zero on success and non-zero on failure.
SEE ALSO
poll_scroll(3),
request_scroll(3),
gfx_capabilities(3),
create_video_bitmap(3),
scroll_screen(3),
ex3buf(3),
exupdate(3)