/* ************************************************************************** */
/*                                                                            */
/*                                                        :::      ::::::::   */
/*   game_menu.h                                        :+:      :+:    :+:   */
/*                                                    +:+ +:+         +:+     */
/*   By: qmennen <qmennen@student.codam.nl>         +#+  +:+       +#+        */
/*                                                +#+#+#+#+#+   +#+           */
/*   Created: 2025/05/27 15:07:48 by qmennen           #+#    #+#             */
/*   Updated: 2025/06/03 19:15:44 by qmennen          ###   ########.fr       */
/*                                                                            */
/* ************************************************************************** */

#ifndef GAME_MENU_H
# define GAME_MENU_H

# include "cub3d.h"

void		menu_display(t_menu *menu, t_screen *screen);
void		draw_end_screen(t_game_manager *manager, t_menu *menu);
t_menu		*create_end_screen(t_game_manager *manager);
mlx_image_t	*menu_load_background(mlx_t *mlx, char *background_path);
t_menu		*create_main_menu(t_game_manager *manager);
t_menu		*menu_create(t_game_manager *manager, char *b_path,
	const t_menu_item *options[]);
t_menu_item	*menu_item_create(t_screen *screen, const char *text,
	void (*act)(struct s_menu_item *item, t_game_manager *manager));
void		menu_free(t_menu *menu, t_screen *screen);
void		menu_toggle(t_menu *menu, t_screen *screen);

#endif