constants work 1

This commit is contained in:
sonoro1234
2026-02-24 10:23:36 +01:00
parent c0c044e22f
commit e41d6fb1e8
5 changed files with 256 additions and 6 deletions

View File

@@ -1856,7 +1856,6 @@ typedef int ImGuiWindowBgClickFlags;
typedef int ImGuiWindowRefreshFlags;
typedef ImS16 ImGuiTableColumnIdx;
typedef ImU16 ImGuiTableDrawChannelIdx;
extern ImGuiContext* GImGui;
typedef enum {
ImDrawTextFlags_None = 0,
ImDrawTextFlags_CpuFineClip = 1 << 0,

View File

@@ -1624,6 +1624,7 @@ function M.Parser()
--try to guess a compiler error
assert(not errstr:match" error")
os.remove(errfile)
self.constants = defines
return defines
end
function par:do_parse()
@@ -2917,7 +2918,8 @@ local function location(file,locpathT,defines,COMPILER,keepemptylines)
if name and val then
--while defines[val] do val = defines[val] end
--if val:match(number_re) or val:match(hex_re) then
table.insert(defines,{name , val})
--table.insert(defines,{name , val})
defines[name] = val
--end
end
end

View File

@@ -39,10 +39,10 @@ if FREETYPE_GENERATION then
end
if COMPILER == "gcc" or COMPILER == "clang" or COMPILER == "zig cc" then
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] .. CFLAGS
CPRE = COMPILER..[[ -E -dD -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] .. CFLAGS
CTEST = COMPILER.." --version"
elseif COMPILER == "cl" then
CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_DEBUG_PARANOID /DIMGUI_API="" /DIMGUI_IMPL_API="" ]] .. CFLAGS
CPRE = COMPILER..[[ /E /d1PP /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_DEBUG_PARANOID /DIMGUI_API="" /DIMGUI_IMPL_API="" ]] .. CFLAGS
CTEST = COMPILER
else
print("Working without compiler ")
@@ -398,7 +398,7 @@ local function parseImGuiHeader(header,names)
parser.custom_function_post = custom_function_post
parser.header_text_insert = header_text_insert
local defines = parser:take_lines(CPRE..header,names,COMPILER)
--cpp2ffi.prtable("defines",defines)
return parser
end
--generation
@@ -441,7 +441,7 @@ structs_and_enums_table.templates_done = parser1.templates_done
save_data("./output/structs_and_enums.lua",serializeTableF(structs_and_enums_table))
save_data("./output/typedefs_dict.lua",serializeTableF(parser1.typedefs_dict))
save_data("./output/constants.lua",serializeTableF(parser1.constants))
----------save fundefs in definitions.lua for using in bindings
--DefsByStruct(pFP)
set_defines(parser1.defsT)
@@ -556,6 +556,7 @@ save_data("./output/definitions.json",json.encode(json_prepare(parser1.defsT),{d
--structs_and_enums_table.templates_done = nil
save_data("./output/structs_and_enums.json",json.encode(structs_and_enums_table))
save_data("./output/typedefs_dict.json",json.encode(parser1.typedefs_dict))
save_data("./output/constants.json",json.encode(parser1.constants))
if parser2 then
save_data("./output/impl_definitions.json",json.encode(json_prepare(parser2.defsT),{dict_on_empty={defaults=true}}))
end

View File

@@ -0,0 +1,124 @@
{
"DOCKING_HOST_DRAW_CHANNEL_BG": "0",
"DOCKING_HOST_DRAW_CHANNEL_FG": "1",
"IMGUI_CHECKVERSION()": "ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx))",
"IMGUI_DEBUG_LOG(...)": "ImGui::DebugLog(__VA_ARGS__)",
"IMGUI_DEBUG_LOG_ACTIVEID(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventActiveId) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_LOG_CLIPPER(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventClipper) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_LOG_DOCKING(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventDocking) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_LOG_ERROR(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventError) IMGUI_DEBUG_LOG(__VA_ARGS__); else g.DebugLogSkippedErrors++; } while (0)",
"IMGUI_DEBUG_LOG_FOCUS(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventFocus) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_LOG_FONT(...)": "do { ImGuiContext* g2 = GImGui; if (g2 && g2->DebugLogFlags & ImGuiDebugLogFlags_EventFont) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_LOG_INPUTROUTING(...)": "do{if (g.DebugLogFlags & ImGuiDebugLogFlags_EventInputRouting)IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_LOG_IO(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventIO) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_LOG_NAV(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventNav) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_LOG_POPUP(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventPopup) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_LOG_SELECTION(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventSelection) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_LOG_VIEWPORT(...)": "do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventViewport) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
"IMGUI_DEBUG_PRINTF(_FMT,...)": "printf(_FMT, __VA_ARGS__)",
"IMGUI_FONT_SIZE_MAX": "(512.0f)",
"IMGUI_FONT_SIZE_THRESHOLD_FOR_LOADADVANCEXONLYMODE": "(128.0f)",
"IMGUI_PAYLOAD_TYPE_COLOR_3F": "\"_COL3F\"",
"IMGUI_PAYLOAD_TYPE_COLOR_4F": "\"_COL4F\"",
"IMGUI_PAYLOAD_TYPE_WINDOW": "\"_IMWINDOW\"",
"IMGUI_TABLE_MAX_COLUMNS": "512",
"IMGUI_TEST_ENGINE_ITEM_ADD(_ID,_BB,_ITEM_DATA)": "((void)0)",
"IMGUI_TEST_ENGINE_ITEM_INFO(_ID,_LABEL,_FLAGS)": "((void)g)",
"IMGUI_VERSION": "\"1.92.6\"",
"IMGUI_VERSION_NUM": "19261",
"IMGUI_WINDOW_HARD_MIN_SIZE": "4.0f",
"IMSTB_TEXTEDIT_CHARTYPE": "char",
"IMSTB_TEXTEDIT_GETWIDTH_NEWLINE": "(-1.0f)",
"IMSTB_TEXTEDIT_STRING": "ImGuiInputTextState",
"IMSTB_TEXTEDIT_UNDOCHARCOUNT": "999",
"IMSTB_TEXTEDIT_UNDOSTATECOUNT": "99",
"IM_ALLOC(_SIZE)": "ImGui::MemAlloc(_SIZE)",
"IM_ARRAYSIZE": "IM_COUNTOF",
"IM_ASSERT(_EXPR)": "assert(_EXPR)",
"IM_ASSERT_USER_ERROR(_EXPR,_MSG)": "do { if (!(_EXPR)) { if (ImGui::ErrorLog(_MSG)) { IM_ASSERT((_EXPR) && _MSG); } } } while (0)",
"IM_ASSERT_USER_ERROR_RET(_EXPR,_MSG)": "do { if (!(_EXPR)) { if (ImGui::ErrorLog(_MSG)) { IM_ASSERT((_EXPR) && _MSG); } return; } } while (0)",
"IM_ASSERT_USER_ERROR_RETV(_EXPR,_RETV,_MSG)": "do { if (!(_EXPR)) { if (ImGui::ErrorLog(_MSG)) { IM_ASSERT((_EXPR) && _MSG); } return _RETV; } } while (0)",
"IM_BITARRAY_CLEARBIT(_ARRAY,_N)": "((_ARRAY[(_N) >> 5] &= ~((ImU32)1 << ((_N) & 31))))",
"IM_BITARRAY_TESTBIT(_ARRAY,_N)": "((_ARRAY[(_N) >> 5] & ((ImU32)1 << ((_N) & 31))) != 0)",
"IM_COL32(R,G,B,A)": "(((ImU32)(A)<<IM_COL32_A_SHIFT) | ((ImU32)(B)<<IM_COL32_B_SHIFT) | ((ImU32)(G)<<IM_COL32_G_SHIFT) | ((ImU32)(R)<<IM_COL32_R_SHIFT))",
"IM_COL32_A_MASK": "0xFF000000",
"IM_COL32_A_SHIFT": "24",
"IM_COL32_BLACK": "IM_COL32(0,0,0,255)",
"IM_COL32_BLACK_TRANS": "IM_COL32(0,0,0,0)",
"IM_COL32_B_SHIFT": "16",
"IM_COL32_DISABLE": "IM_COL32(0,0,0,1)",
"IM_COL32_G_SHIFT": "8",
"IM_COL32_R_SHIFT": "0",
"IM_COL32_WHITE": "IM_COL32(255,255,255,255)",
"IM_COUNTOF(_ARR)": "((int)(sizeof(_ARR) / sizeof(*(_ARR))))",
"IM_DEBUG_BREAK()": "__asm__ volatile(\"int3;nop\")",
"IM_DRAWLIST_ARCFAST_SAMPLE_MAX": "IM_DRAWLIST_ARCFAST_TABLE_SIZE",
"IM_DRAWLIST_ARCFAST_TABLE_SIZE": "48",
"IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC(_RAD,_MAXERROR)": "ImClamp(IM_ROUNDUP_TO_EVEN((int)ImCeil(IM_PI / ImAcos(1 - ImMin((_MAXERROR), (_RAD)) / (_RAD)))), IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MIN, IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MAX)",
"IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC_ERROR(_N,_RAD)": "((1 - ImCos(IM_PI / ImMax((float)(_N), IM_PI))) / (_RAD))",
"IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC_R(_N,_MAXERROR)": "((_MAXERROR) / (1 - ImCos(IM_PI / ImMax((float)(_N), IM_PI))))",
"IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MAX": "512",
"IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MIN": "4",
"IM_DRAWLIST_TEX_LINES_WIDTH_MAX": "(32)",
"IM_F32_TO_INT8_SAT(_VAL)": "((int)(ImSaturate(_VAL) * 255.0f + 0.5f))",
"IM_F32_TO_INT8_UNBOUND(_VAL)": "((int)((_VAL) * 255.0f + ((_VAL)>=0 ? 0.5f : -0.5f)))",
"IM_FMTARGS(FMT)": "__attribute__((format(gnu_printf, FMT, FMT+1)))",
"IM_FMTLIST(FMT)": "__attribute__((format(gnu_printf, FMT, 0)))",
"IM_FREE(_PTR)": "ImGui::MemFree(_PTR)",
"IM_MEMALIGN(_OFF,_ALIGN)": "(((_OFF) + ((_ALIGN) - 1)) & ~((_ALIGN) - 1))",
"IM_NEW(_TYPE)": "new(ImNewWrapper(), ImGui::MemAlloc(sizeof(_TYPE))) _TYPE",
"IM_NEWLINE": "\"\\r\\n\"",
"IM_PI": "3.14159265358979323846f",
"IM_PLACEMENT_NEW(_PTR)": "new(ImNewWrapper(), _PTR)",
"IM_PRIX64": "\"llX\"",
"IM_PRId64": "\"lld\"",
"IM_PRIu64": "\"llu\"",
"IM_ROUND(_VAL)": "((float)(int)((_VAL) + 0.5f))",
"IM_ROUNDUP_TO_EVEN(_V)": "((((_V) + 1) / 2) * 2)",
"IM_STATIC_ASSERT(_COND)": "static_assert(_COND, \"\")",
"IM_STRINGIFY(_EXPR)": "IM_STRINGIFY_HELPER(_EXPR)",
"IM_STRINGIFY_HELPER(_EXPR)": "#_EXPR",
"IM_TABSIZE": "(4)",
"IM_TRUNC(_VAL)": "((float)(int)(_VAL))",
"IM_UNICODE_CODEPOINT_INVALID": "0xFFFD",
"IM_UNICODE_CODEPOINT_MAX": "0xFFFF",
"IM_UNUSED(_VAR)": "((void)(_VAR))",
"ImAcos(X)": "acosf(X)",
"ImAtan2(Y,X)": "atan2f((Y), (X))",
"ImAtof(STR)": "atof(STR)",
"ImCeil(X)": "ceilf(X)",
"ImCos(X)": "cosf(X)",
"ImDrawCallback_ResetRenderState": "(ImDrawCallback)(-8)",
"ImFabs(X)": "fabsf(X)",
"ImFmod(X,Y)": "fmodf((X), (Y))",
"ImFontAtlasRectId_GenerationMask_": "(0x3FF00000)",
"ImFontAtlasRectId_GenerationShift_": "(20)",
"ImFontAtlasRectId_IndexMask_": "(0x0007FFFF)",
"ImFontAtlasRectId_Invalid": "-1",
"ImGuiKeyOwner_Any": "((ImGuiID)0)",
"ImGuiKeyOwner_NoOwner": "((ImGuiID)-1)",
"ImGuiKey_Aliases_BEGIN": "(ImGuiKey_Mouse_BEGIN)",
"ImGuiKey_Aliases_END": "(ImGuiKey_Mouse_END)",
"ImGuiKey_Gamepad_BEGIN": "(ImGuiKey_GamepadStart)",
"ImGuiKey_Gamepad_END": "(ImGuiKey_GamepadRStickDown + 1)",
"ImGuiKey_Keyboard_BEGIN": "(ImGuiKey_NamedKey_BEGIN)",
"ImGuiKey_Keyboard_END": "(ImGuiKey_GamepadStart)",
"ImGuiKey_LegacyNativeKey_BEGIN": "0",
"ImGuiKey_LegacyNativeKey_END": "512",
"ImGuiKey_Mouse_BEGIN": "(ImGuiKey_MouseLeft)",
"ImGuiKey_Mouse_END": "(ImGuiKey_MouseWheelY + 1)",
"ImGuiKey_NavGamepadActivate": "(g.IO.ConfigNavSwapGamepadButtons ? ImGuiKey_GamepadFaceRight : ImGuiKey_GamepadFaceDown)",
"ImGuiKey_NavGamepadCancel": "(g.IO.ConfigNavSwapGamepadButtons ? ImGuiKey_GamepadFaceDown : ImGuiKey_GamepadFaceRight)",
"ImGuiKey_NavGamepadInput": "ImGuiKey_GamepadFaceUp",
"ImGuiKey_NavGamepadMenu": "ImGuiKey_GamepadFaceLeft",
"ImGuiKey_NavGamepadTweakFast": "ImGuiKey_GamepadR1",
"ImGuiKey_NavGamepadTweakSlow": "ImGuiKey_GamepadL1",
"ImGuiKey_NavKeyboardTweakFast": "ImGuiMod_Shift",
"ImGuiKey_NavKeyboardTweakSlow": "ImGuiMod_Ctrl",
"ImGuiSelectionUserData_Invalid": "((ImGuiSelectionUserData)-1)",
"ImMemchr": "memchr",
"ImSin(X)": "sinf(X)",
"ImSqrt(X)": "sqrtf(X)",
"ImStrlen": "strlen",
"ImTextureID_Invalid": "((ImTextureID)0)"
}

View File

@@ -0,0 +1,124 @@
local t={
DOCKING_HOST_DRAW_CHANNEL_BG="0",
DOCKING_HOST_DRAW_CHANNEL_FG="1",
["IMGUI_CHECKVERSION()"]="ImGui::DebugCheckVersionAndDataLayout(IMGUI_VERSION, sizeof(ImGuiIO), sizeof(ImGuiStyle), sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert), sizeof(ImDrawIdx))",
["IMGUI_DEBUG_LOG(...)"]="ImGui::DebugLog(__VA_ARGS__)",
["IMGUI_DEBUG_LOG_ACTIVEID(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventActiveId) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_LOG_CLIPPER(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventClipper) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_LOG_DOCKING(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventDocking) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_LOG_ERROR(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventError) IMGUI_DEBUG_LOG(__VA_ARGS__); else g.DebugLogSkippedErrors++; } while (0)",
["IMGUI_DEBUG_LOG_FOCUS(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventFocus) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_LOG_FONT(...)"]="do { ImGuiContext* g2 = GImGui; if (g2 && g2->DebugLogFlags & ImGuiDebugLogFlags_EventFont) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_LOG_INPUTROUTING(...)"]="do{if (g.DebugLogFlags & ImGuiDebugLogFlags_EventInputRouting)IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_LOG_IO(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventIO) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_LOG_NAV(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventNav) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_LOG_POPUP(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventPopup) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_LOG_SELECTION(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventSelection) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_LOG_VIEWPORT(...)"]="do { if (g.DebugLogFlags & ImGuiDebugLogFlags_EventViewport) IMGUI_DEBUG_LOG(__VA_ARGS__); } while (0)",
["IMGUI_DEBUG_PRINTF(_FMT,...)"]="printf(_FMT, __VA_ARGS__)",
IMGUI_FONT_SIZE_MAX="(512.0f)",
IMGUI_FONT_SIZE_THRESHOLD_FOR_LOADADVANCEXONLYMODE="(128.0f)",
IMGUI_PAYLOAD_TYPE_COLOR_3F="\"_COL3F\"",
IMGUI_PAYLOAD_TYPE_COLOR_4F="\"_COL4F\"",
IMGUI_PAYLOAD_TYPE_WINDOW="\"_IMWINDOW\"",
IMGUI_TABLE_MAX_COLUMNS="512",
["IMGUI_TEST_ENGINE_ITEM_ADD(_ID,_BB,_ITEM_DATA)"]="((void)0)",
["IMGUI_TEST_ENGINE_ITEM_INFO(_ID,_LABEL,_FLAGS)"]="((void)g)",
IMGUI_VERSION="\"1.92.6\"",
IMGUI_VERSION_NUM="19261",
IMGUI_WINDOW_HARD_MIN_SIZE="4.0f",
IMSTB_TEXTEDIT_CHARTYPE="char",
IMSTB_TEXTEDIT_GETWIDTH_NEWLINE="(-1.0f)",
IMSTB_TEXTEDIT_STRING="ImGuiInputTextState",
IMSTB_TEXTEDIT_UNDOCHARCOUNT="999",
IMSTB_TEXTEDIT_UNDOSTATECOUNT="99",
["IM_ALLOC(_SIZE)"]="ImGui::MemAlloc(_SIZE)",
IM_ARRAYSIZE="IM_COUNTOF",
["IM_ASSERT(_EXPR)"]="assert(_EXPR)",
["IM_ASSERT_USER_ERROR(_EXPR,_MSG)"]="do { if (!(_EXPR)) { if (ImGui::ErrorLog(_MSG)) { IM_ASSERT((_EXPR) && _MSG); } } } while (0)",
["IM_ASSERT_USER_ERROR_RET(_EXPR,_MSG)"]="do { if (!(_EXPR)) { if (ImGui::ErrorLog(_MSG)) { IM_ASSERT((_EXPR) && _MSG); } return; } } while (0)",
["IM_ASSERT_USER_ERROR_RETV(_EXPR,_RETV,_MSG)"]="do { if (!(_EXPR)) { if (ImGui::ErrorLog(_MSG)) { IM_ASSERT((_EXPR) && _MSG); } return _RETV; } } while (0)",
["IM_BITARRAY_CLEARBIT(_ARRAY,_N)"]="((_ARRAY[(_N) >> 5] &= ~((ImU32)1 << ((_N) & 31))))",
["IM_BITARRAY_TESTBIT(_ARRAY,_N)"]="((_ARRAY[(_N) >> 5] & ((ImU32)1 << ((_N) & 31))) != 0)",
["IM_COL32(R,G,B,A)"]="(((ImU32)(A)<<IM_COL32_A_SHIFT) | ((ImU32)(B)<<IM_COL32_B_SHIFT) | ((ImU32)(G)<<IM_COL32_G_SHIFT) | ((ImU32)(R)<<IM_COL32_R_SHIFT))",
IM_COL32_A_MASK="0xFF000000",
IM_COL32_A_SHIFT="24",
IM_COL32_BLACK="IM_COL32(0,0,0,255)",
IM_COL32_BLACK_TRANS="IM_COL32(0,0,0,0)",
IM_COL32_B_SHIFT="16",
IM_COL32_DISABLE="IM_COL32(0,0,0,1)",
IM_COL32_G_SHIFT="8",
IM_COL32_R_SHIFT="0",
IM_COL32_WHITE="IM_COL32(255,255,255,255)",
["IM_COUNTOF(_ARR)"]="((int)(sizeof(_ARR) / sizeof(*(_ARR))))",
["IM_DEBUG_BREAK()"]="__asm__ volatile(\"int3;nop\")",
IM_DRAWLIST_ARCFAST_SAMPLE_MAX="IM_DRAWLIST_ARCFAST_TABLE_SIZE",
IM_DRAWLIST_ARCFAST_TABLE_SIZE="48",
["IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC(_RAD,_MAXERROR)"]="ImClamp(IM_ROUNDUP_TO_EVEN((int)ImCeil(IM_PI / ImAcos(1 - ImMin((_MAXERROR), (_RAD)) / (_RAD)))), IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MIN, IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MAX)",
["IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC_ERROR(_N,_RAD)"]="((1 - ImCos(IM_PI / ImMax((float)(_N), IM_PI))) / (_RAD))",
["IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_CALC_R(_N,_MAXERROR)"]="((_MAXERROR) / (1 - ImCos(IM_PI / ImMax((float)(_N), IM_PI))))",
IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MAX="512",
IM_DRAWLIST_CIRCLE_AUTO_SEGMENT_MIN="4",
IM_DRAWLIST_TEX_LINES_WIDTH_MAX="(32)",
["IM_F32_TO_INT8_SAT(_VAL)"]="((int)(ImSaturate(_VAL) * 255.0f + 0.5f))",
["IM_F32_TO_INT8_UNBOUND(_VAL)"]="((int)((_VAL) * 255.0f + ((_VAL)>=0 ? 0.5f : -0.5f)))",
["IM_FMTARGS(FMT)"]="__attribute__((format(gnu_printf, FMT, FMT+1)))",
["IM_FMTLIST(FMT)"]="__attribute__((format(gnu_printf, FMT, 0)))",
["IM_FREE(_PTR)"]="ImGui::MemFree(_PTR)",
["IM_MEMALIGN(_OFF,_ALIGN)"]="(((_OFF) + ((_ALIGN) - 1)) & ~((_ALIGN) - 1))",
["IM_NEW(_TYPE)"]="new(ImNewWrapper(), ImGui::MemAlloc(sizeof(_TYPE))) _TYPE",
IM_NEWLINE="\"\\r\\n\"",
IM_PI="3.14159265358979323846f",
["IM_PLACEMENT_NEW(_PTR)"]="new(ImNewWrapper(), _PTR)",
IM_PRIX64="\"llX\"",
IM_PRId64="\"lld\"",
IM_PRIu64="\"llu\"",
["IM_ROUND(_VAL)"]="((float)(int)((_VAL) + 0.5f))",
["IM_ROUNDUP_TO_EVEN(_V)"]="((((_V) + 1) / 2) * 2)",
["IM_STATIC_ASSERT(_COND)"]="static_assert(_COND, \"\")",
["IM_STRINGIFY(_EXPR)"]="IM_STRINGIFY_HELPER(_EXPR)",
["IM_STRINGIFY_HELPER(_EXPR)"]="#_EXPR",
IM_TABSIZE="(4)",
["IM_TRUNC(_VAL)"]="((float)(int)(_VAL))",
IM_UNICODE_CODEPOINT_INVALID="0xFFFD",
IM_UNICODE_CODEPOINT_MAX="0xFFFF",
["IM_UNUSED(_VAR)"]="((void)(_VAR))",
["ImAcos(X)"]="acosf(X)",
["ImAtan2(Y,X)"]="atan2f((Y), (X))",
["ImAtof(STR)"]="atof(STR)",
["ImCeil(X)"]="ceilf(X)",
["ImCos(X)"]="cosf(X)",
ImDrawCallback_ResetRenderState="(ImDrawCallback)(-8)",
["ImFabs(X)"]="fabsf(X)",
["ImFmod(X,Y)"]="fmodf((X), (Y))",
ImFontAtlasRectId_GenerationMask_="(0x3FF00000)",
ImFontAtlasRectId_GenerationShift_="(20)",
ImFontAtlasRectId_IndexMask_="(0x0007FFFF)",
ImFontAtlasRectId_Invalid="-1",
ImGuiKeyOwner_Any="((ImGuiID)0)",
ImGuiKeyOwner_NoOwner="((ImGuiID)-1)",
ImGuiKey_Aliases_BEGIN="(ImGuiKey_Mouse_BEGIN)",
ImGuiKey_Aliases_END="(ImGuiKey_Mouse_END)",
ImGuiKey_Gamepad_BEGIN="(ImGuiKey_GamepadStart)",
ImGuiKey_Gamepad_END="(ImGuiKey_GamepadRStickDown + 1)",
ImGuiKey_Keyboard_BEGIN="(ImGuiKey_NamedKey_BEGIN)",
ImGuiKey_Keyboard_END="(ImGuiKey_GamepadStart)",
ImGuiKey_LegacyNativeKey_BEGIN="0",
ImGuiKey_LegacyNativeKey_END="512",
ImGuiKey_Mouse_BEGIN="(ImGuiKey_MouseLeft)",
ImGuiKey_Mouse_END="(ImGuiKey_MouseWheelY + 1)",
ImGuiKey_NavGamepadActivate="(g.IO.ConfigNavSwapGamepadButtons ? ImGuiKey_GamepadFaceRight : ImGuiKey_GamepadFaceDown)",
ImGuiKey_NavGamepadCancel="(g.IO.ConfigNavSwapGamepadButtons ? ImGuiKey_GamepadFaceDown : ImGuiKey_GamepadFaceRight)",
ImGuiKey_NavGamepadInput="ImGuiKey_GamepadFaceUp",
ImGuiKey_NavGamepadMenu="ImGuiKey_GamepadFaceLeft",
ImGuiKey_NavGamepadTweakFast="ImGuiKey_GamepadR1",
ImGuiKey_NavGamepadTweakSlow="ImGuiKey_GamepadL1",
ImGuiKey_NavKeyboardTweakFast="ImGuiMod_Shift",
ImGuiKey_NavKeyboardTweakSlow="ImGuiMod_Ctrl",
ImGuiSelectionUserData_Invalid="((ImGuiSelectionUserData)-1)",
ImMemchr="memchr",
["ImSin(X)"]="sinf(X)",
["ImSqrt(X)"]="sqrtf(X)",
ImStrlen="strlen",
ImTextureID_Invalid="((ImTextureID)0)"}
return t