public static WindowHandle CreateWindow(int width, int height, string title, MonitorHandle monitor = default, WindowHandle share = default) { var handle = glfwCreateWindow(width, height, title, monitor, share); CheckError(nameof(CreateWindow)); return(handle); }
private static void OnMonitorCallback(MonitorHandle monitor, ConnectState state) { var name = Glfw.GetMonitorName(monitor); var primary = Glfw.GetPrimaryMonitor(); var isPrimary = primary == monitor; // Connected Monitor if (state == ConnectState.Connected) { // We can only insert if unknown if (!_monitors.ContainsKey(monitor)) { _monitors[monitor] = new Monitor(name, monitor); } } // Disconnected Monitor else { // We can only remove if known already if (_monitors.ContainsKey(monitor)) { _monitors.Remove(monitor); } } // Set default monitor DefaultMonitor = _monitors[primary]; }
public static string GetMonitorName(MonitorHandle monitor) { var cstr = glfwGetMonitorName(monitor); CheckError(nameof(GetMonitorName)); return(Marshal.PtrToStringAnsi((IntPtr)cstr)); }
public static VideoMode GetVideoMode(MonitorHandle monitor) { var ptr = glfwGetVideoMode(monitor); CheckError(nameof(GetVideoMode)); return(Marshal.PtrToStructure <VideoMode>(ptr)); }
public static VideoMode[] GetVideoModes(MonitorHandle monitor) { var array = glfwGetVideoModes(monitor, out var count); CheckError(nameof(GetVideoModes)); var modes = new VideoMode[count]; for (var i = 0; i < count; i++) { modes[i] = array[i]; } return(modes); }
public static MonitorHandle[] GetMonitors() { var array = glfwGetMonitors(out var count); CheckError(nameof(GetMonitors)); var monitors = new MonitorHandle[count]; for (var i = 0; i < count; i++) { monitors[i] = array[i]; } return(monitors); }
public static void GetMonitorContentScale(MonitorHandle monitor, out float xScale, out float yScale) { glfwGetMonitorContentScale(monitor, out xScale, out yScale); CheckError(nameof(GetMonitorContentScale)); }
public static void GetMonitorPhysicalSize(MonitorHandle monitor, out int widthMM, out int heightMM) { glfwGetMonitorPhysicalSize(monitor, out widthMM, out heightMM); CheckError(nameof(GetMonitorPhysicalSize)); }
public static void GetMonitorWorkarea(MonitorHandle monitor, out int x, out int y, out int width, out int height) { glfwGetMonitorWorkarea(monitor, out x, out y, out width, out height); CheckError(nameof(GetMonitorWorkarea)); }
private static extern void glfwGetMonitorWorkarea(MonitorHandle monitor, out int x, out int y, out int width, out int height);
public static void SetWindowMonitor(WindowHandle window, MonitorHandle monitor, int x, int y, int width, int height, int refresh) { glfwSetWindowMonitor(window, monitor, x, y, width, height, refresh); CheckError(nameof(SetWindowMonitor)); }
private static extern void glfwSetGamma(MonitorHandle monitor, float gamma);
private static extern IntPtr glfwGetVideoMode(MonitorHandle monitor);
private static extern VideoMode *glfwGetVideoModes(MonitorHandle monitor, out int count);
private static extern char *glfwGetMonitorName(MonitorHandle monitor);
private static extern void glfwGetMonitorContentScale(MonitorHandle monitor, out float xScale, out float yScale);
private static extern void glfwGetMonitorPhysicalSize(MonitorHandle monitor, out int widthMM, out int heightMM);
public static void SetGamma(MonitorHandle monitor, float gamma) { glfwSetGamma(monitor, gamma); CheckError(nameof(SetGamma)); }
private static extern void glfwSetWindowMonitor(WindowHandle window, MonitorHandle monitor, int x, int y, int width, int height, int refresh);
private static extern void glfwGetMonitorPos(MonitorHandle monitor, out int x, out int y);
public static void GetMonitorPosition(MonitorHandle monitor, out int x, out int y) { glfwGetMonitorPos(monitor, out x, out y); CheckError(nameof(GetMonitorPosition)); }
private static extern WindowHandle glfwCreateWindow(int width, int height, string title, MonitorHandle monitor, WindowHandle share);