macros/src/read_file.c

54 lines
1.1 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <xdo.h>
#include "event.h"
#include "read_file.h"
args_readfile * args_rf_init(FILE *file, int time_sleep)
{
args_readfile *ret = (args_readfile *) malloc(sizeof(args_readfile));
ret->file = file;
ret->time_sleep = time_sleep;
return ret;
}
void readfile(args_readfile *args)
{
FILE *file = args->file;
xdo_t *x_t = xdo_new(NULL);
event *current_event = new_event();
char left, right, middle;
short x, y;
while (!feof(file))
{
fread(current_event, sizeof(event), 1, file);
if (ferror(file))
{
fprintf(stderr, "Erreur à la lecture du fichier");
break;
}
left = (current_event->infos & M_LEFT) == M_LEFT;
right =(current_event->infos & M_RIGHT) == M_RIGHT;
middle=(current_event->infos & M_MIDDLE) == M_MIDDLE ;
x = current_event->x;
y = current_event->y;
xdo_move_mouse(x_t, x, y, 0);
if (left) xdo_click_window(x_t, CURRENTWINDOW, 1);
if (middle) xdo_click_window(x_t, CURRENTWINDOW, 2);
if (right) xdo_click_window(x_t, CURRENTWINDOW, 3);
sleep(args->time_sleep);
}
free(current_event);
xdo_free(x_t);
}