ui: Adjust fullscreen scale (#267)

This commit is contained in:
Hajime Hoshi 2017-06-30 01:24:37 +09:00
parent 5dbfafb200
commit e7370d8a54

View File

@ -30,19 +30,20 @@ import (
)
type userInterface struct {
window *glfw.Window
width int
height int
scale float64
deviceScale float64
glfwScale float64
fullscreen bool
funcs chan func()
running bool
sizeChanged bool
origPosX int
origPosY int
m sync.Mutex
window *glfw.Window
width int
height int
scale float64
deviceScale float64
glfwScale float64
fullscreen bool
fullscreenScale float64
funcs chan func()
running bool
sizeChanged bool
origPosX int
origPosY int
m sync.Mutex
}
var currentUI *userInterface
@ -243,6 +244,20 @@ func (u *userInterface) actualScreenScale() float64 {
if u.deviceScale == 0 {
u.deviceScale = deviceScale()
}
if u.fullscreen {
if u.fullscreenScale == 0 {
m := glfw.GetPrimaryMonitor()
v := m.GetVideoMode()
sw := float64(v.Width) / float64(u.width)
sh := float64(v.Height) / float64(u.height)
s := sw
if s > sh {
s = sh
}
u.fullscreenScale = s
}
return u.fullscreenScale * u.deviceScale
}
return u.scale * u.deviceScale
}