SYNOPSIS

  • #include <allegro5/allegro_native_dialog.h>
    
    int al_show_native_message_box(ALLEGRO_DISPLAY *display,
       char const *title, char const *heading, char const *text,
       char const *buttons, int flags)
    
    

DESCRIPTION

Show a native GUI message box. This can be used for example to display an error message if creation of an initial display fails. The display may be NULL, otherwise the given display is treated as the parent if possible.

The message box will have a single "OK" button and use the style informative dialog boxes usually have on the native system. If the buttons parameter is not NULL, you can instead specify the button text in a string, with buttons separated by a vertical bar (|).

ALLEGRO_MESSAGEBOX_WARN

The message is a warning. This may cause a different icon (or other effects).

ALLEGRO_MESSAGEBOX_ERROR

The message is an error.

ALLEGRO_MESSAGEBOX_QUESTION

The message is a question.

ALLEGRO_MESSAGEBOX_OK_CANCEL

Instead of the "OK" button also display a cancel button. Ignored if buttons is not NULL.

ALLEGRO_MESSAGEBOX_YES_NO

Instead of the "OK" button display Yes/No buttons. Ignored if buttons is not NULL.

al_show_native_message_box(3alleg5) may be called without Allegro being installed. This is useful to report an error to initialise Allegro itself.

Returns:

\[bu]

0 if the dialog window was closed without activating a button.

\[bu]

1 if the OK or Yes button was pressed.

\[bu]

2 if the Cancel or No button was pressed.

If buttons is not NULL, the number of the pressed button is returned, starting with 1.

If a message box could not be created then this returns 0, as if the window was dismissed without activating a button.

Example:

  •   button = al_show_native_message_box(
         display,
         "Warning",
         "Are you sure?",
         "If you click yes then you are confirming that       "is your response to the query which you have"
         "generated by the action you took to open this"
         "message box.",
         NULL,
         ALLEGRO_MESSAGEBOX_YES_NO
      );