rayjs/src/bindings/js_raylib_core.h

835 lines
37 KiB
C
Raw Normal View History

2023-05-06 21:43:40 +00:00
#ifndef JS_raylib_core_GUARD
#define JS_raylib_core_GUARD
2023-05-04 21:54:03 +00:00
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <quickjs.h>
2023-05-06 21:43:40 +00:00
#include <raylib.h>
2023-05-04 21:54:03 +00:00
#ifndef countof
#define countof(x) (sizeof(x) / sizeof((x)[0]))
#endif
2023-05-08 21:37:58 +00:00
static JSClassID js_Color_class_id;
2023-05-10 21:26:53 +00:00
static JSClassID js_Vector2_class_id;
2023-05-08 21:37:58 +00:00
static void js_Color_finalizer(JSRuntime * rt, JSValue val) {
Color* ptr = JS_GetOpaque(val, js_Color_class_id);
if(ptr) {
js_free_rt(rt, ptr);
}
}
static JSValue js_Color_get_r(JSContext* ctx, JSValueConst this_val) {
Color* ptr = JS_GetOpaque2(ctx, this_val, js_Color_class_id);
if(!ptr) {
return JS_EXCEPTION;
}
unsigned char r = ptr->r;
JSValue ret = JS_NewInt32(ctx, r);
return ret;
}
static JSValue js_Color_set_r(JSContext* ctx, JSValueConst this_val, JSValueConst v) {
Color* ptr = JS_GetOpaque2(ctx, this_val, js_Color_class_id);
if(!ptr) {
return JS_EXCEPTION;
}
2023-05-09 16:24:54 +00:00
int _int_value;
JS_ToInt32(ctx, &_int_value, v);
unsigned char value = (unsigned char)_int_value;
2023-05-08 21:37:58 +00:00
ptr->r = value;
return JS_UNDEFINED;
}
static JSValue js_Color_get_g(JSContext* ctx, JSValueConst this_val) {
Color* ptr = JS_GetOpaque2(ctx, this_val, js_Color_class_id);
if(!ptr) {
return JS_EXCEPTION;
}
unsigned char g = ptr->g;
JSValue ret = JS_NewInt32(ctx, g);
return ret;
}
static JSValue js_Color_set_g(JSContext* ctx, JSValueConst this_val, JSValueConst v) {
Color* ptr = JS_GetOpaque2(ctx, this_val, js_Color_class_id);
if(!ptr) {
return JS_EXCEPTION;
}
2023-05-09 16:24:54 +00:00
int _int_value;
JS_ToInt32(ctx, &_int_value, v);
unsigned char value = (unsigned char)_int_value;
2023-05-08 21:37:58 +00:00
ptr->g = value;
return JS_UNDEFINED;
}
static JSValue js_Color_get_b(JSContext* ctx, JSValueConst this_val) {
Color* ptr = JS_GetOpaque2(ctx, this_val, js_Color_class_id);
if(!ptr) {
return JS_EXCEPTION;
}
unsigned char b = ptr->b;
JSValue ret = JS_NewInt32(ctx, b);
return ret;
}
static JSValue js_Color_set_b(JSContext* ctx, JSValueConst this_val, JSValueConst v) {
Color* ptr = JS_GetOpaque2(ctx, this_val, js_Color_class_id);
if(!ptr) {
return JS_EXCEPTION;
}
2023-05-09 16:24:54 +00:00
int _int_value;
JS_ToInt32(ctx, &_int_value, v);
unsigned char value = (unsigned char)_int_value;
2023-05-08 21:37:58 +00:00
ptr->b = value;
return JS_UNDEFINED;
}
static JSValue js_Color_get_a(JSContext* ctx, JSValueConst this_val) {
Color* ptr = JS_GetOpaque2(ctx, this_val, js_Color_class_id);
if(!ptr) {
return JS_EXCEPTION;
}
unsigned char a = ptr->a;
JSValue ret = JS_NewInt32(ctx, a);
return ret;
}
static JSValue js_Color_set_a(JSContext* ctx, JSValueConst this_val, JSValueConst v) {
Color* ptr = JS_GetOpaque2(ctx, this_val, js_Color_class_id);
if(!ptr) {
return JS_EXCEPTION;
}
2023-05-09 16:24:54 +00:00
int _int_value;
JS_ToInt32(ctx, &_int_value, v);
unsigned char value = (unsigned char)_int_value;
2023-05-08 21:37:58 +00:00
ptr->a = value;
return JS_UNDEFINED;
}
static const JSCFunctionListEntry js_Color_proto_funcs[] = {
JS_CGETSET_DEF("r",js_Color_get_r,js_Color_set_r),
JS_CGETSET_DEF("g",js_Color_get_g,js_Color_set_g),
JS_CGETSET_DEF("b",js_Color_get_b,js_Color_set_b),
JS_CGETSET_DEF("a",js_Color_get_a,js_Color_set_a),
JS_PROP_STRING_DEF("[Symbol.toStringTag]","Color", JS_PROP_CONFIGURABLE),
};
static int js_declare_Color(JSContext * ctx, JSModuleDef * m) {
JS_NewClassID(&js_Color_class_id);
JSClassDef js_Color_def = { .class_name = "Color", .finalizer = js_Color_finalizer };
JS_NewClass(JS_GetRuntime(ctx), js_Color_class_id, &js_Color_def);
JSValue proto = JS_NewObject(ctx);
JS_SetPropertyFunctionList(ctx, proto, js_Color_proto_funcs, countof(js_Color_proto_funcs));
JS_SetClassProto(ctx, js_Color_class_id, proto);
return 0;
}
2023-05-06 21:43:40 +00:00
2023-05-10 21:26:53 +00:00
static void js_Vector2_finalizer(JSRuntime * rt, JSValue val) {
Vector2* ptr = JS_GetOpaque(val, js_Vector2_class_id);
if(ptr) {
js_free_rt(rt, ptr);
}
}
static JSValue js_Vector2_get_x(JSContext* ctx, JSValueConst this_val) {
Vector2* ptr = JS_GetOpaque2(ctx, this_val, js_Vector2_class_id);
if(!ptr) {
return JS_EXCEPTION;
}
float x = ptr->x;
JSValue ret = JS_NewFloat64(ctx, x);
return ret;
}
static JSValue js_Vector2_set_x(JSContext* ctx, JSValueConst this_val, JSValueConst v) {
Vector2* ptr = JS_GetOpaque2(ctx, this_val, js_Vector2_class_id);
if(!ptr) {
return JS_EXCEPTION;
}
double _double_value;
JS_ToFloat64(ctx, &_double_value, v);
float value = (float)_double_value;
ptr->x = value;
return JS_UNDEFINED;
}
static JSValue js_Vector2_get_y(JSContext* ctx, JSValueConst this_val) {
Vector2* ptr = JS_GetOpaque2(ctx, this_val, js_Vector2_class_id);
if(!ptr) {
return JS_EXCEPTION;
}
float y = ptr->y;
JSValue ret = JS_NewFloat64(ctx, y);
return ret;
}
static JSValue js_Vector2_set_y(JSContext* ctx, JSValueConst this_val, JSValueConst v) {
Vector2* ptr = JS_GetOpaque2(ctx, this_val, js_Vector2_class_id);
if(!ptr) {
return JS_EXCEPTION;
}
double _double_value;
JS_ToFloat64(ctx, &_double_value, v);
float value = (float)_double_value;
ptr->y = value;
return JS_UNDEFINED;
}
static const JSCFunctionListEntry js_Vector2_proto_funcs[] = {
JS_CGETSET_DEF("x",js_Vector2_get_x,js_Vector2_set_x),
JS_CGETSET_DEF("y",js_Vector2_get_y,js_Vector2_set_y),
JS_PROP_STRING_DEF("[Symbol.toStringTag]","Vector2", JS_PROP_CONFIGURABLE),
};
static int js_declare_Vector2(JSContext * ctx, JSModuleDef * m) {
JS_NewClassID(&js_Vector2_class_id);
JSClassDef js_Vector2_def = { .class_name = "Vector2", .finalizer = js_Vector2_finalizer };
JS_NewClass(JS_GetRuntime(ctx), js_Vector2_class_id, &js_Vector2_def);
JSValue proto = JS_NewObject(ctx);
JS_SetPropertyFunctionList(ctx, proto, js_Vector2_proto_funcs, countof(js_Vector2_proto_funcs));
JS_SetClassProto(ctx, js_Vector2_class_id, proto);
return 0;
}
2023-05-09 21:25:28 +00:00
static JSValue js_Color_constructor(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
int _int_r;
JS_ToInt32(ctx, &_int_r, argv[0]);
unsigned char r = (unsigned char)_int_r;
int _int_g;
JS_ToInt32(ctx, &_int_g, argv[1]);
unsigned char g = (unsigned char)_int_g;
int _int_b;
JS_ToInt32(ctx, &_int_b, argv[2]);
unsigned char b = (unsigned char)_int_b;
int _int_a;
JS_ToInt32(ctx, &_int_a, argv[3]);
unsigned char a = (unsigned char)_int_a;
Color _struct = { r, g, b, a };
2023-05-10 21:26:53 +00:00
Color* _return_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*_return_ptr = _struct;
2023-05-09 21:25:28 +00:00
JSValue _return = JS_NewObjectClass(ctx, js_Color_class_id);
2023-05-10 21:26:53 +00:00
JS_SetOpaque(_return, _return_ptr);
return _return;
}
static JSValue js_Vector2_constructor(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
double _double_x;
JS_ToFloat64(ctx, &_double_x, argv[0]);
float x = (float)_double_x;
double _double_y;
JS_ToFloat64(ctx, &_double_y, argv[1]);
float y = (float)_double_y;
Vector2 _struct = { x, y };
Vector2* _return_ptr = (Vector2*)js_malloc(ctx, sizeof(Vector2));
*_return_ptr = _struct;
JSValue _return = JS_NewObjectClass(ctx, js_Vector2_class_id);
JS_SetOpaque(_return, _return_ptr);
2023-05-09 21:25:28 +00:00
return _return;
}
2023-05-06 21:43:40 +00:00
static JSValue js_setWindowTitle(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
const char * title = JS_ToCString(ctx, argv[0]);
if(title == NULL) return JS_EXCEPTION;
SetWindowTitle(title);
JS_FreeCString(ctx, title);
2023-05-04 21:54:03 +00:00
return JS_UNDEFINED;
}
2023-05-06 21:43:40 +00:00
static JSValue js_setWindowPosition(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
int x;
JS_ToInt32(ctx, &x, argv[0]);
int y;
JS_ToInt32(ctx, &y, argv[1]);
SetWindowPosition(x, y);
2023-05-05 14:49:33 +00:00
return JS_UNDEFINED;
}
2023-05-06 21:43:40 +00:00
static JSValue js_beginDrawing(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
BeginDrawing();
2023-05-05 14:49:33 +00:00
return JS_UNDEFINED;
}
2023-05-06 21:43:40 +00:00
static JSValue js_endDrawing(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
2023-05-11 20:10:40 +00:00
app_update_quickjs();
2023-05-06 21:43:40 +00:00
EndDrawing();
2023-05-04 21:54:03 +00:00
return JS_UNDEFINED;
}
2023-05-10 21:26:53 +00:00
static JSValue js_initWindow(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
int width;
JS_ToInt32(ctx, &width, argv[0]);
int height;
JS_ToInt32(ctx, &height, argv[1]);
const char * title = JS_ToCString(ctx, argv[2]);
if(title == NULL) return JS_EXCEPTION;
InitWindow(width, height, title);
JS_FreeCString(ctx, title);
return JS_UNDEFINED;
}
static JSValue js_setTargetFPS(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
int fps;
JS_ToInt32(ctx, &fps, argv[0]);
SetTargetFPS(fps);
return JS_UNDEFINED;
}
static JSValue js_windowShouldClose(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
bool returnVal = WindowShouldClose();
JSValue ret = JS_NewBool(ctx, returnVal);
return ret;
}
static JSValue js_clearBackground(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
Color* color_ptr = (Color*)JS_GetOpaque2(ctx, argv[0], js_Color_class_id);
if(color_ptr == NULL) return JS_EXCEPTION;
Color color = *color_ptr;
ClearBackground(color);
return JS_UNDEFINED;
}
static JSValue js_closeWindow(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
CloseWindow();
return JS_UNDEFINED;
}
static JSValue js_drawText(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
const char * text = JS_ToCString(ctx, argv[0]);
if(text == NULL) return JS_EXCEPTION;
int posX;
JS_ToInt32(ctx, &posX, argv[1]);
int posY;
JS_ToInt32(ctx, &posY, argv[2]);
int fontSize;
JS_ToInt32(ctx, &fontSize, argv[3]);
Color* color_ptr = (Color*)JS_GetOpaque2(ctx, argv[4], js_Color_class_id);
if(color_ptr == NULL) return JS_EXCEPTION;
Color color = *color_ptr;
DrawText(text, posX, posY, fontSize, color);
JS_FreeCString(ctx, text);
return JS_UNDEFINED;
}
static JSValue js_drawCircleV(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
Vector2* center_ptr = (Vector2*)JS_GetOpaque2(ctx, argv[0], js_Vector2_class_id);
if(center_ptr == NULL) return JS_EXCEPTION;
Vector2 center = *center_ptr;
double _double_radius;
JS_ToFloat64(ctx, &_double_radius, argv[1]);
float radius = (float)_double_radius;
Color* color_ptr = (Color*)JS_GetOpaque2(ctx, argv[2], js_Color_class_id);
if(color_ptr == NULL) return JS_EXCEPTION;
Color color = *color_ptr;
DrawCircleV(center, radius, color);
return JS_UNDEFINED;
}
static JSValue js_isKeyDown(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
int key;
JS_ToInt32(ctx, &key, argv[0]);
bool returnVal = IsKeyDown(key);
JSValue ret = JS_NewBool(ctx, returnVal);
return ret;
}
2023-05-11 20:10:40 +00:00
static JSValue js_getMousePosition(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
Vector2 returnVal = GetMousePosition();
Vector2* ret_ptr = (Vector2*)js_malloc(ctx, sizeof(Vector2));
*ret_ptr = returnVal;
JSValue ret = JS_NewObjectClass(ctx, js_Vector2_class_id);
JS_SetOpaque(ret, ret_ptr);
return ret;
}
static JSValue js_isMouseButtonPressed(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
int button;
JS_ToInt32(ctx, &button, argv[0]);
bool returnVal = IsMouseButtonPressed(button);
JSValue ret = JS_NewBool(ctx, returnVal);
return ret;
}
static JSValue js_getMouseWheelMove(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
float returnVal = GetMouseWheelMove();
JSValue ret = JS_NewFloat64(ctx, returnVal);
return ret;
}
static JSValue js_drawRectangle(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) {
int posX;
JS_ToInt32(ctx, &posX, argv[0]);
int posY;
JS_ToInt32(ctx, &posY, argv[1]);
int width;
JS_ToInt32(ctx, &width, argv[2]);
int height;
JS_ToInt32(ctx, &height, argv[3]);
Color* color_ptr = (Color*)JS_GetOpaque2(ctx, argv[4], js_Color_class_id);
if(color_ptr == NULL) return JS_EXCEPTION;
Color color = *color_ptr;
DrawRectangle(posX, posY, width, height, color);
return JS_UNDEFINED;
}
2023-05-04 21:54:03 +00:00
static const JSCFunctionListEntry js_raylib_core_funcs[] = {
2023-05-06 21:43:40 +00:00
JS_CFUNC_DEF("setWindowTitle",1,js_setWindowTitle),
JS_CFUNC_DEF("setWindowPosition",2,js_setWindowPosition),
JS_CFUNC_DEF("beginDrawing",0,js_beginDrawing),
JS_CFUNC_DEF("endDrawing",0,js_endDrawing),
2023-05-10 21:26:53 +00:00
JS_CFUNC_DEF("initWindow",3,js_initWindow),
JS_CFUNC_DEF("setTargetFPS",1,js_setTargetFPS),
JS_CFUNC_DEF("windowShouldClose",0,js_windowShouldClose),
JS_CFUNC_DEF("clearBackground",1,js_clearBackground),
JS_CFUNC_DEF("closeWindow",0,js_closeWindow),
JS_CFUNC_DEF("drawText",5,js_drawText),
JS_CFUNC_DEF("drawCircleV",3,js_drawCircleV),
JS_CFUNC_DEF("isKeyDown",1,js_isKeyDown),
2023-05-11 20:10:40 +00:00
JS_CFUNC_DEF("getMousePosition",0,js_getMousePosition),
JS_CFUNC_DEF("isMouseButtonPressed",1,js_isMouseButtonPressed),
JS_CFUNC_DEF("getMouseWheelMove",0,js_getMouseWheelMove),
JS_CFUNC_DEF("drawRectangle",5,js_drawRectangle),
2023-05-04 21:54:03 +00:00
};
2023-05-08 14:43:50 +00:00
static int js_raylib_core_init(JSContext * ctx, JSModuleDef * m) {
2023-05-06 21:43:40 +00:00
JS_SetModuleExportList(ctx, m,js_raylib_core_funcs,countof(js_raylib_core_funcs));
2023-05-08 21:37:58 +00:00
js_declare_Color(ctx, m);
2023-05-09 21:25:28 +00:00
JSValue Color_constr = JS_NewCFunction2(ctx, js_Color_constructor,"Color)", 4, JS_CFUNC_constructor_or_func, 0);
JS_SetModuleExport(ctx, m, "Color", Color_constr);
2023-05-10 21:26:53 +00:00
js_declare_Vector2(ctx, m);
JSValue Vector2_constr = JS_NewCFunction2(ctx, js_Vector2_constructor,"Vector2)", 2, JS_CFUNC_constructor_or_func, 0);
JS_SetModuleExport(ctx, m, "Vector2", Vector2_constr);
Color LIGHTGRAY_struct = { 200, 200, 200, 255 };
Color* LIGHTGRAY_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*LIGHTGRAY_js_ptr = LIGHTGRAY_struct;
JSValue LIGHTGRAY_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(LIGHTGRAY_js, LIGHTGRAY_js_ptr);
JS_SetModuleExport(ctx, m, "LIGHTGRAY", LIGHTGRAY_js);
Color GRAY_struct = { 130, 130, 130, 255 };
Color* GRAY_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*GRAY_js_ptr = GRAY_struct;
JSValue GRAY_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(GRAY_js, GRAY_js_ptr);
JS_SetModuleExport(ctx, m, "GRAY", GRAY_js);
Color DARKGRAY_struct = { 80, 80, 80, 255 };
Color* DARKGRAY_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*DARKGRAY_js_ptr = DARKGRAY_struct;
JSValue DARKGRAY_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(DARKGRAY_js, DARKGRAY_js_ptr);
JS_SetModuleExport(ctx, m, "DARKGRAY", DARKGRAY_js);
Color YELLOW_struct = { 253, 249, 0, 255 };
Color* YELLOW_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*YELLOW_js_ptr = YELLOW_struct;
JSValue YELLOW_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(YELLOW_js, YELLOW_js_ptr);
JS_SetModuleExport(ctx, m, "YELLOW", YELLOW_js);
Color GOLD_struct = { 255, 203, 0, 255 };
Color* GOLD_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*GOLD_js_ptr = GOLD_struct;
JSValue GOLD_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(GOLD_js, GOLD_js_ptr);
JS_SetModuleExport(ctx, m, "GOLD", GOLD_js);
Color ORANGE_struct = { 255, 161, 0, 255 };
Color* ORANGE_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*ORANGE_js_ptr = ORANGE_struct;
JSValue ORANGE_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(ORANGE_js, ORANGE_js_ptr);
JS_SetModuleExport(ctx, m, "ORANGE", ORANGE_js);
Color PINK_struct = { 255, 109, 194, 255 };
Color* PINK_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*PINK_js_ptr = PINK_struct;
JSValue PINK_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(PINK_js, PINK_js_ptr);
JS_SetModuleExport(ctx, m, "PINK", PINK_js);
Color RED_struct = { 230, 41, 55, 255 };
Color* RED_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*RED_js_ptr = RED_struct;
JSValue RED_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(RED_js, RED_js_ptr);
JS_SetModuleExport(ctx, m, "RED", RED_js);
Color MAROON_struct = { 190, 33, 55, 255 };
Color* MAROON_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*MAROON_js_ptr = MAROON_struct;
JSValue MAROON_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(MAROON_js, MAROON_js_ptr);
JS_SetModuleExport(ctx, m, "MAROON", MAROON_js);
Color GREEN_struct = { 0, 228, 48, 255 };
Color* GREEN_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*GREEN_js_ptr = GREEN_struct;
JSValue GREEN_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(GREEN_js, GREEN_js_ptr);
JS_SetModuleExport(ctx, m, "GREEN", GREEN_js);
Color LIME_struct = { 0, 158, 47, 255 };
Color* LIME_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*LIME_js_ptr = LIME_struct;
JSValue LIME_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(LIME_js, LIME_js_ptr);
JS_SetModuleExport(ctx, m, "LIME", LIME_js);
Color DARKGREEN_struct = { 0, 117, 44, 255 };
Color* DARKGREEN_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*DARKGREEN_js_ptr = DARKGREEN_struct;
JSValue DARKGREEN_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(DARKGREEN_js, DARKGREEN_js_ptr);
JS_SetModuleExport(ctx, m, "DARKGREEN", DARKGREEN_js);
Color SKYBLUE_struct = { 102, 191, 255, 255 };
Color* SKYBLUE_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*SKYBLUE_js_ptr = SKYBLUE_struct;
JSValue SKYBLUE_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(SKYBLUE_js, SKYBLUE_js_ptr);
JS_SetModuleExport(ctx, m, "SKYBLUE", SKYBLUE_js);
Color BLUE_struct = { 0, 121, 241, 255 };
Color* BLUE_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*BLUE_js_ptr = BLUE_struct;
JSValue BLUE_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(BLUE_js, BLUE_js_ptr);
JS_SetModuleExport(ctx, m, "BLUE", BLUE_js);
Color DARKBLUE_struct = { 0, 82, 172, 255 };
Color* DARKBLUE_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*DARKBLUE_js_ptr = DARKBLUE_struct;
JSValue DARKBLUE_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(DARKBLUE_js, DARKBLUE_js_ptr);
JS_SetModuleExport(ctx, m, "DARKBLUE", DARKBLUE_js);
Color PURPLE_struct = { 200, 122, 255, 255 };
Color* PURPLE_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*PURPLE_js_ptr = PURPLE_struct;
JSValue PURPLE_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(PURPLE_js, PURPLE_js_ptr);
JS_SetModuleExport(ctx, m, "PURPLE", PURPLE_js);
Color VIOLET_struct = { 135, 60, 190, 255 };
Color* VIOLET_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*VIOLET_js_ptr = VIOLET_struct;
JSValue VIOLET_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(VIOLET_js, VIOLET_js_ptr);
JS_SetModuleExport(ctx, m, "VIOLET", VIOLET_js);
Color DARKPURPLE_struct = { 112, 31, 126, 255 };
Color* DARKPURPLE_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*DARKPURPLE_js_ptr = DARKPURPLE_struct;
JSValue DARKPURPLE_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(DARKPURPLE_js, DARKPURPLE_js_ptr);
JS_SetModuleExport(ctx, m, "DARKPURPLE", DARKPURPLE_js);
Color BEIGE_struct = { 211, 176, 131, 255 };
Color* BEIGE_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*BEIGE_js_ptr = BEIGE_struct;
JSValue BEIGE_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(BEIGE_js, BEIGE_js_ptr);
JS_SetModuleExport(ctx, m, "BEIGE", BEIGE_js);
Color BROWN_struct = { 127, 106, 79, 255 };
Color* BROWN_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*BROWN_js_ptr = BROWN_struct;
JSValue BROWN_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(BROWN_js, BROWN_js_ptr);
JS_SetModuleExport(ctx, m, "BROWN", BROWN_js);
Color DARKBROWN_struct = { 76, 63, 47, 255 };
Color* DARKBROWN_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*DARKBROWN_js_ptr = DARKBROWN_struct;
JSValue DARKBROWN_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(DARKBROWN_js, DARKBROWN_js_ptr);
JS_SetModuleExport(ctx, m, "DARKBROWN", DARKBROWN_js);
Color WHITE_struct = { 255, 255, 255, 255 };
Color* WHITE_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*WHITE_js_ptr = WHITE_struct;
JSValue WHITE_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(WHITE_js, WHITE_js_ptr);
JS_SetModuleExport(ctx, m, "WHITE", WHITE_js);
Color BLACK_struct = { 0, 0, 0, 255 };
Color* BLACK_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*BLACK_js_ptr = BLACK_struct;
JSValue BLACK_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(BLACK_js, BLACK_js_ptr);
JS_SetModuleExport(ctx, m, "BLACK", BLACK_js);
Color BLANK_struct = { 0, 0, 0, 0 };
Color* BLANK_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*BLANK_js_ptr = BLANK_struct;
JSValue BLANK_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(BLANK_js, BLANK_js_ptr);
JS_SetModuleExport(ctx, m, "BLANK", BLANK_js);
Color MAGENTA_struct = { 255, 0, 255, 255 };
Color* MAGENTA_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*MAGENTA_js_ptr = MAGENTA_struct;
JSValue MAGENTA_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(MAGENTA_js, MAGENTA_js_ptr);
JS_SetModuleExport(ctx, m, "MAGENTA", MAGENTA_js);
Color RAYWHITE_struct = { 245, 245, 245, 255 };
Color* RAYWHITE_js_ptr = (Color*)js_malloc(ctx, sizeof(Color));
*RAYWHITE_js_ptr = RAYWHITE_struct;
JSValue RAYWHITE_js = JS_NewObjectClass(ctx, js_Color_class_id);
JS_SetOpaque(RAYWHITE_js, RAYWHITE_js_ptr);
JS_SetModuleExport(ctx, m, "RAYWHITE", RAYWHITE_js);
2023-05-11 18:54:49 +00:00
JS_SetModuleExport(ctx, m, "KEY_NULL", JS_NewInt32(ctx, KEY_NULL));
JS_SetModuleExport(ctx, m, "KEY_APOSTROPHE", JS_NewInt32(ctx, KEY_APOSTROPHE));
JS_SetModuleExport(ctx, m, "KEY_COMMA", JS_NewInt32(ctx, KEY_COMMA));
JS_SetModuleExport(ctx, m, "KEY_MINUS", JS_NewInt32(ctx, KEY_MINUS));
JS_SetModuleExport(ctx, m, "KEY_PERIOD", JS_NewInt32(ctx, KEY_PERIOD));
JS_SetModuleExport(ctx, m, "KEY_SLASH", JS_NewInt32(ctx, KEY_SLASH));
JS_SetModuleExport(ctx, m, "KEY_ZERO", JS_NewInt32(ctx, KEY_ZERO));
JS_SetModuleExport(ctx, m, "KEY_ONE", JS_NewInt32(ctx, KEY_ONE));
JS_SetModuleExport(ctx, m, "KEY_TWO", JS_NewInt32(ctx, KEY_TWO));
JS_SetModuleExport(ctx, m, "KEY_THREE", JS_NewInt32(ctx, KEY_THREE));
JS_SetModuleExport(ctx, m, "KEY_FOUR", JS_NewInt32(ctx, KEY_FOUR));
JS_SetModuleExport(ctx, m, "KEY_FIVE", JS_NewInt32(ctx, KEY_FIVE));
JS_SetModuleExport(ctx, m, "KEY_SIX", JS_NewInt32(ctx, KEY_SIX));
JS_SetModuleExport(ctx, m, "KEY_SEVEN", JS_NewInt32(ctx, KEY_SEVEN));
JS_SetModuleExport(ctx, m, "KEY_EIGHT", JS_NewInt32(ctx, KEY_EIGHT));
JS_SetModuleExport(ctx, m, "KEY_NINE", JS_NewInt32(ctx, KEY_NINE));
JS_SetModuleExport(ctx, m, "KEY_SEMICOLON", JS_NewInt32(ctx, KEY_SEMICOLON));
JS_SetModuleExport(ctx, m, "KEY_EQUAL", JS_NewInt32(ctx, KEY_EQUAL));
JS_SetModuleExport(ctx, m, "KEY_A", JS_NewInt32(ctx, KEY_A));
JS_SetModuleExport(ctx, m, "KEY_B", JS_NewInt32(ctx, KEY_B));
JS_SetModuleExport(ctx, m, "KEY_C", JS_NewInt32(ctx, KEY_C));
JS_SetModuleExport(ctx, m, "KEY_D", JS_NewInt32(ctx, KEY_D));
JS_SetModuleExport(ctx, m, "KEY_E", JS_NewInt32(ctx, KEY_E));
JS_SetModuleExport(ctx, m, "KEY_F", JS_NewInt32(ctx, KEY_F));
JS_SetModuleExport(ctx, m, "KEY_G", JS_NewInt32(ctx, KEY_G));
JS_SetModuleExport(ctx, m, "KEY_H", JS_NewInt32(ctx, KEY_H));
JS_SetModuleExport(ctx, m, "KEY_I", JS_NewInt32(ctx, KEY_I));
JS_SetModuleExport(ctx, m, "KEY_J", JS_NewInt32(ctx, KEY_J));
JS_SetModuleExport(ctx, m, "KEY_K", JS_NewInt32(ctx, KEY_K));
JS_SetModuleExport(ctx, m, "KEY_L", JS_NewInt32(ctx, KEY_L));
JS_SetModuleExport(ctx, m, "KEY_M", JS_NewInt32(ctx, KEY_M));
JS_SetModuleExport(ctx, m, "KEY_N", JS_NewInt32(ctx, KEY_N));
JS_SetModuleExport(ctx, m, "KEY_O", JS_NewInt32(ctx, KEY_O));
JS_SetModuleExport(ctx, m, "KEY_P", JS_NewInt32(ctx, KEY_P));
JS_SetModuleExport(ctx, m, "KEY_Q", JS_NewInt32(ctx, KEY_Q));
JS_SetModuleExport(ctx, m, "KEY_R", JS_NewInt32(ctx, KEY_R));
JS_SetModuleExport(ctx, m, "KEY_S", JS_NewInt32(ctx, KEY_S));
JS_SetModuleExport(ctx, m, "KEY_T", JS_NewInt32(ctx, KEY_T));
JS_SetModuleExport(ctx, m, "KEY_U", JS_NewInt32(ctx, KEY_U));
JS_SetModuleExport(ctx, m, "KEY_V", JS_NewInt32(ctx, KEY_V));
JS_SetModuleExport(ctx, m, "KEY_W", JS_NewInt32(ctx, KEY_W));
JS_SetModuleExport(ctx, m, "KEY_X", JS_NewInt32(ctx, KEY_X));
JS_SetModuleExport(ctx, m, "KEY_Y", JS_NewInt32(ctx, KEY_Y));
JS_SetModuleExport(ctx, m, "KEY_Z", JS_NewInt32(ctx, KEY_Z));
JS_SetModuleExport(ctx, m, "KEY_LEFT_BRACKET", JS_NewInt32(ctx, KEY_LEFT_BRACKET));
JS_SetModuleExport(ctx, m, "KEY_BACKSLASH", JS_NewInt32(ctx, KEY_BACKSLASH));
JS_SetModuleExport(ctx, m, "KEY_RIGHT_BRACKET", JS_NewInt32(ctx, KEY_RIGHT_BRACKET));
JS_SetModuleExport(ctx, m, "KEY_GRAVE", JS_NewInt32(ctx, KEY_GRAVE));
JS_SetModuleExport(ctx, m, "KEY_SPACE", JS_NewInt32(ctx, KEY_SPACE));
JS_SetModuleExport(ctx, m, "KEY_ESCAPE", JS_NewInt32(ctx, KEY_ESCAPE));
JS_SetModuleExport(ctx, m, "KEY_ENTER", JS_NewInt32(ctx, KEY_ENTER));
JS_SetModuleExport(ctx, m, "KEY_TAB", JS_NewInt32(ctx, KEY_TAB));
JS_SetModuleExport(ctx, m, "KEY_BACKSPACE", JS_NewInt32(ctx, KEY_BACKSPACE));
JS_SetModuleExport(ctx, m, "KEY_INSERT", JS_NewInt32(ctx, KEY_INSERT));
JS_SetModuleExport(ctx, m, "KEY_DELETE", JS_NewInt32(ctx, KEY_DELETE));
JS_SetModuleExport(ctx, m, "KEY_RIGHT", JS_NewInt32(ctx, KEY_RIGHT));
JS_SetModuleExport(ctx, m, "KEY_LEFT", JS_NewInt32(ctx, KEY_LEFT));
JS_SetModuleExport(ctx, m, "KEY_DOWN", JS_NewInt32(ctx, KEY_DOWN));
JS_SetModuleExport(ctx, m, "KEY_UP", JS_NewInt32(ctx, KEY_UP));
JS_SetModuleExport(ctx, m, "KEY_PAGE_UP", JS_NewInt32(ctx, KEY_PAGE_UP));
JS_SetModuleExport(ctx, m, "KEY_PAGE_DOWN", JS_NewInt32(ctx, KEY_PAGE_DOWN));
JS_SetModuleExport(ctx, m, "KEY_HOME", JS_NewInt32(ctx, KEY_HOME));
JS_SetModuleExport(ctx, m, "KEY_END", JS_NewInt32(ctx, KEY_END));
JS_SetModuleExport(ctx, m, "KEY_CAPS_LOCK", JS_NewInt32(ctx, KEY_CAPS_LOCK));
JS_SetModuleExport(ctx, m, "KEY_SCROLL_LOCK", JS_NewInt32(ctx, KEY_SCROLL_LOCK));
JS_SetModuleExport(ctx, m, "KEY_NUM_LOCK", JS_NewInt32(ctx, KEY_NUM_LOCK));
JS_SetModuleExport(ctx, m, "KEY_PRINT_SCREEN", JS_NewInt32(ctx, KEY_PRINT_SCREEN));
JS_SetModuleExport(ctx, m, "KEY_PAUSE", JS_NewInt32(ctx, KEY_PAUSE));
JS_SetModuleExport(ctx, m, "KEY_F1", JS_NewInt32(ctx, KEY_F1));
JS_SetModuleExport(ctx, m, "KEY_F2", JS_NewInt32(ctx, KEY_F2));
JS_SetModuleExport(ctx, m, "KEY_F3", JS_NewInt32(ctx, KEY_F3));
JS_SetModuleExport(ctx, m, "KEY_F4", JS_NewInt32(ctx, KEY_F4));
JS_SetModuleExport(ctx, m, "KEY_F5", JS_NewInt32(ctx, KEY_F5));
JS_SetModuleExport(ctx, m, "KEY_F6", JS_NewInt32(ctx, KEY_F6));
JS_SetModuleExport(ctx, m, "KEY_F7", JS_NewInt32(ctx, KEY_F7));
JS_SetModuleExport(ctx, m, "KEY_F8", JS_NewInt32(ctx, KEY_F8));
JS_SetModuleExport(ctx, m, "KEY_F9", JS_NewInt32(ctx, KEY_F9));
JS_SetModuleExport(ctx, m, "KEY_F10", JS_NewInt32(ctx, KEY_F10));
JS_SetModuleExport(ctx, m, "KEY_F11", JS_NewInt32(ctx, KEY_F11));
JS_SetModuleExport(ctx, m, "KEY_F12", JS_NewInt32(ctx, KEY_F12));
JS_SetModuleExport(ctx, m, "KEY_LEFT_SHIFT", JS_NewInt32(ctx, KEY_LEFT_SHIFT));
JS_SetModuleExport(ctx, m, "KEY_LEFT_CONTROL", JS_NewInt32(ctx, KEY_LEFT_CONTROL));
JS_SetModuleExport(ctx, m, "KEY_LEFT_ALT", JS_NewInt32(ctx, KEY_LEFT_ALT));
JS_SetModuleExport(ctx, m, "KEY_LEFT_SUPER", JS_NewInt32(ctx, KEY_LEFT_SUPER));
JS_SetModuleExport(ctx, m, "KEY_RIGHT_SHIFT", JS_NewInt32(ctx, KEY_RIGHT_SHIFT));
JS_SetModuleExport(ctx, m, "KEY_RIGHT_CONTROL", JS_NewInt32(ctx, KEY_RIGHT_CONTROL));
JS_SetModuleExport(ctx, m, "KEY_RIGHT_ALT", JS_NewInt32(ctx, KEY_RIGHT_ALT));
JS_SetModuleExport(ctx, m, "KEY_RIGHT_SUPER", JS_NewInt32(ctx, KEY_RIGHT_SUPER));
JS_SetModuleExport(ctx, m, "KEY_KB_MENU", JS_NewInt32(ctx, KEY_KB_MENU));
JS_SetModuleExport(ctx, m, "KEY_KP_0", JS_NewInt32(ctx, KEY_KP_0));
JS_SetModuleExport(ctx, m, "KEY_KP_1", JS_NewInt32(ctx, KEY_KP_1));
JS_SetModuleExport(ctx, m, "KEY_KP_2", JS_NewInt32(ctx, KEY_KP_2));
JS_SetModuleExport(ctx, m, "KEY_KP_3", JS_NewInt32(ctx, KEY_KP_3));
JS_SetModuleExport(ctx, m, "KEY_KP_4", JS_NewInt32(ctx, KEY_KP_4));
JS_SetModuleExport(ctx, m, "KEY_KP_5", JS_NewInt32(ctx, KEY_KP_5));
JS_SetModuleExport(ctx, m, "KEY_KP_6", JS_NewInt32(ctx, KEY_KP_6));
JS_SetModuleExport(ctx, m, "KEY_KP_7", JS_NewInt32(ctx, KEY_KP_7));
JS_SetModuleExport(ctx, m, "KEY_KP_8", JS_NewInt32(ctx, KEY_KP_8));
JS_SetModuleExport(ctx, m, "KEY_KP_9", JS_NewInt32(ctx, KEY_KP_9));
JS_SetModuleExport(ctx, m, "KEY_KP_DECIMAL", JS_NewInt32(ctx, KEY_KP_DECIMAL));
JS_SetModuleExport(ctx, m, "KEY_KP_DIVIDE", JS_NewInt32(ctx, KEY_KP_DIVIDE));
JS_SetModuleExport(ctx, m, "KEY_KP_MULTIPLY", JS_NewInt32(ctx, KEY_KP_MULTIPLY));
JS_SetModuleExport(ctx, m, "KEY_KP_SUBTRACT", JS_NewInt32(ctx, KEY_KP_SUBTRACT));
JS_SetModuleExport(ctx, m, "KEY_KP_ADD", JS_NewInt32(ctx, KEY_KP_ADD));
JS_SetModuleExport(ctx, m, "KEY_KP_ENTER", JS_NewInt32(ctx, KEY_KP_ENTER));
JS_SetModuleExport(ctx, m, "KEY_KP_EQUAL", JS_NewInt32(ctx, KEY_KP_EQUAL));
JS_SetModuleExport(ctx, m, "KEY_BACK", JS_NewInt32(ctx, KEY_BACK));
JS_SetModuleExport(ctx, m, "KEY_MENU", JS_NewInt32(ctx, KEY_MENU));
JS_SetModuleExport(ctx, m, "KEY_VOLUME_UP", JS_NewInt32(ctx, KEY_VOLUME_UP));
JS_SetModuleExport(ctx, m, "KEY_VOLUME_DOWN", JS_NewInt32(ctx, KEY_VOLUME_DOWN));
2023-05-11 20:10:40 +00:00
JS_SetModuleExport(ctx, m, "MOUSE_BUTTON_LEFT", JS_NewInt32(ctx, MOUSE_BUTTON_LEFT));
JS_SetModuleExport(ctx, m, "MOUSE_BUTTON_RIGHT", JS_NewInt32(ctx, MOUSE_BUTTON_RIGHT));
JS_SetModuleExport(ctx, m, "MOUSE_BUTTON_MIDDLE", JS_NewInt32(ctx, MOUSE_BUTTON_MIDDLE));
JS_SetModuleExport(ctx, m, "MOUSE_BUTTON_SIDE", JS_NewInt32(ctx, MOUSE_BUTTON_SIDE));
JS_SetModuleExport(ctx, m, "MOUSE_BUTTON_EXTRA", JS_NewInt32(ctx, MOUSE_BUTTON_EXTRA));
JS_SetModuleExport(ctx, m, "MOUSE_BUTTON_FORWARD", JS_NewInt32(ctx, MOUSE_BUTTON_FORWARD));
JS_SetModuleExport(ctx, m, "MOUSE_BUTTON_BACK", JS_NewInt32(ctx, MOUSE_BUTTON_BACK));
2023-05-06 21:43:40 +00:00
return 0;
2023-05-04 21:54:03 +00:00
}
2023-05-06 21:43:40 +00:00
JSModuleDef * js_init_module_raylib_core(JSContext * ctx, const char * module_name) {
2023-05-04 21:54:03 +00:00
JSModuleDef *m;
m = JS_NewCModule(ctx, module_name, js_raylib_core_init);
2023-05-06 21:43:40 +00:00
if(!m) return NULL;
JS_AddModuleExportList(ctx, m, js_raylib_core_funcs, countof(js_raylib_core_funcs));
2023-05-09 21:25:28 +00:00
JS_AddModuleExport(ctx, m, "Color");
2023-05-10 21:26:53 +00:00
JS_AddModuleExport(ctx, m, "Vector2");
JS_AddModuleExport(ctx, m, "LIGHTGRAY");
JS_AddModuleExport(ctx, m, "GRAY");
JS_AddModuleExport(ctx, m, "DARKGRAY");
JS_AddModuleExport(ctx, m, "YELLOW");
JS_AddModuleExport(ctx, m, "GOLD");
JS_AddModuleExport(ctx, m, "ORANGE");
JS_AddModuleExport(ctx, m, "PINK");
JS_AddModuleExport(ctx, m, "RED");
JS_AddModuleExport(ctx, m, "MAROON");
JS_AddModuleExport(ctx, m, "GREEN");
JS_AddModuleExport(ctx, m, "LIME");
JS_AddModuleExport(ctx, m, "DARKGREEN");
JS_AddModuleExport(ctx, m, "SKYBLUE");
JS_AddModuleExport(ctx, m, "BLUE");
JS_AddModuleExport(ctx, m, "DARKBLUE");
JS_AddModuleExport(ctx, m, "PURPLE");
JS_AddModuleExport(ctx, m, "VIOLET");
JS_AddModuleExport(ctx, m, "DARKPURPLE");
JS_AddModuleExport(ctx, m, "BEIGE");
JS_AddModuleExport(ctx, m, "BROWN");
JS_AddModuleExport(ctx, m, "DARKBROWN");
JS_AddModuleExport(ctx, m, "WHITE");
JS_AddModuleExport(ctx, m, "BLACK");
JS_AddModuleExport(ctx, m, "BLANK");
JS_AddModuleExport(ctx, m, "MAGENTA");
JS_AddModuleExport(ctx, m, "RAYWHITE");
2023-05-11 18:54:49 +00:00
JS_AddModuleExport(ctx, m, "KEY_NULL");
JS_AddModuleExport(ctx, m, "KEY_APOSTROPHE");
JS_AddModuleExport(ctx, m, "KEY_COMMA");
JS_AddModuleExport(ctx, m, "KEY_MINUS");
JS_AddModuleExport(ctx, m, "KEY_PERIOD");
JS_AddModuleExport(ctx, m, "KEY_SLASH");
JS_AddModuleExport(ctx, m, "KEY_ZERO");
JS_AddModuleExport(ctx, m, "KEY_ONE");
JS_AddModuleExport(ctx, m, "KEY_TWO");
JS_AddModuleExport(ctx, m, "KEY_THREE");
JS_AddModuleExport(ctx, m, "KEY_FOUR");
JS_AddModuleExport(ctx, m, "KEY_FIVE");
JS_AddModuleExport(ctx, m, "KEY_SIX");
JS_AddModuleExport(ctx, m, "KEY_SEVEN");
JS_AddModuleExport(ctx, m, "KEY_EIGHT");
JS_AddModuleExport(ctx, m, "KEY_NINE");
JS_AddModuleExport(ctx, m, "KEY_SEMICOLON");
JS_AddModuleExport(ctx, m, "KEY_EQUAL");
JS_AddModuleExport(ctx, m, "KEY_A");
JS_AddModuleExport(ctx, m, "KEY_B");
JS_AddModuleExport(ctx, m, "KEY_C");
JS_AddModuleExport(ctx, m, "KEY_D");
JS_AddModuleExport(ctx, m, "KEY_E");
JS_AddModuleExport(ctx, m, "KEY_F");
JS_AddModuleExport(ctx, m, "KEY_G");
JS_AddModuleExport(ctx, m, "KEY_H");
JS_AddModuleExport(ctx, m, "KEY_I");
JS_AddModuleExport(ctx, m, "KEY_J");
JS_AddModuleExport(ctx, m, "KEY_K");
JS_AddModuleExport(ctx, m, "KEY_L");
JS_AddModuleExport(ctx, m, "KEY_M");
JS_AddModuleExport(ctx, m, "KEY_N");
JS_AddModuleExport(ctx, m, "KEY_O");
JS_AddModuleExport(ctx, m, "KEY_P");
JS_AddModuleExport(ctx, m, "KEY_Q");
JS_AddModuleExport(ctx, m, "KEY_R");
JS_AddModuleExport(ctx, m, "KEY_S");
JS_AddModuleExport(ctx, m, "KEY_T");
JS_AddModuleExport(ctx, m, "KEY_U");
JS_AddModuleExport(ctx, m, "KEY_V");
JS_AddModuleExport(ctx, m, "KEY_W");
JS_AddModuleExport(ctx, m, "KEY_X");
JS_AddModuleExport(ctx, m, "KEY_Y");
JS_AddModuleExport(ctx, m, "KEY_Z");
JS_AddModuleExport(ctx, m, "KEY_LEFT_BRACKET");
JS_AddModuleExport(ctx, m, "KEY_BACKSLASH");
JS_AddModuleExport(ctx, m, "KEY_RIGHT_BRACKET");
JS_AddModuleExport(ctx, m, "KEY_GRAVE");
JS_AddModuleExport(ctx, m, "KEY_SPACE");
JS_AddModuleExport(ctx, m, "KEY_ESCAPE");
JS_AddModuleExport(ctx, m, "KEY_ENTER");
JS_AddModuleExport(ctx, m, "KEY_TAB");
JS_AddModuleExport(ctx, m, "KEY_BACKSPACE");
JS_AddModuleExport(ctx, m, "KEY_INSERT");
JS_AddModuleExport(ctx, m, "KEY_DELETE");
JS_AddModuleExport(ctx, m, "KEY_RIGHT");
JS_AddModuleExport(ctx, m, "KEY_LEFT");
JS_AddModuleExport(ctx, m, "KEY_DOWN");
JS_AddModuleExport(ctx, m, "KEY_UP");
JS_AddModuleExport(ctx, m, "KEY_PAGE_UP");
JS_AddModuleExport(ctx, m, "KEY_PAGE_DOWN");
JS_AddModuleExport(ctx, m, "KEY_HOME");
JS_AddModuleExport(ctx, m, "KEY_END");
JS_AddModuleExport(ctx, m, "KEY_CAPS_LOCK");
JS_AddModuleExport(ctx, m, "KEY_SCROLL_LOCK");
JS_AddModuleExport(ctx, m, "KEY_NUM_LOCK");
JS_AddModuleExport(ctx, m, "KEY_PRINT_SCREEN");
JS_AddModuleExport(ctx, m, "KEY_PAUSE");
JS_AddModuleExport(ctx, m, "KEY_F1");
JS_AddModuleExport(ctx, m, "KEY_F2");
JS_AddModuleExport(ctx, m, "KEY_F3");
JS_AddModuleExport(ctx, m, "KEY_F4");
JS_AddModuleExport(ctx, m, "KEY_F5");
JS_AddModuleExport(ctx, m, "KEY_F6");
JS_AddModuleExport(ctx, m, "KEY_F7");
JS_AddModuleExport(ctx, m, "KEY_F8");
JS_AddModuleExport(ctx, m, "KEY_F9");
JS_AddModuleExport(ctx, m, "KEY_F10");
JS_AddModuleExport(ctx, m, "KEY_F11");
JS_AddModuleExport(ctx, m, "KEY_F12");
JS_AddModuleExport(ctx, m, "KEY_LEFT_SHIFT");
JS_AddModuleExport(ctx, m, "KEY_LEFT_CONTROL");
JS_AddModuleExport(ctx, m, "KEY_LEFT_ALT");
JS_AddModuleExport(ctx, m, "KEY_LEFT_SUPER");
JS_AddModuleExport(ctx, m, "KEY_RIGHT_SHIFT");
JS_AddModuleExport(ctx, m, "KEY_RIGHT_CONTROL");
JS_AddModuleExport(ctx, m, "KEY_RIGHT_ALT");
JS_AddModuleExport(ctx, m, "KEY_RIGHT_SUPER");
JS_AddModuleExport(ctx, m, "KEY_KB_MENU");
JS_AddModuleExport(ctx, m, "KEY_KP_0");
JS_AddModuleExport(ctx, m, "KEY_KP_1");
JS_AddModuleExport(ctx, m, "KEY_KP_2");
JS_AddModuleExport(ctx, m, "KEY_KP_3");
JS_AddModuleExport(ctx, m, "KEY_KP_4");
JS_AddModuleExport(ctx, m, "KEY_KP_5");
JS_AddModuleExport(ctx, m, "KEY_KP_6");
JS_AddModuleExport(ctx, m, "KEY_KP_7");
JS_AddModuleExport(ctx, m, "KEY_KP_8");
JS_AddModuleExport(ctx, m, "KEY_KP_9");
JS_AddModuleExport(ctx, m, "KEY_KP_DECIMAL");
JS_AddModuleExport(ctx, m, "KEY_KP_DIVIDE");
JS_AddModuleExport(ctx, m, "KEY_KP_MULTIPLY");
JS_AddModuleExport(ctx, m, "KEY_KP_SUBTRACT");
JS_AddModuleExport(ctx, m, "KEY_KP_ADD");
JS_AddModuleExport(ctx, m, "KEY_KP_ENTER");
JS_AddModuleExport(ctx, m, "KEY_KP_EQUAL");
JS_AddModuleExport(ctx, m, "KEY_BACK");
JS_AddModuleExport(ctx, m, "KEY_MENU");
JS_AddModuleExport(ctx, m, "KEY_VOLUME_UP");
JS_AddModuleExport(ctx, m, "KEY_VOLUME_DOWN");
2023-05-11 20:10:40 +00:00
JS_AddModuleExport(ctx, m, "MOUSE_BUTTON_LEFT");
JS_AddModuleExport(ctx, m, "MOUSE_BUTTON_RIGHT");
JS_AddModuleExport(ctx, m, "MOUSE_BUTTON_MIDDLE");
JS_AddModuleExport(ctx, m, "MOUSE_BUTTON_SIDE");
JS_AddModuleExport(ctx, m, "MOUSE_BUTTON_EXTRA");
JS_AddModuleExport(ctx, m, "MOUSE_BUTTON_FORWARD");
JS_AddModuleExport(ctx, m, "MOUSE_BUTTON_BACK");
2023-05-04 21:54:03 +00:00
return m;
}
2023-05-06 21:43:40 +00:00
#endif // JS_raylib_core_GUARD