2022-12-05 01:37:25 +00:00
|
|
|
#include "event.h"
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
|
|
event * new_event()
|
|
|
|
{
|
|
|
|
event *ret = (event *) malloc(sizeof(event));
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
void reset(event *event)
|
|
|
|
{
|
|
|
|
event->infos = 0;
|
|
|
|
event->key = 0;
|
|
|
|
event->x = 0;
|
|
|
|
event->y = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void init_event(event *event, char is_pressed)
|
|
|
|
{
|
|
|
|
reset(event);
|
|
|
|
if (is_pressed) event->infos = 0x80;
|
|
|
|
}
|
|
|
|
|
2022-12-19 14:21:03 +00:00
|
|
|
void dummy_event(event *event)
|
|
|
|
{
|
|
|
|
event->infos |= DUMMY;
|
|
|
|
}
|
|
|
|
|
|
|
|
int is_dummy(event *event)
|
|
|
|
{
|
|
|
|
return (event->infos & DUMMY) == DUMMY;
|
|
|
|
}
|
|
|
|
|
2022-12-05 01:37:25 +00:00
|
|
|
void mouse_event(event *event, mouse_button button)
|
|
|
|
{
|
|
|
|
init_event(event, 0);
|
2022-12-17 02:06:21 +00:00
|
|
|
/* FIXME vérifier tous les flags pour des clics de souris en simultané */
|
2022-12-05 01:37:25 +00:00
|
|
|
switch (button)
|
|
|
|
{
|
2022-12-17 02:06:21 +00:00
|
|
|
case M_LEFT: event->infos |= 0x01;
|
2022-12-05 01:37:25 +00:00
|
|
|
break;
|
2022-12-17 02:06:21 +00:00
|
|
|
case M_RIGHT: event->infos |= 0x02;
|
2022-12-05 01:37:25 +00:00
|
|
|
break;
|
2022-12-17 02:06:21 +00:00
|
|
|
case M_MIDDLE: event->infos |= 0x3;
|
2022-12-05 01:37:25 +00:00
|
|
|
break;
|
2022-12-19 13:52:03 +00:00
|
|
|
case M_NONE: break;
|
2022-12-05 01:37:25 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void mouse_event_coord(event *event, mouse_button button, signed short x,
|
|
|
|
signed short y)
|
|
|
|
{
|
|
|
|
mouse_event(event, button);
|
|
|
|
event->x = x;
|
|
|
|
event->y = y;
|
|
|
|
}
|
|
|
|
|
|
|
|
void kb_event(event *event, char key, char is_pressed) {}
|