예제 #1
0
 private void SetFrameRateLimiter(bool enabled, int frameRateLimit)
 {
     UIThreadQueue.Enqueue(() =>
     {
         base.IsFixedTimeStep   = enabled;
         base.TargetElapsedTime = TimeSpan.FromSeconds(1d / frameRateLimit);
     });
 }
예제 #2
0
 private void SetVSync(bool enabled)
 {
     UIThreadQueue.Enqueue(() =>
     {
         base.IsFixedTimeStep = enabled;
         DeviceManager.SynchronizeWithVerticalRetrace = enabled;
         DeviceManager.ApplyChanges();
     });
 }
예제 #3
0
        private void OnResourcePackPreLoadCompleted(Image <Rgba32> fontBitmap, List <char> bitmapCharacters)
        {
            UIThreadQueue.Enqueue(() =>
            {
                var scalar = fontBitmap.Width / 128;
                Font       = new BitmapFont(GraphicsDevice, fontBitmap, 16, bitmapCharacters);

                GuiManager.ApplyFont(Font);
            });
        }
예제 #4
0
        private void SetAntiAliasing(bool enabled, int count)
        {
            UIThreadQueue.Enqueue(() =>
            {
                DeviceManager.PreferMultiSampling = enabled;
                GraphicsDevice.PresentationParameters.MultiSampleCount = count;

                DeviceManager.ApplyChanges();
            });
        }
예제 #5
0
        private void SetFullscreen(bool enabled)
        {
            UIThreadQueue.Enqueue(() =>
            {
                if (this.DeviceManager.IsFullScreen != enabled)
                {
                    if (enabled)
                    {
                        WindowSize = Window.ClientBounds.Size;
                    }
                    else
                    {
                        DeviceManager.PreferredBackBufferWidth  = WindowSize.X;
                        DeviceManager.PreferredBackBufferHeight = WindowSize.Y;
                        this.DeviceManager.ApplyChanges();
                    }

                    this.DeviceManager.IsFullScreen = enabled;
                    this.DeviceManager.ApplyChanges();
                }
            });
        }