From a822fa7f65c31191208ca21bec17241e681172f8 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Tue, 8 Mar 2022 22:07:21 -0600 Subject: [PATCH] added glfwGetKeyName using cptr --- modules/glfw3/module.onyx | 4 +++- modules/glfw3/onyx_glfw3.c | 7 ++++++- modules/glfw3/onyx_glfw3.so | Bin 81240 -> 81680 bytes 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/modules/glfw3/module.onyx b/modules/glfw3/module.onyx index d425f612..0e181a17 100644 --- a/modules/glfw3/module.onyx +++ b/modules/glfw3/module.onyx @@ -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 --- diff --git a/modules/glfw3/onyx_glfw3.c b/modules/glfw3/onyx_glfw3.c index cf84de94..dcbfb7b9 100644 --- a/modules/glfw3/onyx_glfw3.c +++ b/modules/glfw3/onyx_glfw3.c @@ -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) diff --git a/modules/glfw3/onyx_glfw3.so b/modules/glfw3/onyx_glfw3.so index 7649fd898b7d96b340f8f876407580f57c37a386..d73d1198dd71f05dc6cc67b0c699cd53cb304998 100755 GIT binary patch literal 81680 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%0Dbg>C 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 TzHZUce%l#Z^Dto`lE(i6EtD%U literal 81240 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