int key_mouse(int key, int x, int y, t_struct *s) { double xt; double yt; if (y > 0) { xt = (x / s->zoom) + s->x1; yt = (y / s->zoom) + s->y1; if (key == 4) { s->zoom *= 1.1; s->iter_max += 1; s->x1 = xt - (x / s->zoom); s->y1 = yt - (y / s->zoom); } else if (key == 5) { s->iter_max -= 1; s->zoom *= 0.9; s->x1 = xt - (x / s->zoom); s->y1 = yt - (y / s->zoom); } choose_type(s); } return (0); }
void parse_file(char *name) { int fd; void *buf; struct stat s; if ((fd = open(name, O_RDONLY)) == -1) { my_putstr_error("Error open \n"); return ; } if (fstat(fd, &s) == -1) { my_putstr_error("Error fstats \n"); return ; } if ((buf = mmap(NULL, s.st_size, PROT_READ, MAP_SHARED, fd, 0)) == MAP_FAILED) { my_putstr_error("Error mmap \n"); return ; } choose_type(buf, name, s.st_size); if (munmap(buf, s.st_size) == -1) my_putstr_error("Error munmap \n"); if (close(fd) == -1) my_putstr_error("Error close \n"); }