---
name: "request_video_bitmap"
section: "3alleg"
platform: "linux"
package: "liballegro-doc"
version: "2:4.2.2-2.2"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/request_video_bitmap"
---

# request\_video\_bitmap(3alleg)

Triple buffering page flip request. Allegro game programming library.

## 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**(3alleg)](/poll_scroll/3alleg.md), [**request\_scroll**(3alleg)](/request_scroll/3alleg.md), [**gfx\_capabilities**(3alleg)](/gfx_capabilities/3alleg.md), [**create\_video\_bitmap**(3alleg)](/create_video_bitmap/3alleg.md), [**scroll\_screen**(3alleg)](/scroll_screen/3alleg.md), [**ex3buf**(3alleg)](/ex3buf/3alleg.md), [**exupdate**(3alleg)](/exupdate/3alleg.md)
