macros/src/event.c

61 lines
1.1 KiB
C
Raw Normal View History

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);
/* FIXME vérifier tous les flags pour des clics de souris en simultané */
2022-12-05 01:37:25 +00:00
switch (button)
{
case M_LEFT: event->infos |= 0x01;
2022-12-05 01:37:25 +00:00
break;
case M_RIGHT: event->infos |= 0x02;
2022-12-05 01:37:25 +00:00
break;
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) {}