67 lines
1.9 KiB
C
67 lines
1.9 KiB
C
/* ************************************************************************** */
|
|
/* */
|
|
/* ::: :::::::: */
|
|
/* events_redirect.c :+: :+: :+: */
|
|
/* +:+ +:+ +:+ */
|
|
/* By: ntrahy <marvin@42.fr> +#+ +:+ +#+ */
|
|
/* +#+#+#+#+#+ +#+ */
|
|
/* Created: 2017/01/02 23:20:08 by ntrahy #+# #+# */
|
|
/* Updated: 2017/01/11 13:57:28 by scebula ### ########.fr */
|
|
/* */
|
|
/* ************************************************************************** */
|
|
|
|
#include "rt.h"
|
|
|
|
int ft_close_cross(t_env *e)
|
|
{
|
|
free_env(e);
|
|
ft_putstr("Program closed successfully\n");
|
|
exit(0);
|
|
}
|
|
|
|
int events_mouse(int button, int x, int y, t_env *e)
|
|
{
|
|
if (x >= 0 && y >= 0 && x <= WIDTH && y <= HEIGHT)
|
|
{
|
|
if (e->in_menu == 0)
|
|
events_mouse_scene(button, x, y, e->current_scene);
|
|
else
|
|
events_mouse_menu(button, x, y, e);
|
|
}
|
|
return (0);
|
|
}
|
|
|
|
void back_to_the_menu(t_env *e)
|
|
{
|
|
mlx_clear_window(e->mlx, e->win);
|
|
free_img(e->mlx, e->current_scene->img);
|
|
free(e->current_scene);
|
|
e->current_scene = NULL;
|
|
e->in_menu = 1;
|
|
display_scenes(e);
|
|
}
|
|
|
|
int events_key(int keycode, t_env *e)
|
|
{
|
|
if (keycode == KEY_ESC)
|
|
ft_close_cross(e);
|
|
else if (keycode == KEY_F2)
|
|
reload_env(e);
|
|
else if (e->in_menu == 1)
|
|
events_key_menu(keycode, e);
|
|
else
|
|
{
|
|
if (keycode == 82 || keycode == KEY_BACKSPACE)
|
|
back_to_the_menu(e);
|
|
events_key_scene(keycode, e->current_scene);
|
|
if (keycode == KEY_H)
|
|
{
|
|
e->cmd = (e->cmd == 1) ? 0 : 1;
|
|
display_again(e->current_scene);
|
|
if (e->cmd)
|
|
mlx_put_image_to_window(e->mlx, e->win, e->img_cmd, 0, 440);
|
|
}
|
|
}
|
|
return (0);
|
|
}
|