Allegro 5 api
#include <allegro5/allegro.h> void al_store_state(ALLEGRO_STATE *state, int flags)
Stores part of the state of the current thread in the given ALLEGRO_STATE(3alleg5) objects. The flags parameter can take any bit-combination of these flags:
ALLEGRO_STATE_NEW_DISPLAY_PARAMETERS - new_display_format, new_display_refresh_rate, new_display_flags
ALLEGRO_STATE_NEW_BITMAP_PARAMETERS - new_bitmap_format, new_bitmap_flags
ALLEGRO_STATE_DISPLAY - current_display
ALLEGRO_STATE_TARGET_BITMAP - target_bitmap
ALLEGRO_STATE_BLENDER - blender
ALLEGRO_STATE_TRANSFORM - current_transformation
ALLEGRO_STATE_NEW_FILE_INTERFACE - new_file_interface
ALLEGRO_STATE_BITMAP - same as ALLEGRO_STATE_NEW_BITMAP_PARAMETERS and ALLEGRO_STATE_TARGET_BITMAP
ALLEGRO_STATE_ALL - all of the above
al_restore_state(3alleg5), ALLEGRO_STATE(3alleg5)