public override void SetupWindow(FrameworkConfigManager config) { config.BindWith(FrameworkSetting.SizeFullscreen, sizeFullscreen); sizeFullscreen.ValueChanged += e => { if (WindowState.ToOsuTK() == osuTK.WindowState.Fullscreen) { ChangeResolution(CurrentDisplayDevice, e.NewValue); } }; sizeWindowed.ValueChanged += newSize => { if (WindowState.ToOsuTK() == osuTK.WindowState.Normal) { ClientSize = sizeWindowed.Value; } }; config.BindWith(FrameworkSetting.WindowedSize, sizeWindowed); config.BindWith(FrameworkSetting.WindowedPositionX, windowPositionX); config.BindWith(FrameworkSetting.WindowedPositionY, windowPositionY); config.BindWith(FrameworkSetting.LastDisplayDevice, windowDisplayIndex); windowDisplayIndex.BindValueChanged(windowDisplayIndexChanged, true); config.BindWith(FrameworkSetting.WindowMode, WindowMode); WindowMode.BindValueChanged(windowModeChanged, true); config.BindWith(FrameworkSetting.ConfineMouseMode, ConfineMouseMode); ConfineMouseMode.BindValueChanged(confineMouseModeChanged, true); config.BindWith(FrameworkSetting.MapAbsoluteInputToWindow, MapAbsoluteInputToWindow); Exited += onExit; }