1 #pragma once
2 
3 #include <SDL.h>
4 
5 #include "all.h"
6 #include "./controller_buttons.h"
7 
8 namespace dvl {
9 
10 struct ControllerButtonEvent {
11 	ControllerButton button;
12 	bool up;
13 };
14 
15 // NOTE: Not idempotent because of how it handles axis triggers.
16 // Must be called exactly once per SDL input event.
17 ControllerButtonEvent ToControllerButtonEvent(const SDL_Event &event);
18 
19 bool IsControllerButtonPressed(ControllerButton button);
20 
21 bool HandleControllerAddedOrRemovedEvent(const SDL_Event &event);
22 
23 } // namespace dvl
24