/// <summary> /// Initializes a new instance of the <see cref="DisplayMode"/> class. /// </summary> /// <param name="format">The format.</param> /// <param name="width">The width.</param> /// <param name="height">The height.</param> /// <param name="refreshRate">The refresh rate.</param> public DisplayMode(PixelFormat format, int width, int height, Rational refreshRate) { Format = format; Width = width; Height = height; RefreshRate = refreshRate; }
/// <summary> /// Initializes a new instance of the <see cref="GraphicsDeviceManager" /> class. /// </summary> /// <param name="game">The game.</param> /// <exception cref="System.ArgumentNullException">The game instance cannot be null.</exception> internal GraphicsDeviceManager(GameBase game) { this.game = game; if (this.game == null) { throw new ArgumentNullException("game"); } lockDeviceCreation = new object(); // Defines all default values SynchronizeWithVerticalRetrace = true; PreferredColorSpace = ColorSpace.Linear; PreferredBackBufferFormat = PixelFormat.R8G8B8A8_UNorm;; PreferredDepthStencilFormat = PixelFormat.D24_UNorm_S8_UInt; preferredBackBufferWidth = DefaultBackBufferWidth; preferredBackBufferHeight = DefaultBackBufferHeight; preferredRefreshRate = new Rational(60, 1); PreferredMultiSampleLevel = MSAALevel.None; PreferredGraphicsProfile = new[] { #if SILICONSTUDIO_PLATFORM_WINDOWS_PHONE GraphicsProfile.Level_9_3, #else GraphicsProfile.Level_11_1, GraphicsProfile.Level_11_0, GraphicsProfile.Level_10_1, GraphicsProfile.Level_10_0, GraphicsProfile.Level_9_3, GraphicsProfile.Level_9_2, GraphicsProfile.Level_9_1, #endif }; // Register the services to the registry game.Services.AddService(typeof(IGraphicsDeviceManager), this); game.Services.AddService(typeof(IGraphicsDeviceService), this); graphicsDeviceFactory = (IGraphicsDeviceFactory)game.Services.GetService(typeof(IGraphicsDeviceFactory)); if (graphicsDeviceFactory == null) { throw new InvalidOperationException("IGraphicsDeviceFactory is not registered as a service"); } game.WindowCreated += GameOnWindowCreated; }