Provided by: allegro5-doc_5.2.9.1+dfsg-1.1build4_all bug

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  pix‐
         els 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 ALLE‐
       GRO_PIXEL_FORMAT_ANY.  Locking in the native format will usually be faster.  If the bitmap format is com‐
       pressed, 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 occa‐
       sionally lost (see discussion in al_create_bitmap(3alleg5)’s documentation).  If you’re completely recre‐
       ating the bitmap contents often (e.g.  every frame) then you will get much better performance by creating
       the target bitmap with ALLEGRO_NO_PRESERVE_TEXTURE flag.

              Note: While a bitmap is locked, you can not use any drawing operations on it (with the sole excep‐
              tion of al_put_pixel(3alleg5) and al_put_blended_pixel(3alleg5)).

SEE ALSO

       ALLEGRO_LOCKED_REGION(3alleg5),         ALLEGRO_PIXEL_FORMAT(3alleg5),         al_unlock_bitmap(3alleg5),
       al_lock_bitmap_region(3alleg5), al_lock_bitmap_blocked(3alleg5), al_lock_bitmap_region_blocked(3alleg5)

Allegro reference manual                                                                 al_lock_bitmap(3alleg5)