clay/examples/RSGL_rendering/RGFW_windowing/clay_backend_rgfw.c

37 lines
1.3 KiB
C
Raw Normal View History

Clay_Vector2 mousePosition;
void clay_RGFW_update(RGFW_window* win, double deltaTime) {
RGFW_Event ev = win->event;
switch (ev.type) {
case RGFW_mouseButtonPressed: {
switch (ev.button) {
case RGFW_mouseScrollUp:
case RGFW_mouseScrollDown:
Clay_UpdateScrollContainers(
false,
(Clay_Vector2) { 0, ev.scroll },
0
);
break;
default:
Clay_SetPointerState(mousePosition, RGFW_isMousePressed(win, RGFW_mouseLeft));
break;
}
break;
}
case RGFW_mouseButtonReleased:
Clay_SetPointerState(mousePosition, RGFW_isMousePressed(win, RGFW_mouseLeft));
break;
case RGFW_mousePosChanged:
mousePosition = (Clay_Vector2){ (float)ev.point.x, (float)ev.point.y };
Clay_SetPointerState(mousePosition, RGFW_isMousePressed(win, RGFW_mouseLeft));
break;
case RGFW_windowResized:
Clay_SetLayoutDimensions((Clay_Dimensions) { (float)win->r.w, (float)win->r.h });
break;
default: break;
}
}