MLX42 1.0
MLX42
Loading...
Searching...
No Matches
mlx_keys.c
Go to the documentation of this file.
1/* ************************************************************************** */
2/* */
3/* :::::::: */
4/* mlx_keys.c :+: :+: */
5/* +:+ */
6/* By: W2Wizard <main@w2wizard.dev> +#+ */
7/* +#+ */
8/* Created: 2022/01/01 21:06:45 by W2Wizard #+# #+# */
9/* Updated: 2023/02/13 12:24:40 by W2Wizard ######## odam.nl */
10/* */
11/* ************************************************************************** */
12
13#include "MLX42/MLX42_Int.h"
14
15//= Private =//
16
18{
19 const mlx_t* mlx = glfwGetWindowUserPointer(window);
20 const mlx_key_t key_hook = ((mlx_ctx_t*)mlx->context)->key_hook;
22 key,
23 action,
25 mods,
26 };
27
28 key_hook.func(callback_data, key_hook.param);
29}
30
31//= Public =//
32
34{
37
39 mlxctx->key_hook.func = func;
40 mlxctx->key_hook.param = param;
42}
43
45{
47
48 return (glfwGetKey(mlx->window, key) == GLFW_PRESS);
49}
action
Definition MLX42.h:54
enum keys keys_t
void(* mlx_keyfunc)(mlx_key_data_t keydata, void *param)
Definition MLX42.h:441
#define MLX_NONNULL(var)
Definition MLX42_Int.h:46
GLenum func
Definition glad.h:3336
GLuint GLsizei GLsizei * length
Definition glad.h:3372
GLenum GLfloat param
Definition glad.h:1968
void mlx_key_hook(mlx_t *mlx, mlx_keyfunc func, void *param)
Definition mlx_keys.c:33
static void mlx_key_callback(GLFWwindow *window, int32_t key, int32_t scancode, int32_t action, int32_t mods)
Definition mlx_keys.c:17
bool mlx_is_key_down(mlx_t *mlx, keys_t key)
Definition mlx_keys.c:44
void * param
Definition MLX42_Int.h:146
mlx_keyfunc func
Definition MLX42_Int.h:147
Definition MLX42.h:361
void * context
Definition MLX42.h:363
void * window
Definition MLX42.h:362