adjusts VideoMode and associated function to pull request change requests.

This commit is contained in:
David Linus Briemann 2018-05-04 18:03:25 +02:00
parent 2a1ab90ad5
commit 446247e369
2 changed files with 13 additions and 16 deletions

View File

@ -10,13 +10,15 @@ type Monitor struct {
monitor *glfw.Monitor monitor *glfw.Monitor
} }
// VideoMode represents all properties of a video mode and is attached // VideoMode represents all properties of a video mode and is
// to a monitor if it is a fullscreen mode. // associated with a monitor if it is used in fullscreen mode.
type VideoMode struct { type VideoMode struct {
*glfw.VidMode // Width is the width of the vide mode in pixels.
// Monitor is a pointer to the monitor that owns this video mode. Width int
// If Monitor is nil the video mode is windowed. // Height is the height of the video mode in pixels.
Monitor *Monitor Height int
// RefreshRate holds the refresh rate of the associated monitor in Hz.
RefreshRate int
} }
// PrimaryMonitor returns the main monitor (usually the one with the taskbar and stuff). // PrimaryMonitor returns the main monitor (usually the one with the taskbar and stuff).
@ -106,15 +108,16 @@ func (m *Monitor) RefreshRate() (rate float64) {
} }
// VideoModes returns all available video modes for the monitor. // VideoModes returns all available video modes for the monitor.
func (m *Monitor) VideoModes() (vmodes []*VideoMode) { func (m *Monitor) VideoModes() (vmodes []VideoMode) {
var modes []*glfw.VidMode var modes []*glfw.VidMode
mainthread.Call(func() { mainthread.Call(func() {
modes = m.monitor.GetVideoModes() modes = m.monitor.GetVideoModes()
}) })
for _, mode := range modes { for _, mode := range modes {
vmodes = append(vmodes, &VideoMode{ vmodes = append(vmodes, VideoMode{
VidMode: mode, Width: mode.Width,
Monitor: m, Height: mode.Height,
RefreshRate: mode.RefreshRate,
}) })
} }
return return

View File

@ -424,9 +424,3 @@ func (w *Window) Clear(c color.Color) {
func (w *Window) Color(at pixel.Vec) pixel.RGBA { func (w *Window) Color(at pixel.Vec) pixel.RGBA {
return w.canvas.Color(at) return w.canvas.Color(at)
} }
// SetVideoMode applies the given video mode to this window.
func (w *Window) SetVideoMode(vm VideoMode) {
w.SetMonitor(vm.Monitor)
w.SetBounds(pixel.R(0, 0, float64(vm.Width), float64(vm.Height)))
}