diff options
author | Rudy Bousset <rbousset@z2r4p3.le-101.fr> | 2020-01-23 15:18:45 +0100 |
---|---|---|
committer | Rudy Bousset <rbousset@z2r4p3.le-101.fr> | 2020-01-23 15:18:45 +0100 |
commit | a6acf55cddec28eebf8d0e1c44603270d591cdee (patch) | |
tree | dff9c6d1075c05ee89631021e7211343e6949b28 /minilibx/mlx_int.h | |
parent | Deleted libx (diff) | |
download | 42-cub3d-a6acf55cddec28eebf8d0e1c44603270d591cdee.tar.gz 42-cub3d-a6acf55cddec28eebf8d0e1c44603270d591cdee.tar.bz2 42-cub3d-a6acf55cddec28eebf8d0e1c44603270d591cdee.tar.xz 42-cub3d-a6acf55cddec28eebf8d0e1c44603270d591cdee.tar.zst 42-cub3d-a6acf55cddec28eebf8d0e1c44603270d591cdee.zip |
Added back minilibx, added gitignore
Diffstat (limited to 'minilibx/mlx_int.h')
-rw-r--r-- | minilibx/mlx_int.h | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/minilibx/mlx_int.h b/minilibx/mlx_int.h new file mode 100644 index 0000000..a93c1c9 --- /dev/null +++ b/minilibx/mlx_int.h @@ -0,0 +1,102 @@ +// +// mlx_int.h for minilibx +// +// ol@staff.42.fr +// +// include opengl needed before mlx_int.h +// + + +#define MAX_EVENT 32 +#define MAX_PIXEL_NB 200000 +#define UNIQ_BPP 4 + +#define FONT_WIDTH 10 +#define FONT_HEIGHT 20 + + +typedef int (*func_t)(); + +/* structs */ + +typedef struct glsl_info_s +{ + GLuint pixel_vshader; + GLuint pixel_fshader; + GLuint pixel_program; + GLint loc_pixel_position; + GLint loc_pixel_texture; + GLint loc_pixel_winhalfsize; + + GLuint image_vshader; + GLuint image_fshader; + GLuint image_program; + GLint loc_image_position; + GLint loc_image_winhalfsize; + GLint loc_image_texture; + GLint loc_image_pos; + GLint loc_image_size; + + GLuint font_vshader; + GLuint font_fshader; + GLuint font_program; + GLint loc_font_position; + GLint loc_font_winhalfsize; + GLint loc_font_texture; + GLint loc_font_color; + GLint loc_font_posinwin; + GLint loc_font_posinatlas; + GLint loc_font_atlassize; +} glsl_info_t; + + +typedef struct mlx_img_list_s +{ + int width; + int height; + char *buffer; + GLfloat vertexes[8]; + struct mlx_img_list_s *next; +} mlx_img_list_t; + + +typedef struct mlx_img_ctx_s +{ + GLuint texture; + GLuint vbuffer; + mlx_img_list_t *img; + struct mlx_img_ctx_s *next; +} mlx_img_ctx_t; + +typedef struct mlx_win_list_s +{ + void *winid; + mlx_img_ctx_t *img_list; + int nb_flush; + int pixmgt; + struct mlx_win_list_s *next; +} mlx_win_list_t; + + +typedef struct mlx_ptr_s +{ + void *appid; + mlx_win_list_t *win_list; + mlx_img_list_t *img_list; + void (*loop_hook)(void *); + void *loop_hook_data; + void *loop_timer; + mlx_img_list_t *font; + int main_loop_active; +} mlx_ptr_t; + +// proto + +int mlx_shaders(glsl_info_t *glsl); +char **mlx_int_str_to_wordtab(char *str); +int mlx_int_str_str(char *str,char *find,int len); +int mlx_int_str_str_cote(char *str,char *find,int len); +int mlx_destroy_image(mlx_ptr_t *mlx_ptr, mlx_img_list_t *img_ptr); +void *mlx_new_image(); +void *mlx_xpm_to_image(mlx_ptr_t *xvar,char **xpm_data,int *width,int *height); +int mlx_do_sync(mlx_ptr_t *mlx_ptr); |