#ifndef FDF_H # define FDF_H # include "../libft/includes/libft.h" # include # include // for M_PI # include // for open # include // for time # include // for gettimeofday typedef struct s_fdf { void *mlx_ptr; void *win_ptr; void *img_ptr; char *img_addr; int **map; int offset; int min_z; int max_z; int z_amplitude; int altitude; int win_size_x; int win_size_y; int img_size_x; int img_size_y; int map_size_x; int map_size_y; int map_width; int map_height; int rot_x; int rot_y; double rad_x; double rad_y; int mov_x; int mov_y; double zoom; int img_bpp; int img_sizel; int img_endian; struct timeval last_keypress_time; } t_fdf; // fdf.c int main(int ac, char **av); void init_fdf(t_fdf *fdf); void init_offset(t_fdf *fdf); void init_server(t_fdf *fdf); int shut_down(t_fdf *fdf); // draw.c void draw_image(t_fdf *fdf); void draw_grid(t_fdf *fdf, int i, int j); void draw_lines(t_fdf *fdf, int *start, int *end); void draw_color_pixel(t_fdf *fdf, int new_x, int new_y, int z); void draw_pixel(t_fdf *fdf, int x, int y, int color); int is_outise_screen(t_fdf *fdf, int x, int y); int get_primary_color(char primar, int percent); int color_percent(t_fdf *fdf, int *p_start, int *p_end, int p_numerator, int p_denominator); // keypress.c void keypress_more(int keycode, t_fdf *fdf); int keypress(int keycode, t_fdf *fdf); // modifs.c int *new_coordinates(t_fdf *fdf, int i, int j); void position_state(t_fdf *fdf); int print_keycode(int keycode); // parse.c void z_amplitude(t_fdf*fdf, int i); int **split_to_map(t_fdf *fdf, char *raw); int is_color(char *color); void size_map(t_fdf *fdf, char *raw, int height); int **parse_map(t_fdf *fdf, int fd); // steps size for the hight transform with p and o // must be > 0 // 100 is small, 1 is the biggest # define Z_HEIGHT 10 // then define the speed for height transform // must be > 0 // 1 is small, 100 is the big # define Z_HEIGHT_UP 10 # define Z_HEIGHT_DOWN 10 /* - 50 : pink - blue - elem : purple - green - pylone : brown - purple - pyramide : white - pink - semitube : green - pink - t2 : white - green - test : white - pink */ // color for altitude # define COLOR_START 0xa263f6 // purple /* # define COLOR_START 0xf263a6 // pink # define COLOR_START 0xffffff // white # define COLOR_START 0x1423e6 // blue # define COLOR_START 0x877264 // brown # define COLOR_START 0x00d700 // green */ /* # define COLOR_END 0x877264 // brown # define COLOR_END 0x00d700 // green # define COLOR_END 0xa263f6 // purple # define COLOR_END 0x1423e6 // blue # define COLOR_END 0xf263a6 // pink */ # define COLOR_END 0xffffff // white // pixels deplacement for each keypress # define MOVE 10 // minimum time in milliseconds between two keypress # define DEBOUNCE_TIME 10 # define ESCAPE 65307 # define UP 65362 # define DOWN 65364 # define LEFT 65361 # define RIGHT 65363 # define A 97 # define B 98 # define C 99 # define D 100 # define E 101 # define F 102 # define G 103 # define H 104 # define I 105 # define J 106 # define K 107 # define L 108 # define M 109 # define N 110 # define O 111 # define P 112 # define Q 113 # define R 114 # define S 115 # define T 116 # define U 117 # define V 118 # define W 119 # define X 120 # define Y 121 # define Z 122 #endif