app_update, print events
This commit is contained in:
@@ -80,10 +80,10 @@ void meta_app(ma_arena_t *arena) {
|
||||
|
||||
// Javascript
|
||||
{
|
||||
int name_idx = row_findi(keys->first, "name");
|
||||
int js1_idx = row_findi(keys->first, "js1");
|
||||
int js2_idx = row_findi(keys->first, "js2");
|
||||
int filter_out_idx = row_findi(keys->first, "jf");
|
||||
i32 name_idx = row_findi(keys->first, "name");
|
||||
i32 js1_idx = row_findi(keys->first, "js1");
|
||||
i32 js2_idx = row_findi(keys->first, "js2");
|
||||
i32 filter_out_idx = row_findi(keys->first, "jf");
|
||||
|
||||
|
||||
sb8_stmtf(c, "\n#if PLATFORM_WASM");
|
||||
@@ -99,7 +99,7 @@ void meta_app(ma_arena_t *arena) {
|
||||
s8_t js[] = {row_geti(row, js1_idx)->string, row_geti(row, js2_idx)->string};
|
||||
for (i32 i = 0; i < lengthof(js); i += 1) {
|
||||
if (s8_equal(js[i], s8_lit("XXX"))) continue;
|
||||
sb8_stmtf(c, "else if (s8_equal_ex(key, s8_lit(\"%S\"), s8_ignore_case)) return (wasm_key_map_t){app_key_%S, %d};", js[i], name, (int)filter_out);
|
||||
sb8_stmtf(c, "else if (s8_equal_ex(key, s8_lit(\"%S\"), s8_ignore_case)) return (wasm_key_map_t){app_key_%S, %d};", js[i], name, (i32)filter_out);
|
||||
}
|
||||
}
|
||||
sb8_stmtf(c, "return (wasm_key_map_t){0};");
|
||||
@@ -110,9 +110,9 @@ void meta_app(ma_arena_t *arena) {
|
||||
|
||||
// Windows
|
||||
{
|
||||
int name_idx = row_findi(keys->first, "name");
|
||||
int w1i = row_findi(keys->first, "windows1");
|
||||
int w2i = row_findi(keys->first, "windows2");
|
||||
i32 name_idx = row_findi(keys->first, "name");
|
||||
i32 w1i = row_findi(keys->first, "windows1");
|
||||
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)) {");
|
||||
|
||||
@@ -8,8 +8,7 @@ f64 wasm_measure_text(isize str, i32 len, isize font_str, i32 font_len, i32 fon
|
||||
f64 wasm_get_font_height(isize font_str, i32 font_len, i32 font_size);
|
||||
void wasm_set_clip(f64 x, f64 y, f64 w, f64 h);
|
||||
|
||||
void on_update();
|
||||
void app_update(app_event_t *events);
|
||||
void app_update(ma_arena_t *perm_arena, app_event_t *events, i32 event_count);
|
||||
|
||||
extern char __heap_base;
|
||||
ma_arena_t wasm_perm_arena;
|
||||
@@ -30,7 +29,7 @@ b32 wasm_event_failed_to_queue;
|
||||
f64 wasm_last_time = 0;
|
||||
|
||||
void write_to_console(char *string) {
|
||||
int len = str_len(string);
|
||||
i32 len = str_len(string);
|
||||
wasm_write_to_console((isize)string, len);
|
||||
}
|
||||
|
||||
@@ -47,7 +46,7 @@ f64 get_font_height(void) {
|
||||
return wasm_get_font_height((isize) font_face, font_face_len, 20*wasm_dpr) / wasm_dpr;
|
||||
}
|
||||
|
||||
f64 measure_text_ex(char *str, int len) {
|
||||
f64 measure_text_ex(char *str, i32 len) {
|
||||
return wasm_measure_text((isize)str, len, (isize) font_face, font_face_len, 20*wasm_dpr) / wasm_dpr;
|
||||
}
|
||||
|
||||
@@ -55,15 +54,15 @@ f64 measure_text(char *str) {
|
||||
return measure_text_ex(str, str_len(str));
|
||||
}
|
||||
|
||||
void draw_text(v2f64_t pos, v4f32_t color, char *str, int len) {
|
||||
wasm_draw_text((isize)str, len, wasm_dpr * pos.x, wasm_dpr * pos.y, (isize) font_face, font_face_len, 20*wasm_dpr, color.r * 255.f, color.g * 255.f, color.b * 255.f, color.a);
|
||||
void draw_text(v2f64_t pos, v4f32_t color, s8_t string) {
|
||||
wasm_draw_text((isize)string.str, string.len, wasm_dpr * pos.x, wasm_dpr * pos.y, (isize) font_face, font_face_len, 20*wasm_dpr, color.r * 255.f, color.g * 255.f, color.b * 255.f, color.a);
|
||||
}
|
||||
|
||||
void draw_textf(v2f64_t pos, char *str, ...) {
|
||||
char buff[1024];
|
||||
va_list args;
|
||||
va_start(args, str);
|
||||
int len = stbsp_vsnprintf(buff, sizeof(buff), str, args);
|
||||
i32 len = stbsp_vsnprintf(buff, sizeof(buff), str, args);
|
||||
va_end(args);
|
||||
|
||||
wasm_draw_text((isize)buff, len, wasm_dpr * pos.x, wasm_dpr * pos.y, (isize) font_face, font_face_len, 20*wasm_dpr, 0, 0, 0, 1);
|
||||
@@ -173,7 +172,7 @@ WASM_EXPORT void wasm_key_up(char *key, b32 ctrl, b32 shift, b32 alt, b32 meta)
|
||||
wasm_key_map_t map = wasm_map_key_string_to_app_key(key8);
|
||||
if (map.key != app_key_invalid) {
|
||||
wasm_add_event((app_event_t){
|
||||
.kind = app_event_kind_key_down,
|
||||
.kind = app_event_kind_key_up,
|
||||
.key = map.key,
|
||||
.ctrl = ctrl,
|
||||
.shift = shift,
|
||||
@@ -193,7 +192,7 @@ WASM_EXPORT void wasm_update(f64 time, f64 width, f64 height, f64 dpr) {
|
||||
}
|
||||
wasm_dpr = dpr;
|
||||
|
||||
on_update();
|
||||
app_update(&wasm_perm_arena, wasm_events.data, wasm_events.len);
|
||||
|
||||
wasm_events.len = 0;
|
||||
wasm_last_time = time;
|
||||
|
||||
@@ -117,8 +117,8 @@ int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int n
|
||||
continue;
|
||||
}
|
||||
|
||||
for (int y = 0; y < 720; y++) {
|
||||
for (int x = 0; x < 1280; x++) {
|
||||
for (i32 y = 0; y < 720; y++) {
|
||||
for (i32 x = 0; x < 1280; x++) {
|
||||
mem[x + y * 1280] = 0xFFFF0000;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user