window + event listener
This commit is contained in:
1
MacroLibX
Submodule
1
MacroLibX
Submodule
Submodule MacroLibX added at 826740906f
45
Makefile
45
Makefile
@ -0,0 +1,45 @@
|
|||||||
|
# **************************************************************************** #
|
||||||
|
# #
|
||||||
|
# ::: :::::::: #
|
||||||
|
# Makefile :+: :+: :+: #
|
||||||
|
# +:+ +:+ +:+ #
|
||||||
|
# By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ #
|
||||||
|
# +#+#+#+#+#+ +#+ #
|
||||||
|
# Created: 2023/11/01 11:03:22 by adjoly #+# #+# #
|
||||||
|
# Updated: 2024/01/06 17:13:23 by adjoly ### ########.fr #
|
||||||
|
# #
|
||||||
|
# **************************************************************************** #
|
||||||
|
|
||||||
|
NAME = so_long
|
||||||
|
|
||||||
|
CC = cc
|
||||||
|
|
||||||
|
SRCS = main.c \
|
||||||
|
|
||||||
|
OBJS = $(SRCS:.c=.o)
|
||||||
|
|
||||||
|
FLAGS = -Werror -Wall -Wextra
|
||||||
|
|
||||||
|
HEADER = so_long.h
|
||||||
|
|
||||||
|
MLX_OBJ = MacroLibX/libmlx.so
|
||||||
|
|
||||||
|
MLX_FLAGS = -lSDL2
|
||||||
|
|
||||||
|
$(NAME): $(OBJS)
|
||||||
|
$(CC) $(FLAGS) $(MLX_FLAGS) $(OBJS) $(MLX_OBJ) -o $(NAME)
|
||||||
|
|
||||||
|
%.o: %.c
|
||||||
|
$(CC) $(FLAGS) -I $(HEADER) $< -c -o $@
|
||||||
|
|
||||||
|
all: $(NAME)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(OBJS)
|
||||||
|
|
||||||
|
fclean: clean
|
||||||
|
rm -f $(NAME)
|
||||||
|
|
||||||
|
re: fclean all
|
||||||
|
|
||||||
|
.PHONY: clean all re fclean
|
47
main.c
Normal file
47
main.c
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
/* ************************************************************************** */
|
||||||
|
/* */
|
||||||
|
/* ::: :::::::: */
|
||||||
|
/* main.c :+: :+: :+: */
|
||||||
|
/* +:+ +:+ +:+ */
|
||||||
|
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||||
|
/* +#+#+#+#+#+ +#+ */
|
||||||
|
/* Created: 2024/01/06 16:18:56 by adjoly #+# #+# */
|
||||||
|
/* Updated: 2024/01/06 17:10:58 by adjoly ### ########.fr */
|
||||||
|
/* */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
#include "so_long.h"
|
||||||
|
|
||||||
|
int key_close(int key, void *param)
|
||||||
|
{
|
||||||
|
if (key == 41)
|
||||||
|
mlx_loop_end(param);
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
int win_close(int event, void *param)
|
||||||
|
{
|
||||||
|
if (event == 0)
|
||||||
|
mlx_loop_end(param);
|
||||||
|
return (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int ac, char **av)
|
||||||
|
{
|
||||||
|
t_window win;
|
||||||
|
|
||||||
|
(void) ac;
|
||||||
|
(void) av;
|
||||||
|
win.mlx = mlx_init();
|
||||||
|
win.win = mlx_new_window(win.mlx, 1600, 900, "so_fluffy");
|
||||||
|
|
||||||
|
mlx_on_event(win.mlx, win.win, MLX_KEYDOWN, key_close, win.mlx);
|
||||||
|
mlx_on_event(win.mlx, win.win, MLX_WINDOW_EVENT, win_close, win.mlx);
|
||||||
|
|
||||||
|
mlx_loop(win.mlx);
|
||||||
|
|
||||||
|
mlx_destroy_window(win.mlx, win.win);
|
||||||
|
mlx_destroy_display(win.mlx);
|
||||||
|
|
||||||
|
return (0);
|
||||||
|
}
|
26
so_long.h
Normal file
26
so_long.h
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
/* ************************************************************************** */
|
||||||
|
/* */
|
||||||
|
/* ::: :::::::: */
|
||||||
|
/* so_long.h :+: :+: :+: */
|
||||||
|
/* +:+ +:+ +:+ */
|
||||||
|
/* By: adjoly <adjoly@student.42.fr> +#+ +:+ +#+ */
|
||||||
|
/* +#+#+#+#+#+ +#+ */
|
||||||
|
/* Created: 2024/01/06 16:19:42 by adjoly #+# #+# */
|
||||||
|
/* Updated: 2024/01/06 17:07:29 by adjoly ### ########.fr */
|
||||||
|
/* */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
#ifndef SO_LONG_H
|
||||||
|
# define SO_LONG_H
|
||||||
|
|
||||||
|
# include "MacroLibX/includes/mlx.h"
|
||||||
|
|
||||||
|
typedef struct s_window
|
||||||
|
{
|
||||||
|
void *mlx;
|
||||||
|
void *win;
|
||||||
|
void *img_win;
|
||||||
|
} t_window;
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
Reference in New Issue
Block a user