added some basic input handling to sdl and glfw examples
This commit is contained in:
parent
6ed91cb412
commit
22eceabf9f
2 changed files with 14 additions and 0 deletions
|
@ -47,6 +47,10 @@ func main() {
|
||||||
log.Fatalf("Error loading canvas GL assets: %v", err)
|
log.Fatalf("Error loading canvas GL assets: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
window.SetCursorPosCallback(func(w *glfw.Window, xpos float64, ypos float64) {
|
||||||
|
mx, my = xpos, ypos
|
||||||
|
})
|
||||||
|
|
||||||
// initialize canvas with zero size, since size is set in main loop
|
// initialize canvas with zero size, since size is set in main loop
|
||||||
cv := canvas.New(0, 0, 0, 0)
|
cv := canvas.New(0, 0, 0, 0)
|
||||||
|
|
||||||
|
@ -66,9 +70,13 @@ func main() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var mx, my float64
|
||||||
|
|
||||||
func run(cv *canvas.Canvas, w, h float64) {
|
func run(cv *canvas.Canvas, w, h float64) {
|
||||||
cv.SetFillStyle("#000")
|
cv.SetFillStyle("#000")
|
||||||
cv.FillRect(0, 0, w, h)
|
cv.FillRect(0, 0, w, h)
|
||||||
cv.SetFillStyle("#00F")
|
cv.SetFillStyle("#00F")
|
||||||
cv.FillRect(w*0.25, h*0.25, w*0.5, h*0.5)
|
cv.FillRect(w*0.25, h*0.25, w*0.5, h*0.5)
|
||||||
|
cv.SetStrokeStyle("#0F0")
|
||||||
|
cv.StrokeRect(mx-32, my-32, 64, 64)
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,6 +90,8 @@ func main() {
|
||||||
if e.Type == sdl.KEYDOWN && e.Keysym.Scancode == sdl.SCANCODE_ESCAPE {
|
if e.Type == sdl.KEYDOWN && e.Keysym.Scancode == sdl.SCANCODE_ESCAPE {
|
||||||
running = false
|
running = false
|
||||||
}
|
}
|
||||||
|
case *sdl.MouseMotionEvent:
|
||||||
|
mx, my = float64(e.X), float64(e.Y)
|
||||||
case *sdl.WindowEvent:
|
case *sdl.WindowEvent:
|
||||||
if e.Type == sdl.WINDOWEVENT_CLOSE {
|
if e.Type == sdl.WINDOWEVENT_CLOSE {
|
||||||
running = false
|
running = false
|
||||||
|
@ -109,9 +111,13 @@ func main() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var mx, my float64
|
||||||
|
|
||||||
func run(cv *canvas.Canvas, w, h float64) {
|
func run(cv *canvas.Canvas, w, h float64) {
|
||||||
cv.SetFillStyle("#000")
|
cv.SetFillStyle("#000")
|
||||||
cv.FillRect(0, 0, w, h)
|
cv.FillRect(0, 0, w, h)
|
||||||
cv.SetFillStyle("#0F0")
|
cv.SetFillStyle("#0F0")
|
||||||
cv.FillRect(w*0.25, h*0.25, w*0.5, h*0.5)
|
cv.FillRect(w*0.25, h*0.25, w*0.5, h*0.5)
|
||||||
|
cv.SetStrokeStyle("#00F")
|
||||||
|
cv.StrokeRect(mx-32, my-32, 64, 64)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue