package events import ( "github.com/Zyko0/go-sdl3/sdl" ) func Poll(delta uint64) ([]any, error) { var evs []any var event sdl.Event for sdl.PollEvent(&event) { switch event.Type { case sdl.EVENT_QUIT: return nil, sdl.EndLoop case sdl.EVENT_MOUSE_MOTION: ev := event.MouseMotionEvent() evs = append(evs, MouseMotion{ Delta: delta, Dy: ev.Yrel, Dx: ev.Xrel, Which: DeviceID(ev.Which), }) case sdl.EVENT_MOUSE_BUTTON_DOWN, sdl.EVENT_MOUSE_BUTTON_UP: ev := event.MouseButtonEvent() evs = append(evs, MousePress{ Delta: delta, Key: ev.Button, Which: DeviceID(ev.Which), IsPressed: ev.Down, }) case sdl.EVENT_WINDOW_RESIZED: ev := event.WindowEvent() evs = append(evs, WindowChange{ Height: ev.Data1, Width: ev.Data2, }) } } return evs, nil }