MLX42 1.0
MLX42
Loading...
Searching...
No Matches
mlx_cursor.c File Reference
#include "MLX42/MLX42_Int.h"
Include dependency graph for mlx_cursor.c:

Go to the source code of this file.

Functions

mlx_win_cursor_tmlx_create_std_cursor (cursor_t type)
 
mlx_win_cursor_tmlx_create_cursor (mlx_texture_t *texture)
 
void mlx_destroy_cursor (mlx_win_cursor_t *cursor)
 
void mlx_set_cursor (mlx_t *mlx, mlx_win_cursor_t *cursor)
 
void mlx_set_cursor_mode (mlx_t *mlx, mouse_mode_t mode)
 

Function Documentation

◆ mlx_create_cursor()

mlx_win_cursor_t * mlx_create_cursor ( mlx_texture_t texture)

Allows for the creation of custom cursors with a given texture.

Use mlx_set_cursor to select the specific cursor. Cursors are destroyed at mlx_terminate().

Parameters
[in]textureThe texture to use as cursor.
Returns
The cursor object or null on failure.

Definition at line 27 of file mlx_cursor.c.

28{
30
33 .width = texture->width,
34 .height = texture->height,
35 .pixels = texture->pixels
36 };
37
38 if ((cursor = glfwCreateCursor(&image, 0, 0)))
39 return (cursor);
40 return ((void *)mlx_error(MLX_MEMFAIL));
41}
@ MLX_MEMFAIL
Definition MLX42.h:383
cursor
Definition MLX42.h:118
#define MLX_NONNULL(var)
Definition MLX42_Int.h:46
bool mlx_error(mlx_errno_t val)
Definition mlx_error.c:43
GLuint texture
Definition glad.h:2899
GLenum GLenum GLsizei void * image
Definition glad.h:5132
GLuint GLsizei GLsizei * length
Definition glad.h:3372
Here is the call graph for this function:

◆ mlx_create_std_cursor()

mlx_win_cursor_t * mlx_create_std_cursor ( cursor_t  type)

Retrieves the system standard cursor.

Parameters
[in]typeThe standard cursor type to create.
Returns
The cursor object or null on failure.

Definition at line 17 of file mlx_cursor.c.

18{
19 MLX_ASSERT(type >= MLX_CURSOR_ARROW && type < MLX_CURSOR_VRESIZE, "Invalid standard cursor type");
20
23 return (cursor);
24 return ((void *)mlx_error(MLX_MEMFAIL));
25}
@ MLX_CURSOR_ARROW
Definition MLX42.h:119
@ MLX_CURSOR_VRESIZE
Definition MLX42.h:124
#define MLX_ASSERT(cond, msg)
Definition MLX42_Int.h:45
GLint GLint GLsizei GLint GLenum GLenum type
Definition glad.h:1980
Here is the call graph for this function:

◆ mlx_destroy_cursor()

void mlx_destroy_cursor ( mlx_win_cursor_t cursor)

Destroys the given cursor object.

Parameters
[in]cursorThe cursor object to destroy.

Definition at line 43 of file mlx_cursor.c.

◆ mlx_set_cursor()

void mlx_set_cursor ( mlx_t mlx,
mlx_win_cursor_t cursor 
)

Sets the current cursor to the given custom cursor.

Parameters
[in]mlxThe MLX instance handle.
[in]cursorThe cursor object to display, if null default cursor is selected.

Definition at line 50 of file mlx_cursor.c.

51{
54
56}
Definition MLX42.h:361
void * window
Definition MLX42.h:362

◆ mlx_set_cursor_mode()

void mlx_set_cursor_mode ( mlx_t mlx,
mouse_mode_t  mode 
)

Defines the state for the cursor.

Parameters
[in]mlxThe MLX instance handle.
[in]modeA specified mouse mode.

Definition at line 58 of file mlx_cursor.c.

59{
61
63}
GLenum mode
Definition glad.h:1953