Пример #1
0
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);
}
Пример #2
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");
}