Allegro 5 api
#include <allegro5/allegro.h> ALLEGRO_BITMAP *al_create_sub_bitmap(ALLEGRO_BITMAP *parent, int x, int y, int w, int h)
Creates a sub-bitmap of the parent, at the specified coordinates and of the specified size. A sub-bitmap is a bitmap that shares drawing memory with a pre-existing (parent) bitmap, but possibly with a different size and clipping settings.
The sub-bitmap may originate off or extend past the parent bitmap.
See the discussion in al_get_backbuffer(3alleg5) about using sub-bitmaps of the backbuffer.
The parent bitmap\[aq]s clipping rectangles are ignored.
If a sub-bitmap was not or cannot be created then NULL is returned.
Note that destroying parents of sub-bitmaps will not destroy the sub-bitmaps; instead the sub-bitmaps become invalid and should no longer be used.
al_create_bitmap(3alleg5)