Provided by: allegro5-doc_5.2.3.0-1_all bug

NAME

       ALLEGRO_STATE - Allegro 5 API

SYNOPSIS

              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 projection transformation
                        current clipping rectangle
                        bitmap locking
                        current shader

       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.)