DragonFly On-Line Manual Pages
al_lock_bitmap - Allegro 5 API
ALLEGRO_LOCKED_REGION *al_lock_bitmap(ALLEGRO_BITMAP *bitmap,
int format, int flags)
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
o 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.
o 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
o 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 it's 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
Note: While a bitmap is locked, you can not use any drawing
operations on it (with the sole exception of al_put_pixel(3) and
ALLEGRO_LOCKED_REGION(3), ALLEGRO_PIXEL_FORMAT(3), al_unlock_bitmap(3)
Allegro reference manual al_lock_bitmap(3)