From 1947483541f23a4bab2f0ac685dd2ed6fd3284f5 Mon Sep 17 00:00:00 2001 From: Alexander Klingenbeck Date: Fri, 2 Jun 2023 08:03:36 +0200 Subject: [PATCH] Use raygui as submodule --- .gitmodules | 1 + CMakeLists.txt | 3 +- bindings/src/api.ts | 4 + bindings/src/generation.ts | 9 + bindings/src/index.ts | 53 +- bindings/src/raylib-header.ts | 4 + examples/lib.raylib.d.ts | 1076 ++++++++++++++++++---- examples/raygui/controls_test_suite.js | 221 +++++ generate-bindings.js | 66 +- include/reasings.h | 263 ++++++ include/rlights.h | 170 ++++ src/bindings/js_raylib_core.h | 1129 ++++++++++++++++++++---- thirdparty/raygui | 2 +- 13 files changed, 2612 insertions(+), 389 deletions(-) create mode 100644 examples/raygui/controls_test_suite.js create mode 100644 include/reasings.h create mode 100644 include/rlights.h diff --git a/.gitmodules b/.gitmodules index a4e523a..8429ea1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,3 +8,4 @@ [submodule "thirdparty/raygui"] path = thirdparty/raygui url = https://github.com/raysan5/raygui.git + branch = tags/3.6 diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d4ddd0..c620ba7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,6 +37,5 @@ file(GLOB files src/*.c) add_executable(${CMAKE_PROJECT_NAME} ${files}) target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE include) target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE src) -target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE thirdparty/raylib/examples/shapes) -target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE thirdparty/raylib/examples/shaders) +target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE thirdparty/raygui/src) target_link_libraries(${CMAKE_PROJECT_NAME} quickjs raylib) \ No newline at end of file diff --git a/bindings/src/api.ts b/bindings/src/api.ts index 3c7923b..ac75110 100644 --- a/bindings/src/api.ts +++ b/bindings/src/api.ts @@ -42,4 +42,8 @@ export class ApiDescription{ if(!s) return null return new ApiStruct(s) } + + getEnums(){ + return this.api.enums + } } \ No newline at end of file diff --git a/bindings/src/generation.ts b/bindings/src/generation.ts index 0af1547..36d18c6 100644 --- a/bindings/src/generation.ts +++ b/bindings/src/generation.ts @@ -202,6 +202,15 @@ export abstract class GenericCodeGenerator { this.line("#include <" + name + ">") } + public for(indexVar: string, lengthVar: string){ + this.line(`for(int ${indexVar}; i < ${lengthVar}; i++){`) + this.indent() + const child = this.child() + this.unindent() + this.line("}") + return child; + } + public header(guard: string, fun?: (gen: T) => void){ this.line("#ifndef " + guard) this.line("#define " + guard) diff --git a/bindings/src/index.ts b/bindings/src/index.ts index 2cbe2a3..7461508 100644 --- a/bindings/src/index.ts +++ b/bindings/src/index.ts @@ -26,18 +26,19 @@ function main(){ const cameraApi = parser.parseFunctionDefinitions(rcameraHeader); cameraApi.forEach(x => api.functions.push(x)) - const rguiHeader = readFileSync("thirdparty/raylib/examples/shapes/raygui.h","utf8"); + const rguiHeader = readFileSync("thirdparty/raygui/src/raygui.h","utf8"); const rguiFunctions = parser.parseFunctionDefinitions(rguiHeader); - const rguiEnums = parser.parseFunctionDefinitions(rguiHeader); + const rguiEnums = parser.parseEnums(rguiHeader); //rguiApi.forEach(x => console.log(`core.addApiFunctionByName("${x.name}")`)) rguiFunctions.forEach(x => api.functions.push(x)) + rguiEnums.forEach(x => api.enums.push(x)) - const rlightsHeader = readFileSync("thirdparty/raylib/examples/shaders/rlights.h","utf8"); + const rlightsHeader = readFileSync("include/rlights.h","utf8"); const rlightsFunctions = parser.parseFunctions(rlightsHeader, true); api.functions.push(rlightsFunctions[0]) api.functions.push(rlightsFunctions[1]) - const reasingsHeader = readFileSync("thirdparty/raylib/examples/shapes/reasings.h","utf8"); + const reasingsHeader = readFileSync("include/reasings.h","utf8"); const reasingsFunctions = parser.parseFunctions(reasingsHeader); //reasingsFunctions.forEach(x => console.log(`core.addApiFunctionByName("${x.name}")`)) reasingsFunctions.forEach(x => api.functions.push(x)) @@ -445,7 +446,18 @@ function main(){ //core.addApiFunctionByName("LoadDirectoryFilesEx") // UnloadDirectoryFiles core.addApiFunctionByName("IsFileDropped") - //core.addApiFunctionByName("LoadDroppedFiles") + const ldf = apiDesc.getFunction("LoadDroppedFiles") + ldf!.returnType = "string[]" + core.addApiFunction(ldf!, null, { + body: gen => { + gen.call("LoadDroppedFiles", [], { type: "FilePathList", name: "files" }) + gen.call("JS_NewArray", ["ctx"], { type: "JSValue", name:"ret"}) + const f = gen.for("i", "files.count") + f.call("JS_SetPropertyUint32", ["ctx","ret", "i", "JS_NewString(ctx,files.paths[i])"]) + gen.call("UnloadDroppedFiles", ["files"]) + gen.returnExp("ret") + } + }) // UnloadDroppedFiles core.addApiFunctionByName("GetFileModTime") @@ -1072,7 +1084,7 @@ function main(){ //core.addApiFunctionByName("GuiSpinner") //core.addApiFunctionByName("GuiValueBox") core.addApiFunctionByName("GuiTextBox") - core.addApiFunctionByName("GuiTextBoxMulti") + //core.addApiFunctionByName("GuiTextBoxMulti") core.addApiFunctionByName("GuiSlider") core.addApiFunctionByName("GuiSliderBar") core.addApiFunctionByName("GuiProgressBar") @@ -1095,9 +1107,6 @@ function main(){ //core.addApiFunctionByName("GuiGetIconData") //core.addApiFunctionByName("GuiSetIconData") core.addApiFunctionByName("GuiSetIconScale") - core.addApiFunctionByName("GuiSetIconPixel") - core.addApiFunctionByName("GuiClearIconPixel") - core.addApiFunctionByName("GuiCheckIconPixel") // module: rlights // TODO: Parse and support light struct @@ -1132,18 +1141,20 @@ function main(){ api.defines.filter(x => x.type === "COLOR").map(x => ({ name: x.name, description: x.description, values: (x.value.match(/\{([^}]+)\}/) || "")[1].split(',').map(x => x.trim()) })).forEach(x => { core.exportGlobalStruct("Color", x.name, x.values, x.description) }) - api.enums.find(x => x.name === "KeyboardKey")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) - api.enums.find(x => x.name === "MouseButton")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) - api.enums.find(x => x.name === "ConfigFlags")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) - api.enums.find(x => x.name === "BlendMode")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) - api.enums.find(x => x.name === "TraceLogLevel")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) - api.enums.find(x => x.name === "MouseCursor")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) - api.enums.find(x => x.name === "PixelFormat")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) - api.enums.find(x => x.name === "CameraProjection")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) - api.enums.find(x => x.name === "CameraMode")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) - api.enums.find(x => x.name === "ShaderLocationIndex")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) - api.enums.find(x => x.name === "ShaderUniformDataType")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) - api.enums.find(x => x.name === "MaterialMapIndex")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + + core.addAllEnums() + // api.enums.find(x => x.name === "KeyboardKey")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "MouseButton")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "ConfigFlags")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "BlendMode")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "TraceLogLevel")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "MouseCursor")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "PixelFormat")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "CameraProjection")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "CameraMode")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "ShaderLocationIndex")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "ShaderUniformDataType")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "MaterialMapIndex")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) core.exportGlobalConstant("MATERIAL_MAP_DIFFUSE", "Albedo material (same as: MATERIAL_MAP_DIFFUSE") core.exportGlobalConstant("MATERIAL_MAP_SPECULAR", "Metalness material (same as: MATERIAL_MAP_SPECULAR)") core.writeTo("src/bindings/js_raylib_core.h") diff --git a/bindings/src/raylib-header.ts b/bindings/src/raylib-header.ts index d37c359..4c3ee61 100644 --- a/bindings/src/raylib-header.ts +++ b/bindings/src/raylib-header.ts @@ -72,6 +72,10 @@ export class RayLibHeader extends QuickJsHeader { this.addApiFunction(func, jsName, options) } + addAllEnums(){ + this.api.getEnums().forEach(x => x.values.forEach(y => this.exportGlobalConstant(y.name, y.description))) + } + addApiStruct(struct: ApiStruct, destructor: ApiFunction | null, options?: StructBindingOptions){ const classId = this.definitions.jsClassId(`js_${struct.name}_class_id`) this.registerStruct(struct.name, classId) diff --git a/examples/lib.raylib.d.ts b/examples/lib.raylib.d.ts index 593cf7e..3d17b21 100644 --- a/examples/lib.raylib.d.ts +++ b/examples/lib.raylib.d.ts @@ -511,6 +511,8 @@ declare function changeDirectory(dir: string): boolean; declare function isPathFile(path: string): boolean; /** Check if a file has been dropped into window */ declare function isFileDropped(): boolean; +/** Load dropped filepaths */ +declare function loadDroppedFiles(): string[]; /** Get file modification time (last write time) */ declare function getFileModTime(fileName: string): number; /** Check if a key has been pressed once */ @@ -1436,8 +1438,6 @@ declare function guiCheckBox(bounds: Rectangle, text: string, checked: boolean): declare function guiComboBox(bounds: Rectangle, text: string, active: number): number; /** Text Box control, updates input text */ declare function guiTextBox(bounds: Rectangle, text: string, textSize: number, editMode: boolean): boolean; -/** Text Box control with multiple lines */ -declare function guiTextBoxMulti(bounds: Rectangle, text: string, textSize: number, editMode: boolean): boolean; /** Slider control, returns selected value */ declare function guiSlider(bounds: Rectangle, textLeft: string, textRight: string, value: number, minValue: number, maxValue: number): number; /** Slider Bar control, returns selected value */ @@ -1466,16 +1466,10 @@ declare function guiLoadStyle(fileName: string): void; declare function guiLoadStyleDefault(): void; /** Get text with icon id prepended (if supported) */ declare function guiIconText(iconId: number, text: string): string; -/** */ +/** Draw icon using pixel size at specified position */ declare function guiDrawIcon(iconId: number, posX: number, posY: number, pixelSize: number, color: Color): void; -/** Set icon scale (1 by default) */ +/** Set default icon drawing size */ declare function guiSetIconScale(scale: number): void; -/** Set icon pixel value */ -declare function guiSetIconPixel(iconId: number, x: number, y: number): void; -/** Clear icon pixel value */ -declare function guiClearIconPixel(iconId: number, x: number, y: number): void; -/** Check icon pixel value */ -declare function guiCheckIconPixel(iconId: number, x: number, y: number): boolean; /** Linear Easing functions */ declare function easeLinearNone(t: number, b: number, c: number, d: number): number; /** Ease: Linear */ @@ -1578,6 +1572,52 @@ declare var BLANK: Color; declare var MAGENTA: Color; /** My own White (raylib logo) */ declare var RAYWHITE: Color; +/** Set to try enabling V-Sync on GPU */ +declare var FLAG_VSYNC_HINT: number; +/** Set to run program in fullscreen */ +declare var FLAG_FULLSCREEN_MODE: number; +/** Set to allow resizable window */ +declare var FLAG_WINDOW_RESIZABLE: number; +/** Set to disable window decoration (frame and buttons) */ +declare var FLAG_WINDOW_UNDECORATED: number; +/** Set to hide window */ +declare var FLAG_WINDOW_HIDDEN: number; +/** Set to minimize window (iconify) */ +declare var FLAG_WINDOW_MINIMIZED: number; +/** Set to maximize window (expanded to monitor) */ +declare var FLAG_WINDOW_MAXIMIZED: number; +/** Set to window non focused */ +declare var FLAG_WINDOW_UNFOCUSED: number; +/** Set to window always on top */ +declare var FLAG_WINDOW_TOPMOST: number; +/** Set to allow windows running while minimized */ +declare var FLAG_WINDOW_ALWAYS_RUN: number; +/** Set to allow transparent framebuffer */ +declare var FLAG_WINDOW_TRANSPARENT: number; +/** Set to support HighDPI */ +declare var FLAG_WINDOW_HIGHDPI: number; +/** Set to support mouse passthrough, only supported when FLAG_WINDOW_UNDECORATED */ +declare var FLAG_WINDOW_MOUSE_PASSTHROUGH: number; +/** Set to try enabling MSAA 4X */ +declare var FLAG_MSAA_4X_HINT: number; +/** Set to try enabling interlaced video format (for V3D) */ +declare var FLAG_INTERLACED_HINT: number; +/** Display all logs */ +declare var LOG_ALL: number; +/** Trace logging, intended for internal use only */ +declare var LOG_TRACE: number; +/** Debug logging, used for internal debugging, it should be disabled on release builds */ +declare var LOG_DEBUG: number; +/** Info logging, used for program execution info */ +declare var LOG_INFO: number; +/** Warning logging, used on recoverable failures */ +declare var LOG_WARNING: number; +/** Error logging, used on unrecoverable failures */ +declare var LOG_ERROR: number; +/** Fatal logging, used to abort program: exit(EXIT_FAILURE) */ +declare var LOG_FATAL: number; +/** Disable logging */ +declare var LOG_NONE: number; /** Key: NULL, used for no key pressed */ declare var KEY_NULL: number; /** Key: ' */ @@ -1812,68 +1852,6 @@ declare var MOUSE_BUTTON_EXTRA: number; declare var MOUSE_BUTTON_FORWARD: number; /** Mouse button back (advanced mouse device) */ declare var MOUSE_BUTTON_BACK: number; -/** Set to try enabling V-Sync on GPU */ -declare var FLAG_VSYNC_HINT: number; -/** Set to run program in fullscreen */ -declare var FLAG_FULLSCREEN_MODE: number; -/** Set to allow resizable window */ -declare var FLAG_WINDOW_RESIZABLE: number; -/** Set to disable window decoration (frame and buttons) */ -declare var FLAG_WINDOW_UNDECORATED: number; -/** Set to hide window */ -declare var FLAG_WINDOW_HIDDEN: number; -/** Set to minimize window (iconify) */ -declare var FLAG_WINDOW_MINIMIZED: number; -/** Set to maximize window (expanded to monitor) */ -declare var FLAG_WINDOW_MAXIMIZED: number; -/** Set to window non focused */ -declare var FLAG_WINDOW_UNFOCUSED: number; -/** Set to window always on top */ -declare var FLAG_WINDOW_TOPMOST: number; -/** Set to allow windows running while minimized */ -declare var FLAG_WINDOW_ALWAYS_RUN: number; -/** Set to allow transparent framebuffer */ -declare var FLAG_WINDOW_TRANSPARENT: number; -/** Set to support HighDPI */ -declare var FLAG_WINDOW_HIGHDPI: number; -/** Set to support mouse passthrough, only supported when FLAG_WINDOW_UNDECORATED */ -declare var FLAG_WINDOW_MOUSE_PASSTHROUGH: number; -/** Set to try enabling MSAA 4X */ -declare var FLAG_MSAA_4X_HINT: number; -/** Set to try enabling interlaced video format (for V3D) */ -declare var FLAG_INTERLACED_HINT: number; -/** Blend textures considering alpha (default) */ -declare var BLEND_ALPHA: number; -/** Blend textures adding colors */ -declare var BLEND_ADDITIVE: number; -/** Blend textures multiplying colors */ -declare var BLEND_MULTIPLIED: number; -/** Blend textures adding colors (alternative) */ -declare var BLEND_ADD_COLORS: number; -/** Blend textures subtracting colors (alternative) */ -declare var BLEND_SUBTRACT_COLORS: number; -/** Blend premultiplied textures considering alpha */ -declare var BLEND_ALPHA_PREMULTIPLY: number; -/** Blend textures using custom src/dst factors (use rlSetBlendFactors()) */ -declare var BLEND_CUSTOM: number; -/** Blend textures using custom rgb/alpha separate src/dst factors (use rlSetBlendFactorsSeparate()) */ -declare var BLEND_CUSTOM_SEPARATE: number; -/** Display all logs */ -declare var LOG_ALL: number; -/** Trace logging, intended for internal use only */ -declare var LOG_TRACE: number; -/** Debug logging, used for internal debugging, it should be disabled on release builds */ -declare var LOG_DEBUG: number; -/** Info logging, used for program execution info */ -declare var LOG_INFO: number; -/** Warning logging, used on recoverable failures */ -declare var LOG_WARNING: number; -/** Error logging, used on unrecoverable failures */ -declare var LOG_ERROR: number; -/** Fatal logging, used to abort program: exit(EXIT_FAILURE) */ -declare var LOG_FATAL: number; -/** Disable logging */ -declare var LOG_NONE: number; /** Default pointer shape */ declare var MOUSE_CURSOR_DEFAULT: number; /** Arrow shape */ @@ -1896,62 +1874,76 @@ declare var MOUSE_CURSOR_RESIZE_NESW: number; declare var MOUSE_CURSOR_RESIZE_ALL: number; /** The operation-not-allowed shape */ declare var MOUSE_CURSOR_NOT_ALLOWED: number; -/** 8 bit per pixel (no alpha) */ -declare var PIXELFORMAT_UNCOMPRESSED_GRAYSCALE: number; -/** 8*2 bpp (2 channels) */ -declare var PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA: number; -/** 16 bpp */ -declare var PIXELFORMAT_UNCOMPRESSED_R5G6B5: number; -/** 24 bpp */ -declare var PIXELFORMAT_UNCOMPRESSED_R8G8B8: number; -/** 16 bpp (1 bit alpha) */ -declare var PIXELFORMAT_UNCOMPRESSED_R5G5B5A1: number; -/** 16 bpp (4 bit alpha) */ -declare var PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: number; -/** 32 bpp */ -declare var PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: number; -/** 32 bpp (1 channel - float) */ -declare var PIXELFORMAT_UNCOMPRESSED_R32: number; -/** 32*3 bpp (3 channels - float) */ -declare var PIXELFORMAT_UNCOMPRESSED_R32G32B32: number; -/** 32*4 bpp (4 channels - float) */ -declare var PIXELFORMAT_UNCOMPRESSED_R32G32B32A32: number; -/** 4 bpp (no alpha) */ -declare var PIXELFORMAT_COMPRESSED_DXT1_RGB: number; -/** 4 bpp (1 bit alpha) */ -declare var PIXELFORMAT_COMPRESSED_DXT1_RGBA: number; -/** 8 bpp */ -declare var PIXELFORMAT_COMPRESSED_DXT3_RGBA: number; -/** 8 bpp */ -declare var PIXELFORMAT_COMPRESSED_DXT5_RGBA: number; -/** 4 bpp */ -declare var PIXELFORMAT_COMPRESSED_ETC1_RGB: number; -/** 4 bpp */ -declare var PIXELFORMAT_COMPRESSED_ETC2_RGB: number; -/** 8 bpp */ -declare var PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA: number; -/** 4 bpp */ -declare var PIXELFORMAT_COMPRESSED_PVRT_RGB: number; -/** 4 bpp */ -declare var PIXELFORMAT_COMPRESSED_PVRT_RGBA: number; -/** 8 bpp */ -declare var PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA: number; -/** 2 bpp */ -declare var PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA: number; -/** Perspective projection */ -declare var CAMERA_PERSPECTIVE: number; -/** Orthographic projection */ -declare var CAMERA_ORTHOGRAPHIC: number; -/** Custom camera */ -declare var CAMERA_CUSTOM: number; -/** Free camera */ -declare var CAMERA_FREE: number; -/** Orbital camera */ -declare var CAMERA_ORBITAL: number; -/** First person camera */ -declare var CAMERA_FIRST_PERSON: number; -/** Third person camera */ -declare var CAMERA_THIRD_PERSON: number; +/** Unknown button, just for error checking */ +declare var GAMEPAD_BUTTON_UNKNOWN: number; +/** Gamepad left DPAD up button */ +declare var GAMEPAD_BUTTON_LEFT_FACE_UP: number; +/** Gamepad left DPAD right button */ +declare var GAMEPAD_BUTTON_LEFT_FACE_RIGHT: number; +/** Gamepad left DPAD down button */ +declare var GAMEPAD_BUTTON_LEFT_FACE_DOWN: number; +/** Gamepad left DPAD left button */ +declare var GAMEPAD_BUTTON_LEFT_FACE_LEFT: number; +/** Gamepad right button up (i.e. PS3: Triangle, Xbox: Y) */ +declare var GAMEPAD_BUTTON_RIGHT_FACE_UP: number; +/** Gamepad right button right (i.e. PS3: Square, Xbox: X) */ +declare var GAMEPAD_BUTTON_RIGHT_FACE_RIGHT: number; +/** Gamepad right button down (i.e. PS3: Cross, Xbox: A) */ +declare var GAMEPAD_BUTTON_RIGHT_FACE_DOWN: number; +/** Gamepad right button left (i.e. PS3: Circle, Xbox: B) */ +declare var GAMEPAD_BUTTON_RIGHT_FACE_LEFT: number; +/** Gamepad top/back trigger left (first), it could be a trailing button */ +declare var GAMEPAD_BUTTON_LEFT_TRIGGER_1: number; +/** Gamepad top/back trigger left (second), it could be a trailing button */ +declare var GAMEPAD_BUTTON_LEFT_TRIGGER_2: number; +/** Gamepad top/back trigger right (one), it could be a trailing button */ +declare var GAMEPAD_BUTTON_RIGHT_TRIGGER_1: number; +/** Gamepad top/back trigger right (second), it could be a trailing button */ +declare var GAMEPAD_BUTTON_RIGHT_TRIGGER_2: number; +/** Gamepad center buttons, left one (i.e. PS3: Select) */ +declare var GAMEPAD_BUTTON_MIDDLE_LEFT: number; +/** Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX) */ +declare var GAMEPAD_BUTTON_MIDDLE: number; +/** Gamepad center buttons, right one (i.e. PS3: Start) */ +declare var GAMEPAD_BUTTON_MIDDLE_RIGHT: number; +/** Gamepad joystick pressed button left */ +declare var GAMEPAD_BUTTON_LEFT_THUMB: number; +/** Gamepad joystick pressed button right */ +declare var GAMEPAD_BUTTON_RIGHT_THUMB: number; +/** Gamepad left stick X axis */ +declare var GAMEPAD_AXIS_LEFT_X: number; +/** Gamepad left stick Y axis */ +declare var GAMEPAD_AXIS_LEFT_Y: number; +/** Gamepad right stick X axis */ +declare var GAMEPAD_AXIS_RIGHT_X: number; +/** Gamepad right stick Y axis */ +declare var GAMEPAD_AXIS_RIGHT_Y: number; +/** Gamepad back trigger left, pressure level: [1..-1] */ +declare var GAMEPAD_AXIS_LEFT_TRIGGER: number; +/** Gamepad back trigger right, pressure level: [1..-1] */ +declare var GAMEPAD_AXIS_RIGHT_TRIGGER: number; +/** Albedo material (same as: MATERIAL_MAP_DIFFUSE) */ +declare var MATERIAL_MAP_ALBEDO: number; +/** Metalness material (same as: MATERIAL_MAP_SPECULAR) */ +declare var MATERIAL_MAP_METALNESS: number; +/** Normal material */ +declare var MATERIAL_MAP_NORMAL: number; +/** Roughness material */ +declare var MATERIAL_MAP_ROUGHNESS: number; +/** Ambient occlusion material */ +declare var MATERIAL_MAP_OCCLUSION: number; +/** Emission material */ +declare var MATERIAL_MAP_EMISSION: number; +/** Heightmap material */ +declare var MATERIAL_MAP_HEIGHT: number; +/** Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP) */ +declare var MATERIAL_MAP_CUBEMAP: number; +/** Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP) */ +declare var MATERIAL_MAP_IRRADIANCE: number; +/** Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP) */ +declare var MATERIAL_MAP_PREFILTER: number; +/** Brdf material */ +declare var MATERIAL_MAP_BRDF: number; /** Shader location: vertex attribute: position */ declare var SHADER_LOC_VERTEX_POSITION: number; /** Shader location: vertex attribute: texcoord01 */ @@ -2022,28 +2014,812 @@ declare var SHADER_UNIFORM_IVEC3: number; declare var SHADER_UNIFORM_IVEC4: number; /** Shader uniform type: sampler2d */ declare var SHADER_UNIFORM_SAMPLER2D: number; -/** Albedo material (same as: MATERIAL_MAP_DIFFUSE) */ -declare var MATERIAL_MAP_ALBEDO: number; -/** Metalness material (same as: MATERIAL_MAP_SPECULAR) */ -declare var MATERIAL_MAP_METALNESS: number; -/** Normal material */ -declare var MATERIAL_MAP_NORMAL: number; -/** Roughness material */ -declare var MATERIAL_MAP_ROUGHNESS: number; -/** Ambient occlusion material */ -declare var MATERIAL_MAP_OCCLUSION: number; -/** Emission material */ -declare var MATERIAL_MAP_EMISSION: number; -/** Heightmap material */ -declare var MATERIAL_MAP_HEIGHT: number; -/** Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP) */ -declare var MATERIAL_MAP_CUBEMAP: number; -/** Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP) */ -declare var MATERIAL_MAP_IRRADIANCE: number; -/** Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP) */ -declare var MATERIAL_MAP_PREFILTER: number; -/** Brdf material */ -declare var MATERIAL_MAP_BRDF: number; +/** Shader attribute type: float */ +declare var SHADER_ATTRIB_FLOAT: number; +/** Shader attribute type: vec2 (2 float) */ +declare var SHADER_ATTRIB_VEC2: number; +/** Shader attribute type: vec3 (3 float) */ +declare var SHADER_ATTRIB_VEC3: number; +/** Shader attribute type: vec4 (4 float) */ +declare var SHADER_ATTRIB_VEC4: number; +/** 8 bit per pixel (no alpha) */ +declare var PIXELFORMAT_UNCOMPRESSED_GRAYSCALE: number; +/** 8*2 bpp (2 channels) */ +declare var PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA: number; +/** 16 bpp */ +declare var PIXELFORMAT_UNCOMPRESSED_R5G6B5: number; +/** 24 bpp */ +declare var PIXELFORMAT_UNCOMPRESSED_R8G8B8: number; +/** 16 bpp (1 bit alpha) */ +declare var PIXELFORMAT_UNCOMPRESSED_R5G5B5A1: number; +/** 16 bpp (4 bit alpha) */ +declare var PIXELFORMAT_UNCOMPRESSED_R4G4B4A4: number; +/** 32 bpp */ +declare var PIXELFORMAT_UNCOMPRESSED_R8G8B8A8: number; +/** 32 bpp (1 channel - float) */ +declare var PIXELFORMAT_UNCOMPRESSED_R32: number; +/** 32*3 bpp (3 channels - float) */ +declare var PIXELFORMAT_UNCOMPRESSED_R32G32B32: number; +/** 32*4 bpp (4 channels - float) */ +declare var PIXELFORMAT_UNCOMPRESSED_R32G32B32A32: number; +/** 4 bpp (no alpha) */ +declare var PIXELFORMAT_COMPRESSED_DXT1_RGB: number; +/** 4 bpp (1 bit alpha) */ +declare var PIXELFORMAT_COMPRESSED_DXT1_RGBA: number; +/** 8 bpp */ +declare var PIXELFORMAT_COMPRESSED_DXT3_RGBA: number; +/** 8 bpp */ +declare var PIXELFORMAT_COMPRESSED_DXT5_RGBA: number; +/** 4 bpp */ +declare var PIXELFORMAT_COMPRESSED_ETC1_RGB: number; +/** 4 bpp */ +declare var PIXELFORMAT_COMPRESSED_ETC2_RGB: number; +/** 8 bpp */ +declare var PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA: number; +/** 4 bpp */ +declare var PIXELFORMAT_COMPRESSED_PVRT_RGB: number; +/** 4 bpp */ +declare var PIXELFORMAT_COMPRESSED_PVRT_RGBA: number; +/** 8 bpp */ +declare var PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA: number; +/** 2 bpp */ +declare var PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA: number; +/** No filter, just pixel approximation */ +declare var TEXTURE_FILTER_POINT: number; +/** Linear filtering */ +declare var TEXTURE_FILTER_BILINEAR: number; +/** Trilinear filtering (linear with mipmaps) */ +declare var TEXTURE_FILTER_TRILINEAR: number; +/** Anisotropic filtering 4x */ +declare var TEXTURE_FILTER_ANISOTROPIC_4X: number; +/** Anisotropic filtering 8x */ +declare var TEXTURE_FILTER_ANISOTROPIC_8X: number; +/** Anisotropic filtering 16x */ +declare var TEXTURE_FILTER_ANISOTROPIC_16X: number; +/** Repeats texture in tiled mode */ +declare var TEXTURE_WRAP_REPEAT: number; +/** Clamps texture to edge pixel in tiled mode */ +declare var TEXTURE_WRAP_CLAMP: number; +/** Mirrors and repeats the texture in tiled mode */ +declare var TEXTURE_WRAP_MIRROR_REPEAT: number; +/** Mirrors and clamps to border the texture in tiled mode */ +declare var TEXTURE_WRAP_MIRROR_CLAMP: number; +/** Automatically detect layout type */ +declare var CUBEMAP_LAYOUT_AUTO_DETECT: number; +/** Layout is defined by a vertical line with faces */ +declare var CUBEMAP_LAYOUT_LINE_VERTICAL: number; +/** Layout is defined by a horizontal line with faces */ +declare var CUBEMAP_LAYOUT_LINE_HORIZONTAL: number; +/** Layout is defined by a 3x4 cross with cubemap faces */ +declare var CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR: number; +/** Layout is defined by a 4x3 cross with cubemap faces */ +declare var CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE: number; +/** Layout is defined by a panorama image (equirrectangular map) */ +declare var CUBEMAP_LAYOUT_PANORAMA: number; +/** Default font generation, anti-aliased */ +declare var FONT_DEFAULT: number; +/** Bitmap font generation, no anti-aliasing */ +declare var FONT_BITMAP: number; +/** SDF font generation, requires external shader */ +declare var FONT_SDF: number; +/** Blend textures considering alpha (default) */ +declare var BLEND_ALPHA: number; +/** Blend textures adding colors */ +declare var BLEND_ADDITIVE: number; +/** Blend textures multiplying colors */ +declare var BLEND_MULTIPLIED: number; +/** Blend textures adding colors (alternative) */ +declare var BLEND_ADD_COLORS: number; +/** Blend textures subtracting colors (alternative) */ +declare var BLEND_SUBTRACT_COLORS: number; +/** Blend premultiplied textures considering alpha */ +declare var BLEND_ALPHA_PREMULTIPLY: number; +/** Blend textures using custom src/dst factors (use rlSetBlendFactors()) */ +declare var BLEND_CUSTOM: number; +/** Blend textures using custom rgb/alpha separate src/dst factors (use rlSetBlendFactorsSeparate()) */ +declare var BLEND_CUSTOM_SEPARATE: number; +/** No gesture */ +declare var GESTURE_NONE: number; +/** Tap gesture */ +declare var GESTURE_TAP: number; +/** Double tap gesture */ +declare var GESTURE_DOUBLETAP: number; +/** Hold gesture */ +declare var GESTURE_HOLD: number; +/** Drag gesture */ +declare var GESTURE_DRAG: number; +/** Swipe right gesture */ +declare var GESTURE_SWIPE_RIGHT: number; +/** Swipe left gesture */ +declare var GESTURE_SWIPE_LEFT: number; +/** Swipe up gesture */ +declare var GESTURE_SWIPE_UP: number; +/** Swipe down gesture */ +declare var GESTURE_SWIPE_DOWN: number; +/** Pinch in gesture */ +declare var GESTURE_PINCH_IN: number; +/** Pinch out gesture */ +declare var GESTURE_PINCH_OUT: number; +/** Custom camera */ +declare var CAMERA_CUSTOM: number; +/** Free camera */ +declare var CAMERA_FREE: number; +/** Orbital camera */ +declare var CAMERA_ORBITAL: number; +/** First person camera */ +declare var CAMERA_FIRST_PERSON: number; +/** Third person camera */ +declare var CAMERA_THIRD_PERSON: number; +/** Perspective projection */ +declare var CAMERA_PERSPECTIVE: number; +/** Orthographic projection */ +declare var CAMERA_ORTHOGRAPHIC: number; +/** Npatch layout: 3x3 tiles */ +declare var NPATCH_NINE_PATCH: number; +/** Npatch layout: 1x3 tiles */ +declare var NPATCH_THREE_PATCH_VERTICAL: number; +/** Npatch layout: 3x1 tiles */ +declare var NPATCH_THREE_PATCH_HORIZONTAL: number; +/** */ +declare var STATE_NORMAL: number; +/** */ +declare var STATE_FOCUSED: number; +/** */ +declare var STATE_PRESSED: number; +/** */ +declare var STATE_DISABLED: number; +/** */ +declare var TEXT_ALIGN_LEFT: number; +/** */ +declare var TEXT_ALIGN_CENTER: number; +/** */ +declare var TEXT_ALIGN_RIGHT: number; +/** */ +declare var DEFAULT: number; +/** Used also for: LABELBUTTON */ +declare var LABEL: number; +/** */ +declare var BUTTON: number; +/** Used also for: TOGGLEGROUP */ +declare var TOGGLE: number; +/** Used also for: SLIDERBAR */ +declare var SLIDER: number; +/** */ +declare var PROGRESSBAR: number; +/** */ +declare var CHECKBOX: number; +/** */ +declare var COMBOBOX: number; +/** */ +declare var DROPDOWNBOX: number; +/** Used also for: TEXTBOXMULTI */ +declare var TEXTBOX: number; +/** */ +declare var VALUEBOX: number; +/** Uses: BUTTON, VALUEBOX */ +declare var SPINNER: number; +/** */ +declare var LISTVIEW: number; +/** */ +declare var COLORPICKER: number; +/** */ +declare var SCROLLBAR: number; +/** */ +declare var STATUSBAR: number; +/** */ +declare var BORDER_COLOR_NORMAL: number; +/** */ +declare var BASE_COLOR_NORMAL: number; +/** */ +declare var TEXT_COLOR_NORMAL: number; +/** */ +declare var BORDER_COLOR_FOCUSED: number; +/** */ +declare var BASE_COLOR_FOCUSED: number; +/** */ +declare var TEXT_COLOR_FOCUSED: number; +/** */ +declare var BORDER_COLOR_PRESSED: number; +/** */ +declare var BASE_COLOR_PRESSED: number; +/** */ +declare var TEXT_COLOR_PRESSED: number; +/** */ +declare var BORDER_COLOR_DISABLED: number; +/** */ +declare var BASE_COLOR_DISABLED: number; +/** */ +declare var TEXT_COLOR_DISABLED: number; +/** */ +declare var BORDER_WIDTH: number; +/** */ +declare var TEXT_PADDING: number; +/** */ +declare var TEXT_ALIGNMENT: number; +/** */ +declare var RESERVED: number; +/** Text size (glyphs max height) */ +declare var TEXT_SIZE: number; +/** Text spacing between glyphs */ +declare var TEXT_SPACING: number; +/** Line control color */ +declare var LINE_COLOR: number; +/** Background color */ +declare var BACKGROUND_COLOR: number; +/** ToggleGroup separation between toggles */ +declare var GROUP_PADDING: number; +/** Slider size of internal bar */ +declare var SLIDER_WIDTH: number; +/** Slider/SliderBar internal bar padding */ +declare var SLIDER_PADDING: number; +/** ProgressBar internal padding */ +declare var PROGRESS_PADDING: number; +/** */ +declare var ARROWS_SIZE: number; +/** */ +declare var ARROWS_VISIBLE: number; +/** (SLIDERBAR, SLIDER_PADDING) */ +declare var SCROLL_SLIDER_PADDING: number; +/** */ +declare var SCROLL_SLIDER_SIZE: number; +/** */ +declare var SCROLL_PADDING: number; +/** */ +declare var SCROLL_SPEED: number; +/** CheckBox internal check padding */ +declare var CHECK_PADDING: number; +/** ComboBox right button width */ +declare var COMBO_BUTTON_WIDTH: number; +/** ComboBox button separation */ +declare var COMBO_BUTTON_SPACING: number; +/** DropdownBox arrow separation from border and items */ +declare var ARROW_PADDING: number; +/** DropdownBox items separation */ +declare var DROPDOWN_ITEMS_SPACING: number; +/** TextBox/TextBoxMulti/ValueBox/Spinner inner text padding */ +declare var TEXT_INNER_PADDING: number; +/** TextBoxMulti lines separation */ +declare var TEXT_LINES_SPACING: number; +/** TextBoxMulti vertical alignment: 0-CENTERED, 1-UP, 2-DOWN */ +declare var TEXT_ALIGNMENT_VERTICAL: number; +/** TextBox supports multiple lines */ +declare var TEXT_MULTILINE: number; +/** TextBox wrap mode for multiline: 0-NO_WRAP, 1-CHAR_WRAP, 2-WORD_WRAP */ +declare var TEXT_WRAP_MODE: number; +/** Spinner left/right buttons width */ +declare var SPIN_BUTTON_WIDTH: number; +/** Spinner buttons separation */ +declare var SPIN_BUTTON_SPACING: number; +/** ListView items height */ +declare var LIST_ITEMS_HEIGHT: number; +/** ListView items separation */ +declare var LIST_ITEMS_SPACING: number; +/** ListView scrollbar size (usually width) */ +declare var SCROLLBAR_WIDTH: number; +/** ListView scrollbar side (0-left, 1-right) */ +declare var SCROLLBAR_SIDE: number; +/** */ +declare var COLOR_SELECTOR_SIZE: number; +/** ColorPicker right hue bar width */ +declare var HUEBAR_WIDTH: number; +/** ColorPicker right hue bar separation from panel */ +declare var HUEBAR_PADDING: number; +/** ColorPicker right hue bar selector height */ +declare var HUEBAR_SELECTOR_HEIGHT: number; +/** ColorPicker right hue bar selector overflow */ +declare var HUEBAR_SELECTOR_OVERFLOW: number; +/** */ +declare var ICON_NONE: number; +/** */ +declare var ICON_FOLDER_FILE_OPEN: number; +/** */ +declare var ICON_FILE_SAVE_CLASSIC: number; +/** */ +declare var ICON_FOLDER_OPEN: number; +/** */ +declare var ICON_FOLDER_SAVE: number; +/** */ +declare var ICON_FILE_OPEN: number; +/** */ +declare var ICON_FILE_SAVE: number; +/** */ +declare var ICON_FILE_EXPORT: number; +/** */ +declare var ICON_FILE_ADD: number; +/** */ +declare var ICON_FILE_DELETE: number; +/** */ +declare var ICON_FILETYPE_TEXT: number; +/** */ +declare var ICON_FILETYPE_AUDIO: number; +/** */ +declare var ICON_FILETYPE_IMAGE: number; +/** */ +declare var ICON_FILETYPE_PLAY: number; +/** */ +declare var ICON_FILETYPE_VIDEO: number; +/** */ +declare var ICON_FILETYPE_INFO: number; +/** */ +declare var ICON_FILE_COPY: number; +/** */ +declare var ICON_FILE_CUT: number; +/** */ +declare var ICON_FILE_PASTE: number; +/** */ +declare var ICON_CURSOR_HAND: number; +/** */ +declare var ICON_CURSOR_POINTER: number; +/** */ +declare var ICON_CURSOR_CLASSIC: number; +/** */ +declare var ICON_PENCIL: number; +/** */ +declare var ICON_PENCIL_BIG: number; +/** */ +declare var ICON_BRUSH_CLASSIC: number; +/** */ +declare var ICON_BRUSH_PAINTER: number; +/** */ +declare var ICON_WATER_DROP: number; +/** */ +declare var ICON_COLOR_PICKER: number; +/** */ +declare var ICON_RUBBER: number; +/** */ +declare var ICON_COLOR_BUCKET: number; +/** */ +declare var ICON_TEXT_T: number; +/** */ +declare var ICON_TEXT_A: number; +/** */ +declare var ICON_SCALE: number; +/** */ +declare var ICON_RESIZE: number; +/** */ +declare var ICON_FILTER_POINT: number; +/** */ +declare var ICON_FILTER_BILINEAR: number; +/** */ +declare var ICON_CROP: number; +/** */ +declare var ICON_CROP_ALPHA: number; +/** */ +declare var ICON_SQUARE_TOGGLE: number; +/** */ +declare var ICON_SYMMETRY: number; +/** */ +declare var ICON_SYMMETRY_HORIZONTAL: number; +/** */ +declare var ICON_SYMMETRY_VERTICAL: number; +/** */ +declare var ICON_LENS: number; +/** */ +declare var ICON_LENS_BIG: number; +/** */ +declare var ICON_EYE_ON: number; +/** */ +declare var ICON_EYE_OFF: number; +/** */ +declare var ICON_FILTER_TOP: number; +/** */ +declare var ICON_FILTER: number; +/** */ +declare var ICON_TARGET_POINT: number; +/** */ +declare var ICON_TARGET_SMALL: number; +/** */ +declare var ICON_TARGET_BIG: number; +/** */ +declare var ICON_TARGET_MOVE: number; +/** */ +declare var ICON_CURSOR_MOVE: number; +/** */ +declare var ICON_CURSOR_SCALE: number; +/** */ +declare var ICON_CURSOR_SCALE_RIGHT: number; +/** */ +declare var ICON_CURSOR_SCALE_LEFT: number; +/** */ +declare var ICON_UNDO: number; +/** */ +declare var ICON_REDO: number; +/** */ +declare var ICON_REREDO: number; +/** */ +declare var ICON_MUTATE: number; +/** */ +declare var ICON_ROTATE: number; +/** */ +declare var ICON_REPEAT: number; +/** */ +declare var ICON_SHUFFLE: number; +/** */ +declare var ICON_EMPTYBOX: number; +/** */ +declare var ICON_TARGET: number; +/** */ +declare var ICON_TARGET_SMALL_FILL: number; +/** */ +declare var ICON_TARGET_BIG_FILL: number; +/** */ +declare var ICON_TARGET_MOVE_FILL: number; +/** */ +declare var ICON_CURSOR_MOVE_FILL: number; +/** */ +declare var ICON_CURSOR_SCALE_FILL: number; +/** */ +declare var ICON_CURSOR_SCALE_RIGHT_FILL: number; +/** */ +declare var ICON_CURSOR_SCALE_LEFT_FILL: number; +/** */ +declare var ICON_UNDO_FILL: number; +/** */ +declare var ICON_REDO_FILL: number; +/** */ +declare var ICON_REREDO_FILL: number; +/** */ +declare var ICON_MUTATE_FILL: number; +/** */ +declare var ICON_ROTATE_FILL: number; +/** */ +declare var ICON_REPEAT_FILL: number; +/** */ +declare var ICON_SHUFFLE_FILL: number; +/** */ +declare var ICON_EMPTYBOX_SMALL: number; +/** */ +declare var ICON_BOX: number; +/** */ +declare var ICON_BOX_TOP: number; +/** */ +declare var ICON_BOX_TOP_RIGHT: number; +/** */ +declare var ICON_BOX_RIGHT: number; +/** */ +declare var ICON_BOX_BOTTOM_RIGHT: number; +/** */ +declare var ICON_BOX_BOTTOM: number; +/** */ +declare var ICON_BOX_BOTTOM_LEFT: number; +/** */ +declare var ICON_BOX_LEFT: number; +/** */ +declare var ICON_BOX_TOP_LEFT: number; +/** */ +declare var ICON_BOX_CENTER: number; +/** */ +declare var ICON_BOX_CIRCLE_MASK: number; +/** */ +declare var ICON_POT: number; +/** */ +declare var ICON_ALPHA_MULTIPLY: number; +/** */ +declare var ICON_ALPHA_CLEAR: number; +/** */ +declare var ICON_DITHERING: number; +/** */ +declare var ICON_MIPMAPS: number; +/** */ +declare var ICON_BOX_GRID: number; +/** */ +declare var ICON_GRID: number; +/** */ +declare var ICON_BOX_CORNERS_SMALL: number; +/** */ +declare var ICON_BOX_CORNERS_BIG: number; +/** */ +declare var ICON_FOUR_BOXES: number; +/** */ +declare var ICON_GRID_FILL: number; +/** */ +declare var ICON_BOX_MULTISIZE: number; +/** */ +declare var ICON_ZOOM_SMALL: number; +/** */ +declare var ICON_ZOOM_MEDIUM: number; +/** */ +declare var ICON_ZOOM_BIG: number; +/** */ +declare var ICON_ZOOM_ALL: number; +/** */ +declare var ICON_ZOOM_CENTER: number; +/** */ +declare var ICON_BOX_DOTS_SMALL: number; +/** */ +declare var ICON_BOX_DOTS_BIG: number; +/** */ +declare var ICON_BOX_CONCENTRIC: number; +/** */ +declare var ICON_BOX_GRID_BIG: number; +/** */ +declare var ICON_OK_TICK: number; +/** */ +declare var ICON_CROSS: number; +/** */ +declare var ICON_ARROW_LEFT: number; +/** */ +declare var ICON_ARROW_RIGHT: number; +/** */ +declare var ICON_ARROW_DOWN: number; +/** */ +declare var ICON_ARROW_UP: number; +/** */ +declare var ICON_ARROW_LEFT_FILL: number; +/** */ +declare var ICON_ARROW_RIGHT_FILL: number; +/** */ +declare var ICON_ARROW_DOWN_FILL: number; +/** */ +declare var ICON_ARROW_UP_FILL: number; +/** */ +declare var ICON_AUDIO: number; +/** */ +declare var ICON_FX: number; +/** */ +declare var ICON_WAVE: number; +/** */ +declare var ICON_WAVE_SINUS: number; +/** */ +declare var ICON_WAVE_SQUARE: number; +/** */ +declare var ICON_WAVE_TRIANGULAR: number; +/** */ +declare var ICON_CROSS_SMALL: number; +/** */ +declare var ICON_PLAYER_PREVIOUS: number; +/** */ +declare var ICON_PLAYER_PLAY_BACK: number; +/** */ +declare var ICON_PLAYER_PLAY: number; +/** */ +declare var ICON_PLAYER_PAUSE: number; +/** */ +declare var ICON_PLAYER_STOP: number; +/** */ +declare var ICON_PLAYER_NEXT: number; +/** */ +declare var ICON_PLAYER_RECORD: number; +/** */ +declare var ICON_MAGNET: number; +/** */ +declare var ICON_LOCK_CLOSE: number; +/** */ +declare var ICON_LOCK_OPEN: number; +/** */ +declare var ICON_CLOCK: number; +/** */ +declare var ICON_TOOLS: number; +/** */ +declare var ICON_GEAR: number; +/** */ +declare var ICON_GEAR_BIG: number; +/** */ +declare var ICON_BIN: number; +/** */ +declare var ICON_HAND_POINTER: number; +/** */ +declare var ICON_LASER: number; +/** */ +declare var ICON_COIN: number; +/** */ +declare var ICON_EXPLOSION: number; +/** */ +declare var ICON_1UP: number; +/** */ +declare var ICON_PLAYER: number; +/** */ +declare var ICON_PLAYER_JUMP: number; +/** */ +declare var ICON_KEY: number; +/** */ +declare var ICON_DEMON: number; +/** */ +declare var ICON_TEXT_POPUP: number; +/** */ +declare var ICON_GEAR_EX: number; +/** */ +declare var ICON_CRACK: number; +/** */ +declare var ICON_CRACK_POINTS: number; +/** */ +declare var ICON_STAR: number; +/** */ +declare var ICON_DOOR: number; +/** */ +declare var ICON_EXIT: number; +/** */ +declare var ICON_MODE_2D: number; +/** */ +declare var ICON_MODE_3D: number; +/** */ +declare var ICON_CUBE: number; +/** */ +declare var ICON_CUBE_FACE_TOP: number; +/** */ +declare var ICON_CUBE_FACE_LEFT: number; +/** */ +declare var ICON_CUBE_FACE_FRONT: number; +/** */ +declare var ICON_CUBE_FACE_BOTTOM: number; +/** */ +declare var ICON_CUBE_FACE_RIGHT: number; +/** */ +declare var ICON_CUBE_FACE_BACK: number; +/** */ +declare var ICON_CAMERA: number; +/** */ +declare var ICON_SPECIAL: number; +/** */ +declare var ICON_LINK_NET: number; +/** */ +declare var ICON_LINK_BOXES: number; +/** */ +declare var ICON_LINK_MULTI: number; +/** */ +declare var ICON_LINK: number; +/** */ +declare var ICON_LINK_BROKE: number; +/** */ +declare var ICON_TEXT_NOTES: number; +/** */ +declare var ICON_NOTEBOOK: number; +/** */ +declare var ICON_SUITCASE: number; +/** */ +declare var ICON_SUITCASE_ZIP: number; +/** */ +declare var ICON_MAILBOX: number; +/** */ +declare var ICON_MONITOR: number; +/** */ +declare var ICON_PRINTER: number; +/** */ +declare var ICON_PHOTO_CAMERA: number; +/** */ +declare var ICON_PHOTO_CAMERA_FLASH: number; +/** */ +declare var ICON_HOUSE: number; +/** */ +declare var ICON_HEART: number; +/** */ +declare var ICON_CORNER: number; +/** */ +declare var ICON_VERTICAL_BARS: number; +/** */ +declare var ICON_VERTICAL_BARS_FILL: number; +/** */ +declare var ICON_LIFE_BARS: number; +/** */ +declare var ICON_INFO: number; +/** */ +declare var ICON_CROSSLINE: number; +/** */ +declare var ICON_HELP: number; +/** */ +declare var ICON_FILETYPE_ALPHA: number; +/** */ +declare var ICON_FILETYPE_HOME: number; +/** */ +declare var ICON_LAYERS_VISIBLE: number; +/** */ +declare var ICON_LAYERS: number; +/** */ +declare var ICON_WINDOW: number; +/** */ +declare var ICON_HIDPI: number; +/** */ +declare var ICON_FILETYPE_BINARY: number; +/** */ +declare var ICON_HEX: number; +/** */ +declare var ICON_SHIELD: number; +/** */ +declare var ICON_FILE_NEW: number; +/** */ +declare var ICON_FOLDER_ADD: number; +/** */ +declare var ICON_ALARM: number; +/** */ +declare var ICON_CPU: number; +/** */ +declare var ICON_ROM: number; +/** */ +declare var ICON_STEP_OVER: number; +/** */ +declare var ICON_STEP_INTO: number; +/** */ +declare var ICON_STEP_OUT: number; +/** */ +declare var ICON_RESTART: number; +/** */ +declare var ICON_BREAKPOINT_ON: number; +/** */ +declare var ICON_BREAKPOINT_OFF: number; +/** */ +declare var ICON_BURGER_MENU: number; +/** */ +declare var ICON_CASE_SENSITIVE: number; +/** */ +declare var ICON_REG_EXP: number; +/** */ +declare var ICON_FOLDER: number; +/** */ +declare var ICON_FILE: number; +/** */ +declare var ICON_SAND_TIMER: number; +/** */ +declare var ICON_220: number; +/** */ +declare var ICON_221: number; +/** */ +declare var ICON_222: number; +/** */ +declare var ICON_223: number; +/** */ +declare var ICON_224: number; +/** */ +declare var ICON_225: number; +/** */ +declare var ICON_226: number; +/** */ +declare var ICON_227: number; +/** */ +declare var ICON_228: number; +/** */ +declare var ICON_229: number; +/** */ +declare var ICON_230: number; +/** */ +declare var ICON_231: number; +/** */ +declare var ICON_232: number; +/** */ +declare var ICON_233: number; +/** */ +declare var ICON_234: number; +/** */ +declare var ICON_235: number; +/** */ +declare var ICON_236: number; +/** */ +declare var ICON_237: number; +/** */ +declare var ICON_238: number; +/** */ +declare var ICON_239: number; +/** */ +declare var ICON_240: number; +/** */ +declare var ICON_241: number; +/** */ +declare var ICON_242: number; +/** */ +declare var ICON_243: number; +/** */ +declare var ICON_244: number; +/** */ +declare var ICON_245: number; +/** */ +declare var ICON_246: number; +/** */ +declare var ICON_247: number; +/** */ +declare var ICON_248: number; +/** */ +declare var ICON_249: number; +/** */ +declare var ICON_250: number; +/** */ +declare var ICON_251: number; +/** */ +declare var ICON_252: number; +/** */ +declare var ICON_253: number; +/** */ +declare var ICON_254: number; +/** */ +declare var ICON_255: number; /** Albedo material (same as: MATERIAL_MAP_DIFFUSE */ declare var MATERIAL_MAP_DIFFUSE: number; /** Metalness material (same as: MATERIAL_MAP_SPECULAR) */ diff --git a/examples/raygui/controls_test_suite.js b/examples/raygui/controls_test_suite.js new file mode 100644 index 0000000..d1f2304 --- /dev/null +++ b/examples/raygui/controls_test_suite.js @@ -0,0 +1,221 @@ +/******************************************************************************************* +* +* raygui - controls test suite +* +* TEST CONTROLS: +* - GuiDropdownBox() +* - GuiCheckBox() +* - GuiSpinner() +* - GuiValueBox() +* - GuiTextBox() +* - GuiButton() +* - GuiComboBox() +* - GuiListView() +* - GuiToggleGroup() +* - GuiColorPicker() +* - GuiSlider() +* - GuiSliderBar() +* - GuiProgressBar() +* - GuiColorBarAlpha() +* - GuiScrollPanel() +* +* LICENSE: zlib/libpng +* +* Copyright (c) 2016-2023 Ramon Santamaria (@raysan5) +* +**********************************************************************************************/ +// Initialization +//-------------------------------------------------------------------------------------- +const screenWidth = 690; +const screenHeight = 560; + +initWindow(screenWidth, screenHeight, "raygui - controls test suite"); +setExitKey(0); + +// GUI controls initialization +//---------------------------------------------------------------------------------- +let dropdownBox000Active = 0; +let dropDown000EditMode = false; + +let dropdownBox001Active = 0; +let dropDown001EditMode = false; + +let spinner001Value = 0; +let spinnerEditMode = false; + +let valueBox002Value = 0; +let valueBoxEditMode = false; + +let textBoxText = "Text box"; +let textBoxEditMode = false; + +let listViewScrollIndex = 0; +let listViewActive = -1; + +let listViewExScrollIndex = 0; +let listViewExActive = 2; +let listViewExFocus = -1; +let listViewExList = [ "This", "is", "a", "list view", "with", "disable", "elements", "amazing!" ]; + +let multiTextBoxText = "Multi text box"; +let multiTextBoxEditMode = false; +let colorPickerValue = RED; + +let sliderValue = 50.0; +let sliderBarValue = 60; +let progressValue = 0.4; + +let forceSquaredChecked = false; + +let alphaValue = 0.5; + +let comboBoxActive = 1; + +let toggleGroupActive = 0; + +let viewScroll = new Vector2(0, 0); +//---------------------------------------------------------------------------------- + +// Custom GUI font loading +//Font font = LoadFontEx("fonts/rainyhearts16.ttf", 12, 0, 0); +//GuiSetFont(font); + +let exitWindow = false; +let showMessageBox = false; + +let textInput = new Array(256).fill(0); +let showTextInputBox = false; + +let textInputFileName = new Array(256).fill(0); + +setTargetFPS(60); +//-------------------------------------------------------------------------------------- + +// Main game loop +while (!exitWindow) // Detect window close button or ESC key +{ + // Update + //---------------------------------------------------------------------------------- + exitWindow = windowShouldClose(); + + if (isKeyPressed(KEY_ESCAPE)) showMessageBox = !showMessageBox; + + if (isKeyDown(KEY_LEFT_CONTROL) && isKeyPressed(KEY_S)) showTextInputBox = true; + + if (isFileDropped()) + { + const droppedFiles = loadDroppedFiles(); + + if ((droppedFiles.length > 0) && isFileExtension(droppedFiles[0], ".rgs")) guiLoadStyle(droppedFiles.paths[0]); + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + beginDrawing(); + + clearBackground(getColor(guiGetStyle(DEFAULT, BACKGROUND_COLOR))); + + // raygui: controls drawing + //---------------------------------------------------------------------------------- + // Check all possible events that require GuiLock + if (dropDown000EditMode || + dropDown001EditMode) guiLock(); + + // First GUI column + guiSetStyle(CHECKBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT); + forceSquareChecked = guiCheckBox(new Rectangle(25, 108, 15, 15), "FORCE CHECK!", forceSquaredChecked); + + guiSetStyle(TEXTBOX, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER); + guiSetStyle(VALUEBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT); + if (guiSpinner(new Rectangle(25, 135, 125, 30), NULL, &spinner001Value, 0, 100, spinnerEditMode)) spinnerEditMode = !spinnerEditMode; + //if (guiValueBox(new Rectangle(25, 175, 125, 30), NULL, &valueBox002Value, 0, 100, valueBoxEditMode)) valueBoxEditMode = !valueBoxEditMode; + guiSetStyle(TEXTBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT); + if (guiTextBox(new Rectangle(25, 215, 125, 30), textBoxText, 64, textBoxEditMode)) textBoxEditMode = !textBoxEditMode; + + guiSetStyle(BUTTON, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER); + + if (guiButton(new Rectangle( 25, 255, 125, 30 ), guiIconText(ICON_FILE_SAVE, "Save File"))) showTextInputBox = true; + + guiGroupBox(Rectangle( 25, 310, 125, 150 ), "STATES"); + //GuiLock(); + guiSetState(STATE_NORMAL); if (guiButton(new Rectangle(30, 320, 115, 30), "NORMAL")) { } + guiSetState(STATE_FOCUSED); if (guiButton(new Rectangle(30, 355, 115, 30), "FOCUSED")) { } + guiSetState(STATE_PRESSED); if (guiButton(new Rectangle(30, 390, 115, 30), "#15#PRESSED")) { } + guiSetState(STATE_DISABLED); if (guiButton(new Rectangle(30, 425, 115, 30), "DISABLED")) { } + guiSetState(STATE_NORMAL); + //GuiUnlock(); + + comboBoxActive = guiComboBox(new Rectangle(25, 470, 125, 30), "ONE;TWO;THREE;FOUR", comboBoxActive); + + // NOTE: GuiDropdownBox must draw after any other control that can be covered on unfolding + GuiUnlock(); + GuiSetStyle(DROPDOWNBOX, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT); + if (GuiDropdownBox(new Rectangle(25, 65, 125, 30), "#01#ONE;#02#TWO;#03#THREE;#04#FOUR", &dropdownBox001Active, dropDown001EditMode)) dropDown001EditMode = !dropDown001EditMode; + + GuiSetStyle(DROPDOWNBOX, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER); + if (GuiDropdownBox(new Rectangle(25, 25, 125, 30), "ONE;TWO;THREE", &dropdownBox000Active, dropDown000EditMode)) dropDown000EditMode = !dropDown000EditMode; + + // Second GUI column + GuiListView(new Rectangle(165, 25, 140, 140), "Charmander;Bulbasaur;#18#Squirtel;Pikachu;Eevee;Pidgey", &listViewScrollIndex, &listViewActive); + GuiListViewEx(new Rectangle(165, 180, 140, 200), listViewExList, 8, &listViewExScrollIndex, &listViewExActive, &listViewExFocus); + + //GuiToggle(new Rectangle(165, 400, 140, 25), "#1#ONE", &toggleGroupActive); + GuiToggleGroup(new Rectangle(165, 400, 140, 25), "#1#ONE\n#3#TWO\n#8#THREE\n#23#", &toggleGroupActive); + + // Third GUI column + GuiPanel(new Rectangle(320, 25, 225, 140), "Panel Info"); + GuiColorPicker(new Rectangle(320, 185, 196, 192), NULL, &colorPickerValue); + + GuiSlider(new Rectangle(355, 400, 165, 20), "TEST", TextFormat("%2.2f", sliderValue), &sliderValue, -50, 100); + GuiSliderBar(new Rectangle(320, 430, 200, 20), NULL, TextFormat("%i", (int)sliderBarValue), &sliderBarValue, 0, 100); + GuiProgressBar(new Rectangle(320, 460, 200, 20), NULL, NULL, &progressValue, 0, 1); + + // NOTE: View rectangle could be used to perform some scissor test + Rectangle view = { 0 }; + GuiScrollPanel(new Rectangle(560, 25, 102, 354), NULL, new Rectangle(560, 25, 300, 1200), &viewScroll, &view); + + Vector2 mouseCell = { 0 }; + GuiGrid((Rectangle) { 560, 25 + 180 + 195, 100, 120 }, NULL, 20, 2, &mouseCell); + + GuiStatusBar(new Rectangle(0, (float)GetScreenHeight() - 20, (float)GetScreenWidth(), 20), "This is a status bar"); + + GuiColorBarAlpha(new Rectangle(320, 490, 200, 30), NULL, &alphaValue); + + if (showMessageBox) + { + DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade(RAYWHITE, 0.8f)); + int result = GuiMessageBox(new Rectangle((float)GetScreenWidth()/2 - 125, (float)GetScreenHeight()/2 - 50, 250, 100), GuiIconText(ICON_EXIT, "Close Window"), "Do you really want to exit?", "Yes;No"); + + if ((result == 0) || (result == 2)) showMessageBox = false; + else if (result == 1) exitWindow = true; + } + + if (showTextInputBox) + { + DrawRectangle(0, 0, GetScreenWidth(), GetScreenHeight(), Fade(RAYWHITE, 0.8f)); + int result = GuiTextInputBox(new Rectangle((float)GetScreenWidth()/2 - 120, (float)GetScreenHeight()/2 - 60, 240, 140), "Save", GuiIconText(ICON_FILE_SAVE, "Save file as..."), "Ok;Cancel", textInput, 255, NULL); + + if (result == 1) + { + // TODO: Validate textInput value and save + + strcpy(textInputFileName, textInput); + } + + if ((result == 0) || (result == 1) || (result == 2)) + { + showTextInputBox = false; + strcpy(textInput, "\0"); + } + } + //---------------------------------------------------------------------------------- + + EndDrawing(); + //---------------------------------------------------------------------------------- +} + +// De-Initialization +//-------------------------------------------------------------------------------------- +CloseWindow(); // Close window and OpenGL context +//-------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/generate-bindings.js b/generate-bindings.js index 5207545..ea42622 100644 --- a/generate-bindings.js +++ b/generate-bindings.js @@ -51,6 +51,9 @@ class ApiDescription { return null; return new ApiStruct(s); } + getEnums() { + return this.api.enums; + } } exports.ApiDescription = ApiDescription; @@ -251,6 +254,14 @@ class GenericCodeGenerator { include(name) { this.line("#include <" + name + ">"); } + for(indexVar, lengthVar) { + this.line(`for(int ${indexVar}; i < ${lengthVar}; i++){`); + this.indent(); + const child = this.child(); + this.unindent(); + this.line("}"); + return child; + } header(guard, fun) { this.line("#ifndef " + guard); this.line("#define " + guard); @@ -740,6 +751,9 @@ class RayLibHeader extends quickjs_1.QuickJsHeader { throw new Error("Function not in API: " + name); this.addApiFunction(func, jsName, options); } + addAllEnums() { + this.api.getEnums().forEach(x => x.values.forEach(y => this.exportGlobalConstant(y.name, y.description))); + } addApiStruct(struct, destructor, options) { const classId = this.definitions.jsClassId(`js_${struct.name}_class_id`); this.registerStruct(struct.name, classId); @@ -990,16 +1004,17 @@ function main() { const rcameraHeader = (0, fs_1.readFileSync)("thirdparty/raylib/src/rcamera.h", "utf8"); const cameraApi = parser.parseFunctionDefinitions(rcameraHeader); cameraApi.forEach(x => api.functions.push(x)); - const rguiHeader = (0, fs_1.readFileSync)("thirdparty/raylib/examples/shapes/raygui.h", "utf8"); + const rguiHeader = (0, fs_1.readFileSync)("thirdparty/raygui/src/raygui.h", "utf8"); const rguiFunctions = parser.parseFunctionDefinitions(rguiHeader); - const rguiEnums = parser.parseFunctionDefinitions(rguiHeader); + const rguiEnums = parser.parseEnums(rguiHeader); //rguiApi.forEach(x => console.log(`core.addApiFunctionByName("${x.name}")`)) rguiFunctions.forEach(x => api.functions.push(x)); - const rlightsHeader = (0, fs_1.readFileSync)("thirdparty/raylib/examples/shaders/rlights.h", "utf8"); + rguiEnums.forEach(x => api.enums.push(x)); + const rlightsHeader = (0, fs_1.readFileSync)("include/rlights.h", "utf8"); const rlightsFunctions = parser.parseFunctions(rlightsHeader, true); api.functions.push(rlightsFunctions[0]); api.functions.push(rlightsFunctions[1]); - const reasingsHeader = (0, fs_1.readFileSync)("thirdparty/raylib/examples/shapes/reasings.h", "utf8"); + const reasingsHeader = (0, fs_1.readFileSync)("include/reasings.h", "utf8"); const reasingsFunctions = parser.parseFunctions(reasingsHeader); //reasingsFunctions.forEach(x => console.log(`core.addApiFunctionByName("${x.name}")`)) reasingsFunctions.forEach(x => api.functions.push(x)); @@ -1393,7 +1408,18 @@ function main() { //core.addApiFunctionByName("LoadDirectoryFilesEx") // UnloadDirectoryFiles core.addApiFunctionByName("IsFileDropped"); - //core.addApiFunctionByName("LoadDroppedFiles") + const ldf = apiDesc.getFunction("LoadDroppedFiles"); + ldf.returnType = "string[]"; + core.addApiFunction(ldf, null, { + body: gen => { + gen.call("LoadDroppedFiles", [], { type: "FilePathList", name: "files" }); + gen.call("JS_NewArray", ["ctx"], { type: "JSValue", name: "ret" }); + const f = gen.for("i", "files.count"); + f.call("JS_SetPropertyUint32", ["ctx", "ret", "i", "JS_NewString(ctx,files.paths[i])"]); + gen.call("UnloadDroppedFiles", ["files"]); + gen.returnExp("ret"); + } + }); // UnloadDroppedFiles core.addApiFunctionByName("GetFileModTime"); // Compression/encoding functionality @@ -1974,7 +2000,7 @@ function main() { //core.addApiFunctionByName("GuiSpinner") //core.addApiFunctionByName("GuiValueBox") core.addApiFunctionByName("GuiTextBox"); - core.addApiFunctionByName("GuiTextBoxMulti"); + //core.addApiFunctionByName("GuiTextBoxMulti") core.addApiFunctionByName("GuiSlider"); core.addApiFunctionByName("GuiSliderBar"); core.addApiFunctionByName("GuiProgressBar"); @@ -1997,9 +2023,6 @@ function main() { //core.addApiFunctionByName("GuiGetIconData") //core.addApiFunctionByName("GuiSetIconData") core.addApiFunctionByName("GuiSetIconScale"); - core.addApiFunctionByName("GuiSetIconPixel"); - core.addApiFunctionByName("GuiClearIconPixel"); - core.addApiFunctionByName("GuiCheckIconPixel"); // module: rlights // TODO: Parse and support light struct // core.addApiFunctionByName("CreateLight") @@ -2031,18 +2054,19 @@ function main() { api.defines.filter(x => x.type === "COLOR").map(x => ({ name: x.name, description: x.description, values: (x.value.match(/\{([^}]+)\}/) || "")[1].split(',').map(x => x.trim()) })).forEach(x => { core.exportGlobalStruct("Color", x.name, x.values, x.description); }); - api.enums.find(x => x.name === "KeyboardKey")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)); - api.enums.find(x => x.name === "MouseButton")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)); - api.enums.find(x => x.name === "ConfigFlags")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)); - api.enums.find(x => x.name === "BlendMode")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)); - api.enums.find(x => x.name === "TraceLogLevel")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)); - api.enums.find(x => x.name === "MouseCursor")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)); - api.enums.find(x => x.name === "PixelFormat")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)); - api.enums.find(x => x.name === "CameraProjection")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)); - api.enums.find(x => x.name === "CameraMode")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)); - api.enums.find(x => x.name === "ShaderLocationIndex")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)); - api.enums.find(x => x.name === "ShaderUniformDataType")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)); - api.enums.find(x => x.name === "MaterialMapIndex")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)); + core.addAllEnums(); + // api.enums.find(x => x.name === "KeyboardKey")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "MouseButton")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "ConfigFlags")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "BlendMode")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "TraceLogLevel")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "MouseCursor")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "PixelFormat")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "CameraProjection")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "CameraMode")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "ShaderLocationIndex")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "ShaderUniformDataType")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) + // api.enums.find(x => x.name === "MaterialMapIndex")?.values.forEach(x => core.exportGlobalConstant(x.name, x.description)) core.exportGlobalConstant("MATERIAL_MAP_DIFFUSE", "Albedo material (same as: MATERIAL_MAP_DIFFUSE"); core.exportGlobalConstant("MATERIAL_MAP_SPECULAR", "Metalness material (same as: MATERIAL_MAP_SPECULAR)"); core.writeTo("src/bindings/js_raylib_core.h"); diff --git a/include/reasings.h b/include/reasings.h new file mode 100644 index 0000000..657ea24 --- /dev/null +++ b/include/reasings.h @@ -0,0 +1,263 @@ +/******************************************************************************************* +* +* reasings - raylib easings library, based on Robert Penner library +* +* Useful easing functions for values animation +* +* This header uses: +* #define REASINGS_STATIC_INLINE // Inlines all functions code, so it runs faster. +* // This requires lots of memory on system. +* How to use: +* The four inputs t,b,c,d are defined as follows: +* t = current time (in any unit measure, but same unit as duration) +* b = starting value to interpolate +* c = the total change in value of b that needs to occur +* d = total time it should take to complete (duration) +* +* Example: +* +* int currentTime = 0; +* int duration = 100; +* float startPositionX = 0.0f; +* float finalPositionX = 30.0f; +* float currentPositionX = startPositionX; +* +* while (currentPositionX < finalPositionX) +* { +* currentPositionX = EaseSineIn(currentTime, startPositionX, finalPositionX - startPositionX, duration); +* currentTime++; +* } +* +* A port of Robert Penner's easing equations to C (http://robertpenner.com/easing/) +* +* Robert Penner License +* --------------------------------------------------------------------------------- +* Open source under the BSD License. +* +* Copyright (c) 2001 Robert Penner. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without modification, +* are permitted provided that the following conditions are met: +* +* - Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* - Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* - Neither the name of the author nor the names of contributors may be used +* to endorse or promote products derived from this software without specific +* prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +* IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, +* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +* OF THE POSSIBILITY OF SUCH DAMAGE. +* --------------------------------------------------------------------------------- +* +* Copyright (c) 2015-2023 Ramon Santamaria (@raysan5) +* +* This software is provided "as-is", without any express or implied warranty. In no event +* will the authors be held liable for any damages arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, including commercial +* applications, and to alter it and redistribute it freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not claim that you +* wrote the original software. If you use this software in a product, an acknowledgment +* in the product documentation would be appreciated but is not required. +* +* 2. Altered source versions must be plainly marked as such, and must not be misrepresented +* as being the original software. +* +* 3. This notice may not be removed or altered from any source distribution. +* +**********************************************************************************************/ + +#ifndef REASINGS_H +#define REASINGS_H + +#define REASINGS_STATIC_INLINE // NOTE: By default, compile functions as static inline + +#if defined(REASINGS_STATIC_INLINE) + #define EASEDEF static inline +#else + #define EASEDEF extern +#endif + +#include // Required for: sinf(), cosf(), sqrtf(), powf() + +#ifndef PI + #define PI 3.14159265358979323846f //Required as PI is not always defined in math.h +#endif + +#if defined(__cplusplus) +extern "C" { // Prevents name mangling of functions +#endif + +// Linear Easing functions +EASEDEF float EaseLinearNone(float t, float b, float c, float d) { return (c*t/d + b); } // Ease: Linear +EASEDEF float EaseLinearIn(float t, float b, float c, float d) { return (c*t/d + b); } // Ease: Linear In +EASEDEF float EaseLinearOut(float t, float b, float c, float d) { return (c*t/d + b); } // Ease: Linear Out +EASEDEF float EaseLinearInOut(float t, float b, float c, float d) { return (c*t/d + b); } // Ease: Linear In Out + +// Sine Easing functions +EASEDEF float EaseSineIn(float t, float b, float c, float d) { return (-c*cosf(t/d*(PI/2.0f)) + c + b); } // Ease: Sine In +EASEDEF float EaseSineOut(float t, float b, float c, float d) { return (c*sinf(t/d*(PI/2.0f)) + b); } // Ease: Sine Out +EASEDEF float EaseSineInOut(float t, float b, float c, float d) { return (-c/2.0f*(cosf(PI*t/d) - 1.0f) + b); } // Ease: Sine In Out + +// Circular Easing functions +EASEDEF float EaseCircIn(float t, float b, float c, float d) { t /= d; return (-c*(sqrtf(1.0f - t*t) - 1.0f) + b); } // Ease: Circular In +EASEDEF float EaseCircOut(float t, float b, float c, float d) { t = t/d - 1.0f; return (c*sqrtf(1.0f - t*t) + b); } // Ease: Circular Out +EASEDEF float EaseCircInOut(float t, float b, float c, float d) // Ease: Circular In Out +{ + if ((t/=d/2.0f) < 1.0f) return (-c/2.0f*(sqrtf(1.0f - t*t) - 1.0f) + b); + t -= 2.0f; return (c/2.0f*(sqrtf(1.0f - t*t) + 1.0f) + b); +} + +// Cubic Easing functions +EASEDEF float EaseCubicIn(float t, float b, float c, float d) { t /= d; return (c*t*t*t + b); } // Ease: Cubic In +EASEDEF float EaseCubicOut(float t, float b, float c, float d) { t = t/d - 1.0f; return (c*(t*t*t + 1.0f) + b); } // Ease: Cubic Out +EASEDEF float EaseCubicInOut(float t, float b, float c, float d) // Ease: Cubic In Out +{ + if ((t/=d/2.0f) < 1.0f) return (c/2.0f*t*t*t + b); + t -= 2.0f; return (c/2.0f*(t*t*t + 2.0f) + b); +} + +// Quadratic Easing functions +EASEDEF float EaseQuadIn(float t, float b, float c, float d) { t /= d; return (c*t*t + b); } // Ease: Quadratic In +EASEDEF float EaseQuadOut(float t, float b, float c, float d) { t /= d; return (-c*t*(t - 2.0f) + b); } // Ease: Quadratic Out +EASEDEF float EaseQuadInOut(float t, float b, float c, float d) // Ease: Quadratic In Out +{ + if ((t/=d/2) < 1) return (((c/2)*(t*t)) + b); + return (-c/2.0f*(((t - 1.0f)*(t - 3.0f)) - 1.0f) + b); +} + +// Exponential Easing functions +EASEDEF float EaseExpoIn(float t, float b, float c, float d) { return (t == 0.0f) ? b : (c*powf(2.0f, 10.0f*(t/d - 1.0f)) + b); } // Ease: Exponential In +EASEDEF float EaseExpoOut(float t, float b, float c, float d) { return (t == d) ? (b + c) : (c*(-powf(2.0f, -10.0f*t/d) + 1.0f) + b); } // Ease: Exponential Out +EASEDEF float EaseExpoInOut(float t, float b, float c, float d) // Ease: Exponential In Out +{ + if (t == 0.0f) return b; + if (t == d) return (b + c); + if ((t/=d/2.0f) < 1.0f) return (c/2.0f*powf(2.0f, 10.0f*(t - 1.0f)) + b); + + return (c/2.0f*(-powf(2.0f, -10.0f*(t - 1.0f)) + 2.0f) + b); +} + +// Back Easing functions +EASEDEF float EaseBackIn(float t, float b, float c, float d) // Ease: Back In +{ + float s = 1.70158f; + float postFix = t/=d; + return (c*(postFix)*t*((s + 1.0f)*t - s) + b); +} + +EASEDEF float EaseBackOut(float t, float b, float c, float d) // Ease: Back Out +{ + float s = 1.70158f; + t = t/d - 1.0f; + return (c*(t*t*((s + 1.0f)*t + s) + 1.0f) + b); +} + +EASEDEF float EaseBackInOut(float t, float b, float c, float d) // Ease: Back In Out +{ + float s = 1.70158f; + if ((t/=d/2.0f) < 1.0f) + { + s *= 1.525f; + return (c/2.0f*(t*t*((s + 1.0f)*t - s)) + b); + } + + float postFix = t-=2.0f; + s *= 1.525f; + return (c/2.0f*((postFix)*t*((s + 1.0f)*t + s) + 2.0f) + b); +} + +// Bounce Easing functions +EASEDEF float EaseBounceOut(float t, float b, float c, float d) // Ease: Bounce Out +{ + if ((t/=d) < (1.0f/2.75f)) + { + return (c*(7.5625f*t*t) + b); + } + else if (t < (2.0f/2.75f)) + { + float postFix = t-=(1.5f/2.75f); + return (c*(7.5625f*(postFix)*t + 0.75f) + b); + } + else if (t < (2.5/2.75)) + { + float postFix = t-=(2.25f/2.75f); + return (c*(7.5625f*(postFix)*t + 0.9375f) + b); + } + else + { + float postFix = t-=(2.625f/2.75f); + return (c*(7.5625f*(postFix)*t + 0.984375f) + b); + } +} + +EASEDEF float EaseBounceIn(float t, float b, float c, float d) { return (c - EaseBounceOut(d - t, 0.0f, c, d) + b); } // Ease: Bounce In +EASEDEF float EaseBounceInOut(float t, float b, float c, float d) // Ease: Bounce In Out +{ + if (t < d/2.0f) return (EaseBounceIn(t*2.0f, 0.0f, c, d)*0.5f + b); + else return (EaseBounceOut(t*2.0f - d, 0.0f, c, d)*0.5f + c*0.5f + b); +} + +// Elastic Easing functions +EASEDEF float EaseElasticIn(float t, float b, float c, float d) // Ease: Elastic In +{ + if (t == 0.0f) return b; + if ((t/=d) == 1.0f) return (b + c); + + float p = d*0.3f; + float a = c; + float s = p/4.0f; + float postFix = a*powf(2.0f, 10.0f*(t-=1.0f)); + + return (-(postFix*sinf((t*d-s)*(2.0f*PI)/p )) + b); +} + +EASEDEF float EaseElasticOut(float t, float b, float c, float d) // Ease: Elastic Out +{ + if (t == 0.0f) return b; + if ((t/=d) == 1.0f) return (b + c); + + float p = d*0.3f; + float a = c; + float s = p/4.0f; + + return (a*powf(2.0f,-10.0f*t)*sinf((t*d-s)*(2.0f*PI)/p) + c + b); +} + +EASEDEF float EaseElasticInOut(float t, float b, float c, float d) // Ease: Elastic In Out +{ + if (t == 0.0f) return b; + if ((t/=d/2.0f) == 2.0f) return (b + c); + + float p = d*(0.3f*1.5f); + float a = c; + float s = p/4.0f; + + if (t < 1.0f) + { + float postFix = a*powf(2.0f, 10.0f*(t-=1.0f)); + return -0.5f*(postFix*sinf((t*d-s)*(2.0f*PI)/p)) + b; + } + + float postFix = a*powf(2.0f, -10.0f*(t-=1.0f)); + + return (postFix*sinf((t*d-s)*(2.0f*PI)/p)*0.5f + c + b); +} + +#if defined(__cplusplus) +} +#endif + +#endif // REASINGS_H diff --git a/include/rlights.h b/include/rlights.h new file mode 100644 index 0000000..d17bf7c --- /dev/null +++ b/include/rlights.h @@ -0,0 +1,170 @@ +/********************************************************************************************** +* +* raylib.lights - Some useful functions to deal with lights data +* +* CONFIGURATION: +* +* #define RLIGHTS_IMPLEMENTATION +* Generates the implementation of the library into the included file. +* If not defined, the library is in header only mode and can be included in other headers +* or source files without problems. But only ONE file should hold the implementation. +* +* LICENSE: zlib/libpng +* +* Copyright (c) 2017-2023 Victor Fisac (@victorfisac) and Ramon Santamaria (@raysan5) +* +* This software is provided "as-is", without any express or implied warranty. In no event +* will the authors be held liable for any damages arising from the use of this software. +* +* Permission is granted to anyone to use this software for any purpose, including commercial +* applications, and to alter it and redistribute it freely, subject to the following restrictions: +* +* 1. The origin of this software must not be misrepresented; you must not claim that you +* wrote the original software. If you use this software in a product, an acknowledgment +* in the product documentation would be appreciated but is not required. +* +* 2. Altered source versions must be plainly marked as such, and must not be misrepresented +* as being the original software. +* +* 3. This notice may not be removed or altered from any source distribution. +* +**********************************************************************************************/ + +#ifndef RLIGHTS_H +#define RLIGHTS_H + +//---------------------------------------------------------------------------------- +// Defines and Macros +//---------------------------------------------------------------------------------- +#define MAX_LIGHTS 4 // Max dynamic lights supported by shader + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- + +// Light data +typedef struct { + int type; + bool enabled; + Vector3 position; + Vector3 target; + Color color; + float attenuation; + + // Shader locations + int enabledLoc; + int typeLoc; + int positionLoc; + int targetLoc; + int colorLoc; + int attenuationLoc; +} Light; + +// Light type +typedef enum { + LIGHT_DIRECTIONAL = 0, + LIGHT_POINT +} LightType; + +#ifdef __cplusplus +extern "C" { // Prevents name mangling of functions +#endif + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +Light CreateLight(int type, Vector3 position, Vector3 target, Color color, Shader shader); // Create a light and get shader locations +void UpdateLightValues(Shader shader, Light light); // Send light properties to shader + +#ifdef __cplusplus +} +#endif + +#endif // RLIGHTS_H + + +/*********************************************************************************** +* +* RLIGHTS IMPLEMENTATION +* +************************************************************************************/ + +#if defined(RLIGHTS_IMPLEMENTATION) + +#include "raylib.h" + +//---------------------------------------------------------------------------------- +// Defines and Macros +//---------------------------------------------------------------------------------- +// ... + +//---------------------------------------------------------------------------------- +// Types and Structures Definition +//---------------------------------------------------------------------------------- +// ... + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +static int lightsCount = 0; // Current amount of created lights + +//---------------------------------------------------------------------------------- +// Module specific Functions Declaration +//---------------------------------------------------------------------------------- +// ... + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- + +// Create a light and get shader locations +Light CreateLight(int type, Vector3 position, Vector3 target, Color color, Shader shader) +{ + Light light = { 0 }; + + if (lightsCount < MAX_LIGHTS) + { + light.enabled = true; + light.type = type; + light.position = position; + light.target = target; + light.color = color; + + // NOTE: Lighting shader naming must be the provided ones + light.enabledLoc = GetShaderLocation(shader, TextFormat("lights[%i].enabled", lightsCount)); + light.typeLoc = GetShaderLocation(shader, TextFormat("lights[%i].type", lightsCount)); + light.positionLoc = GetShaderLocation(shader, TextFormat("lights[%i].position", lightsCount)); + light.targetLoc = GetShaderLocation(shader, TextFormat("lights[%i].target", lightsCount)); + light.colorLoc = GetShaderLocation(shader, TextFormat("lights[%i].color", lightsCount)); + + UpdateLightValues(shader, light); + + lightsCount++; + } + + return light; +} + +// Send light properties to shader +// NOTE: Light shader locations should be available +void UpdateLightValues(Shader shader, Light light) +{ + // Send to shader light enabled state and type + SetShaderValue(shader, light.enabledLoc, &light.enabled, SHADER_UNIFORM_INT); + SetShaderValue(shader, light.typeLoc, &light.type, SHADER_UNIFORM_INT); + + // Send to shader light position values + float position[3] = { light.position.x, light.position.y, light.position.z }; + SetShaderValue(shader, light.positionLoc, position, SHADER_UNIFORM_VEC3); + + // Send to shader light target position values + float target[3] = { light.target.x, light.target.y, light.target.z }; + SetShaderValue(shader, light.targetLoc, target, SHADER_UNIFORM_VEC3); + + // Send to shader light color values + float color[4] = { (float)light.color.r/(float)255, (float)light.color.g/(float)255, + (float)light.color.b/(float)255, (float)light.color.a/(float)255 }; + SetShaderValue(shader, light.colorLoc, color, SHADER_UNIFORM_VEC4); +} + +#endif // RLIGHTS_IMPLEMENTATION \ No newline at end of file diff --git a/src/bindings/js_raylib_core.h b/src/bindings/js_raylib_core.h index 0084e33..bb8c402 100644 --- a/src/bindings/js_raylib_core.h +++ b/src/bindings/js_raylib_core.h @@ -2771,6 +2771,16 @@ static JSValue js_isFileDropped(JSContext * ctx, JSValueConst this_val, int argc return ret; } +static JSValue js_loadDroppedFiles(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) { + FilePathList files = LoadDroppedFiles(); + JSValue ret = JS_NewArray(ctx); + for(int i; i < files.count; i++){ + JS_SetPropertyUint32(ctx, ret, i, JS_NewString(ctx,files.paths[i])); + } + UnloadDroppedFiles(files); + return ret; +} + static JSValue js_getFileModTime(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) { const char * fileName = (const char *)JS_ToCString(ctx, argv[0]); long returnVal = GetFileModTime(fileName); @@ -8721,20 +8731,6 @@ static JSValue js_guiTextBox(JSContext * ctx, JSValueConst this_val, int argc, J return ret; } -static JSValue js_guiTextBoxMulti(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) { - Rectangle* bounds_ptr = (Rectangle*)JS_GetOpaque2(ctx, argv[0], js_Rectangle_class_id); - if(bounds_ptr == NULL) return JS_EXCEPTION; - Rectangle bounds = *bounds_ptr; - char * text = (char *)JS_ToCString(ctx, argv[1]); - int textSize; - JS_ToInt32(ctx, &textSize, argv[2]); - bool editMode = JS_ToBool(ctx, argv[3]); - bool returnVal = GuiTextBoxMulti(bounds, text, textSize, editMode); - JS_FreeCString(ctx, text); - JSValue ret = JS_NewBool(ctx, returnVal); - return ret; -} - static JSValue js_guiSlider(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) { Rectangle* bounds_ptr = (Rectangle*)JS_GetOpaque2(ctx, argv[0], js_Rectangle_class_id); if(bounds_ptr == NULL) return JS_EXCEPTION; @@ -8956,46 +8952,12 @@ static JSValue js_guiDrawIcon(JSContext * ctx, JSValueConst this_val, int argc, } static JSValue js_guiSetIconScale(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) { - unsigned int scale; - JS_ToUint32(ctx, &scale, argv[0]); + int scale; + JS_ToInt32(ctx, &scale, argv[0]); GuiSetIconScale(scale); return JS_UNDEFINED; } -static JSValue js_guiSetIconPixel(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) { - int iconId; - JS_ToInt32(ctx, &iconId, argv[0]); - int x; - JS_ToInt32(ctx, &x, argv[1]); - int y; - JS_ToInt32(ctx, &y, argv[2]); - GuiSetIconPixel(iconId, x, y); - return JS_UNDEFINED; -} - -static JSValue js_guiClearIconPixel(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) { - int iconId; - JS_ToInt32(ctx, &iconId, argv[0]); - int x; - JS_ToInt32(ctx, &x, argv[1]); - int y; - JS_ToInt32(ctx, &y, argv[2]); - GuiClearIconPixel(iconId, x, y); - return JS_UNDEFINED; -} - -static JSValue js_guiCheckIconPixel(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) { - int iconId; - JS_ToInt32(ctx, &iconId, argv[0]); - int x; - JS_ToInt32(ctx, &x, argv[1]); - int y; - JS_ToInt32(ctx, &y, argv[2]); - bool returnVal = GuiCheckIconPixel(iconId, x, y); - JSValue ret = JS_NewBool(ctx, returnVal); - return ret; -} - static JSValue js_easeLinearNone(JSContext * ctx, JSValueConst this_val, int argc, JSValueConst * argv) { double _double_t; JS_ToFloat64(ctx, &_double_t, argv[0]); @@ -9520,6 +9482,7 @@ static const JSCFunctionListEntry js_raylib_core_funcs[] = { JS_CFUNC_DEF("changeDirectory",1,js_changeDirectory), JS_CFUNC_DEF("isPathFile",1,js_isPathFile), JS_CFUNC_DEF("isFileDropped",0,js_isFileDropped), + JS_CFUNC_DEF("loadDroppedFiles",0,js_loadDroppedFiles), JS_CFUNC_DEF("getFileModTime",1,js_getFileModTime), JS_CFUNC_DEF("isKeyPressed",1,js_isKeyPressed), JS_CFUNC_DEF("isKeyDown",1,js_isKeyDown), @@ -9971,7 +9934,6 @@ static const JSCFunctionListEntry js_raylib_core_funcs[] = { JS_CFUNC_DEF("guiCheckBox",3,js_guiCheckBox), JS_CFUNC_DEF("guiComboBox",3,js_guiComboBox), JS_CFUNC_DEF("guiTextBox",4,js_guiTextBox), - JS_CFUNC_DEF("guiTextBoxMulti",4,js_guiTextBoxMulti), JS_CFUNC_DEF("guiSlider",6,js_guiSlider), JS_CFUNC_DEF("guiSliderBar",6,js_guiSliderBar), JS_CFUNC_DEF("guiProgressBar",6,js_guiProgressBar), @@ -9988,9 +9950,6 @@ static const JSCFunctionListEntry js_raylib_core_funcs[] = { JS_CFUNC_DEF("guiIconText",2,js_guiIconText), JS_CFUNC_DEF("guiDrawIcon",5,js_guiDrawIcon), JS_CFUNC_DEF("guiSetIconScale",1,js_guiSetIconScale), - JS_CFUNC_DEF("guiSetIconPixel",3,js_guiSetIconPixel), - JS_CFUNC_DEF("guiClearIconPixel",3,js_guiClearIconPixel), - JS_CFUNC_DEF("guiCheckIconPixel",3,js_guiCheckIconPixel), JS_CFUNC_DEF("easeLinearNone",4,js_easeLinearNone), JS_CFUNC_DEF("easeLinearIn",4,js_easeLinearIn), JS_CFUNC_DEF("easeLinearOut",4,js_easeLinearOut), @@ -10222,6 +10181,29 @@ static int js_raylib_core_init(JSContext * ctx, JSModuleDef * m) { JSValue RAYWHITE_js = JS_NewObjectClass(ctx, js_Color_class_id); JS_SetOpaque(RAYWHITE_js, RAYWHITE_js_ptr); JS_SetModuleExport(ctx, m, "RAYWHITE", RAYWHITE_js); + JS_SetModuleExport(ctx, m, "FLAG_VSYNC_HINT", JS_NewInt32(ctx, FLAG_VSYNC_HINT)); + JS_SetModuleExport(ctx, m, "FLAG_FULLSCREEN_MODE", JS_NewInt32(ctx, FLAG_FULLSCREEN_MODE)); + JS_SetModuleExport(ctx, m, "FLAG_WINDOW_RESIZABLE", JS_NewInt32(ctx, FLAG_WINDOW_RESIZABLE)); + JS_SetModuleExport(ctx, m, "FLAG_WINDOW_UNDECORATED", JS_NewInt32(ctx, FLAG_WINDOW_UNDECORATED)); + JS_SetModuleExport(ctx, m, "FLAG_WINDOW_HIDDEN", JS_NewInt32(ctx, FLAG_WINDOW_HIDDEN)); + JS_SetModuleExport(ctx, m, "FLAG_WINDOW_MINIMIZED", JS_NewInt32(ctx, FLAG_WINDOW_MINIMIZED)); + JS_SetModuleExport(ctx, m, "FLAG_WINDOW_MAXIMIZED", JS_NewInt32(ctx, FLAG_WINDOW_MAXIMIZED)); + JS_SetModuleExport(ctx, m, "FLAG_WINDOW_UNFOCUSED", JS_NewInt32(ctx, FLAG_WINDOW_UNFOCUSED)); + JS_SetModuleExport(ctx, m, "FLAG_WINDOW_TOPMOST", JS_NewInt32(ctx, FLAG_WINDOW_TOPMOST)); + JS_SetModuleExport(ctx, m, "FLAG_WINDOW_ALWAYS_RUN", JS_NewInt32(ctx, FLAG_WINDOW_ALWAYS_RUN)); + JS_SetModuleExport(ctx, m, "FLAG_WINDOW_TRANSPARENT", JS_NewInt32(ctx, FLAG_WINDOW_TRANSPARENT)); + JS_SetModuleExport(ctx, m, "FLAG_WINDOW_HIGHDPI", JS_NewInt32(ctx, FLAG_WINDOW_HIGHDPI)); + JS_SetModuleExport(ctx, m, "FLAG_WINDOW_MOUSE_PASSTHROUGH", JS_NewInt32(ctx, FLAG_WINDOW_MOUSE_PASSTHROUGH)); + JS_SetModuleExport(ctx, m, "FLAG_MSAA_4X_HINT", JS_NewInt32(ctx, FLAG_MSAA_4X_HINT)); + JS_SetModuleExport(ctx, m, "FLAG_INTERLACED_HINT", JS_NewInt32(ctx, FLAG_INTERLACED_HINT)); + JS_SetModuleExport(ctx, m, "LOG_ALL", JS_NewInt32(ctx, LOG_ALL)); + JS_SetModuleExport(ctx, m, "LOG_TRACE", JS_NewInt32(ctx, LOG_TRACE)); + JS_SetModuleExport(ctx, m, "LOG_DEBUG", JS_NewInt32(ctx, LOG_DEBUG)); + JS_SetModuleExport(ctx, m, "LOG_INFO", JS_NewInt32(ctx, LOG_INFO)); + JS_SetModuleExport(ctx, m, "LOG_WARNING", JS_NewInt32(ctx, LOG_WARNING)); + JS_SetModuleExport(ctx, m, "LOG_ERROR", JS_NewInt32(ctx, LOG_ERROR)); + JS_SetModuleExport(ctx, m, "LOG_FATAL", JS_NewInt32(ctx, LOG_FATAL)); + JS_SetModuleExport(ctx, m, "LOG_NONE", JS_NewInt32(ctx, LOG_NONE)); 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)); @@ -10339,37 +10321,6 @@ static int js_raylib_core_init(JSContext * ctx, JSModuleDef * m) { 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)); - JS_SetModuleExport(ctx, m, "FLAG_VSYNC_HINT", JS_NewInt32(ctx, FLAG_VSYNC_HINT)); - JS_SetModuleExport(ctx, m, "FLAG_FULLSCREEN_MODE", JS_NewInt32(ctx, FLAG_FULLSCREEN_MODE)); - JS_SetModuleExport(ctx, m, "FLAG_WINDOW_RESIZABLE", JS_NewInt32(ctx, FLAG_WINDOW_RESIZABLE)); - JS_SetModuleExport(ctx, m, "FLAG_WINDOW_UNDECORATED", JS_NewInt32(ctx, FLAG_WINDOW_UNDECORATED)); - JS_SetModuleExport(ctx, m, "FLAG_WINDOW_HIDDEN", JS_NewInt32(ctx, FLAG_WINDOW_HIDDEN)); - JS_SetModuleExport(ctx, m, "FLAG_WINDOW_MINIMIZED", JS_NewInt32(ctx, FLAG_WINDOW_MINIMIZED)); - JS_SetModuleExport(ctx, m, "FLAG_WINDOW_MAXIMIZED", JS_NewInt32(ctx, FLAG_WINDOW_MAXIMIZED)); - JS_SetModuleExport(ctx, m, "FLAG_WINDOW_UNFOCUSED", JS_NewInt32(ctx, FLAG_WINDOW_UNFOCUSED)); - JS_SetModuleExport(ctx, m, "FLAG_WINDOW_TOPMOST", JS_NewInt32(ctx, FLAG_WINDOW_TOPMOST)); - JS_SetModuleExport(ctx, m, "FLAG_WINDOW_ALWAYS_RUN", JS_NewInt32(ctx, FLAG_WINDOW_ALWAYS_RUN)); - JS_SetModuleExport(ctx, m, "FLAG_WINDOW_TRANSPARENT", JS_NewInt32(ctx, FLAG_WINDOW_TRANSPARENT)); - JS_SetModuleExport(ctx, m, "FLAG_WINDOW_HIGHDPI", JS_NewInt32(ctx, FLAG_WINDOW_HIGHDPI)); - JS_SetModuleExport(ctx, m, "FLAG_WINDOW_MOUSE_PASSTHROUGH", JS_NewInt32(ctx, FLAG_WINDOW_MOUSE_PASSTHROUGH)); - JS_SetModuleExport(ctx, m, "FLAG_MSAA_4X_HINT", JS_NewInt32(ctx, FLAG_MSAA_4X_HINT)); - JS_SetModuleExport(ctx, m, "FLAG_INTERLACED_HINT", JS_NewInt32(ctx, FLAG_INTERLACED_HINT)); - JS_SetModuleExport(ctx, m, "BLEND_ALPHA", JS_NewInt32(ctx, BLEND_ALPHA)); - JS_SetModuleExport(ctx, m, "BLEND_ADDITIVE", JS_NewInt32(ctx, BLEND_ADDITIVE)); - JS_SetModuleExport(ctx, m, "BLEND_MULTIPLIED", JS_NewInt32(ctx, BLEND_MULTIPLIED)); - JS_SetModuleExport(ctx, m, "BLEND_ADD_COLORS", JS_NewInt32(ctx, BLEND_ADD_COLORS)); - JS_SetModuleExport(ctx, m, "BLEND_SUBTRACT_COLORS", JS_NewInt32(ctx, BLEND_SUBTRACT_COLORS)); - JS_SetModuleExport(ctx, m, "BLEND_ALPHA_PREMULTIPLY", JS_NewInt32(ctx, BLEND_ALPHA_PREMULTIPLY)); - JS_SetModuleExport(ctx, m, "BLEND_CUSTOM", JS_NewInt32(ctx, BLEND_CUSTOM)); - JS_SetModuleExport(ctx, m, "BLEND_CUSTOM_SEPARATE", JS_NewInt32(ctx, BLEND_CUSTOM_SEPARATE)); - JS_SetModuleExport(ctx, m, "LOG_ALL", JS_NewInt32(ctx, LOG_ALL)); - JS_SetModuleExport(ctx, m, "LOG_TRACE", JS_NewInt32(ctx, LOG_TRACE)); - JS_SetModuleExport(ctx, m, "LOG_DEBUG", JS_NewInt32(ctx, LOG_DEBUG)); - JS_SetModuleExport(ctx, m, "LOG_INFO", JS_NewInt32(ctx, LOG_INFO)); - JS_SetModuleExport(ctx, m, "LOG_WARNING", JS_NewInt32(ctx, LOG_WARNING)); - JS_SetModuleExport(ctx, m, "LOG_ERROR", JS_NewInt32(ctx, LOG_ERROR)); - JS_SetModuleExport(ctx, m, "LOG_FATAL", JS_NewInt32(ctx, LOG_FATAL)); - JS_SetModuleExport(ctx, m, "LOG_NONE", JS_NewInt32(ctx, LOG_NONE)); JS_SetModuleExport(ctx, m, "MOUSE_CURSOR_DEFAULT", JS_NewInt32(ctx, MOUSE_CURSOR_DEFAULT)); JS_SetModuleExport(ctx, m, "MOUSE_CURSOR_ARROW", JS_NewInt32(ctx, MOUSE_CURSOR_ARROW)); JS_SetModuleExport(ctx, m, "MOUSE_CURSOR_IBEAM", JS_NewInt32(ctx, MOUSE_CURSOR_IBEAM)); @@ -10381,34 +10332,41 @@ static int js_raylib_core_init(JSContext * ctx, JSModuleDef * m) { JS_SetModuleExport(ctx, m, "MOUSE_CURSOR_RESIZE_NESW", JS_NewInt32(ctx, MOUSE_CURSOR_RESIZE_NESW)); JS_SetModuleExport(ctx, m, "MOUSE_CURSOR_RESIZE_ALL", JS_NewInt32(ctx, MOUSE_CURSOR_RESIZE_ALL)); JS_SetModuleExport(ctx, m, "MOUSE_CURSOR_NOT_ALLOWED", JS_NewInt32(ctx, MOUSE_CURSOR_NOT_ALLOWED)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_GRAYSCALE", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_GRAYSCALE)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R5G6B5", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_R5G6B5)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R8G8B8", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_R8G8B8)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R5G5B5A1", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_R5G5B5A1)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R4G4B4A4", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_R4G4B4A4)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R8G8B8A8", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_R8G8B8A8)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R32", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_R32)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R32G32B32", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_R32G32B32)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R32G32B32A32", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_R32G32B32A32)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_DXT1_RGB", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_DXT1_RGB)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_DXT1_RGBA", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_DXT1_RGBA)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_DXT3_RGBA", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_DXT3_RGBA)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_DXT5_RGBA", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_DXT5_RGBA)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ETC1_RGB", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_ETC1_RGB)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ETC2_RGB", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_ETC2_RGB)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_PVRT_RGB", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_PVRT_RGB)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_PVRT_RGBA", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_PVRT_RGBA)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA)); - JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA)); - JS_SetModuleExport(ctx, m, "CAMERA_PERSPECTIVE", JS_NewInt32(ctx, CAMERA_PERSPECTIVE)); - JS_SetModuleExport(ctx, m, "CAMERA_ORTHOGRAPHIC", JS_NewInt32(ctx, CAMERA_ORTHOGRAPHIC)); - JS_SetModuleExport(ctx, m, "CAMERA_CUSTOM", JS_NewInt32(ctx, CAMERA_CUSTOM)); - JS_SetModuleExport(ctx, m, "CAMERA_FREE", JS_NewInt32(ctx, CAMERA_FREE)); - JS_SetModuleExport(ctx, m, "CAMERA_ORBITAL", JS_NewInt32(ctx, CAMERA_ORBITAL)); - JS_SetModuleExport(ctx, m, "CAMERA_FIRST_PERSON", JS_NewInt32(ctx, CAMERA_FIRST_PERSON)); - JS_SetModuleExport(ctx, m, "CAMERA_THIRD_PERSON", JS_NewInt32(ctx, CAMERA_THIRD_PERSON)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_UNKNOWN", JS_NewInt32(ctx, GAMEPAD_BUTTON_UNKNOWN)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_LEFT_FACE_UP", JS_NewInt32(ctx, GAMEPAD_BUTTON_LEFT_FACE_UP)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_LEFT_FACE_RIGHT", JS_NewInt32(ctx, GAMEPAD_BUTTON_LEFT_FACE_RIGHT)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_LEFT_FACE_DOWN", JS_NewInt32(ctx, GAMEPAD_BUTTON_LEFT_FACE_DOWN)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_LEFT_FACE_LEFT", JS_NewInt32(ctx, GAMEPAD_BUTTON_LEFT_FACE_LEFT)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_RIGHT_FACE_UP", JS_NewInt32(ctx, GAMEPAD_BUTTON_RIGHT_FACE_UP)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_RIGHT_FACE_RIGHT", JS_NewInt32(ctx, GAMEPAD_BUTTON_RIGHT_FACE_RIGHT)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_RIGHT_FACE_DOWN", JS_NewInt32(ctx, GAMEPAD_BUTTON_RIGHT_FACE_DOWN)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_RIGHT_FACE_LEFT", JS_NewInt32(ctx, GAMEPAD_BUTTON_RIGHT_FACE_LEFT)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_LEFT_TRIGGER_1", JS_NewInt32(ctx, GAMEPAD_BUTTON_LEFT_TRIGGER_1)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_LEFT_TRIGGER_2", JS_NewInt32(ctx, GAMEPAD_BUTTON_LEFT_TRIGGER_2)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_RIGHT_TRIGGER_1", JS_NewInt32(ctx, GAMEPAD_BUTTON_RIGHT_TRIGGER_1)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_RIGHT_TRIGGER_2", JS_NewInt32(ctx, GAMEPAD_BUTTON_RIGHT_TRIGGER_2)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_MIDDLE_LEFT", JS_NewInt32(ctx, GAMEPAD_BUTTON_MIDDLE_LEFT)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_MIDDLE", JS_NewInt32(ctx, GAMEPAD_BUTTON_MIDDLE)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_MIDDLE_RIGHT", JS_NewInt32(ctx, GAMEPAD_BUTTON_MIDDLE_RIGHT)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_LEFT_THUMB", JS_NewInt32(ctx, GAMEPAD_BUTTON_LEFT_THUMB)); + JS_SetModuleExport(ctx, m, "GAMEPAD_BUTTON_RIGHT_THUMB", JS_NewInt32(ctx, GAMEPAD_BUTTON_RIGHT_THUMB)); + JS_SetModuleExport(ctx, m, "GAMEPAD_AXIS_LEFT_X", JS_NewInt32(ctx, GAMEPAD_AXIS_LEFT_X)); + JS_SetModuleExport(ctx, m, "GAMEPAD_AXIS_LEFT_Y", JS_NewInt32(ctx, GAMEPAD_AXIS_LEFT_Y)); + JS_SetModuleExport(ctx, m, "GAMEPAD_AXIS_RIGHT_X", JS_NewInt32(ctx, GAMEPAD_AXIS_RIGHT_X)); + JS_SetModuleExport(ctx, m, "GAMEPAD_AXIS_RIGHT_Y", JS_NewInt32(ctx, GAMEPAD_AXIS_RIGHT_Y)); + JS_SetModuleExport(ctx, m, "GAMEPAD_AXIS_LEFT_TRIGGER", JS_NewInt32(ctx, GAMEPAD_AXIS_LEFT_TRIGGER)); + JS_SetModuleExport(ctx, m, "GAMEPAD_AXIS_RIGHT_TRIGGER", JS_NewInt32(ctx, GAMEPAD_AXIS_RIGHT_TRIGGER)); + JS_SetModuleExport(ctx, m, "MATERIAL_MAP_ALBEDO", JS_NewInt32(ctx, MATERIAL_MAP_ALBEDO)); + JS_SetModuleExport(ctx, m, "MATERIAL_MAP_METALNESS", JS_NewInt32(ctx, MATERIAL_MAP_METALNESS)); + JS_SetModuleExport(ctx, m, "MATERIAL_MAP_NORMAL", JS_NewInt32(ctx, MATERIAL_MAP_NORMAL)); + JS_SetModuleExport(ctx, m, "MATERIAL_MAP_ROUGHNESS", JS_NewInt32(ctx, MATERIAL_MAP_ROUGHNESS)); + JS_SetModuleExport(ctx, m, "MATERIAL_MAP_OCCLUSION", JS_NewInt32(ctx, MATERIAL_MAP_OCCLUSION)); + JS_SetModuleExport(ctx, m, "MATERIAL_MAP_EMISSION", JS_NewInt32(ctx, MATERIAL_MAP_EMISSION)); + JS_SetModuleExport(ctx, m, "MATERIAL_MAP_HEIGHT", JS_NewInt32(ctx, MATERIAL_MAP_HEIGHT)); + JS_SetModuleExport(ctx, m, "MATERIAL_MAP_CUBEMAP", JS_NewInt32(ctx, MATERIAL_MAP_CUBEMAP)); + JS_SetModuleExport(ctx, m, "MATERIAL_MAP_IRRADIANCE", JS_NewInt32(ctx, MATERIAL_MAP_IRRADIANCE)); + JS_SetModuleExport(ctx, m, "MATERIAL_MAP_PREFILTER", JS_NewInt32(ctx, MATERIAL_MAP_PREFILTER)); + JS_SetModuleExport(ctx, m, "MATERIAL_MAP_BRDF", JS_NewInt32(ctx, MATERIAL_MAP_BRDF)); JS_SetModuleExport(ctx, m, "SHADER_LOC_VERTEX_POSITION", JS_NewInt32(ctx, SHADER_LOC_VERTEX_POSITION)); JS_SetModuleExport(ctx, m, "SHADER_LOC_VERTEX_TEXCOORD01", JS_NewInt32(ctx, SHADER_LOC_VERTEX_TEXCOORD01)); JS_SetModuleExport(ctx, m, "SHADER_LOC_VERTEX_TEXCOORD02", JS_NewInt32(ctx, SHADER_LOC_VERTEX_TEXCOORD02)); @@ -10444,17 +10402,409 @@ static int js_raylib_core_init(JSContext * ctx, JSModuleDef * m) { JS_SetModuleExport(ctx, m, "SHADER_UNIFORM_IVEC3", JS_NewInt32(ctx, SHADER_UNIFORM_IVEC3)); JS_SetModuleExport(ctx, m, "SHADER_UNIFORM_IVEC4", JS_NewInt32(ctx, SHADER_UNIFORM_IVEC4)); JS_SetModuleExport(ctx, m, "SHADER_UNIFORM_SAMPLER2D", JS_NewInt32(ctx, SHADER_UNIFORM_SAMPLER2D)); - JS_SetModuleExport(ctx, m, "MATERIAL_MAP_ALBEDO", JS_NewInt32(ctx, MATERIAL_MAP_ALBEDO)); - JS_SetModuleExport(ctx, m, "MATERIAL_MAP_METALNESS", JS_NewInt32(ctx, MATERIAL_MAP_METALNESS)); - JS_SetModuleExport(ctx, m, "MATERIAL_MAP_NORMAL", JS_NewInt32(ctx, MATERIAL_MAP_NORMAL)); - JS_SetModuleExport(ctx, m, "MATERIAL_MAP_ROUGHNESS", JS_NewInt32(ctx, MATERIAL_MAP_ROUGHNESS)); - JS_SetModuleExport(ctx, m, "MATERIAL_MAP_OCCLUSION", JS_NewInt32(ctx, MATERIAL_MAP_OCCLUSION)); - JS_SetModuleExport(ctx, m, "MATERIAL_MAP_EMISSION", JS_NewInt32(ctx, MATERIAL_MAP_EMISSION)); - JS_SetModuleExport(ctx, m, "MATERIAL_MAP_HEIGHT", JS_NewInt32(ctx, MATERIAL_MAP_HEIGHT)); - JS_SetModuleExport(ctx, m, "MATERIAL_MAP_CUBEMAP", JS_NewInt32(ctx, MATERIAL_MAP_CUBEMAP)); - JS_SetModuleExport(ctx, m, "MATERIAL_MAP_IRRADIANCE", JS_NewInt32(ctx, MATERIAL_MAP_IRRADIANCE)); - JS_SetModuleExport(ctx, m, "MATERIAL_MAP_PREFILTER", JS_NewInt32(ctx, MATERIAL_MAP_PREFILTER)); - JS_SetModuleExport(ctx, m, "MATERIAL_MAP_BRDF", JS_NewInt32(ctx, MATERIAL_MAP_BRDF)); + JS_SetModuleExport(ctx, m, "SHADER_ATTRIB_FLOAT", JS_NewInt32(ctx, SHADER_ATTRIB_FLOAT)); + JS_SetModuleExport(ctx, m, "SHADER_ATTRIB_VEC2", JS_NewInt32(ctx, SHADER_ATTRIB_VEC2)); + JS_SetModuleExport(ctx, m, "SHADER_ATTRIB_VEC3", JS_NewInt32(ctx, SHADER_ATTRIB_VEC3)); + JS_SetModuleExport(ctx, m, "SHADER_ATTRIB_VEC4", JS_NewInt32(ctx, SHADER_ATTRIB_VEC4)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_GRAYSCALE", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_GRAYSCALE)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R5G6B5", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_R5G6B5)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R8G8B8", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_R8G8B8)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R5G5B5A1", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_R5G5B5A1)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R4G4B4A4", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_R4G4B4A4)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R8G8B8A8", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_R8G8B8A8)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R32", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_R32)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R32G32B32", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_R32G32B32)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R32G32B32A32", JS_NewInt32(ctx, PIXELFORMAT_UNCOMPRESSED_R32G32B32A32)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_DXT1_RGB", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_DXT1_RGB)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_DXT1_RGBA", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_DXT1_RGBA)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_DXT3_RGBA", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_DXT3_RGBA)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_DXT5_RGBA", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_DXT5_RGBA)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ETC1_RGB", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_ETC1_RGB)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ETC2_RGB", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_ETC2_RGB)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_PVRT_RGB", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_PVRT_RGB)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_PVRT_RGBA", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_PVRT_RGBA)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA)); + JS_SetModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA", JS_NewInt32(ctx, PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA)); + JS_SetModuleExport(ctx, m, "TEXTURE_FILTER_POINT", JS_NewInt32(ctx, TEXTURE_FILTER_POINT)); + JS_SetModuleExport(ctx, m, "TEXTURE_FILTER_BILINEAR", JS_NewInt32(ctx, TEXTURE_FILTER_BILINEAR)); + JS_SetModuleExport(ctx, m, "TEXTURE_FILTER_TRILINEAR", JS_NewInt32(ctx, TEXTURE_FILTER_TRILINEAR)); + JS_SetModuleExport(ctx, m, "TEXTURE_FILTER_ANISOTROPIC_4X", JS_NewInt32(ctx, TEXTURE_FILTER_ANISOTROPIC_4X)); + JS_SetModuleExport(ctx, m, "TEXTURE_FILTER_ANISOTROPIC_8X", JS_NewInt32(ctx, TEXTURE_FILTER_ANISOTROPIC_8X)); + JS_SetModuleExport(ctx, m, "TEXTURE_FILTER_ANISOTROPIC_16X", JS_NewInt32(ctx, TEXTURE_FILTER_ANISOTROPIC_16X)); + JS_SetModuleExport(ctx, m, "TEXTURE_WRAP_REPEAT", JS_NewInt32(ctx, TEXTURE_WRAP_REPEAT)); + JS_SetModuleExport(ctx, m, "TEXTURE_WRAP_CLAMP", JS_NewInt32(ctx, TEXTURE_WRAP_CLAMP)); + JS_SetModuleExport(ctx, m, "TEXTURE_WRAP_MIRROR_REPEAT", JS_NewInt32(ctx, TEXTURE_WRAP_MIRROR_REPEAT)); + JS_SetModuleExport(ctx, m, "TEXTURE_WRAP_MIRROR_CLAMP", JS_NewInt32(ctx, TEXTURE_WRAP_MIRROR_CLAMP)); + JS_SetModuleExport(ctx, m, "CUBEMAP_LAYOUT_AUTO_DETECT", JS_NewInt32(ctx, CUBEMAP_LAYOUT_AUTO_DETECT)); + JS_SetModuleExport(ctx, m, "CUBEMAP_LAYOUT_LINE_VERTICAL", JS_NewInt32(ctx, CUBEMAP_LAYOUT_LINE_VERTICAL)); + JS_SetModuleExport(ctx, m, "CUBEMAP_LAYOUT_LINE_HORIZONTAL", JS_NewInt32(ctx, CUBEMAP_LAYOUT_LINE_HORIZONTAL)); + JS_SetModuleExport(ctx, m, "CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR", JS_NewInt32(ctx, CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR)); + JS_SetModuleExport(ctx, m, "CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE", JS_NewInt32(ctx, CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE)); + JS_SetModuleExport(ctx, m, "CUBEMAP_LAYOUT_PANORAMA", JS_NewInt32(ctx, CUBEMAP_LAYOUT_PANORAMA)); + JS_SetModuleExport(ctx, m, "FONT_DEFAULT", JS_NewInt32(ctx, FONT_DEFAULT)); + JS_SetModuleExport(ctx, m, "FONT_BITMAP", JS_NewInt32(ctx, FONT_BITMAP)); + JS_SetModuleExport(ctx, m, "FONT_SDF", JS_NewInt32(ctx, FONT_SDF)); + JS_SetModuleExport(ctx, m, "BLEND_ALPHA", JS_NewInt32(ctx, BLEND_ALPHA)); + JS_SetModuleExport(ctx, m, "BLEND_ADDITIVE", JS_NewInt32(ctx, BLEND_ADDITIVE)); + JS_SetModuleExport(ctx, m, "BLEND_MULTIPLIED", JS_NewInt32(ctx, BLEND_MULTIPLIED)); + JS_SetModuleExport(ctx, m, "BLEND_ADD_COLORS", JS_NewInt32(ctx, BLEND_ADD_COLORS)); + JS_SetModuleExport(ctx, m, "BLEND_SUBTRACT_COLORS", JS_NewInt32(ctx, BLEND_SUBTRACT_COLORS)); + JS_SetModuleExport(ctx, m, "BLEND_ALPHA_PREMULTIPLY", JS_NewInt32(ctx, BLEND_ALPHA_PREMULTIPLY)); + JS_SetModuleExport(ctx, m, "BLEND_CUSTOM", JS_NewInt32(ctx, BLEND_CUSTOM)); + JS_SetModuleExport(ctx, m, "BLEND_CUSTOM_SEPARATE", JS_NewInt32(ctx, BLEND_CUSTOM_SEPARATE)); + JS_SetModuleExport(ctx, m, "GESTURE_NONE", JS_NewInt32(ctx, GESTURE_NONE)); + JS_SetModuleExport(ctx, m, "GESTURE_TAP", JS_NewInt32(ctx, GESTURE_TAP)); + JS_SetModuleExport(ctx, m, "GESTURE_DOUBLETAP", JS_NewInt32(ctx, GESTURE_DOUBLETAP)); + JS_SetModuleExport(ctx, m, "GESTURE_HOLD", JS_NewInt32(ctx, GESTURE_HOLD)); + JS_SetModuleExport(ctx, m, "GESTURE_DRAG", JS_NewInt32(ctx, GESTURE_DRAG)); + JS_SetModuleExport(ctx, m, "GESTURE_SWIPE_RIGHT", JS_NewInt32(ctx, GESTURE_SWIPE_RIGHT)); + JS_SetModuleExport(ctx, m, "GESTURE_SWIPE_LEFT", JS_NewInt32(ctx, GESTURE_SWIPE_LEFT)); + JS_SetModuleExport(ctx, m, "GESTURE_SWIPE_UP", JS_NewInt32(ctx, GESTURE_SWIPE_UP)); + JS_SetModuleExport(ctx, m, "GESTURE_SWIPE_DOWN", JS_NewInt32(ctx, GESTURE_SWIPE_DOWN)); + JS_SetModuleExport(ctx, m, "GESTURE_PINCH_IN", JS_NewInt32(ctx, GESTURE_PINCH_IN)); + JS_SetModuleExport(ctx, m, "GESTURE_PINCH_OUT", JS_NewInt32(ctx, GESTURE_PINCH_OUT)); + JS_SetModuleExport(ctx, m, "CAMERA_CUSTOM", JS_NewInt32(ctx, CAMERA_CUSTOM)); + JS_SetModuleExport(ctx, m, "CAMERA_FREE", JS_NewInt32(ctx, CAMERA_FREE)); + JS_SetModuleExport(ctx, m, "CAMERA_ORBITAL", JS_NewInt32(ctx, CAMERA_ORBITAL)); + JS_SetModuleExport(ctx, m, "CAMERA_FIRST_PERSON", JS_NewInt32(ctx, CAMERA_FIRST_PERSON)); + JS_SetModuleExport(ctx, m, "CAMERA_THIRD_PERSON", JS_NewInt32(ctx, CAMERA_THIRD_PERSON)); + JS_SetModuleExport(ctx, m, "CAMERA_PERSPECTIVE", JS_NewInt32(ctx, CAMERA_PERSPECTIVE)); + JS_SetModuleExport(ctx, m, "CAMERA_ORTHOGRAPHIC", JS_NewInt32(ctx, CAMERA_ORTHOGRAPHIC)); + JS_SetModuleExport(ctx, m, "NPATCH_NINE_PATCH", JS_NewInt32(ctx, NPATCH_NINE_PATCH)); + JS_SetModuleExport(ctx, m, "NPATCH_THREE_PATCH_VERTICAL", JS_NewInt32(ctx, NPATCH_THREE_PATCH_VERTICAL)); + JS_SetModuleExport(ctx, m, "NPATCH_THREE_PATCH_HORIZONTAL", JS_NewInt32(ctx, NPATCH_THREE_PATCH_HORIZONTAL)); + JS_SetModuleExport(ctx, m, "STATE_NORMAL", JS_NewInt32(ctx, STATE_NORMAL)); + JS_SetModuleExport(ctx, m, "STATE_FOCUSED", JS_NewInt32(ctx, STATE_FOCUSED)); + JS_SetModuleExport(ctx, m, "STATE_PRESSED", JS_NewInt32(ctx, STATE_PRESSED)); + JS_SetModuleExport(ctx, m, "STATE_DISABLED", JS_NewInt32(ctx, STATE_DISABLED)); + JS_SetModuleExport(ctx, m, "TEXT_ALIGN_LEFT", JS_NewInt32(ctx, TEXT_ALIGN_LEFT)); + JS_SetModuleExport(ctx, m, "TEXT_ALIGN_CENTER", JS_NewInt32(ctx, TEXT_ALIGN_CENTER)); + JS_SetModuleExport(ctx, m, "TEXT_ALIGN_RIGHT", JS_NewInt32(ctx, TEXT_ALIGN_RIGHT)); + JS_SetModuleExport(ctx, m, "DEFAULT", JS_NewInt32(ctx, DEFAULT)); + JS_SetModuleExport(ctx, m, "LABEL", JS_NewInt32(ctx, LABEL)); + JS_SetModuleExport(ctx, m, "BUTTON", JS_NewInt32(ctx, BUTTON)); + JS_SetModuleExport(ctx, m, "TOGGLE", JS_NewInt32(ctx, TOGGLE)); + JS_SetModuleExport(ctx, m, "SLIDER", JS_NewInt32(ctx, SLIDER)); + JS_SetModuleExport(ctx, m, "PROGRESSBAR", JS_NewInt32(ctx, PROGRESSBAR)); + JS_SetModuleExport(ctx, m, "CHECKBOX", JS_NewInt32(ctx, CHECKBOX)); + JS_SetModuleExport(ctx, m, "COMBOBOX", JS_NewInt32(ctx, COMBOBOX)); + JS_SetModuleExport(ctx, m, "DROPDOWNBOX", JS_NewInt32(ctx, DROPDOWNBOX)); + JS_SetModuleExport(ctx, m, "TEXTBOX", JS_NewInt32(ctx, TEXTBOX)); + JS_SetModuleExport(ctx, m, "VALUEBOX", JS_NewInt32(ctx, VALUEBOX)); + JS_SetModuleExport(ctx, m, "SPINNER", JS_NewInt32(ctx, SPINNER)); + JS_SetModuleExport(ctx, m, "LISTVIEW", JS_NewInt32(ctx, LISTVIEW)); + JS_SetModuleExport(ctx, m, "COLORPICKER", JS_NewInt32(ctx, COLORPICKER)); + JS_SetModuleExport(ctx, m, "SCROLLBAR", JS_NewInt32(ctx, SCROLLBAR)); + JS_SetModuleExport(ctx, m, "STATUSBAR", JS_NewInt32(ctx, STATUSBAR)); + JS_SetModuleExport(ctx, m, "BORDER_COLOR_NORMAL", JS_NewInt32(ctx, BORDER_COLOR_NORMAL)); + JS_SetModuleExport(ctx, m, "BASE_COLOR_NORMAL", JS_NewInt32(ctx, BASE_COLOR_NORMAL)); + JS_SetModuleExport(ctx, m, "TEXT_COLOR_NORMAL", JS_NewInt32(ctx, TEXT_COLOR_NORMAL)); + JS_SetModuleExport(ctx, m, "BORDER_COLOR_FOCUSED", JS_NewInt32(ctx, BORDER_COLOR_FOCUSED)); + JS_SetModuleExport(ctx, m, "BASE_COLOR_FOCUSED", JS_NewInt32(ctx, BASE_COLOR_FOCUSED)); + JS_SetModuleExport(ctx, m, "TEXT_COLOR_FOCUSED", JS_NewInt32(ctx, TEXT_COLOR_FOCUSED)); + JS_SetModuleExport(ctx, m, "BORDER_COLOR_PRESSED", JS_NewInt32(ctx, BORDER_COLOR_PRESSED)); + JS_SetModuleExport(ctx, m, "BASE_COLOR_PRESSED", JS_NewInt32(ctx, BASE_COLOR_PRESSED)); + JS_SetModuleExport(ctx, m, "TEXT_COLOR_PRESSED", JS_NewInt32(ctx, TEXT_COLOR_PRESSED)); + JS_SetModuleExport(ctx, m, "BORDER_COLOR_DISABLED", JS_NewInt32(ctx, BORDER_COLOR_DISABLED)); + JS_SetModuleExport(ctx, m, "BASE_COLOR_DISABLED", JS_NewInt32(ctx, BASE_COLOR_DISABLED)); + JS_SetModuleExport(ctx, m, "TEXT_COLOR_DISABLED", JS_NewInt32(ctx, TEXT_COLOR_DISABLED)); + JS_SetModuleExport(ctx, m, "BORDER_WIDTH", JS_NewInt32(ctx, BORDER_WIDTH)); + JS_SetModuleExport(ctx, m, "TEXT_PADDING", JS_NewInt32(ctx, TEXT_PADDING)); + JS_SetModuleExport(ctx, m, "TEXT_ALIGNMENT", JS_NewInt32(ctx, TEXT_ALIGNMENT)); + JS_SetModuleExport(ctx, m, "RESERVED", JS_NewInt32(ctx, RESERVED)); + JS_SetModuleExport(ctx, m, "TEXT_SIZE", JS_NewInt32(ctx, TEXT_SIZE)); + JS_SetModuleExport(ctx, m, "TEXT_SPACING", JS_NewInt32(ctx, TEXT_SPACING)); + JS_SetModuleExport(ctx, m, "LINE_COLOR", JS_NewInt32(ctx, LINE_COLOR)); + JS_SetModuleExport(ctx, m, "BACKGROUND_COLOR", JS_NewInt32(ctx, BACKGROUND_COLOR)); + JS_SetModuleExport(ctx, m, "GROUP_PADDING", JS_NewInt32(ctx, GROUP_PADDING)); + JS_SetModuleExport(ctx, m, "SLIDER_WIDTH", JS_NewInt32(ctx, SLIDER_WIDTH)); + JS_SetModuleExport(ctx, m, "SLIDER_PADDING", JS_NewInt32(ctx, SLIDER_PADDING)); + JS_SetModuleExport(ctx, m, "PROGRESS_PADDING", JS_NewInt32(ctx, PROGRESS_PADDING)); + JS_SetModuleExport(ctx, m, "ARROWS_SIZE", JS_NewInt32(ctx, ARROWS_SIZE)); + JS_SetModuleExport(ctx, m, "ARROWS_VISIBLE", JS_NewInt32(ctx, ARROWS_VISIBLE)); + JS_SetModuleExport(ctx, m, "SCROLL_SLIDER_PADDING", JS_NewInt32(ctx, SCROLL_SLIDER_PADDING)); + JS_SetModuleExport(ctx, m, "SCROLL_SLIDER_SIZE", JS_NewInt32(ctx, SCROLL_SLIDER_SIZE)); + JS_SetModuleExport(ctx, m, "SCROLL_PADDING", JS_NewInt32(ctx, SCROLL_PADDING)); + JS_SetModuleExport(ctx, m, "SCROLL_SPEED", JS_NewInt32(ctx, SCROLL_SPEED)); + JS_SetModuleExport(ctx, m, "CHECK_PADDING", JS_NewInt32(ctx, CHECK_PADDING)); + JS_SetModuleExport(ctx, m, "COMBO_BUTTON_WIDTH", JS_NewInt32(ctx, COMBO_BUTTON_WIDTH)); + JS_SetModuleExport(ctx, m, "COMBO_BUTTON_SPACING", JS_NewInt32(ctx, COMBO_BUTTON_SPACING)); + JS_SetModuleExport(ctx, m, "ARROW_PADDING", JS_NewInt32(ctx, ARROW_PADDING)); + JS_SetModuleExport(ctx, m, "DROPDOWN_ITEMS_SPACING", JS_NewInt32(ctx, DROPDOWN_ITEMS_SPACING)); + JS_SetModuleExport(ctx, m, "TEXT_INNER_PADDING", JS_NewInt32(ctx, TEXT_INNER_PADDING)); + JS_SetModuleExport(ctx, m, "TEXT_LINES_SPACING", JS_NewInt32(ctx, TEXT_LINES_SPACING)); + JS_SetModuleExport(ctx, m, "TEXT_ALIGNMENT_VERTICAL", JS_NewInt32(ctx, TEXT_ALIGNMENT_VERTICAL)); + JS_SetModuleExport(ctx, m, "TEXT_MULTILINE", JS_NewInt32(ctx, TEXT_MULTILINE)); + JS_SetModuleExport(ctx, m, "TEXT_WRAP_MODE", JS_NewInt32(ctx, TEXT_WRAP_MODE)); + JS_SetModuleExport(ctx, m, "SPIN_BUTTON_WIDTH", JS_NewInt32(ctx, SPIN_BUTTON_WIDTH)); + JS_SetModuleExport(ctx, m, "SPIN_BUTTON_SPACING", JS_NewInt32(ctx, SPIN_BUTTON_SPACING)); + JS_SetModuleExport(ctx, m, "LIST_ITEMS_HEIGHT", JS_NewInt32(ctx, LIST_ITEMS_HEIGHT)); + JS_SetModuleExport(ctx, m, "LIST_ITEMS_SPACING", JS_NewInt32(ctx, LIST_ITEMS_SPACING)); + JS_SetModuleExport(ctx, m, "SCROLLBAR_WIDTH", JS_NewInt32(ctx, SCROLLBAR_WIDTH)); + JS_SetModuleExport(ctx, m, "SCROLLBAR_SIDE", JS_NewInt32(ctx, SCROLLBAR_SIDE)); + JS_SetModuleExport(ctx, m, "COLOR_SELECTOR_SIZE", JS_NewInt32(ctx, COLOR_SELECTOR_SIZE)); + JS_SetModuleExport(ctx, m, "HUEBAR_WIDTH", JS_NewInt32(ctx, HUEBAR_WIDTH)); + JS_SetModuleExport(ctx, m, "HUEBAR_PADDING", JS_NewInt32(ctx, HUEBAR_PADDING)); + JS_SetModuleExport(ctx, m, "HUEBAR_SELECTOR_HEIGHT", JS_NewInt32(ctx, HUEBAR_SELECTOR_HEIGHT)); + JS_SetModuleExport(ctx, m, "HUEBAR_SELECTOR_OVERFLOW", JS_NewInt32(ctx, HUEBAR_SELECTOR_OVERFLOW)); + JS_SetModuleExport(ctx, m, "ICON_NONE", JS_NewInt32(ctx, ICON_NONE)); + JS_SetModuleExport(ctx, m, "ICON_FOLDER_FILE_OPEN", JS_NewInt32(ctx, ICON_FOLDER_FILE_OPEN)); + JS_SetModuleExport(ctx, m, "ICON_FILE_SAVE_CLASSIC", JS_NewInt32(ctx, ICON_FILE_SAVE_CLASSIC)); + JS_SetModuleExport(ctx, m, "ICON_FOLDER_OPEN", JS_NewInt32(ctx, ICON_FOLDER_OPEN)); + JS_SetModuleExport(ctx, m, "ICON_FOLDER_SAVE", JS_NewInt32(ctx, ICON_FOLDER_SAVE)); + JS_SetModuleExport(ctx, m, "ICON_FILE_OPEN", JS_NewInt32(ctx, ICON_FILE_OPEN)); + JS_SetModuleExport(ctx, m, "ICON_FILE_SAVE", JS_NewInt32(ctx, ICON_FILE_SAVE)); + JS_SetModuleExport(ctx, m, "ICON_FILE_EXPORT", JS_NewInt32(ctx, ICON_FILE_EXPORT)); + JS_SetModuleExport(ctx, m, "ICON_FILE_ADD", JS_NewInt32(ctx, ICON_FILE_ADD)); + JS_SetModuleExport(ctx, m, "ICON_FILE_DELETE", JS_NewInt32(ctx, ICON_FILE_DELETE)); + JS_SetModuleExport(ctx, m, "ICON_FILETYPE_TEXT", JS_NewInt32(ctx, ICON_FILETYPE_TEXT)); + JS_SetModuleExport(ctx, m, "ICON_FILETYPE_AUDIO", JS_NewInt32(ctx, ICON_FILETYPE_AUDIO)); + JS_SetModuleExport(ctx, m, "ICON_FILETYPE_IMAGE", JS_NewInt32(ctx, ICON_FILETYPE_IMAGE)); + JS_SetModuleExport(ctx, m, "ICON_FILETYPE_PLAY", JS_NewInt32(ctx, ICON_FILETYPE_PLAY)); + JS_SetModuleExport(ctx, m, "ICON_FILETYPE_VIDEO", JS_NewInt32(ctx, ICON_FILETYPE_VIDEO)); + JS_SetModuleExport(ctx, m, "ICON_FILETYPE_INFO", JS_NewInt32(ctx, ICON_FILETYPE_INFO)); + JS_SetModuleExport(ctx, m, "ICON_FILE_COPY", JS_NewInt32(ctx, ICON_FILE_COPY)); + JS_SetModuleExport(ctx, m, "ICON_FILE_CUT", JS_NewInt32(ctx, ICON_FILE_CUT)); + JS_SetModuleExport(ctx, m, "ICON_FILE_PASTE", JS_NewInt32(ctx, ICON_FILE_PASTE)); + JS_SetModuleExport(ctx, m, "ICON_CURSOR_HAND", JS_NewInt32(ctx, ICON_CURSOR_HAND)); + JS_SetModuleExport(ctx, m, "ICON_CURSOR_POINTER", JS_NewInt32(ctx, ICON_CURSOR_POINTER)); + JS_SetModuleExport(ctx, m, "ICON_CURSOR_CLASSIC", JS_NewInt32(ctx, ICON_CURSOR_CLASSIC)); + JS_SetModuleExport(ctx, m, "ICON_PENCIL", JS_NewInt32(ctx, ICON_PENCIL)); + JS_SetModuleExport(ctx, m, "ICON_PENCIL_BIG", JS_NewInt32(ctx, ICON_PENCIL_BIG)); + JS_SetModuleExport(ctx, m, "ICON_BRUSH_CLASSIC", JS_NewInt32(ctx, ICON_BRUSH_CLASSIC)); + JS_SetModuleExport(ctx, m, "ICON_BRUSH_PAINTER", JS_NewInt32(ctx, ICON_BRUSH_PAINTER)); + JS_SetModuleExport(ctx, m, "ICON_WATER_DROP", JS_NewInt32(ctx, ICON_WATER_DROP)); + JS_SetModuleExport(ctx, m, "ICON_COLOR_PICKER", JS_NewInt32(ctx, ICON_COLOR_PICKER)); + JS_SetModuleExport(ctx, m, "ICON_RUBBER", JS_NewInt32(ctx, ICON_RUBBER)); + JS_SetModuleExport(ctx, m, "ICON_COLOR_BUCKET", JS_NewInt32(ctx, ICON_COLOR_BUCKET)); + JS_SetModuleExport(ctx, m, "ICON_TEXT_T", JS_NewInt32(ctx, ICON_TEXT_T)); + JS_SetModuleExport(ctx, m, "ICON_TEXT_A", JS_NewInt32(ctx, ICON_TEXT_A)); + JS_SetModuleExport(ctx, m, "ICON_SCALE", JS_NewInt32(ctx, ICON_SCALE)); + JS_SetModuleExport(ctx, m, "ICON_RESIZE", JS_NewInt32(ctx, ICON_RESIZE)); + JS_SetModuleExport(ctx, m, "ICON_FILTER_POINT", JS_NewInt32(ctx, ICON_FILTER_POINT)); + JS_SetModuleExport(ctx, m, "ICON_FILTER_BILINEAR", JS_NewInt32(ctx, ICON_FILTER_BILINEAR)); + JS_SetModuleExport(ctx, m, "ICON_CROP", JS_NewInt32(ctx, ICON_CROP)); + JS_SetModuleExport(ctx, m, "ICON_CROP_ALPHA", JS_NewInt32(ctx, ICON_CROP_ALPHA)); + JS_SetModuleExport(ctx, m, "ICON_SQUARE_TOGGLE", JS_NewInt32(ctx, ICON_SQUARE_TOGGLE)); + JS_SetModuleExport(ctx, m, "ICON_SYMMETRY", JS_NewInt32(ctx, ICON_SYMMETRY)); + JS_SetModuleExport(ctx, m, "ICON_SYMMETRY_HORIZONTAL", JS_NewInt32(ctx, ICON_SYMMETRY_HORIZONTAL)); + JS_SetModuleExport(ctx, m, "ICON_SYMMETRY_VERTICAL", JS_NewInt32(ctx, ICON_SYMMETRY_VERTICAL)); + JS_SetModuleExport(ctx, m, "ICON_LENS", JS_NewInt32(ctx, ICON_LENS)); + JS_SetModuleExport(ctx, m, "ICON_LENS_BIG", JS_NewInt32(ctx, ICON_LENS_BIG)); + JS_SetModuleExport(ctx, m, "ICON_EYE_ON", JS_NewInt32(ctx, ICON_EYE_ON)); + JS_SetModuleExport(ctx, m, "ICON_EYE_OFF", JS_NewInt32(ctx, ICON_EYE_OFF)); + JS_SetModuleExport(ctx, m, "ICON_FILTER_TOP", JS_NewInt32(ctx, ICON_FILTER_TOP)); + JS_SetModuleExport(ctx, m, "ICON_FILTER", JS_NewInt32(ctx, ICON_FILTER)); + JS_SetModuleExport(ctx, m, "ICON_TARGET_POINT", JS_NewInt32(ctx, ICON_TARGET_POINT)); + JS_SetModuleExport(ctx, m, "ICON_TARGET_SMALL", JS_NewInt32(ctx, ICON_TARGET_SMALL)); + JS_SetModuleExport(ctx, m, "ICON_TARGET_BIG", JS_NewInt32(ctx, ICON_TARGET_BIG)); + JS_SetModuleExport(ctx, m, "ICON_TARGET_MOVE", JS_NewInt32(ctx, ICON_TARGET_MOVE)); + JS_SetModuleExport(ctx, m, "ICON_CURSOR_MOVE", JS_NewInt32(ctx, ICON_CURSOR_MOVE)); + JS_SetModuleExport(ctx, m, "ICON_CURSOR_SCALE", JS_NewInt32(ctx, ICON_CURSOR_SCALE)); + JS_SetModuleExport(ctx, m, "ICON_CURSOR_SCALE_RIGHT", JS_NewInt32(ctx, ICON_CURSOR_SCALE_RIGHT)); + JS_SetModuleExport(ctx, m, "ICON_CURSOR_SCALE_LEFT", JS_NewInt32(ctx, ICON_CURSOR_SCALE_LEFT)); + JS_SetModuleExport(ctx, m, "ICON_UNDO", JS_NewInt32(ctx, ICON_UNDO)); + JS_SetModuleExport(ctx, m, "ICON_REDO", JS_NewInt32(ctx, ICON_REDO)); + JS_SetModuleExport(ctx, m, "ICON_REREDO", JS_NewInt32(ctx, ICON_REREDO)); + JS_SetModuleExport(ctx, m, "ICON_MUTATE", JS_NewInt32(ctx, ICON_MUTATE)); + JS_SetModuleExport(ctx, m, "ICON_ROTATE", JS_NewInt32(ctx, ICON_ROTATE)); + JS_SetModuleExport(ctx, m, "ICON_REPEAT", JS_NewInt32(ctx, ICON_REPEAT)); + JS_SetModuleExport(ctx, m, "ICON_SHUFFLE", JS_NewInt32(ctx, ICON_SHUFFLE)); + JS_SetModuleExport(ctx, m, "ICON_EMPTYBOX", JS_NewInt32(ctx, ICON_EMPTYBOX)); + JS_SetModuleExport(ctx, m, "ICON_TARGET", JS_NewInt32(ctx, ICON_TARGET)); + JS_SetModuleExport(ctx, m, "ICON_TARGET_SMALL_FILL", JS_NewInt32(ctx, ICON_TARGET_SMALL_FILL)); + JS_SetModuleExport(ctx, m, "ICON_TARGET_BIG_FILL", JS_NewInt32(ctx, ICON_TARGET_BIG_FILL)); + JS_SetModuleExport(ctx, m, "ICON_TARGET_MOVE_FILL", JS_NewInt32(ctx, ICON_TARGET_MOVE_FILL)); + JS_SetModuleExport(ctx, m, "ICON_CURSOR_MOVE_FILL", JS_NewInt32(ctx, ICON_CURSOR_MOVE_FILL)); + JS_SetModuleExport(ctx, m, "ICON_CURSOR_SCALE_FILL", JS_NewInt32(ctx, ICON_CURSOR_SCALE_FILL)); + JS_SetModuleExport(ctx, m, "ICON_CURSOR_SCALE_RIGHT_FILL", JS_NewInt32(ctx, ICON_CURSOR_SCALE_RIGHT_FILL)); + JS_SetModuleExport(ctx, m, "ICON_CURSOR_SCALE_LEFT_FILL", JS_NewInt32(ctx, ICON_CURSOR_SCALE_LEFT_FILL)); + JS_SetModuleExport(ctx, m, "ICON_UNDO_FILL", JS_NewInt32(ctx, ICON_UNDO_FILL)); + JS_SetModuleExport(ctx, m, "ICON_REDO_FILL", JS_NewInt32(ctx, ICON_REDO_FILL)); + JS_SetModuleExport(ctx, m, "ICON_REREDO_FILL", JS_NewInt32(ctx, ICON_REREDO_FILL)); + JS_SetModuleExport(ctx, m, "ICON_MUTATE_FILL", JS_NewInt32(ctx, ICON_MUTATE_FILL)); + JS_SetModuleExport(ctx, m, "ICON_ROTATE_FILL", JS_NewInt32(ctx, ICON_ROTATE_FILL)); + JS_SetModuleExport(ctx, m, "ICON_REPEAT_FILL", JS_NewInt32(ctx, ICON_REPEAT_FILL)); + JS_SetModuleExport(ctx, m, "ICON_SHUFFLE_FILL", JS_NewInt32(ctx, ICON_SHUFFLE_FILL)); + JS_SetModuleExport(ctx, m, "ICON_EMPTYBOX_SMALL", JS_NewInt32(ctx, ICON_EMPTYBOX_SMALL)); + JS_SetModuleExport(ctx, m, "ICON_BOX", JS_NewInt32(ctx, ICON_BOX)); + JS_SetModuleExport(ctx, m, "ICON_BOX_TOP", JS_NewInt32(ctx, ICON_BOX_TOP)); + JS_SetModuleExport(ctx, m, "ICON_BOX_TOP_RIGHT", JS_NewInt32(ctx, ICON_BOX_TOP_RIGHT)); + JS_SetModuleExport(ctx, m, "ICON_BOX_RIGHT", JS_NewInt32(ctx, ICON_BOX_RIGHT)); + JS_SetModuleExport(ctx, m, "ICON_BOX_BOTTOM_RIGHT", JS_NewInt32(ctx, ICON_BOX_BOTTOM_RIGHT)); + JS_SetModuleExport(ctx, m, "ICON_BOX_BOTTOM", JS_NewInt32(ctx, ICON_BOX_BOTTOM)); + JS_SetModuleExport(ctx, m, "ICON_BOX_BOTTOM_LEFT", JS_NewInt32(ctx, ICON_BOX_BOTTOM_LEFT)); + JS_SetModuleExport(ctx, m, "ICON_BOX_LEFT", JS_NewInt32(ctx, ICON_BOX_LEFT)); + JS_SetModuleExport(ctx, m, "ICON_BOX_TOP_LEFT", JS_NewInt32(ctx, ICON_BOX_TOP_LEFT)); + JS_SetModuleExport(ctx, m, "ICON_BOX_CENTER", JS_NewInt32(ctx, ICON_BOX_CENTER)); + JS_SetModuleExport(ctx, m, "ICON_BOX_CIRCLE_MASK", JS_NewInt32(ctx, ICON_BOX_CIRCLE_MASK)); + JS_SetModuleExport(ctx, m, "ICON_POT", JS_NewInt32(ctx, ICON_POT)); + JS_SetModuleExport(ctx, m, "ICON_ALPHA_MULTIPLY", JS_NewInt32(ctx, ICON_ALPHA_MULTIPLY)); + JS_SetModuleExport(ctx, m, "ICON_ALPHA_CLEAR", JS_NewInt32(ctx, ICON_ALPHA_CLEAR)); + JS_SetModuleExport(ctx, m, "ICON_DITHERING", JS_NewInt32(ctx, ICON_DITHERING)); + JS_SetModuleExport(ctx, m, "ICON_MIPMAPS", JS_NewInt32(ctx, ICON_MIPMAPS)); + JS_SetModuleExport(ctx, m, "ICON_BOX_GRID", JS_NewInt32(ctx, ICON_BOX_GRID)); + JS_SetModuleExport(ctx, m, "ICON_GRID", JS_NewInt32(ctx, ICON_GRID)); + JS_SetModuleExport(ctx, m, "ICON_BOX_CORNERS_SMALL", JS_NewInt32(ctx, ICON_BOX_CORNERS_SMALL)); + JS_SetModuleExport(ctx, m, "ICON_BOX_CORNERS_BIG", JS_NewInt32(ctx, ICON_BOX_CORNERS_BIG)); + JS_SetModuleExport(ctx, m, "ICON_FOUR_BOXES", JS_NewInt32(ctx, ICON_FOUR_BOXES)); + JS_SetModuleExport(ctx, m, "ICON_GRID_FILL", JS_NewInt32(ctx, ICON_GRID_FILL)); + JS_SetModuleExport(ctx, m, "ICON_BOX_MULTISIZE", JS_NewInt32(ctx, ICON_BOX_MULTISIZE)); + JS_SetModuleExport(ctx, m, "ICON_ZOOM_SMALL", JS_NewInt32(ctx, ICON_ZOOM_SMALL)); + JS_SetModuleExport(ctx, m, "ICON_ZOOM_MEDIUM", JS_NewInt32(ctx, ICON_ZOOM_MEDIUM)); + JS_SetModuleExport(ctx, m, "ICON_ZOOM_BIG", JS_NewInt32(ctx, ICON_ZOOM_BIG)); + JS_SetModuleExport(ctx, m, "ICON_ZOOM_ALL", JS_NewInt32(ctx, ICON_ZOOM_ALL)); + JS_SetModuleExport(ctx, m, "ICON_ZOOM_CENTER", JS_NewInt32(ctx, ICON_ZOOM_CENTER)); + JS_SetModuleExport(ctx, m, "ICON_BOX_DOTS_SMALL", JS_NewInt32(ctx, ICON_BOX_DOTS_SMALL)); + JS_SetModuleExport(ctx, m, "ICON_BOX_DOTS_BIG", JS_NewInt32(ctx, ICON_BOX_DOTS_BIG)); + JS_SetModuleExport(ctx, m, "ICON_BOX_CONCENTRIC", JS_NewInt32(ctx, ICON_BOX_CONCENTRIC)); + JS_SetModuleExport(ctx, m, "ICON_BOX_GRID_BIG", JS_NewInt32(ctx, ICON_BOX_GRID_BIG)); + JS_SetModuleExport(ctx, m, "ICON_OK_TICK", JS_NewInt32(ctx, ICON_OK_TICK)); + JS_SetModuleExport(ctx, m, "ICON_CROSS", JS_NewInt32(ctx, ICON_CROSS)); + JS_SetModuleExport(ctx, m, "ICON_ARROW_LEFT", JS_NewInt32(ctx, ICON_ARROW_LEFT)); + JS_SetModuleExport(ctx, m, "ICON_ARROW_RIGHT", JS_NewInt32(ctx, ICON_ARROW_RIGHT)); + JS_SetModuleExport(ctx, m, "ICON_ARROW_DOWN", JS_NewInt32(ctx, ICON_ARROW_DOWN)); + JS_SetModuleExport(ctx, m, "ICON_ARROW_UP", JS_NewInt32(ctx, ICON_ARROW_UP)); + JS_SetModuleExport(ctx, m, "ICON_ARROW_LEFT_FILL", JS_NewInt32(ctx, ICON_ARROW_LEFT_FILL)); + JS_SetModuleExport(ctx, m, "ICON_ARROW_RIGHT_FILL", JS_NewInt32(ctx, ICON_ARROW_RIGHT_FILL)); + JS_SetModuleExport(ctx, m, "ICON_ARROW_DOWN_FILL", JS_NewInt32(ctx, ICON_ARROW_DOWN_FILL)); + JS_SetModuleExport(ctx, m, "ICON_ARROW_UP_FILL", JS_NewInt32(ctx, ICON_ARROW_UP_FILL)); + JS_SetModuleExport(ctx, m, "ICON_AUDIO", JS_NewInt32(ctx, ICON_AUDIO)); + JS_SetModuleExport(ctx, m, "ICON_FX", JS_NewInt32(ctx, ICON_FX)); + JS_SetModuleExport(ctx, m, "ICON_WAVE", JS_NewInt32(ctx, ICON_WAVE)); + JS_SetModuleExport(ctx, m, "ICON_WAVE_SINUS", JS_NewInt32(ctx, ICON_WAVE_SINUS)); + JS_SetModuleExport(ctx, m, "ICON_WAVE_SQUARE", JS_NewInt32(ctx, ICON_WAVE_SQUARE)); + JS_SetModuleExport(ctx, m, "ICON_WAVE_TRIANGULAR", JS_NewInt32(ctx, ICON_WAVE_TRIANGULAR)); + JS_SetModuleExport(ctx, m, "ICON_CROSS_SMALL", JS_NewInt32(ctx, ICON_CROSS_SMALL)); + JS_SetModuleExport(ctx, m, "ICON_PLAYER_PREVIOUS", JS_NewInt32(ctx, ICON_PLAYER_PREVIOUS)); + JS_SetModuleExport(ctx, m, "ICON_PLAYER_PLAY_BACK", JS_NewInt32(ctx, ICON_PLAYER_PLAY_BACK)); + JS_SetModuleExport(ctx, m, "ICON_PLAYER_PLAY", JS_NewInt32(ctx, ICON_PLAYER_PLAY)); + JS_SetModuleExport(ctx, m, "ICON_PLAYER_PAUSE", JS_NewInt32(ctx, ICON_PLAYER_PAUSE)); + JS_SetModuleExport(ctx, m, "ICON_PLAYER_STOP", JS_NewInt32(ctx, ICON_PLAYER_STOP)); + JS_SetModuleExport(ctx, m, "ICON_PLAYER_NEXT", JS_NewInt32(ctx, ICON_PLAYER_NEXT)); + JS_SetModuleExport(ctx, m, "ICON_PLAYER_RECORD", JS_NewInt32(ctx, ICON_PLAYER_RECORD)); + JS_SetModuleExport(ctx, m, "ICON_MAGNET", JS_NewInt32(ctx, ICON_MAGNET)); + JS_SetModuleExport(ctx, m, "ICON_LOCK_CLOSE", JS_NewInt32(ctx, ICON_LOCK_CLOSE)); + JS_SetModuleExport(ctx, m, "ICON_LOCK_OPEN", JS_NewInt32(ctx, ICON_LOCK_OPEN)); + JS_SetModuleExport(ctx, m, "ICON_CLOCK", JS_NewInt32(ctx, ICON_CLOCK)); + JS_SetModuleExport(ctx, m, "ICON_TOOLS", JS_NewInt32(ctx, ICON_TOOLS)); + JS_SetModuleExport(ctx, m, "ICON_GEAR", JS_NewInt32(ctx, ICON_GEAR)); + JS_SetModuleExport(ctx, m, "ICON_GEAR_BIG", JS_NewInt32(ctx, ICON_GEAR_BIG)); + JS_SetModuleExport(ctx, m, "ICON_BIN", JS_NewInt32(ctx, ICON_BIN)); + JS_SetModuleExport(ctx, m, "ICON_HAND_POINTER", JS_NewInt32(ctx, ICON_HAND_POINTER)); + JS_SetModuleExport(ctx, m, "ICON_LASER", JS_NewInt32(ctx, ICON_LASER)); + JS_SetModuleExport(ctx, m, "ICON_COIN", JS_NewInt32(ctx, ICON_COIN)); + JS_SetModuleExport(ctx, m, "ICON_EXPLOSION", JS_NewInt32(ctx, ICON_EXPLOSION)); + JS_SetModuleExport(ctx, m, "ICON_1UP", JS_NewInt32(ctx, ICON_1UP)); + JS_SetModuleExport(ctx, m, "ICON_PLAYER", JS_NewInt32(ctx, ICON_PLAYER)); + JS_SetModuleExport(ctx, m, "ICON_PLAYER_JUMP", JS_NewInt32(ctx, ICON_PLAYER_JUMP)); + JS_SetModuleExport(ctx, m, "ICON_KEY", JS_NewInt32(ctx, ICON_KEY)); + JS_SetModuleExport(ctx, m, "ICON_DEMON", JS_NewInt32(ctx, ICON_DEMON)); + JS_SetModuleExport(ctx, m, "ICON_TEXT_POPUP", JS_NewInt32(ctx, ICON_TEXT_POPUP)); + JS_SetModuleExport(ctx, m, "ICON_GEAR_EX", JS_NewInt32(ctx, ICON_GEAR_EX)); + JS_SetModuleExport(ctx, m, "ICON_CRACK", JS_NewInt32(ctx, ICON_CRACK)); + JS_SetModuleExport(ctx, m, "ICON_CRACK_POINTS", JS_NewInt32(ctx, ICON_CRACK_POINTS)); + JS_SetModuleExport(ctx, m, "ICON_STAR", JS_NewInt32(ctx, ICON_STAR)); + JS_SetModuleExport(ctx, m, "ICON_DOOR", JS_NewInt32(ctx, ICON_DOOR)); + JS_SetModuleExport(ctx, m, "ICON_EXIT", JS_NewInt32(ctx, ICON_EXIT)); + JS_SetModuleExport(ctx, m, "ICON_MODE_2D", JS_NewInt32(ctx, ICON_MODE_2D)); + JS_SetModuleExport(ctx, m, "ICON_MODE_3D", JS_NewInt32(ctx, ICON_MODE_3D)); + JS_SetModuleExport(ctx, m, "ICON_CUBE", JS_NewInt32(ctx, ICON_CUBE)); + JS_SetModuleExport(ctx, m, "ICON_CUBE_FACE_TOP", JS_NewInt32(ctx, ICON_CUBE_FACE_TOP)); + JS_SetModuleExport(ctx, m, "ICON_CUBE_FACE_LEFT", JS_NewInt32(ctx, ICON_CUBE_FACE_LEFT)); + JS_SetModuleExport(ctx, m, "ICON_CUBE_FACE_FRONT", JS_NewInt32(ctx, ICON_CUBE_FACE_FRONT)); + JS_SetModuleExport(ctx, m, "ICON_CUBE_FACE_BOTTOM", JS_NewInt32(ctx, ICON_CUBE_FACE_BOTTOM)); + JS_SetModuleExport(ctx, m, "ICON_CUBE_FACE_RIGHT", JS_NewInt32(ctx, ICON_CUBE_FACE_RIGHT)); + JS_SetModuleExport(ctx, m, "ICON_CUBE_FACE_BACK", JS_NewInt32(ctx, ICON_CUBE_FACE_BACK)); + JS_SetModuleExport(ctx, m, "ICON_CAMERA", JS_NewInt32(ctx, ICON_CAMERA)); + JS_SetModuleExport(ctx, m, "ICON_SPECIAL", JS_NewInt32(ctx, ICON_SPECIAL)); + JS_SetModuleExport(ctx, m, "ICON_LINK_NET", JS_NewInt32(ctx, ICON_LINK_NET)); + JS_SetModuleExport(ctx, m, "ICON_LINK_BOXES", JS_NewInt32(ctx, ICON_LINK_BOXES)); + JS_SetModuleExport(ctx, m, "ICON_LINK_MULTI", JS_NewInt32(ctx, ICON_LINK_MULTI)); + JS_SetModuleExport(ctx, m, "ICON_LINK", JS_NewInt32(ctx, ICON_LINK)); + JS_SetModuleExport(ctx, m, "ICON_LINK_BROKE", JS_NewInt32(ctx, ICON_LINK_BROKE)); + JS_SetModuleExport(ctx, m, "ICON_TEXT_NOTES", JS_NewInt32(ctx, ICON_TEXT_NOTES)); + JS_SetModuleExport(ctx, m, "ICON_NOTEBOOK", JS_NewInt32(ctx, ICON_NOTEBOOK)); + JS_SetModuleExport(ctx, m, "ICON_SUITCASE", JS_NewInt32(ctx, ICON_SUITCASE)); + JS_SetModuleExport(ctx, m, "ICON_SUITCASE_ZIP", JS_NewInt32(ctx, ICON_SUITCASE_ZIP)); + JS_SetModuleExport(ctx, m, "ICON_MAILBOX", JS_NewInt32(ctx, ICON_MAILBOX)); + JS_SetModuleExport(ctx, m, "ICON_MONITOR", JS_NewInt32(ctx, ICON_MONITOR)); + JS_SetModuleExport(ctx, m, "ICON_PRINTER", JS_NewInt32(ctx, ICON_PRINTER)); + JS_SetModuleExport(ctx, m, "ICON_PHOTO_CAMERA", JS_NewInt32(ctx, ICON_PHOTO_CAMERA)); + JS_SetModuleExport(ctx, m, "ICON_PHOTO_CAMERA_FLASH", JS_NewInt32(ctx, ICON_PHOTO_CAMERA_FLASH)); + JS_SetModuleExport(ctx, m, "ICON_HOUSE", JS_NewInt32(ctx, ICON_HOUSE)); + JS_SetModuleExport(ctx, m, "ICON_HEART", JS_NewInt32(ctx, ICON_HEART)); + JS_SetModuleExport(ctx, m, "ICON_CORNER", JS_NewInt32(ctx, ICON_CORNER)); + JS_SetModuleExport(ctx, m, "ICON_VERTICAL_BARS", JS_NewInt32(ctx, ICON_VERTICAL_BARS)); + JS_SetModuleExport(ctx, m, "ICON_VERTICAL_BARS_FILL", JS_NewInt32(ctx, ICON_VERTICAL_BARS_FILL)); + JS_SetModuleExport(ctx, m, "ICON_LIFE_BARS", JS_NewInt32(ctx, ICON_LIFE_BARS)); + JS_SetModuleExport(ctx, m, "ICON_INFO", JS_NewInt32(ctx, ICON_INFO)); + JS_SetModuleExport(ctx, m, "ICON_CROSSLINE", JS_NewInt32(ctx, ICON_CROSSLINE)); + JS_SetModuleExport(ctx, m, "ICON_HELP", JS_NewInt32(ctx, ICON_HELP)); + JS_SetModuleExport(ctx, m, "ICON_FILETYPE_ALPHA", JS_NewInt32(ctx, ICON_FILETYPE_ALPHA)); + JS_SetModuleExport(ctx, m, "ICON_FILETYPE_HOME", JS_NewInt32(ctx, ICON_FILETYPE_HOME)); + JS_SetModuleExport(ctx, m, "ICON_LAYERS_VISIBLE", JS_NewInt32(ctx, ICON_LAYERS_VISIBLE)); + JS_SetModuleExport(ctx, m, "ICON_LAYERS", JS_NewInt32(ctx, ICON_LAYERS)); + JS_SetModuleExport(ctx, m, "ICON_WINDOW", JS_NewInt32(ctx, ICON_WINDOW)); + JS_SetModuleExport(ctx, m, "ICON_HIDPI", JS_NewInt32(ctx, ICON_HIDPI)); + JS_SetModuleExport(ctx, m, "ICON_FILETYPE_BINARY", JS_NewInt32(ctx, ICON_FILETYPE_BINARY)); + JS_SetModuleExport(ctx, m, "ICON_HEX", JS_NewInt32(ctx, ICON_HEX)); + JS_SetModuleExport(ctx, m, "ICON_SHIELD", JS_NewInt32(ctx, ICON_SHIELD)); + JS_SetModuleExport(ctx, m, "ICON_FILE_NEW", JS_NewInt32(ctx, ICON_FILE_NEW)); + JS_SetModuleExport(ctx, m, "ICON_FOLDER_ADD", JS_NewInt32(ctx, ICON_FOLDER_ADD)); + JS_SetModuleExport(ctx, m, "ICON_ALARM", JS_NewInt32(ctx, ICON_ALARM)); + JS_SetModuleExport(ctx, m, "ICON_CPU", JS_NewInt32(ctx, ICON_CPU)); + JS_SetModuleExport(ctx, m, "ICON_ROM", JS_NewInt32(ctx, ICON_ROM)); + JS_SetModuleExport(ctx, m, "ICON_STEP_OVER", JS_NewInt32(ctx, ICON_STEP_OVER)); + JS_SetModuleExport(ctx, m, "ICON_STEP_INTO", JS_NewInt32(ctx, ICON_STEP_INTO)); + JS_SetModuleExport(ctx, m, "ICON_STEP_OUT", JS_NewInt32(ctx, ICON_STEP_OUT)); + JS_SetModuleExport(ctx, m, "ICON_RESTART", JS_NewInt32(ctx, ICON_RESTART)); + JS_SetModuleExport(ctx, m, "ICON_BREAKPOINT_ON", JS_NewInt32(ctx, ICON_BREAKPOINT_ON)); + JS_SetModuleExport(ctx, m, "ICON_BREAKPOINT_OFF", JS_NewInt32(ctx, ICON_BREAKPOINT_OFF)); + JS_SetModuleExport(ctx, m, "ICON_BURGER_MENU", JS_NewInt32(ctx, ICON_BURGER_MENU)); + JS_SetModuleExport(ctx, m, "ICON_CASE_SENSITIVE", JS_NewInt32(ctx, ICON_CASE_SENSITIVE)); + JS_SetModuleExport(ctx, m, "ICON_REG_EXP", JS_NewInt32(ctx, ICON_REG_EXP)); + JS_SetModuleExport(ctx, m, "ICON_FOLDER", JS_NewInt32(ctx, ICON_FOLDER)); + JS_SetModuleExport(ctx, m, "ICON_FILE", JS_NewInt32(ctx, ICON_FILE)); + JS_SetModuleExport(ctx, m, "ICON_SAND_TIMER", JS_NewInt32(ctx, ICON_SAND_TIMER)); + JS_SetModuleExport(ctx, m, "ICON_220", JS_NewInt32(ctx, ICON_220)); + JS_SetModuleExport(ctx, m, "ICON_221", JS_NewInt32(ctx, ICON_221)); + JS_SetModuleExport(ctx, m, "ICON_222", JS_NewInt32(ctx, ICON_222)); + JS_SetModuleExport(ctx, m, "ICON_223", JS_NewInt32(ctx, ICON_223)); + JS_SetModuleExport(ctx, m, "ICON_224", JS_NewInt32(ctx, ICON_224)); + JS_SetModuleExport(ctx, m, "ICON_225", JS_NewInt32(ctx, ICON_225)); + JS_SetModuleExport(ctx, m, "ICON_226", JS_NewInt32(ctx, ICON_226)); + JS_SetModuleExport(ctx, m, "ICON_227", JS_NewInt32(ctx, ICON_227)); + JS_SetModuleExport(ctx, m, "ICON_228", JS_NewInt32(ctx, ICON_228)); + JS_SetModuleExport(ctx, m, "ICON_229", JS_NewInt32(ctx, ICON_229)); + JS_SetModuleExport(ctx, m, "ICON_230", JS_NewInt32(ctx, ICON_230)); + JS_SetModuleExport(ctx, m, "ICON_231", JS_NewInt32(ctx, ICON_231)); + JS_SetModuleExport(ctx, m, "ICON_232", JS_NewInt32(ctx, ICON_232)); + JS_SetModuleExport(ctx, m, "ICON_233", JS_NewInt32(ctx, ICON_233)); + JS_SetModuleExport(ctx, m, "ICON_234", JS_NewInt32(ctx, ICON_234)); + JS_SetModuleExport(ctx, m, "ICON_235", JS_NewInt32(ctx, ICON_235)); + JS_SetModuleExport(ctx, m, "ICON_236", JS_NewInt32(ctx, ICON_236)); + JS_SetModuleExport(ctx, m, "ICON_237", JS_NewInt32(ctx, ICON_237)); + JS_SetModuleExport(ctx, m, "ICON_238", JS_NewInt32(ctx, ICON_238)); + JS_SetModuleExport(ctx, m, "ICON_239", JS_NewInt32(ctx, ICON_239)); + JS_SetModuleExport(ctx, m, "ICON_240", JS_NewInt32(ctx, ICON_240)); + JS_SetModuleExport(ctx, m, "ICON_241", JS_NewInt32(ctx, ICON_241)); + JS_SetModuleExport(ctx, m, "ICON_242", JS_NewInt32(ctx, ICON_242)); + JS_SetModuleExport(ctx, m, "ICON_243", JS_NewInt32(ctx, ICON_243)); + JS_SetModuleExport(ctx, m, "ICON_244", JS_NewInt32(ctx, ICON_244)); + JS_SetModuleExport(ctx, m, "ICON_245", JS_NewInt32(ctx, ICON_245)); + JS_SetModuleExport(ctx, m, "ICON_246", JS_NewInt32(ctx, ICON_246)); + JS_SetModuleExport(ctx, m, "ICON_247", JS_NewInt32(ctx, ICON_247)); + JS_SetModuleExport(ctx, m, "ICON_248", JS_NewInt32(ctx, ICON_248)); + JS_SetModuleExport(ctx, m, "ICON_249", JS_NewInt32(ctx, ICON_249)); + JS_SetModuleExport(ctx, m, "ICON_250", JS_NewInt32(ctx, ICON_250)); + JS_SetModuleExport(ctx, m, "ICON_251", JS_NewInt32(ctx, ICON_251)); + JS_SetModuleExport(ctx, m, "ICON_252", JS_NewInt32(ctx, ICON_252)); + JS_SetModuleExport(ctx, m, "ICON_253", JS_NewInt32(ctx, ICON_253)); + JS_SetModuleExport(ctx, m, "ICON_254", JS_NewInt32(ctx, ICON_254)); + JS_SetModuleExport(ctx, m, "ICON_255", JS_NewInt32(ctx, ICON_255)); JS_SetModuleExport(ctx, m, "MATERIAL_MAP_DIFFUSE", JS_NewInt32(ctx, MATERIAL_MAP_DIFFUSE)); JS_SetModuleExport(ctx, m, "MATERIAL_MAP_SPECULAR", JS_NewInt32(ctx, MATERIAL_MAP_SPECULAR)); return 0; @@ -10504,6 +10854,29 @@ JSModuleDef * js_init_module_raylib_core(JSContext * ctx, const char * module_na JS_AddModuleExport(ctx, m, "BLANK"); JS_AddModuleExport(ctx, m, "MAGENTA"); JS_AddModuleExport(ctx, m, "RAYWHITE"); + JS_AddModuleExport(ctx, m, "FLAG_VSYNC_HINT"); + JS_AddModuleExport(ctx, m, "FLAG_FULLSCREEN_MODE"); + JS_AddModuleExport(ctx, m, "FLAG_WINDOW_RESIZABLE"); + JS_AddModuleExport(ctx, m, "FLAG_WINDOW_UNDECORATED"); + JS_AddModuleExport(ctx, m, "FLAG_WINDOW_HIDDEN"); + JS_AddModuleExport(ctx, m, "FLAG_WINDOW_MINIMIZED"); + JS_AddModuleExport(ctx, m, "FLAG_WINDOW_MAXIMIZED"); + JS_AddModuleExport(ctx, m, "FLAG_WINDOW_UNFOCUSED"); + JS_AddModuleExport(ctx, m, "FLAG_WINDOW_TOPMOST"); + JS_AddModuleExport(ctx, m, "FLAG_WINDOW_ALWAYS_RUN"); + JS_AddModuleExport(ctx, m, "FLAG_WINDOW_TRANSPARENT"); + JS_AddModuleExport(ctx, m, "FLAG_WINDOW_HIGHDPI"); + JS_AddModuleExport(ctx, m, "FLAG_WINDOW_MOUSE_PASSTHROUGH"); + JS_AddModuleExport(ctx, m, "FLAG_MSAA_4X_HINT"); + JS_AddModuleExport(ctx, m, "FLAG_INTERLACED_HINT"); + JS_AddModuleExport(ctx, m, "LOG_ALL"); + JS_AddModuleExport(ctx, m, "LOG_TRACE"); + JS_AddModuleExport(ctx, m, "LOG_DEBUG"); + JS_AddModuleExport(ctx, m, "LOG_INFO"); + JS_AddModuleExport(ctx, m, "LOG_WARNING"); + JS_AddModuleExport(ctx, m, "LOG_ERROR"); + JS_AddModuleExport(ctx, m, "LOG_FATAL"); + JS_AddModuleExport(ctx, m, "LOG_NONE"); JS_AddModuleExport(ctx, m, "KEY_NULL"); JS_AddModuleExport(ctx, m, "KEY_APOSTROPHE"); JS_AddModuleExport(ctx, m, "KEY_COMMA"); @@ -10621,37 +10994,6 @@ JSModuleDef * js_init_module_raylib_core(JSContext * ctx, const char * module_na JS_AddModuleExport(ctx, m, "MOUSE_BUTTON_EXTRA"); JS_AddModuleExport(ctx, m, "MOUSE_BUTTON_FORWARD"); JS_AddModuleExport(ctx, m, "MOUSE_BUTTON_BACK"); - JS_AddModuleExport(ctx, m, "FLAG_VSYNC_HINT"); - JS_AddModuleExport(ctx, m, "FLAG_FULLSCREEN_MODE"); - JS_AddModuleExport(ctx, m, "FLAG_WINDOW_RESIZABLE"); - JS_AddModuleExport(ctx, m, "FLAG_WINDOW_UNDECORATED"); - JS_AddModuleExport(ctx, m, "FLAG_WINDOW_HIDDEN"); - JS_AddModuleExport(ctx, m, "FLAG_WINDOW_MINIMIZED"); - JS_AddModuleExport(ctx, m, "FLAG_WINDOW_MAXIMIZED"); - JS_AddModuleExport(ctx, m, "FLAG_WINDOW_UNFOCUSED"); - JS_AddModuleExport(ctx, m, "FLAG_WINDOW_TOPMOST"); - JS_AddModuleExport(ctx, m, "FLAG_WINDOW_ALWAYS_RUN"); - JS_AddModuleExport(ctx, m, "FLAG_WINDOW_TRANSPARENT"); - JS_AddModuleExport(ctx, m, "FLAG_WINDOW_HIGHDPI"); - JS_AddModuleExport(ctx, m, "FLAG_WINDOW_MOUSE_PASSTHROUGH"); - JS_AddModuleExport(ctx, m, "FLAG_MSAA_4X_HINT"); - JS_AddModuleExport(ctx, m, "FLAG_INTERLACED_HINT"); - JS_AddModuleExport(ctx, m, "BLEND_ALPHA"); - JS_AddModuleExport(ctx, m, "BLEND_ADDITIVE"); - JS_AddModuleExport(ctx, m, "BLEND_MULTIPLIED"); - JS_AddModuleExport(ctx, m, "BLEND_ADD_COLORS"); - JS_AddModuleExport(ctx, m, "BLEND_SUBTRACT_COLORS"); - JS_AddModuleExport(ctx, m, "BLEND_ALPHA_PREMULTIPLY"); - JS_AddModuleExport(ctx, m, "BLEND_CUSTOM"); - JS_AddModuleExport(ctx, m, "BLEND_CUSTOM_SEPARATE"); - JS_AddModuleExport(ctx, m, "LOG_ALL"); - JS_AddModuleExport(ctx, m, "LOG_TRACE"); - JS_AddModuleExport(ctx, m, "LOG_DEBUG"); - JS_AddModuleExport(ctx, m, "LOG_INFO"); - JS_AddModuleExport(ctx, m, "LOG_WARNING"); - JS_AddModuleExport(ctx, m, "LOG_ERROR"); - JS_AddModuleExport(ctx, m, "LOG_FATAL"); - JS_AddModuleExport(ctx, m, "LOG_NONE"); JS_AddModuleExport(ctx, m, "MOUSE_CURSOR_DEFAULT"); JS_AddModuleExport(ctx, m, "MOUSE_CURSOR_ARROW"); JS_AddModuleExport(ctx, m, "MOUSE_CURSOR_IBEAM"); @@ -10663,34 +11005,41 @@ JSModuleDef * js_init_module_raylib_core(JSContext * ctx, const char * module_na JS_AddModuleExport(ctx, m, "MOUSE_CURSOR_RESIZE_NESW"); JS_AddModuleExport(ctx, m, "MOUSE_CURSOR_RESIZE_ALL"); JS_AddModuleExport(ctx, m, "MOUSE_CURSOR_NOT_ALLOWED"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_GRAYSCALE"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R5G6B5"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R8G8B8"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R5G5B5A1"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R4G4B4A4"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R8G8B8A8"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R32"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R32G32B32"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R32G32B32A32"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_DXT1_RGB"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_DXT1_RGBA"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_DXT3_RGBA"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_DXT5_RGBA"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ETC1_RGB"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ETC2_RGB"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_PVRT_RGB"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_PVRT_RGBA"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA"); - JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA"); - JS_AddModuleExport(ctx, m, "CAMERA_PERSPECTIVE"); - JS_AddModuleExport(ctx, m, "CAMERA_ORTHOGRAPHIC"); - JS_AddModuleExport(ctx, m, "CAMERA_CUSTOM"); - JS_AddModuleExport(ctx, m, "CAMERA_FREE"); - JS_AddModuleExport(ctx, m, "CAMERA_ORBITAL"); - JS_AddModuleExport(ctx, m, "CAMERA_FIRST_PERSON"); - JS_AddModuleExport(ctx, m, "CAMERA_THIRD_PERSON"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_UNKNOWN"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_LEFT_FACE_UP"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_LEFT_FACE_RIGHT"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_LEFT_FACE_DOWN"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_LEFT_FACE_LEFT"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_RIGHT_FACE_UP"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_RIGHT_FACE_RIGHT"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_RIGHT_FACE_DOWN"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_RIGHT_FACE_LEFT"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_LEFT_TRIGGER_1"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_LEFT_TRIGGER_2"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_RIGHT_TRIGGER_1"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_RIGHT_TRIGGER_2"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_MIDDLE_LEFT"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_MIDDLE"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_MIDDLE_RIGHT"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_LEFT_THUMB"); + JS_AddModuleExport(ctx, m, "GAMEPAD_BUTTON_RIGHT_THUMB"); + JS_AddModuleExport(ctx, m, "GAMEPAD_AXIS_LEFT_X"); + JS_AddModuleExport(ctx, m, "GAMEPAD_AXIS_LEFT_Y"); + JS_AddModuleExport(ctx, m, "GAMEPAD_AXIS_RIGHT_X"); + JS_AddModuleExport(ctx, m, "GAMEPAD_AXIS_RIGHT_Y"); + JS_AddModuleExport(ctx, m, "GAMEPAD_AXIS_LEFT_TRIGGER"); + JS_AddModuleExport(ctx, m, "GAMEPAD_AXIS_RIGHT_TRIGGER"); + JS_AddModuleExport(ctx, m, "MATERIAL_MAP_ALBEDO"); + JS_AddModuleExport(ctx, m, "MATERIAL_MAP_METALNESS"); + JS_AddModuleExport(ctx, m, "MATERIAL_MAP_NORMAL"); + JS_AddModuleExport(ctx, m, "MATERIAL_MAP_ROUGHNESS"); + JS_AddModuleExport(ctx, m, "MATERIAL_MAP_OCCLUSION"); + JS_AddModuleExport(ctx, m, "MATERIAL_MAP_EMISSION"); + JS_AddModuleExport(ctx, m, "MATERIAL_MAP_HEIGHT"); + JS_AddModuleExport(ctx, m, "MATERIAL_MAP_CUBEMAP"); + JS_AddModuleExport(ctx, m, "MATERIAL_MAP_IRRADIANCE"); + JS_AddModuleExport(ctx, m, "MATERIAL_MAP_PREFILTER"); + JS_AddModuleExport(ctx, m, "MATERIAL_MAP_BRDF"); JS_AddModuleExport(ctx, m, "SHADER_LOC_VERTEX_POSITION"); JS_AddModuleExport(ctx, m, "SHADER_LOC_VERTEX_TEXCOORD01"); JS_AddModuleExport(ctx, m, "SHADER_LOC_VERTEX_TEXCOORD02"); @@ -10726,17 +11075,409 @@ JSModuleDef * js_init_module_raylib_core(JSContext * ctx, const char * module_na JS_AddModuleExport(ctx, m, "SHADER_UNIFORM_IVEC3"); JS_AddModuleExport(ctx, m, "SHADER_UNIFORM_IVEC4"); JS_AddModuleExport(ctx, m, "SHADER_UNIFORM_SAMPLER2D"); - JS_AddModuleExport(ctx, m, "MATERIAL_MAP_ALBEDO"); - JS_AddModuleExport(ctx, m, "MATERIAL_MAP_METALNESS"); - JS_AddModuleExport(ctx, m, "MATERIAL_MAP_NORMAL"); - JS_AddModuleExport(ctx, m, "MATERIAL_MAP_ROUGHNESS"); - JS_AddModuleExport(ctx, m, "MATERIAL_MAP_OCCLUSION"); - JS_AddModuleExport(ctx, m, "MATERIAL_MAP_EMISSION"); - JS_AddModuleExport(ctx, m, "MATERIAL_MAP_HEIGHT"); - JS_AddModuleExport(ctx, m, "MATERIAL_MAP_CUBEMAP"); - JS_AddModuleExport(ctx, m, "MATERIAL_MAP_IRRADIANCE"); - JS_AddModuleExport(ctx, m, "MATERIAL_MAP_PREFILTER"); - JS_AddModuleExport(ctx, m, "MATERIAL_MAP_BRDF"); + JS_AddModuleExport(ctx, m, "SHADER_ATTRIB_FLOAT"); + JS_AddModuleExport(ctx, m, "SHADER_ATTRIB_VEC2"); + JS_AddModuleExport(ctx, m, "SHADER_ATTRIB_VEC3"); + JS_AddModuleExport(ctx, m, "SHADER_ATTRIB_VEC4"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_GRAYSCALE"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R5G6B5"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R8G8B8"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R5G5B5A1"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R4G4B4A4"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R8G8B8A8"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R32"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R32G32B32"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_UNCOMPRESSED_R32G32B32A32"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_DXT1_RGB"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_DXT1_RGBA"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_DXT3_RGBA"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_DXT5_RGBA"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ETC1_RGB"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ETC2_RGB"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_PVRT_RGB"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_PVRT_RGBA"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA"); + JS_AddModuleExport(ctx, m, "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA"); + JS_AddModuleExport(ctx, m, "TEXTURE_FILTER_POINT"); + JS_AddModuleExport(ctx, m, "TEXTURE_FILTER_BILINEAR"); + JS_AddModuleExport(ctx, m, "TEXTURE_FILTER_TRILINEAR"); + JS_AddModuleExport(ctx, m, "TEXTURE_FILTER_ANISOTROPIC_4X"); + JS_AddModuleExport(ctx, m, "TEXTURE_FILTER_ANISOTROPIC_8X"); + JS_AddModuleExport(ctx, m, "TEXTURE_FILTER_ANISOTROPIC_16X"); + JS_AddModuleExport(ctx, m, "TEXTURE_WRAP_REPEAT"); + JS_AddModuleExport(ctx, m, "TEXTURE_WRAP_CLAMP"); + JS_AddModuleExport(ctx, m, "TEXTURE_WRAP_MIRROR_REPEAT"); + JS_AddModuleExport(ctx, m, "TEXTURE_WRAP_MIRROR_CLAMP"); + JS_AddModuleExport(ctx, m, "CUBEMAP_LAYOUT_AUTO_DETECT"); + JS_AddModuleExport(ctx, m, "CUBEMAP_LAYOUT_LINE_VERTICAL"); + JS_AddModuleExport(ctx, m, "CUBEMAP_LAYOUT_LINE_HORIZONTAL"); + JS_AddModuleExport(ctx, m, "CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR"); + JS_AddModuleExport(ctx, m, "CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE"); + JS_AddModuleExport(ctx, m, "CUBEMAP_LAYOUT_PANORAMA"); + JS_AddModuleExport(ctx, m, "FONT_DEFAULT"); + JS_AddModuleExport(ctx, m, "FONT_BITMAP"); + JS_AddModuleExport(ctx, m, "FONT_SDF"); + JS_AddModuleExport(ctx, m, "BLEND_ALPHA"); + JS_AddModuleExport(ctx, m, "BLEND_ADDITIVE"); + JS_AddModuleExport(ctx, m, "BLEND_MULTIPLIED"); + JS_AddModuleExport(ctx, m, "BLEND_ADD_COLORS"); + JS_AddModuleExport(ctx, m, "BLEND_SUBTRACT_COLORS"); + JS_AddModuleExport(ctx, m, "BLEND_ALPHA_PREMULTIPLY"); + JS_AddModuleExport(ctx, m, "BLEND_CUSTOM"); + JS_AddModuleExport(ctx, m, "BLEND_CUSTOM_SEPARATE"); + JS_AddModuleExport(ctx, m, "GESTURE_NONE"); + JS_AddModuleExport(ctx, m, "GESTURE_TAP"); + JS_AddModuleExport(ctx, m, "GESTURE_DOUBLETAP"); + JS_AddModuleExport(ctx, m, "GESTURE_HOLD"); + JS_AddModuleExport(ctx, m, "GESTURE_DRAG"); + JS_AddModuleExport(ctx, m, "GESTURE_SWIPE_RIGHT"); + JS_AddModuleExport(ctx, m, "GESTURE_SWIPE_LEFT"); + JS_AddModuleExport(ctx, m, "GESTURE_SWIPE_UP"); + JS_AddModuleExport(ctx, m, "GESTURE_SWIPE_DOWN"); + JS_AddModuleExport(ctx, m, "GESTURE_PINCH_IN"); + JS_AddModuleExport(ctx, m, "GESTURE_PINCH_OUT"); + JS_AddModuleExport(ctx, m, "CAMERA_CUSTOM"); + JS_AddModuleExport(ctx, m, "CAMERA_FREE"); + JS_AddModuleExport(ctx, m, "CAMERA_ORBITAL"); + JS_AddModuleExport(ctx, m, "CAMERA_FIRST_PERSON"); + JS_AddModuleExport(ctx, m, "CAMERA_THIRD_PERSON"); + JS_AddModuleExport(ctx, m, "CAMERA_PERSPECTIVE"); + JS_AddModuleExport(ctx, m, "CAMERA_ORTHOGRAPHIC"); + JS_AddModuleExport(ctx, m, "NPATCH_NINE_PATCH"); + JS_AddModuleExport(ctx, m, "NPATCH_THREE_PATCH_VERTICAL"); + JS_AddModuleExport(ctx, m, "NPATCH_THREE_PATCH_HORIZONTAL"); + JS_AddModuleExport(ctx, m, "STATE_NORMAL"); + JS_AddModuleExport(ctx, m, "STATE_FOCUSED"); + JS_AddModuleExport(ctx, m, "STATE_PRESSED"); + JS_AddModuleExport(ctx, m, "STATE_DISABLED"); + JS_AddModuleExport(ctx, m, "TEXT_ALIGN_LEFT"); + JS_AddModuleExport(ctx, m, "TEXT_ALIGN_CENTER"); + JS_AddModuleExport(ctx, m, "TEXT_ALIGN_RIGHT"); + JS_AddModuleExport(ctx, m, "DEFAULT"); + JS_AddModuleExport(ctx, m, "LABEL"); + JS_AddModuleExport(ctx, m, "BUTTON"); + JS_AddModuleExport(ctx, m, "TOGGLE"); + JS_AddModuleExport(ctx, m, "SLIDER"); + JS_AddModuleExport(ctx, m, "PROGRESSBAR"); + JS_AddModuleExport(ctx, m, "CHECKBOX"); + JS_AddModuleExport(ctx, m, "COMBOBOX"); + JS_AddModuleExport(ctx, m, "DROPDOWNBOX"); + JS_AddModuleExport(ctx, m, "TEXTBOX"); + JS_AddModuleExport(ctx, m, "VALUEBOX"); + JS_AddModuleExport(ctx, m, "SPINNER"); + JS_AddModuleExport(ctx, m, "LISTVIEW"); + JS_AddModuleExport(ctx, m, "COLORPICKER"); + JS_AddModuleExport(ctx, m, "SCROLLBAR"); + JS_AddModuleExport(ctx, m, "STATUSBAR"); + JS_AddModuleExport(ctx, m, "BORDER_COLOR_NORMAL"); + JS_AddModuleExport(ctx, m, "BASE_COLOR_NORMAL"); + JS_AddModuleExport(ctx, m, "TEXT_COLOR_NORMAL"); + JS_AddModuleExport(ctx, m, "BORDER_COLOR_FOCUSED"); + JS_AddModuleExport(ctx, m, "BASE_COLOR_FOCUSED"); + JS_AddModuleExport(ctx, m, "TEXT_COLOR_FOCUSED"); + JS_AddModuleExport(ctx, m, "BORDER_COLOR_PRESSED"); + JS_AddModuleExport(ctx, m, "BASE_COLOR_PRESSED"); + JS_AddModuleExport(ctx, m, "TEXT_COLOR_PRESSED"); + JS_AddModuleExport(ctx, m, "BORDER_COLOR_DISABLED"); + JS_AddModuleExport(ctx, m, "BASE_COLOR_DISABLED"); + JS_AddModuleExport(ctx, m, "TEXT_COLOR_DISABLED"); + JS_AddModuleExport(ctx, m, "BORDER_WIDTH"); + JS_AddModuleExport(ctx, m, "TEXT_PADDING"); + JS_AddModuleExport(ctx, m, "TEXT_ALIGNMENT"); + JS_AddModuleExport(ctx, m, "RESERVED"); + JS_AddModuleExport(ctx, m, "TEXT_SIZE"); + JS_AddModuleExport(ctx, m, "TEXT_SPACING"); + JS_AddModuleExport(ctx, m, "LINE_COLOR"); + JS_AddModuleExport(ctx, m, "BACKGROUND_COLOR"); + JS_AddModuleExport(ctx, m, "GROUP_PADDING"); + JS_AddModuleExport(ctx, m, "SLIDER_WIDTH"); + JS_AddModuleExport(ctx, m, "SLIDER_PADDING"); + JS_AddModuleExport(ctx, m, "PROGRESS_PADDING"); + JS_AddModuleExport(ctx, m, "ARROWS_SIZE"); + JS_AddModuleExport(ctx, m, "ARROWS_VISIBLE"); + JS_AddModuleExport(ctx, m, "SCROLL_SLIDER_PADDING"); + JS_AddModuleExport(ctx, m, "SCROLL_SLIDER_SIZE"); + JS_AddModuleExport(ctx, m, "SCROLL_PADDING"); + JS_AddModuleExport(ctx, m, "SCROLL_SPEED"); + JS_AddModuleExport(ctx, m, "CHECK_PADDING"); + JS_AddModuleExport(ctx, m, "COMBO_BUTTON_WIDTH"); + JS_AddModuleExport(ctx, m, "COMBO_BUTTON_SPACING"); + JS_AddModuleExport(ctx, m, "ARROW_PADDING"); + JS_AddModuleExport(ctx, m, "DROPDOWN_ITEMS_SPACING"); + JS_AddModuleExport(ctx, m, "TEXT_INNER_PADDING"); + JS_AddModuleExport(ctx, m, "TEXT_LINES_SPACING"); + JS_AddModuleExport(ctx, m, "TEXT_ALIGNMENT_VERTICAL"); + JS_AddModuleExport(ctx, m, "TEXT_MULTILINE"); + JS_AddModuleExport(ctx, m, "TEXT_WRAP_MODE"); + JS_AddModuleExport(ctx, m, "SPIN_BUTTON_WIDTH"); + JS_AddModuleExport(ctx, m, "SPIN_BUTTON_SPACING"); + JS_AddModuleExport(ctx, m, "LIST_ITEMS_HEIGHT"); + JS_AddModuleExport(ctx, m, "LIST_ITEMS_SPACING"); + JS_AddModuleExport(ctx, m, "SCROLLBAR_WIDTH"); + JS_AddModuleExport(ctx, m, "SCROLLBAR_SIDE"); + JS_AddModuleExport(ctx, m, "COLOR_SELECTOR_SIZE"); + JS_AddModuleExport(ctx, m, "HUEBAR_WIDTH"); + JS_AddModuleExport(ctx, m, "HUEBAR_PADDING"); + JS_AddModuleExport(ctx, m, "HUEBAR_SELECTOR_HEIGHT"); + JS_AddModuleExport(ctx, m, "HUEBAR_SELECTOR_OVERFLOW"); + JS_AddModuleExport(ctx, m, "ICON_NONE"); + JS_AddModuleExport(ctx, m, "ICON_FOLDER_FILE_OPEN"); + JS_AddModuleExport(ctx, m, "ICON_FILE_SAVE_CLASSIC"); + JS_AddModuleExport(ctx, m, "ICON_FOLDER_OPEN"); + JS_AddModuleExport(ctx, m, "ICON_FOLDER_SAVE"); + JS_AddModuleExport(ctx, m, "ICON_FILE_OPEN"); + JS_AddModuleExport(ctx, m, "ICON_FILE_SAVE"); + JS_AddModuleExport(ctx, m, "ICON_FILE_EXPORT"); + JS_AddModuleExport(ctx, m, "ICON_FILE_ADD"); + JS_AddModuleExport(ctx, m, "ICON_FILE_DELETE"); + JS_AddModuleExport(ctx, m, "ICON_FILETYPE_TEXT"); + JS_AddModuleExport(ctx, m, "ICON_FILETYPE_AUDIO"); + JS_AddModuleExport(ctx, m, "ICON_FILETYPE_IMAGE"); + JS_AddModuleExport(ctx, m, "ICON_FILETYPE_PLAY"); + JS_AddModuleExport(ctx, m, "ICON_FILETYPE_VIDEO"); + JS_AddModuleExport(ctx, m, "ICON_FILETYPE_INFO"); + JS_AddModuleExport(ctx, m, "ICON_FILE_COPY"); + JS_AddModuleExport(ctx, m, "ICON_FILE_CUT"); + JS_AddModuleExport(ctx, m, "ICON_FILE_PASTE"); + JS_AddModuleExport(ctx, m, "ICON_CURSOR_HAND"); + JS_AddModuleExport(ctx, m, "ICON_CURSOR_POINTER"); + JS_AddModuleExport(ctx, m, "ICON_CURSOR_CLASSIC"); + JS_AddModuleExport(ctx, m, "ICON_PENCIL"); + JS_AddModuleExport(ctx, m, "ICON_PENCIL_BIG"); + JS_AddModuleExport(ctx, m, "ICON_BRUSH_CLASSIC"); + JS_AddModuleExport(ctx, m, "ICON_BRUSH_PAINTER"); + JS_AddModuleExport(ctx, m, "ICON_WATER_DROP"); + JS_AddModuleExport(ctx, m, "ICON_COLOR_PICKER"); + JS_AddModuleExport(ctx, m, "ICON_RUBBER"); + JS_AddModuleExport(ctx, m, "ICON_COLOR_BUCKET"); + JS_AddModuleExport(ctx, m, "ICON_TEXT_T"); + JS_AddModuleExport(ctx, m, "ICON_TEXT_A"); + JS_AddModuleExport(ctx, m, "ICON_SCALE"); + JS_AddModuleExport(ctx, m, "ICON_RESIZE"); + JS_AddModuleExport(ctx, m, "ICON_FILTER_POINT"); + JS_AddModuleExport(ctx, m, "ICON_FILTER_BILINEAR"); + JS_AddModuleExport(ctx, m, "ICON_CROP"); + JS_AddModuleExport(ctx, m, "ICON_CROP_ALPHA"); + JS_AddModuleExport(ctx, m, "ICON_SQUARE_TOGGLE"); + JS_AddModuleExport(ctx, m, "ICON_SYMMETRY"); + JS_AddModuleExport(ctx, m, "ICON_SYMMETRY_HORIZONTAL"); + JS_AddModuleExport(ctx, m, "ICON_SYMMETRY_VERTICAL"); + JS_AddModuleExport(ctx, m, "ICON_LENS"); + JS_AddModuleExport(ctx, m, "ICON_LENS_BIG"); + JS_AddModuleExport(ctx, m, "ICON_EYE_ON"); + JS_AddModuleExport(ctx, m, "ICON_EYE_OFF"); + JS_AddModuleExport(ctx, m, "ICON_FILTER_TOP"); + JS_AddModuleExport(ctx, m, "ICON_FILTER"); + JS_AddModuleExport(ctx, m, "ICON_TARGET_POINT"); + JS_AddModuleExport(ctx, m, "ICON_TARGET_SMALL"); + JS_AddModuleExport(ctx, m, "ICON_TARGET_BIG"); + JS_AddModuleExport(ctx, m, "ICON_TARGET_MOVE"); + JS_AddModuleExport(ctx, m, "ICON_CURSOR_MOVE"); + JS_AddModuleExport(ctx, m, "ICON_CURSOR_SCALE"); + JS_AddModuleExport(ctx, m, "ICON_CURSOR_SCALE_RIGHT"); + JS_AddModuleExport(ctx, m, "ICON_CURSOR_SCALE_LEFT"); + JS_AddModuleExport(ctx, m, "ICON_UNDO"); + JS_AddModuleExport(ctx, m, "ICON_REDO"); + JS_AddModuleExport(ctx, m, "ICON_REREDO"); + JS_AddModuleExport(ctx, m, "ICON_MUTATE"); + JS_AddModuleExport(ctx, m, "ICON_ROTATE"); + JS_AddModuleExport(ctx, m, "ICON_REPEAT"); + JS_AddModuleExport(ctx, m, "ICON_SHUFFLE"); + JS_AddModuleExport(ctx, m, "ICON_EMPTYBOX"); + JS_AddModuleExport(ctx, m, "ICON_TARGET"); + JS_AddModuleExport(ctx, m, "ICON_TARGET_SMALL_FILL"); + JS_AddModuleExport(ctx, m, "ICON_TARGET_BIG_FILL"); + JS_AddModuleExport(ctx, m, "ICON_TARGET_MOVE_FILL"); + JS_AddModuleExport(ctx, m, "ICON_CURSOR_MOVE_FILL"); + JS_AddModuleExport(ctx, m, "ICON_CURSOR_SCALE_FILL"); + JS_AddModuleExport(ctx, m, "ICON_CURSOR_SCALE_RIGHT_FILL"); + JS_AddModuleExport(ctx, m, "ICON_CURSOR_SCALE_LEFT_FILL"); + JS_AddModuleExport(ctx, m, "ICON_UNDO_FILL"); + JS_AddModuleExport(ctx, m, "ICON_REDO_FILL"); + JS_AddModuleExport(ctx, m, "ICON_REREDO_FILL"); + JS_AddModuleExport(ctx, m, "ICON_MUTATE_FILL"); + JS_AddModuleExport(ctx, m, "ICON_ROTATE_FILL"); + JS_AddModuleExport(ctx, m, "ICON_REPEAT_FILL"); + JS_AddModuleExport(ctx, m, "ICON_SHUFFLE_FILL"); + JS_AddModuleExport(ctx, m, "ICON_EMPTYBOX_SMALL"); + JS_AddModuleExport(ctx, m, "ICON_BOX"); + JS_AddModuleExport(ctx, m, "ICON_BOX_TOP"); + JS_AddModuleExport(ctx, m, "ICON_BOX_TOP_RIGHT"); + JS_AddModuleExport(ctx, m, "ICON_BOX_RIGHT"); + JS_AddModuleExport(ctx, m, "ICON_BOX_BOTTOM_RIGHT"); + JS_AddModuleExport(ctx, m, "ICON_BOX_BOTTOM"); + JS_AddModuleExport(ctx, m, "ICON_BOX_BOTTOM_LEFT"); + JS_AddModuleExport(ctx, m, "ICON_BOX_LEFT"); + JS_AddModuleExport(ctx, m, "ICON_BOX_TOP_LEFT"); + JS_AddModuleExport(ctx, m, "ICON_BOX_CENTER"); + JS_AddModuleExport(ctx, m, "ICON_BOX_CIRCLE_MASK"); + JS_AddModuleExport(ctx, m, "ICON_POT"); + JS_AddModuleExport(ctx, m, "ICON_ALPHA_MULTIPLY"); + JS_AddModuleExport(ctx, m, "ICON_ALPHA_CLEAR"); + JS_AddModuleExport(ctx, m, "ICON_DITHERING"); + JS_AddModuleExport(ctx, m, "ICON_MIPMAPS"); + JS_AddModuleExport(ctx, m, "ICON_BOX_GRID"); + JS_AddModuleExport(ctx, m, "ICON_GRID"); + JS_AddModuleExport(ctx, m, "ICON_BOX_CORNERS_SMALL"); + JS_AddModuleExport(ctx, m, "ICON_BOX_CORNERS_BIG"); + JS_AddModuleExport(ctx, m, "ICON_FOUR_BOXES"); + JS_AddModuleExport(ctx, m, "ICON_GRID_FILL"); + JS_AddModuleExport(ctx, m, "ICON_BOX_MULTISIZE"); + JS_AddModuleExport(ctx, m, "ICON_ZOOM_SMALL"); + JS_AddModuleExport(ctx, m, "ICON_ZOOM_MEDIUM"); + JS_AddModuleExport(ctx, m, "ICON_ZOOM_BIG"); + JS_AddModuleExport(ctx, m, "ICON_ZOOM_ALL"); + JS_AddModuleExport(ctx, m, "ICON_ZOOM_CENTER"); + JS_AddModuleExport(ctx, m, "ICON_BOX_DOTS_SMALL"); + JS_AddModuleExport(ctx, m, "ICON_BOX_DOTS_BIG"); + JS_AddModuleExport(ctx, m, "ICON_BOX_CONCENTRIC"); + JS_AddModuleExport(ctx, m, "ICON_BOX_GRID_BIG"); + JS_AddModuleExport(ctx, m, "ICON_OK_TICK"); + JS_AddModuleExport(ctx, m, "ICON_CROSS"); + JS_AddModuleExport(ctx, m, "ICON_ARROW_LEFT"); + JS_AddModuleExport(ctx, m, "ICON_ARROW_RIGHT"); + JS_AddModuleExport(ctx, m, "ICON_ARROW_DOWN"); + JS_AddModuleExport(ctx, m, "ICON_ARROW_UP"); + JS_AddModuleExport(ctx, m, "ICON_ARROW_LEFT_FILL"); + JS_AddModuleExport(ctx, m, "ICON_ARROW_RIGHT_FILL"); + JS_AddModuleExport(ctx, m, "ICON_ARROW_DOWN_FILL"); + JS_AddModuleExport(ctx, m, "ICON_ARROW_UP_FILL"); + JS_AddModuleExport(ctx, m, "ICON_AUDIO"); + JS_AddModuleExport(ctx, m, "ICON_FX"); + JS_AddModuleExport(ctx, m, "ICON_WAVE"); + JS_AddModuleExport(ctx, m, "ICON_WAVE_SINUS"); + JS_AddModuleExport(ctx, m, "ICON_WAVE_SQUARE"); + JS_AddModuleExport(ctx, m, "ICON_WAVE_TRIANGULAR"); + JS_AddModuleExport(ctx, m, "ICON_CROSS_SMALL"); + JS_AddModuleExport(ctx, m, "ICON_PLAYER_PREVIOUS"); + JS_AddModuleExport(ctx, m, "ICON_PLAYER_PLAY_BACK"); + JS_AddModuleExport(ctx, m, "ICON_PLAYER_PLAY"); + JS_AddModuleExport(ctx, m, "ICON_PLAYER_PAUSE"); + JS_AddModuleExport(ctx, m, "ICON_PLAYER_STOP"); + JS_AddModuleExport(ctx, m, "ICON_PLAYER_NEXT"); + JS_AddModuleExport(ctx, m, "ICON_PLAYER_RECORD"); + JS_AddModuleExport(ctx, m, "ICON_MAGNET"); + JS_AddModuleExport(ctx, m, "ICON_LOCK_CLOSE"); + JS_AddModuleExport(ctx, m, "ICON_LOCK_OPEN"); + JS_AddModuleExport(ctx, m, "ICON_CLOCK"); + JS_AddModuleExport(ctx, m, "ICON_TOOLS"); + JS_AddModuleExport(ctx, m, "ICON_GEAR"); + JS_AddModuleExport(ctx, m, "ICON_GEAR_BIG"); + JS_AddModuleExport(ctx, m, "ICON_BIN"); + JS_AddModuleExport(ctx, m, "ICON_HAND_POINTER"); + JS_AddModuleExport(ctx, m, "ICON_LASER"); + JS_AddModuleExport(ctx, m, "ICON_COIN"); + JS_AddModuleExport(ctx, m, "ICON_EXPLOSION"); + JS_AddModuleExport(ctx, m, "ICON_1UP"); + JS_AddModuleExport(ctx, m, "ICON_PLAYER"); + JS_AddModuleExport(ctx, m, "ICON_PLAYER_JUMP"); + JS_AddModuleExport(ctx, m, "ICON_KEY"); + JS_AddModuleExport(ctx, m, "ICON_DEMON"); + JS_AddModuleExport(ctx, m, "ICON_TEXT_POPUP"); + JS_AddModuleExport(ctx, m, "ICON_GEAR_EX"); + JS_AddModuleExport(ctx, m, "ICON_CRACK"); + JS_AddModuleExport(ctx, m, "ICON_CRACK_POINTS"); + JS_AddModuleExport(ctx, m, "ICON_STAR"); + JS_AddModuleExport(ctx, m, "ICON_DOOR"); + JS_AddModuleExport(ctx, m, "ICON_EXIT"); + JS_AddModuleExport(ctx, m, "ICON_MODE_2D"); + JS_AddModuleExport(ctx, m, "ICON_MODE_3D"); + JS_AddModuleExport(ctx, m, "ICON_CUBE"); + JS_AddModuleExport(ctx, m, "ICON_CUBE_FACE_TOP"); + JS_AddModuleExport(ctx, m, "ICON_CUBE_FACE_LEFT"); + JS_AddModuleExport(ctx, m, "ICON_CUBE_FACE_FRONT"); + JS_AddModuleExport(ctx, m, "ICON_CUBE_FACE_BOTTOM"); + JS_AddModuleExport(ctx, m, "ICON_CUBE_FACE_RIGHT"); + JS_AddModuleExport(ctx, m, "ICON_CUBE_FACE_BACK"); + JS_AddModuleExport(ctx, m, "ICON_CAMERA"); + JS_AddModuleExport(ctx, m, "ICON_SPECIAL"); + JS_AddModuleExport(ctx, m, "ICON_LINK_NET"); + JS_AddModuleExport(ctx, m, "ICON_LINK_BOXES"); + JS_AddModuleExport(ctx, m, "ICON_LINK_MULTI"); + JS_AddModuleExport(ctx, m, "ICON_LINK"); + JS_AddModuleExport(ctx, m, "ICON_LINK_BROKE"); + JS_AddModuleExport(ctx, m, "ICON_TEXT_NOTES"); + JS_AddModuleExport(ctx, m, "ICON_NOTEBOOK"); + JS_AddModuleExport(ctx, m, "ICON_SUITCASE"); + JS_AddModuleExport(ctx, m, "ICON_SUITCASE_ZIP"); + JS_AddModuleExport(ctx, m, "ICON_MAILBOX"); + JS_AddModuleExport(ctx, m, "ICON_MONITOR"); + JS_AddModuleExport(ctx, m, "ICON_PRINTER"); + JS_AddModuleExport(ctx, m, "ICON_PHOTO_CAMERA"); + JS_AddModuleExport(ctx, m, "ICON_PHOTO_CAMERA_FLASH"); + JS_AddModuleExport(ctx, m, "ICON_HOUSE"); + JS_AddModuleExport(ctx, m, "ICON_HEART"); + JS_AddModuleExport(ctx, m, "ICON_CORNER"); + JS_AddModuleExport(ctx, m, "ICON_VERTICAL_BARS"); + JS_AddModuleExport(ctx, m, "ICON_VERTICAL_BARS_FILL"); + JS_AddModuleExport(ctx, m, "ICON_LIFE_BARS"); + JS_AddModuleExport(ctx, m, "ICON_INFO"); + JS_AddModuleExport(ctx, m, "ICON_CROSSLINE"); + JS_AddModuleExport(ctx, m, "ICON_HELP"); + JS_AddModuleExport(ctx, m, "ICON_FILETYPE_ALPHA"); + JS_AddModuleExport(ctx, m, "ICON_FILETYPE_HOME"); + JS_AddModuleExport(ctx, m, "ICON_LAYERS_VISIBLE"); + JS_AddModuleExport(ctx, m, "ICON_LAYERS"); + JS_AddModuleExport(ctx, m, "ICON_WINDOW"); + JS_AddModuleExport(ctx, m, "ICON_HIDPI"); + JS_AddModuleExport(ctx, m, "ICON_FILETYPE_BINARY"); + JS_AddModuleExport(ctx, m, "ICON_HEX"); + JS_AddModuleExport(ctx, m, "ICON_SHIELD"); + JS_AddModuleExport(ctx, m, "ICON_FILE_NEW"); + JS_AddModuleExport(ctx, m, "ICON_FOLDER_ADD"); + JS_AddModuleExport(ctx, m, "ICON_ALARM"); + JS_AddModuleExport(ctx, m, "ICON_CPU"); + JS_AddModuleExport(ctx, m, "ICON_ROM"); + JS_AddModuleExport(ctx, m, "ICON_STEP_OVER"); + JS_AddModuleExport(ctx, m, "ICON_STEP_INTO"); + JS_AddModuleExport(ctx, m, "ICON_STEP_OUT"); + JS_AddModuleExport(ctx, m, "ICON_RESTART"); + JS_AddModuleExport(ctx, m, "ICON_BREAKPOINT_ON"); + JS_AddModuleExport(ctx, m, "ICON_BREAKPOINT_OFF"); + JS_AddModuleExport(ctx, m, "ICON_BURGER_MENU"); + JS_AddModuleExport(ctx, m, "ICON_CASE_SENSITIVE"); + JS_AddModuleExport(ctx, m, "ICON_REG_EXP"); + JS_AddModuleExport(ctx, m, "ICON_FOLDER"); + JS_AddModuleExport(ctx, m, "ICON_FILE"); + JS_AddModuleExport(ctx, m, "ICON_SAND_TIMER"); + JS_AddModuleExport(ctx, m, "ICON_220"); + JS_AddModuleExport(ctx, m, "ICON_221"); + JS_AddModuleExport(ctx, m, "ICON_222"); + JS_AddModuleExport(ctx, m, "ICON_223"); + JS_AddModuleExport(ctx, m, "ICON_224"); + JS_AddModuleExport(ctx, m, "ICON_225"); + JS_AddModuleExport(ctx, m, "ICON_226"); + JS_AddModuleExport(ctx, m, "ICON_227"); + JS_AddModuleExport(ctx, m, "ICON_228"); + JS_AddModuleExport(ctx, m, "ICON_229"); + JS_AddModuleExport(ctx, m, "ICON_230"); + JS_AddModuleExport(ctx, m, "ICON_231"); + JS_AddModuleExport(ctx, m, "ICON_232"); + JS_AddModuleExport(ctx, m, "ICON_233"); + JS_AddModuleExport(ctx, m, "ICON_234"); + JS_AddModuleExport(ctx, m, "ICON_235"); + JS_AddModuleExport(ctx, m, "ICON_236"); + JS_AddModuleExport(ctx, m, "ICON_237"); + JS_AddModuleExport(ctx, m, "ICON_238"); + JS_AddModuleExport(ctx, m, "ICON_239"); + JS_AddModuleExport(ctx, m, "ICON_240"); + JS_AddModuleExport(ctx, m, "ICON_241"); + JS_AddModuleExport(ctx, m, "ICON_242"); + JS_AddModuleExport(ctx, m, "ICON_243"); + JS_AddModuleExport(ctx, m, "ICON_244"); + JS_AddModuleExport(ctx, m, "ICON_245"); + JS_AddModuleExport(ctx, m, "ICON_246"); + JS_AddModuleExport(ctx, m, "ICON_247"); + JS_AddModuleExport(ctx, m, "ICON_248"); + JS_AddModuleExport(ctx, m, "ICON_249"); + JS_AddModuleExport(ctx, m, "ICON_250"); + JS_AddModuleExport(ctx, m, "ICON_251"); + JS_AddModuleExport(ctx, m, "ICON_252"); + JS_AddModuleExport(ctx, m, "ICON_253"); + JS_AddModuleExport(ctx, m, "ICON_254"); + JS_AddModuleExport(ctx, m, "ICON_255"); JS_AddModuleExport(ctx, m, "MATERIAL_MAP_DIFFUSE"); JS_AddModuleExport(ctx, m, "MATERIAL_MAP_SPECULAR"); return m; diff --git a/thirdparty/raygui b/thirdparty/raygui index 83e6cae..aa81c16 160000 --- a/thirdparty/raygui +++ b/thirdparty/raygui @@ -1 +1 @@ -Subproject commit 83e6cae9e433bc3e40c491513a5853eed30be0db +Subproject commit aa81c167f10707ea173ea1190eda18e57d841b8f