48 lines
1.6 KiB
C
48 lines
1.6 KiB
C
|
/* ************************************************************************** */
|
||
|
/* */
|
||
|
/* :::::::: */
|
||
|
/* mlx_exit.c :+: :+: */
|
||
|
/* +:+ */
|
||
|
/* By: W2Wizard <w2.wizzard@gmail.com> +#+ */
|
||
|
/* +#+ */
|
||
|
/* Created: 2021/12/28 02:43:22 by W2Wizard #+# #+# */
|
||
|
/* Updated: 2022/11/26 14:23:55 by jvan-hal ######## odam.nl */
|
||
|
/* */
|
||
|
/* ************************************************************************** */
|
||
|
|
||
|
#include "MLX42/MLX42_Int.h"
|
||
|
|
||
|
//= Private =//
|
||
|
|
||
|
static void mlx_free_image(void* content)
|
||
|
{
|
||
|
mlx_image_t* img = content;
|
||
|
|
||
|
mlx_freen(4, img->context, img->pixels, img->instances, img);
|
||
|
}
|
||
|
|
||
|
//= Public =//
|
||
|
|
||
|
void mlx_close_window(mlx_t* mlx)
|
||
|
{
|
||
|
MLX_NONNULL(mlx);
|
||
|
glfwSetWindowShouldClose(mlx->window, true);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* All of glfw & glads resources are cleaned up by the terminate function.
|
||
|
* Now it's time to clean up our own mess.
|
||
|
*/
|
||
|
void mlx_terminate(mlx_t* mlx)
|
||
|
{
|
||
|
MLX_NONNULL(mlx);
|
||
|
|
||
|
mlx_ctx_t *const mlxctx = mlx->context;
|
||
|
|
||
|
glfwTerminate();
|
||
|
mlx_lstclear((mlx_list_t**)(&mlxctx->hooks), &free);
|
||
|
mlx_lstclear((mlx_list_t**)(&mlxctx->render_queue), &free);
|
||
|
mlx_lstclear((mlx_list_t**)(&mlxctx->images), &mlx_free_image);
|
||
|
mlx_freen(2, mlxctx, mlx);
|
||
|
}
|