#include <stdio.h>
#include <stdlib.h>
#include<allegro5/allegro.h>
#include "allegro5/allegro_image.h"
#include <allegro5\allegro_primitives.h>

enum GAME_KEYS
{
    KEY_ESCAPE
};

int main()
{
    ALLEGRO_DISPLAY *ventana=NULL;                   //crea el display con la ventana
    ALLEGRO_EVENT_QUEUE *event_queue = NULL;
    ALLEGRO_EVENT_QUEUE *event_mouse = NULL;
    al_init();                                  //Se declara para seņalar que empieza allegro
    al_install_keyboard();
    al_init_primitives_addon();
    al_install_mouse();                           //installa el mouse
    ventana = al_create_display(640,480);       //crea un display de 640x480
    al_clear_to_color(al_map_rgb(0,0,0));       //pone la pantalla en negro
    al_flip_display();                          //intercambia el buffer
    al_rest(2);
    ALLEGRO_BITMAP *pantalla_principal;
    al_init_image_addon();
    event_queue = al_create_event_queue();
    al_register_event_source(event_queue, al_get_keyboard_event_source());
    pantalla_principal=al_load_bitmap("Menu_principal.jpg");
    al_draw_bitmap(pantalla_principal,0,0,0);
    al_flip_display();
    al_rest(2);                                 //tiempo que se espera para realizar la siguiente operacion
    int key[1]={0};
    int mouse_x,mouse_y;
    int width = 640;
	int height = 480;
	mouse_x=width/2;
	mouse_y=height/2;
	event_mouse=al_create_event_queue();
	al_register_event_source(event_mouse, al_get_mouse_event_source());
	al_register_event_source(event_mouse, al_get_display_event_source(ventana));
	printf("mouse_x: %d",mouse_x);
    printf("\nmouse_y: %d",mouse_y);
    do
    {
        ALLEGRO_EVENT ev;
        al_wait_for_event(event_queue, &ev);
        if(ev.type == ALLEGRO_EVENT_KEY_UP)
        {
            ALLEGRO_EVENT ev_mouse;
            al_wait_for_event(event_mouse, &ev_mouse);
            if(ev_mouse.type == ALLEGRO_EVENT_MOUSE_AXES)
            {
                mouse_x = ev_mouse.mouse.x;
                mouse_y = ev_mouse.mouse.y;
                if(((mouse_x>0)&&(mouse_x<100))&&((mouse_y>0)&&(mouse_y<200)))
                {
                    al_draw_rounded_rectangle(0,0,100,200,1,1,al_map_rgb(255, 0,0),1);
                    al_flip_display();
                    al_clear_to_color(al_map_rgb(0,0,0));
                }
            }
        }
        else
            if(ev.type == ALLEGRO_EVENT_KEY_DOWN)
            {
                key[KEY_ESCAPE]=1;
            }

    } while(!key[KEY_ESCAPE]);
    al_destroy_event_queue(event_queue);
    al_destroy_event_queue(event_mouse);
    al_destroy_display(ventana);
    al_destroy_bitmap(pantalla_principal);
    return 0;
}
