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  bit-
       map 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
       description 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.2			     screen(3)

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO

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

home | help