Provided by: allegro5-doc_5.0.10-2_all bug

NAME

       ALLEGRO_STATE - Allegro 5 API

SYNOPSIS

              #include <allegro5/allegro.h>

              typedef struct ALLEGRO_STATE ALLEGRO_STATE;

DESCRIPTION

       Opaque type which is passed to al_store_state(3alleg5)/al_restore_state(3alleg5).

       The various state kept internally by Allegro can be displayed like this:

                global
                    active system driver
                        current config
                per thread
                    new bitmap params
                    new display params
                    active file interface
                    errno
                    current blending mode
                    current display
                        deferred drawing
                    current target bitmap
                        current transformation
                        current clipping rectangle
                        bitmap locking

       In  general,  the  only  real  global state is the active system driver.  All other global
       state is per-thread, so if your application has multiple separate threads they never  will
       interfere  with  each other.  (Except if there are objects accessed by multiple threads of
       course.  Usually you want to  minimize  that  though  and  for  the  remaining  cases  use
       synchronization  primitives  described  in  the threads section or events described in the
       events section to control inter-thread communication.)