public static VidMode[] GetVideoModes(IntPtr monitor) { IntPtr mptr = _glfwGetVideoModes(monitor, out int count); VidMode[] modes = new VidMode[count]; for (int i = 0; i < count; ++i, mptr += (6 * sizeof(int))) { modes[i] = Marshal.PtrToStructure <VidMode>(mptr); } return(modes); }
public static VidMode[] GetVideoModes(IntPtr monitor, out int count) { var rawVidModes = _GetVideoModes(monitor, out int num); count = num; var vidModes = new VidMode[num]; for (int i = 0; i < vidModes.Length; i++) { vidModes[i] = Marshal.PtrToStructure <VidMode>(rawVidModes + i * Marshal.SizeOf <VidMode>()); } return(vidModes); }