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

1

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.

Translate answered 16/6, 2011 at 0:23 Comment(4)
What platform/GUI library are you talking about?Arterialize
It's very important to give more information or the question will be closed as 'Not a real question'Dinahdinan
@Oli: I'm using allegro.Translate
Do you use such: wiki.allegro.cc/… ?Astrogate
R
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.

Reasonable answered 16/6, 2011 at 0:48 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.