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
17
static
void
mlx_key_callback
(
GLFWwindow
* window,
int32_t
key,
int32_t
scancode
,
int32_t
action
,
int32_t
mods
)
18
{
19
const
mlx_t
*
mlx
=
glfwGetWindowUserPointer
(window);
20
const
mlx_key_t
key_hook = ((
mlx_ctx_t
*)
mlx
->
context
)->key_hook;
21
const
mlx_key_data_t
callback_data
= {
22
key,
23
action
,
24
scancode
,
25
mods
,
26
};
27
28
key_hook.
func
(
callback_data
, key_hook.
param
);
29
}
30
31
//= Public =//
32
33
void
mlx_key_hook
(
mlx_t
*
mlx
,
mlx_keyfunc
func
,
void
*
param
)
34
{
35
MLX_NONNULL
(
mlx
);
36
MLX_NONNULL
(
func
);
37
38
mlx_ctx_t
*
mlxctx
=
mlx
->
context
;
39
mlxctx
->key_hook.func =
func
;
40
mlxctx
->key_hook.param =
param
;
41
glfwSetKeyCallback
(
mlx
->
window
,
mlx_key_callback
);
42
}
43
44
bool
mlx_is_key_down
(
mlx_t
*
mlx
,
keys_t
key)
45
{
46
MLX_NONNULL
(
mlx
);
47
48
return
(
glfwGetKey
(
mlx
->
window
, key) ==
GLFW_PRESS
);
49
}
action
action
Definition
MLX42.h:54
keys_t
enum keys keys_t
mlx_keyfunc
void(* mlx_keyfunc)(mlx_key_data_t keydata, void *param)
Definition
MLX42.h:441
MLX42_Int.h
MLX_NONNULL
#define MLX_NONNULL(var)
Definition
MLX42_Int.h:46
func
GLenum func
Definition
glad.h:3336
length
GLuint GLsizei GLsizei * length
Definition
glad.h:3372
param
GLenum GLfloat param
Definition
glad.h:1968
mlx_key_hook
void mlx_key_hook(mlx_t *mlx, mlx_keyfunc func, void *param)
Definition
mlx_keys.c:33
mlx_key_callback
static void mlx_key_callback(GLFWwindow *window, int32_t key, int32_t scancode, int32_t action, int32_t mods)
Definition
mlx_keys.c:17
mlx_is_key_down
bool mlx_is_key_down(mlx_t *mlx, keys_t key)
Definition
mlx_keys.c:44
mlx_ctx
Definition
MLX42_Int.h:173
mlx_key_data
Definition
MLX42.h:321
mlx_key
Definition
MLX42_Int.h:145
mlx_key::param
void * param
Definition
MLX42_Int.h:146
mlx_key::func
mlx_keyfunc func
Definition
MLX42_Int.h:147
mlx
Definition
MLX42.h:361
mlx::context
void * context
Definition
MLX42.h:363
mlx::window
void * window
Definition
MLX42.h:362
lib
MLX42
src
mlx_keys.c
Generated by
1.9.8