6

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.

Billy ONeal
  • 104,103
  • 58
  • 317
  • 552
John Stimac
  • 5,335
  • 8
  • 40
  • 60

1 Answers1

1

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.

Matthew
  • 47,584
  • 11
  • 86
  • 98