mirror of
https://github.com/raysan5/raylib.git
synced 2025-09-21 02:38:15 +00:00
Reviewed PR #1407
This commit is contained in:
40
src/core.c
40
src/core.c
@@ -423,8 +423,7 @@ typedef struct CoreData {
|
||||
Vector2 offset; // Mouse offset
|
||||
Vector2 scale; // Mouse scaling
|
||||
|
||||
MouseCursor cursor; // Tracks current mouse cursor
|
||||
void* standardCursors[10]; // Opaque pointers to GLFW cursors
|
||||
int cursor; // Tracks current mouse cursor
|
||||
bool cursorHidden; // Track if cursor is hidden
|
||||
bool cursorOnScreen; // Tracks if cursor is inside client area
|
||||
|
||||
@@ -756,26 +755,6 @@ void InitWindow(int width, int height, const char *title)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(PLATFORM_DESKTOP)
|
||||
// Initialize GLFW's standard cursors
|
||||
const int shapes[] = {
|
||||
0x00036001, // MOUSE_CURSOR_ARROW
|
||||
0x00036002, // MOUSE_CURSOR_IBEAM
|
||||
0x00036003, // MOUSE_CURSOR_CROSSHAIR
|
||||
0x00036004, // MOUSE_CURSOR_POINTING_HAND
|
||||
0x00036005, // MOUSE_CURSOR_RESIZE_EW
|
||||
0x00036006, // MOUSE_CURSOR_RESIZE_NS
|
||||
0x00036007, // MOUSE_CURSOR_RESIZE_NWSE
|
||||
0x00036008, // MOUSE_CURSOR_RESIZE_NESW
|
||||
0x00036009, // MOUSE_CURSOR_RESIZE_ALL
|
||||
0x0003600A, // MOUSE_CURSOR_NOT_ALLOWED
|
||||
};
|
||||
for (int i = 0; i < sizeof(CORE.Input.Mouse.standardCursors) / sizeof(CORE.Input.Mouse.standardCursors[0]); i += 1)
|
||||
{
|
||||
CORE.Input.Mouse.standardCursors[i] = glfwCreateStandardCursor(shapes[i]);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(PLATFORM_WEB)
|
||||
// Detect fullscreen change events
|
||||
emscripten_set_fullscreenchange_callback("#canvas", NULL, 1, EmscriptenFullscreenChangeCallback);
|
||||
@@ -820,11 +799,6 @@ void CloseWindow(void)
|
||||
|
||||
rlglClose(); // De-init rlgl
|
||||
|
||||
#if defined(PLATFORM_DESKTOP)
|
||||
for (int i = 0; i < sizeof(CORE.Input.Mouse.standardCursors) / sizeof(CORE.Input.Mouse.standardCursors[0]); i += 1)
|
||||
glfwDestroyCursor(CORE.Input.Mouse.standardCursors[i]);
|
||||
#endif
|
||||
|
||||
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_WEB)
|
||||
glfwDestroyWindow(CORE.Window.handle);
|
||||
glfwTerminate();
|
||||
@@ -2762,24 +2736,22 @@ float GetMouseWheelMove(void)
|
||||
}
|
||||
|
||||
// Returns mouse cursor
|
||||
MouseCursor GetMouseCursor(void)
|
||||
int GetMouseCursor(void)
|
||||
{
|
||||
return CORE.Input.Mouse.cursor;
|
||||
}
|
||||
|
||||
// Set mouse cursor
|
||||
// NOTE: This is a no-op on platforms other than PLATFORM_DESKTOP
|
||||
void SetMouseCursor(MouseCursor cursor)
|
||||
void SetMouseCursor(int cursor)
|
||||
{
|
||||
#if defined(PLATFORM_DESKTOP)
|
||||
CORE.Input.Mouse.cursor = cursor;
|
||||
if (cursor == MOUSE_CURSOR_DEFAULT)
|
||||
{
|
||||
glfwSetCursor(CORE.Window.handle, NULL);
|
||||
}
|
||||
if (cursor == MOUSE_CURSOR_DEFAULT) glfwSetCursor(CORE.Window.handle, NULL);
|
||||
else
|
||||
{
|
||||
glfwSetCursor(CORE.Window.handle, CORE.Input.Mouse.standardCursors[cursor]);
|
||||
// NOTE: We are relating internal GLFW enum values to our MouseCursor enum values
|
||||
glfwSetCursor(CORE.Window.handle, glfwCreateStandardCursor(0x00036000 + cursor));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
Reference in New Issue
Block a user