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

FreeBSD Manual Pages

  
 
  

home | help
al_lock_bitmap(3)	    Library Functions Manual	       al_lock_bitmap(3)

NAME
     al_lock_bitmap - Allegro 5 API

SYNOPSIS
	    #include <allegro5/allegro.h>

	    ALLEGRO_LOCKED_REGION *al_lock_bitmap(ALLEGRO_BITMAP *bitmap,
	       int format, int flags)

DESCRIPTION
     Lock  an  entire bitmap for reading or writing.  If the bitmap is a display
     bitmap it will be updated from system memory after the bitmap  is	unlocked
     (unless  locked  read  only).  Returns NULL if the bitmap cannot be locked,
     e.g. the bitmap was locked previously and not unlocked.  This function also
     returns NULL if the format is a compressed format.

     Flags are:

     * ALLEGRO_LOCK_READONLY - The locked region will not be written  to.   This
       can  be	faster	if the bitmap is a video texture, as it can be discarded
       after the lock instead of uploaded back to the card.

     * ALLEGRO_LOCK_WRITEONLY - The locked region will not be read  from.   This
       can  be	faster	if  the bitmap is a video texture, as no data need to be
       read from the video card.  You are required to fill in all pixels  before
       unlocking the bitmap again, so be careful when using this flag.

     * ALLEGRO_LOCK_READWRITE  -  The  locked  region can be written to and read
       from.  Use this flag if a partial number of pixels need to be written to,
       even if reading is not needed.

     format indicates the pixel format that the returned buffer will be in.   To
     lock in the same format as the bitmap stores its data internally, call with
     al_get_bitmap_format(bitmap) as the format or use ALLEGRO_PIXEL_FORMAT_ANY.
     Locking  in the native format will usually be faster.  If the bitmap format
     is compressed, using ALLEGRO_PIXEL_FORMAT_ANY will choose an implementation
     defined non-compressed format.

     On some platforms, Allegro automatically backs up	the  contents  of  video
     bitmaps  because  they  may be occasionally lost (see discussion in al_cre-
     ate_bitmap(3)'s documentation).  If you're completely recreating the bitmap
     contents often (e.g.  every frame) then you will get  much  better  perfor-
     mance by creating the target bitmap with ALLEGRO_NO_PRESERVE_TEXTURE flag.

	    Note:  While  a bitmap is locked, you can not use any drawing opera-
	    tions  on  it  (with  the  sole  exception	of  al_put_pixel(3)  and
	    al_put_blended_pixel(3)).

SEE ALSO
     ALLEGRO_LOCKED_REGION(3),	 ALLEGRO_PIXEL_FORMAT(3),   al_unlock_bitmap(3),
     al_lock_bitmap_region(3),	 al_lock_bitmap_blocked(3),   al_lock_bitmap_re-
     gion_blocked(3)

Allegro reference manual				       al_lock_bitmap(3)

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

home | help