У меня есть код Windows, который создает список доступных разрешений для нескольких мониторов.
Теперь мне нужно портировать его на Linux, поэтому я думаю использовать "FREEGLUT", чтобы я мог получать информацию о мониторах для Linux и окон, используя тот же код.
Мне нужна помощь, чтобы получить некоторый указатель, чтобы получить все поддерживаемое разрешение нескольких мониторов..?
Надеюсь, мы сможем сделать это с помощью бесплатного перенасыщения.
Я использую GLFW 3.0.4, чтобы получить поддерживаемое разрешение нескольких мониторов. Я предпочел использовать определенную платформу для применения разрешения монитора.
// Get Resolution of Multimonitor
int totalMonitor;
GLFWmonitor** monitors = glfwGetMonitors(&totalMonitor);
printf("\n\n---------------------------------------------------------");
printf("\n Total monitor [%d]",totalMonitor);
printf("\n primary monitor [%s]",glfwGetMonitorName(glfwGetPrimaryMonitor()));
printf("\n\n---------------------------------------------------------");
for(int currMonitor=0;currMonitor<totalMonitor;currMonitor++)
{
printf("\n monitor name: [%s]",glfwGetMonitorName(monitors[currMonitor]));
int count;
const GLFWvidmode* modes = glfwGetVideoModes(monitors[currMonitor], &count);
for (int i = 0; i < count; i++)
{
printf("\n %d : [%d X %d]~[%d]",i,modes[i].width,modes[i].height,modes[i].refreshRate);
}
printf("\n---------------------------------------------------------");
}
Linux сам по себе не имеет графической системы. Вы должны полагаться на что-то вроде X11 или Wayland. В настоящее время X11 - это система, которая обычно найдена, и X11-API для перечисления и настройки мониторов называется XRandR. FreeGLUT действительно не раскрывает эту функциональность. Поэтому либо используйте фреймворк, который выполняет или реализует его самостоятельно.
Обратите внимание, что, когда дело касается среды с несколькими мониторами, диспетчер окон также имеет право говорить о размещении окна.