2018-03-21 12:28:13 +01:00

65 lines
1.6 KiB
C++

/* YellowRectangle - Draw a yellow rectangle */
/* Released into the public domain by Tilman Kranz <t.kranz@tk-sls.de> on Mar 21st 2018 */
#include <allegro5/allegro5.h>
#include <allegro5/allegro_primitives.h>
int main(int argc, char **argv) {
al_init();
al_init_primitives_addon();
al_install_touch_input();
al_install_keyboard();
auto display = al_create_display(0, 0);
auto queue = al_create_event_queue();
auto redraw = true;
auto done = false;
al_register_event_source(queue, al_get_display_event_source(display));
al_register_event_source(queue, al_get_touch_input_event_source());
while (!done) {
if (redraw) {
al_draw_filled_rectangle(10, 20, 100, 75, al_map_rgb(255, 255, 0));
al_flip_display();
redraw = false;
}
ALLEGRO_EVENT event;
al_wait_for_event(queue, &event);
switch(event.type){
case ALLEGRO_EVENT_DISPLAY_CLOSE:
done = true;
break;
case ALLEGRO_EVENT_DISPLAY_HALT_DRAWING:
al_acknowledge_drawing_halt(display);
break;
case ALLEGRO_EVENT_DISPLAY_RESUME_DRAWING:
al_acknowledge_drawing_resume(display);
redraw = true;
break;
case ALLEGRO_EVENT_DISPLAY_RESIZE:
al_acknowledge_resize(display);
break;
case ALLEGRO_EVENT_TOUCH_BEGIN:
done = true;
break;
default:
break;
}
}
al_destroy_display(display);
return 0;
}