From df82fa4eca0c520052983c06dc20e2b14504935b Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Mon, 6 Dec 2021 22:26:08 -0600 Subject: [PATCH] planned a way to do glfw callbacks --- include/onyx_library.h | 3 +++ modules/glfw3/module.onyx | 2 +- modules/glfw3/onyx_glfw3.c | 28 +++++++++++++++++++++++----- modules/glfw3/onyx_glfw3.so | Bin 55752 -> 56592 bytes src/wasm_runtime.c | 12 ++++++------ 5 files changed, 33 insertions(+), 12 deletions(-) diff --git a/include/onyx_library.h b/include/onyx_library.h index c2e3027f..ded009a3 100644 --- a/include/onyx_library.h +++ b/include/onyx_library.h @@ -1,7 +1,10 @@ #include "wasm.h" +extern wasm_instance_t* wasm_instance; +extern wasm_module_t* wasm_module; extern wasm_memory_t* wasm_memory; +extern wasm_extern_t* wasm_extern_lookup_by_name(wasm_module_t* module, wasm_instance_t* instance, const char* name); typedef struct WasmValkindBuffer { unsigned int count; diff --git a/modules/glfw3/module.onyx b/modules/glfw3/module.onyx index 1eed1df0..f7e98b0a 100644 --- a/modules/glfw3/module.onyx +++ b/modules/glfw3/module.onyx @@ -56,7 +56,7 @@ GLFWgammaramp :: struct { glfwCreateStandardCursor :: (shape: i32) -> GLFWcursor_p --- glfwDestroyCursor :: (cursor: GLFWcursor_p) -> void --- glfwSetCursor :: (window: GLFWwindow_p, cursor: GLFWcursor_p) -> void --- - // glfwSetKeyCallback + glfwSetKeyCallback :: (window: GLFWwindow_p, export_name: str) -> void --- // glfwSetCharCallback // glfwSetCharModsCallback // glfwSetMouseButtonCallback diff --git a/modules/glfw3/onyx_glfw3.c b/modules/glfw3/onyx_glfw3.c index 6e3145f1..d160b1b6 100644 --- a/modules/glfw3/onyx_glfw3.c +++ b/modules/glfw3/onyx_glfw3.c @@ -231,9 +231,6 @@ ONYX_DEF(glfwSwapBuffers, (LONG), ()) { return NULL; } -// glfwGetInputMode :: (window: GLFWwindow_p, mode: i32) -> i32 --- -// glfwSetInputMode :: (window: GLFWwindow_p, mode, value: i32) -> void --- -// glfwRawMouseMotionSupported :: () -> i32 --- ONYX_DEF(glfwGetInputMode, (LONG, INT), (INT)) { GLFWwindow *window = (GLFWwindow *) params->data[0].of.i64; results->data[0] = WASM_I32_VAL(glfwGetInputMode(window, params->data[1].of.i32)); @@ -311,7 +308,28 @@ ONYX_DEF(glfwSetCursor, (LONG, LONG), ()) { return NULL; } -// // glfwSetKeyCallback +wasm_func_t* __key_callback_func; +static void __glfw_key_callback(GLFWwindow *window, int key, int scancode, int action, int mods) { + wasm_val_t args[] = { WASM_I64_VAL((unsigned long) window), WASM_I32_VAL(key), WASM_I32_VAL(scancode), WASM_I32_VAL(action), WASM_I32_VAL(mods) }; + wasm_val_vec_t args_array = WASM_ARRAY_VEC(args); + wasm_val_vec_t results; + + wasm_func_call(__key_callback_func, &args_array, &results); +} + +ONYX_DEF(glfwSetKeyCallback, (LONG, PTR, INT), ()) { + GLFWwindow *window = (GLFWwindow *) params->data[0].of.i64; + + char name[512]; + strncpy(name, ONYX_PTR(params->data[1].of.i32), params->data[2].of.i32); + name[params->data[2].of.i32] = '\0'; + + __key_callback_func = wasm_extern_as_func(wasm_extern_lookup_by_name(wasm_module, wasm_instance, name)); + + glfwSetKeyCallback(window, __glfw_key_callback); + return NULL; +} + // // glfwSetCharCallback // // glfwSetCharModsCallback // // glfwSetMouseButtonCallback @@ -504,10 +522,10 @@ ONYX_LIBRARY { ONYX_FUNC(glfwSetMonitorUserPointer) ONYX_FUNC(glfwGetMonitorUserPointer) + ONYX_FUNC(glfwSetKeyCallback) // // glfwGetKeyName :: (key, scancode: i32) -> cstr --- -// // glfwSetKeyCallback // // glfwSetCharCallback // // glfwSetCharModsCallback // // glfwSetMouseButtonCallback diff --git a/modules/glfw3/onyx_glfw3.so b/modules/glfw3/onyx_glfw3.so index 147878724327831d26c7ddd917ae834c9d9429aa..d8c8fb0fc0609775072cb74d8ab351632e9b27d2 100755 GIT binary patch literal 56592 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 Q)-3HG`ypuv15q^o5B-$vEdT%j diff --git a/src/wasm_runtime.c b/src/wasm_runtime.c index 9a4513a2..ae94a45a 100644 --- a/src/wasm_runtime.c +++ b/src/wasm_runtime.c @@ -22,7 +22,8 @@ static wasi_env_t* wasi_env; static wasm_engine_t* wasm_engine; static wasm_store_t* wasm_store; static wasm_extern_vec_t wasm_imports; -static wasm_module_t* wasm_module; +wasm_instance_t* wasm_instance; +wasm_module_t* wasm_module; wasm_memory_t* wasm_memory; b32 wasm_name_equals(const wasm_name_t* name1, const wasm_name_t* name2) { @@ -574,7 +575,6 @@ b32 onyx_run_wasm(bh_buffer wasm_bytes) { onyx_lookup_and_load_custom_libraries(wasm_bytes); - wasm_instance_t* instance = NULL; wasmer_features_t* features = NULL; wasm_trap_t* run_trap = NULL; @@ -774,10 +774,10 @@ b32 onyx_run_wasm(bh_buffer wasm_bytes) { wasm_trap_t* traps = NULL; - instance = wasm_instance_new(wasm_store, wasm_module, &wasm_imports, &traps); - if (!instance) goto error_handling; + wasm_instance = wasm_instance_new(wasm_store, wasm_module, &wasm_imports, &traps); + if (!wasm_instance) goto error_handling; - wasm_extern_t* start_extern = wasm_extern_lookup_by_name(wasm_module, instance, "_start"); + wasm_extern_t* start_extern = wasm_extern_lookup_by_name(wasm_module, wasm_instance, "_start"); wasm_func_t* start_func = wasm_extern_as_func(start_extern); wasm_val_vec_t args; @@ -807,7 +807,7 @@ error_handling: bh_printf("%b\n", buf, len); cleanup: - if (instance) wasm_instance_delete(instance); + if (wasm_instance) wasm_instance_delete(wasm_instance); if (wasm_module) wasm_module_delete(wasm_module); if (wasm_store) wasm_store_delete(wasm_store); if (wasm_engine) wasm_engine_delete(wasm_engine); -- 2.25.1