LINUX.ORG.RU

GLFW: непонятка с monitor workarea & maximized window coords.

 ,


0

1

У меня моник 2K (2560x1440), glfwGetMonitorWorkarea() возвращает (0,0,2560,1405), где 1440-1405=35 высоты занимает taskbar:

$ grep panel_size ~/.config/tint2/tint2rc 
panel_size = 100% 35

Если я делаю glfwMaximizeWindow(window), то в коллбэки прилетает три события: maximize(true), resize(2560,1381), move(0,24).

Что это за 1381 и 24 (в сумме дающие 1405) и откуда они взялись?

★★★★★

Последнее исправление: dimgel (всего исправлений: 7)

The window size is in screen coordinates, not pixels. Use the framebuffer size, which is in pixels, for pixel-based calls.

Может это?

If you wish to be notified when the framebuffer of a window is resized, whether by the user or the system, set a size callback. glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);

Сигнатура у колбека такая же, как в случае с window size.

anonymous
()