Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
screen(3)			Allegro	manual			     screen(3)

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  cre-
       ated  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	 clip-
       ping.

       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  de-
       scription  of  this  function for more detailed information). And never
       try to destroy it with destroy_bitmap().

SEE ALSO
       set_gfx_mode(3),	     is_screen_bitmap(3),      create_video_bitmap(3),
       scroll_screen(3)

Allegro				 version 4.4.3			     screen(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=screen&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help