mirror of
https://github.com/photonstorm/phaser
synced 2024-11-15 01:17:43 +00:00
Merge pull request #245 from oysterCrusher/dev
Introduced a separate stage.fullScreenScaleMode property.
This commit is contained in:
commit
fe5fdb164c
3 changed files with 47 additions and 12 deletions
|
@ -13,6 +13,13 @@ function create() {
|
|||
|
||||
game.stage.backgroundColor = '#e3ed49';
|
||||
|
||||
// Stretch to fill
|
||||
// game.stage.fullScreenScaleMode = Phaser.StageScaleMode.EXACT_FIT;
|
||||
// Keep original size
|
||||
// game.stage.fullScreenScaleMode = Phaser.StageScaleMode.NO_SCALE;
|
||||
// Maintain aspect ratio
|
||||
game.stage.fullScreenScaleMode = Phaser.StageScaleMode.SHOW_ALL;
|
||||
|
||||
game.input.onDown.add(gofull, this);
|
||||
|
||||
}
|
||||
|
|
|
@ -52,6 +52,11 @@ Phaser.Stage = function (game, width, height) {
|
|||
*/
|
||||
this.scaleMode = Phaser.StageScaleMode.NO_SCALE;
|
||||
|
||||
/*
|
||||
* @property {number} fullScreenScaleMode - Scale mode to be used in fullScreen
|
||||
*/
|
||||
this.fullScreenScaleMode = Phaser.StageScaleMode.NO_SCALE;
|
||||
|
||||
/**
|
||||
* @property {Phaser.StageScaleMode} scale - The scale of the current running game.
|
||||
*/
|
||||
|
|
|
@ -268,7 +268,7 @@ Phaser.StageScaleMode.prototype = {
|
|||
}
|
||||
else if (element['mozRequestFullScreen'])
|
||||
{
|
||||
element['mozRequestFullScreen']();
|
||||
element.parentNode['mozRequestFullScreen']();
|
||||
}
|
||||
else if (element['webkitRequestFullScreen'])
|
||||
{
|
||||
|
@ -309,6 +309,8 @@ Phaser.StageScaleMode.prototype = {
|
|||
this.event = event;
|
||||
|
||||
if (this.isFullScreen)
|
||||
{
|
||||
if (this.game.stage.fullScreenScaleMode === Phaser.StageScaleMode.EXACT_FIT)
|
||||
{
|
||||
this.game.stage.canvas.style['width'] = '100%';
|
||||
this.game.stage.canvas.style['height'] = '100%';
|
||||
|
@ -321,6 +323,13 @@ Phaser.StageScaleMode.prototype = {
|
|||
this.scaleFactor.x = this.game.width / this.width;
|
||||
this.scaleFactor.y = this.game.height / this.height;
|
||||
}
|
||||
else if (this.game.stage.fullScreenScaleMode === Phaser.StageScaleMode.SHOW_ALL)
|
||||
{
|
||||
this.game.stage.scale.setShowAll();
|
||||
this.game.stage.scale.refresh();
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
this.game.stage.canvas.style['width'] = this.game.width + 'px';
|
||||
|
@ -560,7 +569,9 @@ Phaser.StageScaleMode.prototype = {
|
|||
{
|
||||
this.setMaximum();
|
||||
}
|
||||
else if (this.game.stage.scaleMode == Phaser.StageScaleMode.EXACT_FIT)
|
||||
else if (!this.isFullScreen)
|
||||
{
|
||||
if (this.game.stage.scaleMode == Phaser.StageScaleMode.EXACT_FIT)
|
||||
{
|
||||
this.setExactFit();
|
||||
}
|
||||
|
@ -568,6 +579,18 @@ Phaser.StageScaleMode.prototype = {
|
|||
{
|
||||
this.setShowAll();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (this.game.stage.fullScreenScaleMode == Phaser.StageScaleMode.EXACT_FIT)
|
||||
{
|
||||
this.setExactFit();
|
||||
}
|
||||
else if (this.game.stage.fullScreenScaleMode == Phaser.StageScaleMode.SHOW_ALL)
|
||||
{
|
||||
this.setShowAll();
|
||||
}
|
||||
}
|
||||
|
||||
this.setSize();
|
||||
clearInterval(this._check);
|
||||
|
|
Loading…
Reference in a new issue