Merge branch 'glfw_upstream' of https://github.com/Luflosi/kitty

This commit is contained in:
Kovid Goyal 2020-05-25 22:17:42 +05:30
commit 542880f87b
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

24
glfw/wl_window.c vendored
View File

@ -1239,11 +1239,12 @@ void _glfwPlatformSetWindowOpacity(_GLFWwindow* window UNUSED, float opacity UNU
void _glfwPlatformSetRawMouseMotion(_GLFWwindow *window UNUSED, bool enabled UNUSED) void _glfwPlatformSetRawMouseMotion(_GLFWwindow *window UNUSED, bool enabled UNUSED)
{ {
// This is handled in relativePointerHandleRelativeMotion
} }
bool _glfwPlatformRawMouseMotionSupported(void) bool _glfwPlatformRawMouseMotionSupported(void)
{ {
return false; return true;
} }
void _glfwPlatformPollEvents(void) void _glfwPlatformPollEvents(void)
@ -1344,19 +1345,30 @@ static void relativePointerHandleRelativeMotion(void* data,
struct zwp_relative_pointer_v1* pointer UNUSED, struct zwp_relative_pointer_v1* pointer UNUSED,
uint32_t timeHi UNUSED, uint32_t timeHi UNUSED,
uint32_t timeLo UNUSED, uint32_t timeLo UNUSED,
wl_fixed_t dx UNUSED, wl_fixed_t dx,
wl_fixed_t dy UNUSED, wl_fixed_t dy,
wl_fixed_t dxUnaccel, wl_fixed_t dxUnaccel,
wl_fixed_t dyUnaccel) wl_fixed_t dyUnaccel)
{ {
_GLFWwindow* window = data; _GLFWwindow* window = data;
double xpos = window->virtualCursorPosX;
double ypos = window->virtualCursorPosY;
if (window->cursorMode != GLFW_CURSOR_DISABLED) if (window->cursorMode != GLFW_CURSOR_DISABLED)
return; return;
_glfwInputCursorPos(window, if (window->rawMouseMotion)
window->virtualCursorPosX + wl_fixed_to_double(dxUnaccel), {
window->virtualCursorPosY + wl_fixed_to_double(dyUnaccel)); xpos += wl_fixed_to_double(dxUnaccel);
ypos += wl_fixed_to_double(dyUnaccel);
}
else
{
xpos += wl_fixed_to_double(dx);
ypos += wl_fixed_to_double(dy);
}
_glfwInputCursorPos(window, xpos, ypos);
} }
static const struct zwp_relative_pointer_v1_listener relativePointerListener = { static const struct zwp_relative_pointer_v1_listener relativePointerListener = {