65 lines
1.6 KiB
C++
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;
|
|
}
|