Archived
1
0

window + event listener

This commit is contained in:
Adam Joly
2024-01-06 17:15:02 +01:00
parent 56bb7c6c9b
commit d4fd4c2949
6 changed files with 119 additions and 0 deletions

1
MacroLibX Submodule

Submodule MacroLibX added at 826740906f

View File

@ -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
View 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);
}

BIN
main.o Normal file

Binary file not shown.

BIN
so_long Executable file

Binary file not shown.

26
so_long.h Normal file
View 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