w32_map_wparam_to_app_key, todo, api
This commit is contained in:
@@ -5,8 +5,8 @@ void meta_app(ma_arena_t *arena) {
|
||||
|
||||
ast_t *keys = parse_table(arena, __FILE__, CODE(
|
||||
// javascript filter out
|
||||
| name | js1 | js2 | jf | windows1 | windows2 |
|
||||
| invalid | XXX | XXX | 1 | XXX | XXX |
|
||||
| name | js1 | js2 | jf | windows1 | windows2 |
|
||||
| null | XXX | XXX | 1 | XXX | XXX |
|
||||
| 1 | 1 | XXX | 0 | `'1'` | XXX |
|
||||
| 2 | 2 | XXX | 0 | `'2'` | XXX |
|
||||
| 3 | 3 | XXX | 0 | `'3'` | XXX |
|
||||
@@ -115,7 +115,7 @@ void meta_app(ma_arena_t *arena) {
|
||||
i32 w2i = row_findi(keys->first, "windows2");
|
||||
|
||||
sb8_stmtf(c, "\n#if PLATFORM_WINDOWS");
|
||||
sb8_stmtf(c, "void w32_key_dispatch(WPARAM wparam, void (*handle_key)(app_key_t)) {");
|
||||
sb8_stmtf(c, "app_key_t w32_map_wparam_to_app_key(WPARAM wparam) {");
|
||||
c->indent += 1;
|
||||
sb8_stmtf(c, "switch(wparam) {");
|
||||
c->indent += 1;
|
||||
@@ -124,11 +124,10 @@ void meta_app(ma_arena_t *arena) {
|
||||
s8_t w[] = {row_geti(row, w1i)->string, row_geti(row, w2i)->string};
|
||||
for (i32 i = 0; i < lengthof(w); i += 1) {
|
||||
if (s8_equal(w[i], s8_lit("XXX"))) continue;
|
||||
|
||||
sb8_stmtf(c, "case %.*s: handle_key(app_key_%.*s); break;", s8_fmtspec(w[i]), s8_fmtspec(name));
|
||||
sb8_stmtf(c, "case %S: return app_key_%S; break;", w[i], name);
|
||||
}
|
||||
}
|
||||
sb8_stmtf(c, "default: {} break;");
|
||||
sb8_stmtf(c, "default: {return app_key_null;} break;");
|
||||
c->indent -= 1;
|
||||
sb8_stmtf(c, "}");
|
||||
c->indent -= 1;
|
||||
@@ -147,7 +146,7 @@ void meta_app(ma_arena_t *arena) {
|
||||
} app_mouse_button_t;
|
||||
|
||||
typedef enum {
|
||||
app_event_kind_invalid,
|
||||
app_event_kind_null,
|
||||
app_event_kind_update,
|
||||
app_event_kind_text,
|
||||
app_event_kind_key_down,
|
||||
|
||||
Reference in New Issue
Block a user