protected void OnMove(object sender, EventArgs e) { if (inWindowModeTransition) { return; } if (WindowMode.Value == Configuration.WindowMode.Windowed) { // Values are clamped to a range of [-0.5, 1.5], so if more than half of the window was // outside of the combined screen area before the game was closed, it will be moved so // that at least half of it is on screen after a restart. windowPositionX.Value = Position.X; windowPositionY.Value = Position.Y; } windowDisplayIndex.Value = CurrentDisplay.GetIndex(); }
/// <summary> /// Converts an osuTK <see cref="DisplayDevice"/> to a <see cref="Display"/> structure. /// </summary> /// <param name="device">The <see cref="DisplayDevice"/> to convert.</param> /// <returns>A <see cref="Display"/> structure populated with the corresponding properties and <see cref="DisplayMode"/>s.</returns> internal static Display ToDisplay(this DisplayDevice device) => new Display((int)device.GetIndex(), device.GetIndex().ToString(), device.Bounds, device.AvailableResolutions.Select(ToDisplayMode).ToArray());