GLEW против WinAPI, проблема с размером окон и координатами щелчкаC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 GLEW против WinAPI, проблема с размером окон и координатами щелчка

Сообщение Anonymous »

У меня возникают некоторые расхождения при использовании разных оконных API. Когда я создаю окно с помощью WinAPI, оно в 1,5 раза больше, чем окно, созданное GLFW. В документации обоих указано, что ширина и высота берутся в экранных координатах.

Я заглянул в настройки монитора, а там указано «Масштаб 150%», что соответствует расхождению в 1,5 раза:
Изображение

Чтобы решить эту проблему, я использовал glfwWindowHint(GLFW_SCALE_TO_MONITOR, GLFW_TRUE); в GLFW. Это решило проблему размера окна, но теперь в GLFW координаты щелчка мыши, предоставляемые в обратных вызовах, в 1,5 раза больше. Итак, проблема в 150% несоответствии координат мыши между GLFW и WinAPI. GLFW по-прежнему возвращает координаты в пикселях, а не экранные.

Вот код GLFW
glfwSetMouseButtonCallback(window,
[](GLFWwindow* window, int button, int action, int modsd)
{
if (action == GLFW_RELEASE)
{
double xpos, ypos;
cout

Подробнее здесь: https://stackoverflow.com/questions/787 ... es-problem
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»