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();
}