NAME
screen - Global pointer to the screen hardware video memory. Allegro
game programming library.
SYNOPSIS
#include <allegro.h>
extern BITMAP *screen;
DESCRIPTION
Global pointer to a bitmap, sized VIRTUAL_W x VIRTUAL_H. This is
created by set_gfx_mode(), and represents the hardware video memory.
Only a part of this bitmap will actually be visible, sized SCREEN_W x
SCREEN_H. Normally this is the top left corner of the larger virtual
screen, so you can ignore the extra invisible virtual size of the
bitmap if you aren't interested in hardware scrolling or page flipping.
To move the visible window to other parts of the screen bitmap, call
scroll_screen(). Initially the clipping rectangle will be limited to
the physical screen size, so if you want to draw onto a larger virtual
screen space outside this rectangle, you will need to adjust the
clipping.
For example, to draw a pixel onto the screen you would write:
putpixel(screen, x, y, color);
Or to implement a double-buffered system:
/* Make a bitmap in RAM. */
BITMAP *bmp = create_bitmap(320, 200);
/* Clean the memory bitmap. */
clear_bitmap(bmp);
/* Draw onto the memory bitmap. */
putpixel(bmp, x, y, color);
/* Copy it to the screen. */
blit(bmp, screen, 0, 0, 0, 0, 320, 200);
Warning: be very careful when using this pointer at the same time as
any bitmaps created by the create_video_bitmap() function (see the
description of this function for more detailed information). And never
try to destroy it with destroy_bitmap().
SEE ALSO
set_gfx_mode(3alleg), is_screen_bitmap(3alleg),
create_video_bitmap(3alleg), scroll_screen(3alleg)