Provided by: allegro4-doc_4.4.2-13_all bug

NAME

       set_close_button_callback  -  Handles the user clicking on the close button of the window.
       Allegro game programming library.

SYNOPSIS

       #include <allegro.h>

       int set_close_button_callback(void (*proc)(void));

DESCRIPTION

       On platforms that have a close button, this routine installs a callback function to handle
       the  close  event. In other words, when the user clicks the close button on your program's
       window or any equivalent device, the function you specify here will be called.

       This function should not generally attempt to exit the program or save  any  data  itself.
       The function could be called at any time, and there is usually a risk of conflict with the
       main thread of the program. Instead, you should set a flag during this function, and  test
       it on a regular basis in the main loop of the program.

       Pass  NULL  as  the  `proc'  argument  to  this  function  to  disable  the  close  button
       functionality, which is the default state.

       Note that Allegro cannot intercept the close button of a DOS box in Windows.

       Also note that the supplied callback is also called under  MacOS  X  when  the  user  hits
       Command-Q or selects "Quit" from the application menu.  Example:

          volatile int close_button_pressed = FALSE;

          void close_button_handler(void)
          {
             close_button_pressed = TRUE;
          }
          END_OF_FUNCTION(close_button_handler)
          ...

          allegro_init();
          LOCK_FUNCTION(close_button_handler);
          set_close_button_callback(close_button_handler);
          ...

          while (!close_button_pressed)
             do_stuff();

RETURN VALUE

       Returns  zero on success and non-zero on failure (e.g. the feature is not supported by the
       platform).

SEE ALSO

       set_window_title(3alleg4)