static void ListModes(Glfw.Monitor monitor) { int x, y, widthMM, heightMM; var mode = Glfw.GetVideoMode(monitor); var modes = Glfw.GetVideoModes(monitor); Glfw.GetMonitorPos(monitor, out x, out y); Glfw.GetMonitorPhysicalSize(monitor, out widthMM, out heightMM); Log("Name: {0} ({1})", Glfw.GetMonitorName(monitor), Glfw.GetPrimaryMonitor() == monitor ? "primary" : "secondary"); Log("Current mode: {0}", FormatMode(mode)); Log("Virtual position: {0} {1}", x, y); Log("Physical size: {0} x {1} mm ({2} dpi)", widthMM, heightMM, mode.Width * 25.4f / widthMM); Log("Modes:"); for (int i = 0; i < modes.Length; i++) { string currentMode = modes[i] == mode ? "(current mode)" : ""; Log("{0}: {1} {2}", i, FormatMode(modes[i]), currentMode); } }
static void MonitorCallback(Glfw.Monitor monitor, Glfw.ConnectionEvent evt) { if (evt == Glfw.ConnectionEvent.Connected) { int x, y, widthMM, heightMM; var mode = Glfw.GetVideoMode(monitor); Glfw.GetMonitorPos(monitor, out x, out y); Glfw.GetMonitorPhysicalSize(monitor, out widthMM, out heightMM); Log("{0} at {1}: Monitor {2} ({3}x{4} at {5}x{6}, {7}x{8} mm) was connected", m_Counter++, Glfw.GetTime(), Glfw.GetMonitorName(monitor), mode.Width, mode.Height, x, y, widthMM, heightMM); } else if (evt == Glfw.ConnectionEvent.Disconnected) { Log("{0} at {1}: Monitor {2} was disconnected", m_Counter++, Glfw.GetTime(), Glfw.GetMonitorName(monitor)); } }