Skip to content

Commit dc1632c

Browse files
committed
REVIEWED: Platform code formatting and organization
1 parent 7729727 commit dc1632c

File tree

5 files changed

+109
-116
lines changed

5 files changed

+109
-116
lines changed

src/platforms/rcore_desktop_glfw.c

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -130,27 +130,29 @@ void ClosePlatform(void); // Close platform
130130
static void ErrorCallback(int error, const char *description); // GLFW3 Error Callback, runs on GLFW3 error
131131

132132
// Window callbacks events
133-
static void WindowSizeCallback(GLFWwindow *window, int width, int height); // GLFW3 WindowSize Callback, runs when window is resized
134-
static void WindowPosCallback(GLFWwindow* window, int x, int y); // GLFW3 WindowPos Callback, runs when window is moved
135-
static void WindowIconifyCallback(GLFWwindow *window, int iconified); // GLFW3 WindowIconify Callback, runs when window is minimized/restored
136-
static void WindowMaximizeCallback(GLFWwindow* window, int maximized); // GLFW3 Window Maximize Callback, runs when window is maximized
137-
static void WindowFocusCallback(GLFWwindow *window, int focused); // GLFW3 WindowFocus Callback, runs when window get/lose focus
138-
static void WindowDropCallback(GLFWwindow *window, int count, const char **paths); // GLFW3 Window Drop Callback, runs when drop files into window
139-
static void WindowContentScaleCallback(GLFWwindow *window, float scalex, float scaley); // GLFW3 Window Content Scale Callback, runs when window changes scale
133+
static void WindowSizeCallback(GLFWwindow *window, int width, int height); // GLFW3 WindowSize Callback, runs when window is resized
134+
static void WindowPosCallback(GLFWwindow* window, int x, int y); // GLFW3 WindowPos Callback, runs when window is moved
135+
static void WindowIconifyCallback(GLFWwindow *window, int iconified); // GLFW3 WindowIconify Callback, runs when window is minimized/restored
136+
static void WindowMaximizeCallback(GLFWwindow* window, int maximized); // GLFW3 Window Maximize Callback, runs when window is maximized
137+
static void WindowFocusCallback(GLFWwindow *window, int focused); // GLFW3 WindowFocus Callback, runs when window get/lose focus
138+
static void WindowDropCallback(GLFWwindow *window, int count, const char **paths); // GLFW3 Window Drop Callback, runs when drop files into window
139+
static void WindowContentScaleCallback(GLFWwindow *window, float scalex, float scaley); // GLFW3 Window Content Scale Callback, runs when window changes scale
140140

141141
// Input callbacks events
142-
static void KeyCallback(GLFWwindow *window, int key, int scancode, int action, int mods); // GLFW3 Keyboard Callback, runs on key pressed
143-
static void CharCallback(GLFWwindow *window, unsigned int codepoint); // GLFW3 Char Callback, runs on key pressed (get codepoint value)
144-
static void MouseButtonCallback(GLFWwindow *window, int button, int action, int mods); // GLFW3 Mouse Button Callback, runs on mouse button pressed
145-
static void MouseCursorPosCallback(GLFWwindow *window, double x, double y); // GLFW3 Cursor Position Callback, runs on mouse move
146-
static void MouseScrollCallback(GLFWwindow *window, double xoffset, double yoffset); // GLFW3 Scrolling Callback, runs on mouse wheel
147-
static void CursorEnterCallback(GLFWwindow *window, int enter); // GLFW3 Cursor Enter Callback, cursor enters client area
148-
static void JoystickCallback(int jid, int event); // GLFW3 Joystick Connected/Disconnected Callback
149-
150-
// Wrappers used by glfwInitAllocator
151-
static void *AllocateWrapper(size_t size, void *user); // GLFW3 GLFWallocatefun, wrapps around RL_CALLOC macro
152-
static void *ReallocateWrapper(void *block, size_t size, void *user); // GLFW3 GLFWreallocatefun, wrapps around RL_REALLOC macro
153-
static void DeallocateWrapper(void *block, void *user); // GLFW3 GLFWdeallocatefun, wraps around RL_FREE macro
142+
static void KeyCallback(GLFWwindow *window, int key, int scancode, int action, int mods); // GLFW3 Keyboard Callback, runs on key pressed
143+
static void CharCallback(GLFWwindow *window, unsigned int codepoint); // GLFW3 Char Callback, runs on key pressed (get codepoint value)
144+
static void MouseButtonCallback(GLFWwindow *window, int button, int action, int mods); // GLFW3 Mouse Button Callback, runs on mouse button pressed
145+
static void MouseCursorPosCallback(GLFWwindow *window, double x, double y); // GLFW3 Cursor Position Callback, runs on mouse move
146+
static void MouseScrollCallback(GLFWwindow *window, double xoffset, double yoffset); // GLFW3 Scrolling Callback, runs on mouse wheel
147+
static void CursorEnterCallback(GLFWwindow *window, int enter); // GLFW3 Cursor Enter Callback, cursor enters client area
148+
static void JoystickCallback(int jid, int event); // GLFW3 Joystick Connected/Disconnected Callback
149+
150+
// Memory allocator wrappers [used by glfwInitAllocator()]
151+
static void *AllocateWrapper(size_t size, void *user); // GLFW3 GLFWallocatefun, wrapps around RL_CALLOC macro
152+
static void *ReallocateWrapper(void *block, size_t size, void *user); // GLFW3 GLFWreallocatefun, wrapps around RL_REALLOC macro
153+
static void DeallocateWrapper(void *block, void *user); // GLFW3 GLFWdeallocatefun, wraps around RL_FREE macro
154+
155+
static void SetDimensionsFromMonitor(GLFWmonitor *monitor); // Set screen dimensions from monitor/display dimensions
154156

155157
//----------------------------------------------------------------------------------
156158
// Module Functions Declaration
@@ -435,7 +437,7 @@ void SetWindowState(unsigned int flags)
435437
// State change: FLAG_INTERLACED_HINT
436438
if (((CORE.Window.flags & FLAG_INTERLACED_HINT) != (flags & FLAG_INTERLACED_HINT)) && ((flags & FLAG_INTERLACED_HINT) > 0))
437439
{
438-
TRACELOG(LOG_WARNING, "RPI: Interlaced mode can only be configured before window initialization");
440+
TRACELOG(LOG_WARNING, "WINDOW: Interlaced mode can only be configured before window initialization");
439441
}
440442
}
441443

@@ -993,7 +995,7 @@ Vector2 GetWindowPosition(void)
993995
// Get window scale DPI factor for current monitor
994996
Vector2 GetWindowScaleDPI(void)
995997
{
996-
Vector2 scale = {0};
998+
Vector2 scale = { 0 };
997999
glfwGetWindowContentScale(platform.handle, &scale.x, &scale.y);
9981000
return scale;
9991001
}
@@ -1321,20 +1323,6 @@ void PollInputEvents(void)
13211323
//----------------------------------------------------------------------------------
13221324
// Module Internal Functions Definition
13231325
//----------------------------------------------------------------------------------
1324-
1325-
static void SetDimensionsFromMonitor(GLFWmonitor *monitor)
1326-
{
1327-
const GLFWvidmode *mode = glfwGetVideoMode(monitor);
1328-
1329-
// Default display resolution to that of the current mode
1330-
CORE.Window.display.width = mode->width;
1331-
CORE.Window.display.height = mode->height;
1332-
1333-
// Set screen width/height to the display width/height if they are 0
1334-
if (CORE.Window.screen.width == 0) CORE.Window.screen.width = CORE.Window.display.width;
1335-
if (CORE.Window.screen.height == 0) CORE.Window.screen.height = CORE.Window.display.height;
1336-
}
1337-
13381326
// Function wrappers around RL_*alloc macros, used by glfwInitAllocator() inside of InitPlatform()
13391327
// We need to provide these because GLFWallocator expects function pointers with specific signatures
13401328
// Similar wrappers exist in utils.c but we cannot reuse them here due to declaration mismatch
@@ -1929,8 +1917,6 @@ static void KeyCallback(GLFWwindow *window, int key, int scancode, int action, i
19291917
// GLFW3 Char Callback, get unicode codepoint value
19301918
static void CharCallback(GLFWwindow *window, unsigned int codepoint)
19311919
{
1932-
//TRACELOG(LOG_DEBUG, "Char Callback: Codepoint: %i", codepoint);
1933-
19341920
// NOTE: Registers any key down considering OS keyboard layout but
19351921
// does not detect action events, those should be managed by user...
19361922
// Ref: https://github.com/glfw/glfw/issues/668#issuecomment-166794907
@@ -2041,6 +2027,20 @@ static void JoystickCallback(int jid, int event)
20412027
}
20422028
}
20432029

2030+
// Set screen dimensions from monitor/display dimensions
2031+
static void SetDimensionsFromMonitor(GLFWmonitor *monitor)
2032+
{
2033+
const GLFWvidmode *mode = glfwGetVideoMode(monitor);
2034+
2035+
// Default display resolution to that of the current mode
2036+
CORE.Window.display.width = mode->width;
2037+
CORE.Window.display.height = mode->height;
2038+
2039+
// Set screen width/height to the display width/height if they are 0
2040+
if (CORE.Window.screen.width == 0) CORE.Window.screen.width = CORE.Window.display.width;
2041+
if (CORE.Window.screen.height == 0) CORE.Window.screen.height = CORE.Window.display.height;
2042+
}
2043+
20442044
#ifdef _WIN32
20452045
# define WIN32_CLIPBOARD_IMPLEMENTATION
20462046
# include "../external/win32_clipboard.h"

src/platforms/rcore_desktop_rgfw.c

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -240,12 +240,34 @@ static const unsigned short keyMappingRGFW[] = {
240240
[RGFW_scrollLock] = KEY_SCROLL_LOCK,
241241
};
242242

243+
static int RGFW_gpConvTable[18] = {
244+
[RGFW_gamepadY] = GAMEPAD_BUTTON_RIGHT_FACE_UP,
245+
[RGFW_gamepadB] = GAMEPAD_BUTTON_RIGHT_FACE_RIGHT,
246+
[RGFW_gamepadA] = GAMEPAD_BUTTON_RIGHT_FACE_DOWN,
247+
[RGFW_gamepadX] = GAMEPAD_BUTTON_RIGHT_FACE_LEFT,
248+
[RGFW_gamepadL1] = GAMEPAD_BUTTON_LEFT_TRIGGER_1,
249+
[RGFW_gamepadR1] = GAMEPAD_BUTTON_RIGHT_TRIGGER_1,
250+
[RGFW_gamepadL2] = GAMEPAD_BUTTON_LEFT_TRIGGER_2,
251+
[RGFW_gamepadR2] = GAMEPAD_BUTTON_RIGHT_TRIGGER_2,
252+
[RGFW_gamepadSelect] = GAMEPAD_BUTTON_MIDDLE_LEFT,
253+
[RGFW_gamepadHome] = GAMEPAD_BUTTON_MIDDLE,
254+
[RGFW_gamepadStart] = GAMEPAD_BUTTON_MIDDLE_RIGHT,
255+
[RGFW_gamepadUp] = GAMEPAD_BUTTON_LEFT_FACE_UP,
256+
[RGFW_gamepadRight] = GAMEPAD_BUTTON_LEFT_FACE_RIGHT,
257+
[RGFW_gamepadDown] = GAMEPAD_BUTTON_LEFT_FACE_DOWN,
258+
[RGFW_gamepadLeft] = GAMEPAD_BUTTON_LEFT_FACE_LEFT,
259+
[RGFW_gamepadL3] = GAMEPAD_BUTTON_LEFT_THUMB,
260+
[RGFW_gamepadR3] = GAMEPAD_BUTTON_RIGHT_THUMB,
261+
};
262+
243263
//----------------------------------------------------------------------------------
244264
// Module Internal Functions Declaration
245265
//----------------------------------------------------------------------------------
246266
int InitPlatform(void); // Initialize platform (graphics, inputs and more)
247267
bool InitGraphicsDevice(void); // Initialize graphics device
248268

269+
static KeyboardKey ConvertScancodeToKey(u32 keycode);
270+
249271
//----------------------------------------------------------------------------------
250272
// Module Functions Declaration
251273
//----------------------------------------------------------------------------------
@@ -897,28 +919,6 @@ const char *GetKeyName(int key)
897919
return "";
898920
}
899921

900-
static KeyboardKey ConvertScancodeToKey(u32 keycode);
901-
902-
int RGFW_gpConvTable[18] = {
903-
[RGFW_gamepadY] = GAMEPAD_BUTTON_RIGHT_FACE_UP,
904-
[RGFW_gamepadB] = GAMEPAD_BUTTON_RIGHT_FACE_RIGHT,
905-
[RGFW_gamepadA] = GAMEPAD_BUTTON_RIGHT_FACE_DOWN,
906-
[RGFW_gamepadX] = GAMEPAD_BUTTON_RIGHT_FACE_LEFT,
907-
[RGFW_gamepadL1] = GAMEPAD_BUTTON_LEFT_TRIGGER_1,
908-
[RGFW_gamepadR1] = GAMEPAD_BUTTON_RIGHT_TRIGGER_1,
909-
[RGFW_gamepadL2] = GAMEPAD_BUTTON_LEFT_TRIGGER_2,
910-
[RGFW_gamepadR2] = GAMEPAD_BUTTON_RIGHT_TRIGGER_2,
911-
[RGFW_gamepadSelect] = GAMEPAD_BUTTON_MIDDLE_LEFT,
912-
[RGFW_gamepadHome] = GAMEPAD_BUTTON_MIDDLE,
913-
[RGFW_gamepadStart] = GAMEPAD_BUTTON_MIDDLE_RIGHT,
914-
[RGFW_gamepadUp] = GAMEPAD_BUTTON_LEFT_FACE_UP,
915-
[RGFW_gamepadRight] = GAMEPAD_BUTTON_LEFT_FACE_RIGHT,
916-
[RGFW_gamepadDown] = GAMEPAD_BUTTON_LEFT_FACE_DOWN,
917-
[RGFW_gamepadLeft] = GAMEPAD_BUTTON_LEFT_FACE_LEFT,
918-
[RGFW_gamepadL3] = GAMEPAD_BUTTON_LEFT_THUMB,
919-
[RGFW_gamepadR3] = GAMEPAD_BUTTON_RIGHT_THUMB,
920-
};
921-
922922
// Register all input events
923923
void PollInputEvents(void)
924924
{

src/platforms/rcore_desktop_sdl.c

Lines changed: 46 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@
9090
#endif
9191
#endif
9292

93+
#define SCANCODE_MAPPED_NUM 232
94+
9395
//----------------------------------------------------------------------------------
9496
// Types and Structures Definition
9597
//----------------------------------------------------------------------------------
@@ -110,10 +112,6 @@ extern CoreData CORE; // Global CORE state context
110112

111113
static PlatformData platform = { 0 }; // Platform specific data
112114

113-
//----------------------------------------------------------------------------------
114-
// Global Variables Definition
115-
//----------------------------------------------------------------------------------
116-
#define SCANCODE_MAPPED_NUM 232
117115
static const KeyboardKey mapScancodeToKey[SCANCODE_MAPPED_NUM] = {
118116
KEY_NULL, // SDL_SCANCODE_UNKNOWN
119117
0,
@@ -321,18 +319,18 @@ Uint8 SDL_EventState(Uint32 type, int state)
321319
{
322320
case SDL_DISABLE: SDL_SetEventEnabled(type, false); break;
323321
case SDL_ENABLE: SDL_SetEventEnabled(type, true); break;
324-
default: TRACELOG(LOG_WARNING, "Event sate: unknow type");
322+
default: TRACELOG(LOG_WARNING, "SDL: Event state of unknow type");
325323
}
326324

327325
return stateBefore;
328326
}
329327

330328
void SDL_GetCurrentDisplayMode_Adapter(SDL_DisplayID displayID, SDL_DisplayMode* mode)
331329
{
332-
const SDL_DisplayMode* currMode = SDL_GetCurrentDisplayMode(displayID);
330+
const SDL_DisplayMode *currentMode = SDL_GetCurrentDisplayMode(displayID);
333331

334-
if (currMode == NULL) TRACELOG(LOG_WARNING, "No current display mode");
335-
else *mode = *currMode;
332+
if (currentMode == NULL) TRACELOG(LOG_WARNING, "SDL: No possible to get current display mode");
333+
else *mode = *currentMode;
336334
}
337335

338336
// SDL3 Migration: Renamed
@@ -423,7 +421,7 @@ int SDL_GetNumTouchFingers(SDL_TouchID touchID)
423421
// SDL_GetClipboardData function is available since SDL 3.1.3. (e.g. SDL3)
424422
void *SDL_GetClipboardData(const char *mime_type, size_t *size)
425423
{
426-
TRACELOG(LOG_WARNING, "Getting clipboard data that is not text is only available in SDL3");
424+
TRACELOG(LOG_WARNING, "SDL: Getting clipboard data that is not text not available in SDL2");
427425

428426
// We could possibly implement it ourselves in this case for some easier platforms
429427
return NULL;
@@ -438,8 +436,8 @@ int InitPlatform(void); // Initialize platf
438436
void ClosePlatform(void); // Close platform
439437

440438
static KeyboardKey ConvertScancodeToKey(SDL_Scancode sdlScancode); // Help convert SDL scancodes to raylib key
441-
442439
static int GetCodepointNextSDL(const char *text, int *codepointSize); // Get next codepoint in a byte sequence and bytes processed
440+
static void UpdateTouchPointsSDL(SDL_TouchFingerEvent event); // Update CORE input touch point info from SDL touch data
443441

444442
//----------------------------------------------------------------------------------
445443
// Module Functions Declaration
@@ -1307,41 +1305,6 @@ const char *GetKeyName(int key)
13071305
return SDL_GetKeyName(key);
13081306
}
13091307

1310-
static void UpdateTouchPointsSDL(SDL_TouchFingerEvent event)
1311-
{
1312-
#if defined(USING_VERSION_SDL3) // SDL3
1313-
int count = 0;
1314-
SDL_Finger **fingers = SDL_GetTouchFingers(event.touchID, &count);
1315-
CORE.Input.Touch.pointCount = count;
1316-
1317-
for (int i = 0; i < CORE.Input.Touch.pointCount; i++)
1318-
{
1319-
SDL_Finger *finger = fingers[i];
1320-
CORE.Input.Touch.pointId[i] = finger->id;
1321-
CORE.Input.Touch.position[i].x = finger->x*CORE.Window.screen.width;
1322-
CORE.Input.Touch.position[i].y = finger->y*CORE.Window.screen.height;
1323-
CORE.Input.Touch.currentTouchState[i] = 1;
1324-
}
1325-
1326-
SDL_free(fingers);
1327-
1328-
#else // SDL2
1329-
1330-
CORE.Input.Touch.pointCount = SDL_GetNumTouchFingers(event.touchId);
1331-
1332-
for (int i = 0; i < CORE.Input.Touch.pointCount; i++)
1333-
{
1334-
SDL_Finger *finger = SDL_GetTouchFinger(event.touchId, i);
1335-
CORE.Input.Touch.pointId[i] = finger->id;
1336-
CORE.Input.Touch.position[i].x = finger->x*CORE.Window.screen.width;
1337-
CORE.Input.Touch.position[i].y = finger->y*CORE.Window.screen.height;
1338-
CORE.Input.Touch.currentTouchState[i] = 1;
1339-
}
1340-
#endif
1341-
1342-
for (int i = CORE.Input.Touch.pointCount; i < MAX_TOUCH_POINTS; i++) CORE.Input.Touch.currentTouchState[i] = 0;
1343-
}
1344-
13451308
// Register all input events
13461309
void PollInputEvents(void)
13471310
{
@@ -1399,15 +1362,9 @@ void PollInputEvents(void)
13991362

14001363
// Poll input events for current platform
14011364
//-----------------------------------------------------------------------------
1402-
/*
14031365
// WARNING: Indexes into this array are obtained by using SDL_Scancode values, not SDL_Keycode values
1404-
const Uint8 *keys = SDL_GetKeyboardState(NULL);
1405-
for (int i = 0; i < 256; ++i)
1406-
{
1407-
CORE.Input.Keyboard.currentKeyState[i] = keys[i];
1408-
//if (keys[i]) TRACELOG(LOG_WARNING, "Pressed key: %i", i);
1409-
}
1410-
*/
1366+
//const Uint8 *keys = SDL_GetKeyboardState(NULL);
1367+
//for (int i = 0; i < 256; ++i) CORE.Input.Keyboard.currentKeyState[i] = keys[i];
14111368

14121369
CORE.Window.resizedLastFrame = false;
14131370

@@ -2174,3 +2131,39 @@ static int GetCodepointNextSDL(const char *text, int *codepointSize)
21742131

21752132
return codepoint;
21762133
}
2134+
2135+
// Update CORE input touch point info from SDL touch data
2136+
static void UpdateTouchPointsSDL(SDL_TouchFingerEvent event)
2137+
{
2138+
#if defined(USING_VERSION_SDL3) // SDL3
2139+
int count = 0;
2140+
SDL_Finger **fingers = SDL_GetTouchFingers(event.touchID, &count);
2141+
CORE.Input.Touch.pointCount = count;
2142+
2143+
for (int i = 0; i < CORE.Input.Touch.pointCount; i++)
2144+
{
2145+
SDL_Finger *finger = fingers[i];
2146+
CORE.Input.Touch.pointId[i] = finger->id;
2147+
CORE.Input.Touch.position[i].x = finger->x*CORE.Window.screen.width;
2148+
CORE.Input.Touch.position[i].y = finger->y*CORE.Window.screen.height;
2149+
CORE.Input.Touch.currentTouchState[i] = 1;
2150+
}
2151+
2152+
SDL_free(fingers);
2153+
2154+
#else // SDL2
2155+
2156+
CORE.Input.Touch.pointCount = SDL_GetNumTouchFingers(event.touchId);
2157+
2158+
for (int i = 0; i < CORE.Input.Touch.pointCount; i++)
2159+
{
2160+
SDL_Finger *finger = SDL_GetTouchFinger(event.touchId, i);
2161+
CORE.Input.Touch.pointId[i] = finger->id;
2162+
CORE.Input.Touch.position[i].x = finger->x*CORE.Window.screen.width;
2163+
CORE.Input.Touch.position[i].y = finger->y*CORE.Window.screen.height;
2164+
CORE.Input.Touch.currentTouchState[i] = 1;
2165+
}
2166+
#endif
2167+
2168+
for (int i = CORE.Input.Touch.pointCount; i < MAX_TOUCH_POINTS; i++) CORE.Input.Touch.currentTouchState[i] = 0;
2169+
}

src/platforms/rcore_drm.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@ static void RestoreKeyboard(void); // Restore keyboard system
245245
static void ProcessKeyboard(void); // Process keyboard events
246246
#endif
247247

248+
// Input management functions
248249
static void InitEvdevInput(void); // Initialize evdev inputs
249250
static void ConfigureEvdevDevice(char *device); // Identifies a input device and configures it for use if appropriate
250251
static void PollKeyboardEvents(void); // Process evdev keyboard events
@@ -703,7 +704,7 @@ void SwapScreenBuffer()
703704
if (!crtcSet || !platform.gbmSurface) return;
704705

705706
static int loopCnt = 0;
706-
static int errCnt[5] = {0};
707+
static int errCnt[5] = { 0 };
707708
loopCnt++;
708709

709710
// Call this only, if pendingFlip is not set

src/platforms/rcore_web.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1722,8 +1722,7 @@ static EM_BOOL EmscriptenTouchCallback(int eventType, const EmscriptenTouchEvent
17221722
}
17231723

17241724
#if defined(SUPPORT_GESTURES_SYSTEM)
1725-
GestureEvent gestureEvent = {0};
1726-
1725+
GestureEvent gestureEvent = { 0 };
17271726
gestureEvent.pointCount = CORE.Input.Touch.pointCount;
17281727

17291728
// Register touch actions
@@ -1852,7 +1851,7 @@ static EM_BOOL EmscriptenVisibilityChangeCallback(int eventType, const Emscripte
18521851
//-------------------------------------------------------------------------------------------------------
18531852

18541853
// JS: Get the canvas id provided by the module configuration
1855-
EM_JS(char*, GetCanvasIdJs, (), {
1854+
EM_JS(char *, GetCanvasIdJs, (), {
18561855
var canvasId = "#" + Module.canvas.id;
18571856
var lengthBytes = lengthBytesUTF8(canvasId) + 1;
18581857
var stringOnWasmHeap = _malloc(lengthBytes);

0 commit comments

Comments
 (0)