Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I tell if the user tries to close the window in C++?

Tags:

c++

allegro

I need to break a while loop when the use clicks the close button on the window, but I don't know what to check for. I'm using allegro to run the GUI.

like image 968
John Stimac Avatar asked Jun 16 '11 00:06

John Stimac


1 Answers

If using Allegro 4: set_close_button_callback()

volatile int hit_closed = 0;

void close_button_proc()
{
  hit_closed = 1;
}

// later after creating the display:

set_close_button_callback(close_button_proc);

while (!hit_closed)
{
}

With Allegro 5, it's more like:

al_register_event_source(queue, al_get_display_event_source(display));

// in your event loop:

if (event.type == ALLEGRO_EVENT_DISPLAY_CLOSE) {
}

See the manual for all the details.

like image 59
Matthew Avatar answered Oct 21 '22 04:10

Matthew