al_show_native_message_box(1) Allegro 5 API

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

The flags available are:

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
Display a cancel button alongside the "OK" button. Ignored if buttons is not NULL.
ALLEGRO_MESSAGEBOX_YES_NO
Display Yes/No buttons instead of the "OK" button. 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 during initialisation of Allegro itself.

Returns:

  • 0 if the dialog window was closed without activating a button.
  • 1 if the OK or Yes button was pressed.
  • 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.

All of the remaining parameters must not be NULL.

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

Example:

int button = al_show_native_message_box(
  display,
  "Warning",
  "Are you sure?",
  "If you click yes then you are confirming that \"Yes\" "
  "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
);