package input import ( "github.com/Zyko0/go-sdl3/sdl" "ponger/ecs" ) func Poll(root ecs.IsGameObject, delta uint64) error { e := Event{ Event: ecs.Event{ Delta: delta, }, } var event sdl.Event for sdl.PollEvent(&event) { switch event.Type { case sdl.EVENT_QUIT: return sdl.EndLoop case sdl.EVENT_MOUSE_MOTION: ev := event.MouseMotionEvent() e.Which = DeviceID(ev.Which) e.Dx = ev.Xrel e.Dy = ev.Yrel case sdl.EVENT_MOUSE_BUTTON_DOWN, sdl.EVENT_MOUSE_BUTTON_UP: ev := event.MouseButtonEvent() e.Which = DeviceID(ev.Which) e.JustPressed = ev.Down e.JustReleased = !ev.Down e.IsPressed = ev.Down } } ProcessTree(root, e) return nil }