Skip to content

Commit 10d0f19

Browse files
committed
ScaleManager - scaling consistency and bug-fixes
This includes some minor breaking changes. - Unifies SHOW_ALL and NO_SCALE being stretched in Firefox and IE - As suggested by MDN: "..to emulate WebKit's behavior on Gecko, you need to place the element you want to present inside another element.." - This done via an (overwritable) `createFullScreenTarget` function. The (new) DOM element returned from this is placed into the DOM and the canvas is added to (and later removed) as the full screen mode changes. - MINOR BREAK: may affect code that assumes the Phaser canvas has a fixed DOM/CSS path (which should hopefully be nobody). To use to the original behavior, where the canvas is not moved, simply set `this.fullScreenTarget = game.canvas` manually. - Updates the refresh/queue to be unified and uses a smarter back-off to detect and react to parent dimension changes - Cleans up some odd browser issues; not tried on mobile - Fixes an issue were update might be called too much and spend time doing nothing useful. - `maxIterations` is no longer user and marked as deprecated - MINOR BREAK: previous approach would occasionally (but not always) back off updates the entire iteration/setTimeout sequence; under the new approach "onResize" may be called more frequently. - Fixes a number various transition issues, mostly around RESIZE - MINOR BREAK, but correct: leaving RESIZE restores the original game size possible - Fixes assorted quirks with scales not being updated - Layout - MINOR BREAK: All Canvas margins are "OWNED" by the ScaleManager. They will be reset in all modes as appropriate. This is for consistency fixes as well as coping with the updated full screen. - MINOR BREAK: Canvas right/bottom margins are set to negative margins to counter left/top margins. This prevents Canvas margin adjustments from affecting the flow .. much. - `getParentBounds` rounds to the nearest pixel to avoid "close to" value propagation from CSS. - Fixes page-align center pushing canvas out of parent - Misc. - MINOR BREAK: `setScreenSize` will update the game size if the mode is RESIZE. User-code shoulde use `refresh` instead to ensure that any relevant changes are propagated. - Corrected incorrect documentation
1 parent be8499f commit 10d0f19

1 file changed

Lines changed: 398 additions & 274 deletions

File tree

0 commit comments

Comments
 (0)