added glfwGetKeyName using cptr
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Wed, 9 Mar 2022 04:07:21 +0000 (22:07 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Wed, 9 Mar 2022 04:07:21 +0000 (22:07 -0600)
modules/glfw3/module.onyx
modules/glfw3/onyx_glfw3.c
modules/glfw3/onyx_glfw3.so

index d425f612c41142a59f4105ceb1c3a657af4bbfa4..0e181a17ad64f2f7d037cbfd922cefe5a9b15d1b 100644 (file)
@@ -1,5 +1,7 @@
 package glfw3
 
+use package core { cptr }
+
 // Temporary path
 #library "onyx_glfw3"
 
@@ -46,7 +48,7 @@ GLFWgammaramp :: struct {
     glfwGetInputMode :: (window: GLFWwindow_p, mode: i32) -> i32 ---
     glfwSetInputMode :: (window: GLFWwindow_p, mode, value: i32) -> void ---
     glfwRawMouseMotionSupported :: () -> i32 ---
-    // glfwGetKeyName :: (key, scancode: i32) -> cstr ---
+    glfwGetKeyName :: (key, scancode: i32) -> cptr(u8) ---
     glfwGetKeyScancode :: (key: i32) -> i32 ---
     glfwGetKey :: (window: GLFWwindow_p, key: i32) -> i32 ---
     glfwGetMouseButton :: (window: GLFWwindow_p, button: i32) -> i32 ---
index cf84de94ad29ee1d0882771b9d13b1668951e3a5..dcbfb7b9a32f80974fd268d906f3dc9245a5da7a 100644 (file)
@@ -248,7 +248,11 @@ ONYX_DEF(glfwRawMouseMotionSupported, (), (INT)) {
     return NULL;
 }
 
-// // glfwGetKeyName :: (key, scancode: i32) -> cstr ---
+ONYX_DEF(glfwGetKeyName, (INT, INT), (LONG)) {
+    wasm_val_init_ptr(&results->data[0], glfwGetKeyName(params->data[0].of.i32, params->data[1].of.i32));
+    return NULL;
+}
+
 ONYX_DEF(glfwGetKeyScancode, (INT), (INT)) {
     results->data[0] = WASM_I32_VAL(params->data[0].of.i32);
     return NULL;
@@ -528,6 +532,7 @@ ONYX_LIBRARY {
     ONYX_FUNC(glfwGetInputMode)
     ONYX_FUNC(glfwSetInputMode)
     ONYX_FUNC(glfwRawMouseMotionSupported)
+    ONYX_FUNC(glfwGetKeyName)
     ONYX_FUNC(glfwGetKeyScancode)
     ONYX_FUNC(glfwGetKey)
     ONYX_FUNC(glfwGetMouseButton)
index 7649fd898b7d96b340f8f876407580f57c37a386..d73d1198dd71f05dc6cc67b0c699cd53cb304998 100755 (executable)
Binary files a/modules/glfw3/onyx_glfw3.so and b/modules/glfw3/onyx_glfw3.so differ