|
|
@ -522,7 +522,9 @@ GLFWAPI void glfwSetInputMode(GLFWwindow* handle, int mode, int value) |
|
|
|
|
|
|
|
|
|
|
|
_GLFW_REQUIRE_INIT(); |
|
|
|
_GLFW_REQUIRE_INIT(); |
|
|
|
|
|
|
|
|
|
|
|
if (mode == GLFW_CURSOR) |
|
|
|
switch (mode) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
case GLFW_CURSOR: |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (value != GLFW_CURSOR_NORMAL && |
|
|
|
if (value != GLFW_CURSOR_NORMAL && |
|
|
|
value != GLFW_CURSOR_HIDDEN && |
|
|
|
value != GLFW_CURSOR_HIDDEN && |
|
|
@ -543,8 +545,10 @@ GLFWAPI void glfwSetInputMode(GLFWwindow* handle, int mode, int value) |
|
|
|
&window->virtualCursorPosX, |
|
|
|
&window->virtualCursorPosX, |
|
|
|
&window->virtualCursorPosY); |
|
|
|
&window->virtualCursorPosY); |
|
|
|
_glfw.platform.setCursorMode(window, value); |
|
|
|
_glfw.platform.setCursorMode(window, value); |
|
|
|
|
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
else if (mode == GLFW_STICKY_KEYS) |
|
|
|
|
|
|
|
|
|
|
|
case GLFW_STICKY_KEYS: |
|
|
|
{ |
|
|
|
{ |
|
|
|
value = value ? GLFW_TRUE : GLFW_FALSE; |
|
|
|
value = value ? GLFW_TRUE : GLFW_FALSE; |
|
|
|
if (window->stickyKeys == value) |
|
|
|
if (window->stickyKeys == value) |
|
|
@ -563,8 +567,10 @@ GLFWAPI void glfwSetInputMode(GLFWwindow* handle, int mode, int value) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
window->stickyKeys = value; |
|
|
|
window->stickyKeys = value; |
|
|
|
|
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
else if (mode == GLFW_STICKY_MOUSE_BUTTONS) |
|
|
|
|
|
|
|
|
|
|
|
case GLFW_STICKY_MOUSE_BUTTONS: |
|
|
|
{ |
|
|
|
{ |
|
|
|
value = value ? GLFW_TRUE : GLFW_FALSE; |
|
|
|
value = value ? GLFW_TRUE : GLFW_FALSE; |
|
|
|
if (window->stickyMouseButtons == value) |
|
|
|
if (window->stickyMouseButtons == value) |
|
|
@ -583,12 +589,16 @@ GLFWAPI void glfwSetInputMode(GLFWwindow* handle, int mode, int value) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
window->stickyMouseButtons = value; |
|
|
|
window->stickyMouseButtons = value; |
|
|
|
|
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
else if (mode == GLFW_LOCK_KEY_MODS) |
|
|
|
|
|
|
|
|
|
|
|
case GLFW_LOCK_KEY_MODS: |
|
|
|
{ |
|
|
|
{ |
|
|
|
window->lockKeyMods = value ? GLFW_TRUE : GLFW_FALSE; |
|
|
|
window->lockKeyMods = value ? GLFW_TRUE : GLFW_FALSE; |
|
|
|
|
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
else if (mode == GLFW_RAW_MOUSE_MOTION) |
|
|
|
|
|
|
|
|
|
|
|
case GLFW_RAW_MOUSE_MOTION: |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (!_glfw.platform.rawMouseMotionSupported()) |
|
|
|
if (!_glfw.platform.rawMouseMotionSupported()) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -603,8 +613,10 @@ GLFWAPI void glfwSetInputMode(GLFWwindow* handle, int mode, int value) |
|
|
|
|
|
|
|
|
|
|
|
window->rawMouseMotion = value; |
|
|
|
window->rawMouseMotion = value; |
|
|
|
_glfw.platform.setRawMouseMotion(window, value); |
|
|
|
_glfw.platform.setRawMouseMotion(window, value); |
|
|
|
|
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
_glfwInputError(GLFW_INVALID_ENUM, "Invalid input mode 0x%08X", mode); |
|
|
|
_glfwInputError(GLFW_INVALID_ENUM, "Invalid input mode 0x%08X", mode); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|