summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/rcore_web.c29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/rcore_web.c b/src/rcore_web.c
index 15c7626d..71e818ea 100644
--- a/src/rcore_web.c
+++ b/src/rcore_web.c
@@ -659,7 +659,34 @@ void SetMousePosition(int x, int y)
// Set mouse cursor
void SetMouseCursor(int cursor)
{
- TRACELOG(LOG_INFO, "SetMouseCursor not implemented in rcore_web.c");
+ const char *cursorName;
+ switch (cursor)
+ {
+ case MOUSE_CURSOR_IBEAM: cursorName = "text"; break;
+ case MOUSE_CURSOR_CROSSHAIR: cursorName = "crosshair"; break;
+ case MOUSE_CURSOR_POINTING_HAND: cursorName = "pointer"; break;
+ case MOUSE_CURSOR_RESIZE_EW: cursorName = "ew-resize"; break;
+ case MOUSE_CURSOR_RESIZE_NS: cursorName = "ns-resize"; break;
+ case MOUSE_CURSOR_RESIZE_NWSE: cursorName = "nwse-resize"; break;
+ case MOUSE_CURSOR_RESIZE_NESW: cursorName = "nesw-resize"; break;
+ case MOUSE_CURSOR_RESIZE_ALL: cursorName = "move"; break;
+ case MOUSE_CURSOR_NOT_ALLOWED: cursorName = "not-allowed"; break;
+
+ case MOUSE_CURSOR_ARROW: // can't find a name specifically for arrow cursor
+ case MOUSE_CURSOR_DEFAULT:
+ {
+ cursorName = "default";
+ } break;
+
+ default:
+ {
+ TRACELOG(LOG_WARNING, "Cursor value out of bound (%d). Setting to default", cursor);
+ cursorName = "default";
+ } break;
+ }
+
+ // Set the cursor element on the CSS
+ EM_ASM({document.body.style.cursor = UTF8ToString($0);}, cursorName);
}
// Register all input events