uidriver/js: Bug fix: Needed to initialize pseudoScale with the given scale

Updates #960, #973
This commit is contained in:
Hajime Hoshi 2019-10-27 17:13:17 +09:00
parent b8da9cf041
commit 49a5a2bf4e
4 changed files with 4 additions and 11 deletions

View File

@ -70,8 +70,6 @@ func update(screen *ebiten.Image) error {
screenScale = 2
case 2:
screenScale = 1
case 0:
// screenScale can be 0 on browsers or mobiles. Ignore this.
default:
panic("not reached")
}
@ -79,9 +77,7 @@ func update(screen *ebiten.Image) error {
if inpututil.IsKeyJustPressed(ebiten.KeyF) {
fullscreen = !fullscreen
}
if screenScale > 0 {
ebiten.SetScreenScale(screenScale)
}
ebiten.SetScreenScale(screenScale)
ebiten.SetFullscreen(fullscreen)
if ebiten.IsDrawingSkipped() {

View File

@ -108,8 +108,6 @@ func update(screen *ebiten.Image) error {
screenScale = 2
case 2:
screenScale = 0.75
case 0:
// screenScale can be 0 on browsers or mobiles. Ignore this.
default:
panic("not reached")
}
@ -142,9 +140,7 @@ func update(screen *ebiten.Image) error {
}
ebiten.SetScreenSize(screenWidth, screenHeight)
if screenScale > 0 {
ebiten.SetScreenScale(screenScale)
}
ebiten.SetScreenScale(screenScale)
ebiten.SetFullscreen(fullscreen)
ebiten.SetRunnableInBackground(runnableInBackground)
ebiten.SetCursorVisible(cursorVisible)

View File

@ -424,6 +424,7 @@ func (u *UserInterface) Run(width, height int, scale float64, title string, cont
document.Set("title", title)
u.setScreenSize(width, height)
u.pseudoScale = scale
canvas.Call("focus")
ch := u.loop(context)
if runtime.GOARCH == "wasm" {

2
run.go
View File

@ -240,7 +240,7 @@ func SetScreenScale(scale float64) {
// ScreenScale returns the current screen scale.
//
// ScreenScale returns a value set by SetScreenScale or Run on browsers.
// On browsers, this value does not affect actual rendering.
//
// If Run is not called, this returns 0.
//