| 1193 | } |
| 1194 | |
| 1195 | static int printEvent(const PuglEvent* event, const char* prefix, const bool verbose) |
| 1196 | { |
| 1197 | #define FFMT "%6.1f" |
| 1198 | #define PFMT FFMT " " FFMT |
| 1199 | #define PRINT(fmt, ...) d_stdout(fmt, __VA_ARGS__), 1 |
| 1200 | |
| 1201 | switch (event->type) { |
| 1202 | case PUGL_NOTHING: |
| 1203 | return 0; |
| 1204 | case PUGL_KEY_PRESS: |
| 1205 | return PRINT("%sKey press code %3u key U+%04X\n", |
| 1206 | prefix, |
| 1207 | event->key.keycode, |
| 1208 | event->key.key); |
| 1209 | case PUGL_KEY_RELEASE: |
| 1210 | return PRINT("%sKey release code %3u key U+%04X\n", |
| 1211 | prefix, |
| 1212 | event->key.keycode, |
| 1213 | event->key.key); |
| 1214 | case PUGL_TEXT: |
| 1215 | return PRINT("%sText entry code %3u char U+%04X (%s)\n", |
| 1216 | prefix, |
| 1217 | event->text.keycode, |
| 1218 | event->text.character, |
| 1219 | event->text.string); |
| 1220 | case PUGL_BUTTON_PRESS: |
| 1221 | case PUGL_BUTTON_RELEASE: |
| 1222 | return (PRINT("%sMouse %u %s at " PFMT " ", |
| 1223 | prefix, |
| 1224 | event->button.button, |
| 1225 | (event->type == PUGL_BUTTON_PRESS) ? "down" : "up ", |
| 1226 | event->button.x, |
| 1227 | event->button.y) + |
| 1228 | printModifiers(event->scroll.state)); |
| 1229 | case PUGL_SCROLL: |
| 1230 | return (PRINT("%sScroll %5.1f %5.1f at " PFMT " ", |
| 1231 | prefix, |
| 1232 | event->scroll.dx, |
| 1233 | event->scroll.dy, |
| 1234 | event->scroll.x, |
| 1235 | event->scroll.y) + |
| 1236 | printModifiers(event->scroll.state)); |
| 1237 | case PUGL_POINTER_IN: |
| 1238 | return PRINT("%sMouse enter at " PFMT "\n", |
| 1239 | prefix, |
| 1240 | event->crossing.x, |
| 1241 | event->crossing.y); |
| 1242 | case PUGL_POINTER_OUT: |
| 1243 | return PRINT("%sMouse leave at " PFMT "\n", |
| 1244 | prefix, |
| 1245 | event->crossing.x, |
| 1246 | event->crossing.y); |
| 1247 | case PUGL_FOCUS_IN: |
| 1248 | return PRINT("%sFocus in %i\n", |
| 1249 | prefix, |
| 1250 | event->focus.mode); |
| 1251 | case PUGL_FOCUS_OUT: |
| 1252 | return PRINT("%sFocus out %i\n", |
no test coverage detected