func (m *Monitor) GetPhysicalSize() (width, height int) {
	var wi, h C.int
	C.glfwGetMonitorPhysicalSize(m.data, &wi, &h)
	panicError()
	return int(wi), int(h)
}
GetPhysicalSize returns the size, in millimetres, of the display area of the
monitor.

Note: Some operating systems do not provide accurate information, either
because the monitor's EDID data is incorrect, or because the driver does not
report it accurately.
package glfw
import "C"
import (
	"unsafe"
)
type Monitor struct {
	data *C.GLFWmonitor
}
type MonitorEvent int
type GammaRamp struct {
	Red   []uint16  
	Green []uint16  
	Blue  []uint16  
}
const (
	Connected    MonitorEvent = C.GLFW_CONNECTED
	Disconnected MonitorEvent = C.GLFW_DISCONNECTED
)
type VidMode struct {
	Width       int  
	Height      int  
	RedBits     int  
	GreenBits   int  
	BlueBits    int  
	RefreshRate int  
}
var fMonitorHolder func(monitor *Monitor, event MonitorEvent)
func goMonitorCB(monitor unsafe.Pointer, event C.int) {
	fMonitorHolder(&Monitor{(*C.GLFWmonitor)(monitor)}, MonitorEvent(event))
}
func GetMonitors() []*Monitor {
	var length int
	mC := C.glfwGetMonitors((*C.int)(unsafe.Pointer(&length)))
	panicError()
	if mC == nil {
		return nil
	}
	m := make([]*Monitor, length)
	for i := 0; i < length; i++ {
		m[i] = &Monitor{C.GetMonitorAtIndex(mC, C.int(i))}
	}
	return m
}
func GetPrimaryMonitor() *Monitor {
	m := C.glfwGetPrimaryMonitor()
	panicError()
	if m == nil {
		return nil
	}
	return &Monitor{m}
}
func (m *Monitor) GetPos() (x, y int) {
	var xpos, ypos C.int
	C.glfwGetMonitorPos(m.data, &xpos, &ypos)
	panicError()
	return int(xpos), int(ypos)
}