Parcourir la source

Fix and improve window implementations

Daniel Salvadori il y a 6 ans
Parent
commit
31fc77e272
2 fichiers modifiés avec 17 ajouts et 13 suppressions
  1. 10 6
      window/canvas.go
  2. 7 7
      window/glfw.go

+ 10 - 6
window/canvas.go

@@ -381,29 +381,29 @@ func Init(canvasId string) error {
 
 	// TODO scaling/hidpi (device pixel ratio)
 
-	// Set up key callbacks to dispatch events
+	// Set up key down callback to dispatch event
 	w.keyDown = js.FuncOf(func(this js.Value, args []js.Value) interface{} {
 		event := args[0]
 		eventCode := event.Get("code").String()
-		w.keyEv.Keycode = Key(keyMap[eventCode])
+		w.keyEv.Key = Key(keyMap[eventCode])
 		w.keyEv.Mods = getModifiers(event)
 		w.Dispatch(OnKeyDown, &w.keyEv)
 		return nil
 	})
 	js.Global().Call("addEventListener", "keydown", w.keyDown)
 
+	// Set up key up callback to dispatch event
 	w.keyUp = js.FuncOf(func(this js.Value, args []js.Value) interface{} {
 		event := args[0]
 		eventCode := event.Get("code").String()
-		w.keyEv.Keycode = Key(keyMap[eventCode])
+		w.keyEv.Key = Key(keyMap[eventCode])
 		w.keyEv.Mods = getModifiers(event)
 		w.Dispatch(OnKeyUp, &w.keyEv)
 		return nil
 	})
 	js.Global().Call("addEventListener", "keyup", w.keyUp)
 
-	// Set up mouse button callbacks to dispatch events // TODO make these comments consistent
-
+	// Set up mouse down callback to dispatch event
 	w.mouseDown = js.FuncOf(func(this js.Value, args []js.Value) interface{} {
 		event := args[0]
 		w.mouseEv.Button = MouseButton(event.Get("button").Int())
@@ -415,6 +415,7 @@ func Init(canvasId string) error {
 	})
 	w.canvas.Call("addEventListener", "mousedown", w.mouseDown)
 
+	// Set up mouse down callback to dispatch event
 	w.mouseUp = js.FuncOf(func(this js.Value, args []js.Value) interface{} {
 		event := args[0]
 		w.mouseEv.Button = MouseButton(event.Get("button").Int())
@@ -426,6 +427,7 @@ func Init(canvasId string) error {
 	})
 	w.canvas.Call("addEventListener", "mouseup", w.mouseUp)
 
+	// Set up mouse move callback to dispatch event
 	w.mouseMove = js.FuncOf(func(this js.Value, args []js.Value) interface{} {
 		event := args[0]
 		w.cursorEv.Xpos = float32(event.Get("offsetX").Float()) //* float32(w.scaleX) TODO
@@ -436,6 +438,7 @@ func Init(canvasId string) error {
 	})
 	w.canvas.Call("addEventListener", "mousemove", w.mouseMove)
 
+	// Set up mouse wheel callback to dispatch event
 	w.mouseWheel = js.FuncOf(func(this js.Value, args []js.Value) interface{} {
 		event := args[0]
 		event.Call("preventDefault")
@@ -447,6 +450,7 @@ func Init(canvasId string) error {
 	})
 	w.canvas.Call("addEventListener", "wheel", w.mouseWheel)
 
+	// Set up window resize callback to dispatch event
 	w.winResize = js.FuncOf(func(this js.Value, args []js.Value) interface{} {
 		w.sizeEv.Width = w.canvas.Get("width").Int()
 		w.sizeEv.Height = w.canvas.Get("height").Int()
@@ -459,7 +463,7 @@ func Init(canvasId string) error {
 	})
 	js.Global().Get("window").Call("addEventListener", "resize", w.winResize)
 
-	//// Set char callback TODO
+	//// Set up char callback to dispatch event TODO
 	//w.SetCharModsCallback(func(x *glfw.Window, char rune, mods glfw.ModifierKey) {	//
 	//	w.charEv.Char = char
 	//	w.charEv.Mods = ModifierKey(mods)

+ 7 - 7
window/glfw.go

@@ -293,7 +293,7 @@ func Init(width, height int, title string) error {
 	w.cursors[DiagResize1Cursor] = glfw.CreateCursor(diag1Img, 8, 8) // [/]
 	w.cursors[DiagResize2Cursor] = glfw.CreateCursor(diag2Img, 8, 8) // [\]
 
-	// Set key callback to dispatch event
+	// Set up key callback to dispatch event
 	w.SetKeyCallback(func(x *glfw.Window, key glfw.Key, scancode int, action glfw.Action, mods glfw.ModifierKey) {
 		w.keyEv.Key = Key(key)
 		w.keyEv.Mods = ModifierKey(mods)
@@ -307,14 +307,14 @@ func Init(width, height int, title string) error {
 		}
 	})
 
-	// Set char callback
+	// Set up char callback to dispatch event
 	w.SetCharModsCallback(func(x *glfw.Window, char rune, mods glfw.ModifierKey) {
 		w.charEv.Char = char
 		w.charEv.Mods = ModifierKey(mods)
 		w.Dispatch(OnChar, &w.charEv)
 	})
 
-	// Set mouse button callback to dispatch event
+	// Set up mouse button callback to dispatch event
 	w.SetMouseButtonCallback(func(x *glfw.Window, button glfw.MouseButton, action glfw.Action, mods glfw.ModifierKey) {
 		xpos, ypos := x.GetCursorPos()
 		w.mouseEv.Button = MouseButton(button)
@@ -328,7 +328,7 @@ func Init(width, height int, title string) error {
 		}
 	})
 
-	// Set window size callback to dispatch event
+	// Set up window size callback to dispatch event
 	w.SetSizeCallback(func(x *glfw.Window, width int, height int) {
 		fbw, fbh := x.GetFramebufferSize()
 		w.sizeEv.Width = width
@@ -338,14 +338,14 @@ func Init(width, height int, title string) error {
 		w.Dispatch(OnWindowSize, &w.sizeEv)
 	})
 
-	// Set window position event callback to dispatch event
+	// Set up window position callback to dispatch event
 	w.SetPosCallback(func(x *glfw.Window, xpos int, ypos int) {
 		w.posEv.Xpos = xpos
 		w.posEv.Ypos = ypos
 		w.Dispatch(OnWindowPos, &w.posEv)
 	})
 
-	// Set window cursor position event callback to dispatch event
+	// Set up window cursor position callback to dispatch event
 	w.SetCursorPosCallback(func(x *glfw.Window, xpos float64, ypos float64) {
 		w.cursorEv.Xpos = float32(xpos * w.scaleX)
 		w.cursorEv.Ypos = float32(ypos * w.scaleY)
@@ -353,7 +353,7 @@ func Init(width, height int, title string) error {
 		w.Dispatch(OnCursor, &w.cursorEv)
 	})
 
-	// Set mouse wheel scroll event callback to dispatch event
+	// Set up mouse wheel scroll callback to dispatch event
 	w.SetScrollCallback(func(x *glfw.Window, xoff float64, yoff float64) {
 		w.scrollEv.Xoffset = float32(xoff)
 		w.scrollEv.Yoffset = float32(yoff)