popup_dialog man page
popup_dialog — do_dialog() used for popup dialogs. Allegro game programming library.
int popup_dialog(DIALOG *dialog, int focus_obj);
Like do_dialog(), but it stores the data on the screen before drawing the dialog and restores it when the dialog is closed. The screen area to be stored is calculated from the dimensions of the first object in the dialog, so all the other objects should lie within this one.