OurSonic.SonicEngine.resizeCanvas C# (CSharp) Method

resizeCanvas() public method

public resizeCanvas ( bool resetOverride ) : void
resetOverride bool
return void
        public void resizeCanvas(bool resetOverride)
        {
            canvasWidth = jQuery.Window.GetWidth();
            canvasHeight = jQuery.Window.GetHeight();

            uiCanvas.DomCanvas.Attribute("width", canvasWidth.ToString());
            uiCanvas.DomCanvas.Attribute("height", canvasHeight.ToString());

            sonicManager.WindowLocation = Constants.DefaultWindowLocation(sonicManager.CurrentGameState,
                                                                          uiCanvas,
                                                                          sonicManager.Scale);

            var wide = new DoublePoint(( canvasWidth / 320d / sonicManager.Scale.X ), ( canvasHeight / 224d / sonicManager.Scale.Y ));
            var even = new DoublePoint(Math.Min(( canvasWidth / 320d / sonicManager.Scale.X ), ( canvasHeight / 224d / sonicManager.Scale.Y )), Math.Min(( canvasWidth / 320d / sonicManager.Scale.X ), ( canvasHeight / 224d / sonicManager.Scale.Y )));

            sonicManager.RealScale = !fullscreenMode
                                             ? new DoublePoint(1, 1)
                                             : ( WideScreen ? wide : even );

            if (resetOverride || sonicManager.overrideRealScale == null)
                sonicManager.overrideRealScale = new DoublePoint(sonicManager.RealScale);
            else sonicManager.RealScale = new DoublePoint(sonicManager.overrideRealScale);

            gameCanvas.DomCanvas.Attribute("width",
                                           ( sonicManager.WindowLocation.Width *
                                             ( sonicManager.CurrentGameState == GameState.Playing
                                                       ? sonicManager.Scale.X * sonicManager.RealScale.X
                                                       : 1 ) ).ToString());
            gameCanvas.DomCanvas.Attribute("height",
                                           ( sonicManager.WindowLocation.Height 
*
                                             ( sonicManager.CurrentGameState == GameState.Playing
                                                       ? sonicManager.Scale.Y * sonicManager.RealScale.Y
                                                       : 1 ) ).ToString());

            uiGoodWidth = canvasWidth;
            gameGoodWidth = (int) ( sonicManager.WindowLocation.Width * ( sonicManager.CurrentGameState == GameState.Playing ? sonicManager.Scale.X * sonicManager.RealScale.X : 1 ) );

            var screenOffset = sonicManager.CurrentGameState == GameState.Playing
                                       ? new DoublePoint(( ( canvasWidth / 2d -
                                                             sonicManager.WindowLocation.Width * sonicManager.Scale.X *
                                                             sonicManager.RealScale.X / 2 ) ),
                                                         ( canvasHeight / 2d -
                                                           sonicManager.WindowLocation.Height * sonicManager.Scale.Y *
                                                           sonicManager.RealScale.Y / 2 ))
                                       : new DoublePoint(0, 0);
            gameCanvas.DomCanvas.CSS("left", screenOffset.X.ToPx());
            gameCanvas.DomCanvas.CSS("top", screenOffset.Y.ToPx());
            sonicManager.DestroyCanvases();
            sonicManager.ResetCanvases();

        }