/// <summary> /// Selects an available resolution that matches the specified parameters. /// </summary> /// <param name="width">The width of the requested resolution in pixels.</param> /// <param name="height">The height of the requested resolution in pixels.</param> /// <param name="bitsPerPixel">The bits per pixel of the requested resolution.</param> /// <param name="refreshRate">The refresh rate of the requested resolution in hertz.</param> /// <returns>The requested DisplayResolution or null if the parameters cannot be met.</returns> /// <remarks> /// <para>If a matching resolution is not found, this function will retry ignoring the specified refresh rate, /// bits per pixel and resolution, in this order. If a matching resolution still doesn't exist, this function will /// return the current resolution.</para> /// <para>A parameter set to 0 or negative numbers will not be used in the search (e.g. if refreshRate is 0, /// any refresh rate will be considered valid).</para> /// <para>This function allocates memory.</para> /// </remarks> public DisplayResolution SelectResolution(int width, int height, int bitsPerPixel, float refreshRate) { DisplayResolution resolution = FindResolution(width, height, bitsPerPixel, refreshRate); if (resolution == null) { resolution = FindResolution(width, height, bitsPerPixel, 0); } if (resolution == null) { resolution = FindResolution(width, height, 0, 0); } if (resolution == null) { return(current_resolution); } return(resolution); }
/// <summary>Restores the original resolution of the DisplayDevice.</summary> /// <exception cref="Graphics.GraphicsModeException">Thrown if the original resolution could not be restored.</exception> public void RestoreResolution() { if (OriginalResolution != null) { //effect.FadeOut(); if (implementation.TryRestoreResolution(this)) { current_resolution = OriginalResolution; OriginalResolution = null; } else { throw new Graphics.GraphicsModeException(String.Format("Device {0}: Failed to restore resolution.", this)); } //effect.FadeIn(); } }