| 87 | } |
| 88 | |
| 89 | int main() { |
| 90 | sml::sm<sdl2> sm; |
| 91 | auto dispatch_event = sml::utility::make_dispatch_table<SDL_Event, SDL_FIRSTEVENT, SDL_LASTEVENT>(sm); |
| 92 | |
| 93 | SDL_Event event; |
| 94 | |
| 95 | // while (SDL_PollEvent(&event)) { |
| 96 | // dispatch_event(event, event.type) |
| 97 | // }; |
| 98 | |
| 99 | { |
| 100 | SDL_KeyboardEvent keyboard_event; |
| 101 | keyboard_event.type = SDL_KEYUP; |
| 102 | keyboard_event.keysym.sym = SDLK_SPACE; |
| 103 | event.key = keyboard_event; |
| 104 | dispatch_event(event, event.type); |
| 105 | } |
| 106 | |
| 107 | { |
| 108 | SDL_MouseButtonEvent mousebutton_event; |
| 109 | mousebutton_event.type = SDL_MOUSEBUTTONUP; |
| 110 | mousebutton_event.button = 1; |
| 111 | event.button = mousebutton_event; |
| 112 | dispatch_event(event, event.type); |
| 113 | } |
| 114 | |
| 115 | { |
| 116 | SDL_QuitEvent quit_event; |
| 117 | quit_event.type = SDL_QUIT; |
| 118 | event.quit = quit_event; |
| 119 | dispatch_event(event, event.type); |
| 120 | } |
| 121 | |
| 122 | assert(sm.is(sml::X, sml::X)); |
| 123 | } |
no test coverage detected