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