mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2025-01-26 02:42:02 +01:00
uidriver/glfw: Refactoring
This commit is contained in:
parent
af6961fc17
commit
9bff1c79be
@ -186,17 +186,17 @@ func cacheMonitors() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// getCachedMonitor returns a monitor for the given window x/y
|
// getCachedMonitor returns a monitor for the given window x/y,
|
||||||
// returns false if monitor is not found.
|
// or returns nil if monitor is not found.
|
||||||
//
|
//
|
||||||
// getCachedMonitor must be called on the main thread.
|
// getCachedMonitor must be called on the main thread.
|
||||||
func getCachedMonitor(wx, wy int) (*cachedMonitor, bool) {
|
func getCachedMonitor(wx, wy int) *cachedMonitor {
|
||||||
for _, m := range monitors {
|
for _, m := range monitors {
|
||||||
if m.x <= wx && wx < m.x+m.vm.Width && m.y <= wy && wy < m.y+m.vm.Height {
|
if m.x <= wx && wx < m.x+m.vm.Width && m.y <= wy && wy < m.y+m.vm.Height {
|
||||||
return m, true
|
return m
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil, false
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u *UserInterface) isRunning() bool {
|
func (u *UserInterface) isRunning() bool {
|
||||||
@ -583,7 +583,7 @@ func (u *UserInterface) deviceScaleFactor() float64 {
|
|||||||
// Before calling SetWindowPosition, the window's position is not reliable.
|
// Before calling SetWindowPosition, the window's position is not reliable.
|
||||||
if u.iwindow.setPositionCalled {
|
if u.iwindow.setPositionCalled {
|
||||||
// Avoid calling monitor.GetPos if we have the monitor position cached already.
|
// Avoid calling monitor.GetPos if we have the monitor position cached already.
|
||||||
if cm, ok := getCachedMonitor(u.window.GetPos()); ok {
|
if cm := getCachedMonitor(u.window.GetPos()); cm != nil {
|
||||||
return devicescale.GetAt(cm.x, cm.y)
|
return devicescale.GetAt(cm.x, cm.y)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -68,7 +68,7 @@ func currentMonitorByOS(w *glfw.Window) *glfw.Monitor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if m, ok := getCachedMonitor(w.GetPos()); ok {
|
if m := getCachedMonitor(w.GetPos()); m != nil {
|
||||||
return m.m
|
return m.m
|
||||||
}
|
}
|
||||||
return glfw.GetPrimaryMonitor()
|
return glfw.GetPrimaryMonitor()
|
||||||
|
@ -34,7 +34,7 @@ func (u *UserInterface) adjustWindowPosition(x, y int) (int, int) {
|
|||||||
|
|
||||||
func currentMonitorByOS(w *glfw.Window) *glfw.Monitor {
|
func currentMonitorByOS(w *glfw.Window) *glfw.Monitor {
|
||||||
// TODO: Implement this correctly. (#1119).
|
// TODO: Implement this correctly. (#1119).
|
||||||
if cm, ok := getCachedMonitor(w.GetPos()); ok {
|
if cm := getCachedMonitor(w.GetPos()); cm != nil {
|
||||||
return cm.m
|
return cm.m
|
||||||
}
|
}
|
||||||
return glfw.GetPrimaryMonitor()
|
return glfw.GetPrimaryMonitor()
|
||||||
|
@ -122,7 +122,7 @@ func (u *UserInterface) adjustWindowPosition(x, y int) (int, int) {
|
|||||||
|
|
||||||
func currentMonitorByOS(glfww *glfw.Window) *glfw.Monitor {
|
func currentMonitorByOS(glfww *glfw.Window) *glfw.Monitor {
|
||||||
fallback := func() *glfw.Monitor {
|
fallback := func() *glfw.Monitor {
|
||||||
if m, ok := getCachedMonitor(glfww.GetPos()); ok {
|
if m := getCachedMonitor(glfww.GetPos()); m != nil {
|
||||||
return m.m
|
return m.m
|
||||||
}
|
}
|
||||||
return glfw.GetPrimaryMonitor()
|
return glfw.GetPrimaryMonitor()
|
||||||
|
Loading…
Reference in New Issue
Block a user