Hopefully fixed high DPI display mouse mapping #74

This commit is contained in:
vurtun 2016-04-27 13:08:31 +02:00
parent 4d36ca410e
commit bbe282a272
5 changed files with 10 additions and 10 deletions

View File

@ -356,8 +356,8 @@ nk_glfw3_new_frame(void)
}
glfwGetCursorPos(win, &x, &y);
x *= (double)(int)((float)glfw.width/(float)glfw.display_width);
y *= (double)(int)((float)glfw.height/(float)glfw.display_height);
x *= (double)(int)((float)glfw.display_width/(float)glfw.width);
y *= (double)(int)((float)glfw.display_height/(float)glfw.height);
nk_input_motion(ctx, (int)x, (int)y);
nk_input_button(ctx, NK_BUTTON_LEFT, (int)x, (int)y, glfwGetMouseButton(win, GLFW_MOUSE_BUTTON_LEFT) == GLFW_PRESS);

View File

@ -350,8 +350,8 @@ int main(int argc, char *argv[])
nk_input_key(&ctx, NK_KEY_SHIFT, 0);
}
glfwGetCursorPos(win, &x, &y);
x *= (double)(int)((float)width/(float)display_width);
y *= (double)(int)((float)height/(float)display_height);
x *= (double)(int)((float)display_width/(float)width);
y *= (double)(int)((float)display_height/(float)height);
nk_input_motion(&ctx, (int)x, (int)y);
nk_input_button(&ctx, NK_BUTTON_LEFT, (int)x, (int)y, glfwGetMouseButton(win, GLFW_MOUSE_BUTTON_LEFT) == GLFW_PRESS);

View File

@ -857,8 +857,8 @@ int main(int argc, char *argv[])
nk_input_key(&ctx, NK_KEY_SHIFT, 0);
}
glfwGetCursorPos(win, &x, &y);
x *= (double)(int)((float)width/(float)display_width);
y *= (double)(int)((float)height/(float)display_height);
x *= (double)(int)((float)display_width/(float)width);
y *= (double)(int)((float)display_height/(float)height);
nk_input_motion(&ctx, (int)x, (int)y);
nk_input_button(&ctx, NK_BUTTON_LEFT, (int)x, (int)y, glfwGetMouseButton(win, GLFW_MOUSE_BUTTON_LEFT) == GLFW_PRESS);

View File

@ -697,8 +697,8 @@ int main(int argc, char *argv[])
nk_input_key(&ctx, NK_KEY_SHIFT, 0);
}
glfwGetCursorPos(win, &x, &y);
x *= (double)(int)((float)width/(float)display_width);
y *= (double)(int)((float)height/(float)display_height);
x *= (double)(int)((float)display_width/(float)width);
y *= (double)(int)((float)display_height/(float)height);
nk_input_motion(&ctx, (int)x, (int)y);
nk_input_button(&ctx, NK_BUTTON_LEFT, (int)x, (int)y, glfwGetMouseButton(win, GLFW_MOUSE_BUTTON_LEFT) == GLFW_PRESS);

View File

@ -1446,8 +1446,8 @@ int main(int argc, char *argv[])
nk_input_key(&ctx, NK_KEY_SHIFT, 0);
}
glfwGetCursorPos(win, &x, &y);
x *= (double)(int)((float)width/(float)display_width);
y *= (double)(int)((float)height/(float)display_height);
x *= (double)(int)((float)display_width/(float)width);
y *= (double)(int)((float)display_height/(float)height);
nk_input_motion(&ctx, (int)x, (int)y);
nk_input_button(&ctx, NK_BUTTON_LEFT, (int)x, (int)y, glfwGetMouseButton(win, GLFW_MOUSE_BUTTON_LEFT) == GLFW_PRESS);