Пример #1
0
        /// <summary>
        /// Creates a set of window settings from the current application state.
        /// </summary>
        /// <param name="uv">The Ultraviolet context.</param>
        /// <returns>The window settings which were retrieved.</returns>
        public static UltravioletApplicationWindowSettings FromCurrentSettings(UltravioletContext uv)
        {
            Contract.Require(uv, nameof(uv));

            var primary = uv.GetPlatform().Windows.GetPrimary();

            if (primary == null)
            {
                return(null);
            }

            var settings = new UltravioletApplicationWindowSettings();

            settings.WindowState                      = primary.GetWindowState();
            settings.WindowMode                       = primary.GetWindowMode();
            settings.WindowScale                      = primary.WindowScale;
            settings.WindowedPosition                 = new Rectangle(primary.WindowedPosition, primary.WindowedClientSize);
            settings.FullscreenDisplayMode            = primary.GetFullscreenDisplayMode();
            settings.GrabsMouseWhenWindowed           = primary.GrabsMouseWhenWindowed;
            settings.GrabsMouseWhenFullscreenWindowed = primary.GrabsMouseWhenFullscreenWindowed;
            settings.GrabsMouseWhenFullscreen         = primary.GrabsMouseWhenFullscreen;
            settings.SynchronizeWithVerticalRetrace   = primary.SynchronizeWithVerticalRetrace;

            return(settings);
        }
Пример #2
0
        /// <summary>
        /// Applies the specified settings.
        /// </summary>
        /// <param name="uv">The Ultraviolet context.</param>
        public void Apply(UltravioletContext uv)
        {
            var primary = uv.GetPlatform().Windows.GetPrimary();

            if (primary == null)
            {
                return;
            }

            primary.SetWindowState(WindowState);
            primary.SetWindowMode(WindowMode);
            primary.SetWindowBounds(WindowedPosition, Math.Max(1f, WindowScale));
            primary.GrabsMouseWhenWindowed           = GrabsMouseWhenWindowed;
            primary.GrabsMouseWhenFullscreenWindowed = GrabsMouseWhenFullscreenWindowed;
            primary.GrabsMouseWhenFullscreen         = GrabsMouseWhenFullscreen;
            primary.SynchronizeWithVerticalRetrace   = SynchronizeWithVerticalRetrace;

            if (FullscreenDisplayMode != null)
            {
                primary.SetFullscreenDisplayMode(FullscreenDisplayMode);
            }
        }