Man Linux: Main Page and Category List

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)