summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2019-10-21 20:43:40 +0000
committers-ol <s-ol@users.noreply.github.com>2019-10-21 20:47:58 +0000
commit10af763b2922343215286f2156e6cbbf1b023762 (patch)
tree8f35ed8f17b4c14c29b92d7240a3c4a1b0868c18
parentfirst working render! (diff)
downloadzig-imgui-10af763b2922343215286f2156e6cbbf1b023762.tar.gz
zig-imgui-10af763b2922343215286f2156e6cbbf1b023762.zip
add cimgui in the repo
-rw-r--r--.gitmodules7
m---------cimgui0
-rw-r--r--cimgui/.gitignore4
-rw-r--r--cimgui/Makefile63
-rw-r--r--cimgui/README.md2
-rw-r--r--cimgui/cimgui.cpp2641
-rw-r--r--cimgui/cimgui.h1707
m---------cimgui/imgui0
8 files changed, 4421 insertions, 3 deletions
diff --git a/.gitmodules b/.gitmodules
index b9e3cb1..d18738f 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,4 @@
-[submodule "cimgui"]
- path = cimgui
- url = https://github.com/cimgui/cimgui.git
+
+[submodule "cimgui/imgui"]
+ path = cimgui/imgui
+ url = https://github.com/ocornut/imgui.git
diff --git a/cimgui b/cimgui
deleted file mode 160000
-Subproject 75f2167111696e569289d323c5b85ad5ad5a353
diff --git a/cimgui/.gitignore b/cimgui/.gitignore
new file mode 100644
index 0000000..5b71b14
--- /dev/null
+++ b/cimgui/.gitignore
@@ -0,0 +1,4 @@
+*.o
+*.so
+*.dylib
+*.dll
diff --git a/cimgui/Makefile b/cimgui/Makefile
new file mode 100644
index 0000000..e9fa543
--- /dev/null
+++ b/cimgui/Makefile
@@ -0,0 +1,63 @@
+#
+# Cross Platform Makefile
+# Compatible with Ubuntu 14.04.1 and macOS
+
+OBJS = cimgui.o
+OBJS += ./imgui/imgui.o
+OBJS += ./imgui/imgui_draw.o
+OBJS += ./imgui/imgui_demo.o
+OBJS += ./imgui/imgui_widgets.o
+
+CXXFLAGS=-O2 -fno-exceptions -fno-rtti
+
+UNAME_S := $(shell uname -s)
+
+ifeq ($(UNAME_S), Linux) #LINUX
+ ECHO_MESSAGE = "Linux"
+
+ OUTPUTNAME = cimgui.so
+ CXXFLAGS += -I./imgui/
+ CXXFLAGS += -Wall
+ CXXFLAGS += -shared -fPIC
+ CFLAGS = $(CXXFLAGS)
+endif
+
+ifeq ($(UNAME_S), Darwin) #APPLE
+ ECHO_MESSAGE = "macOS"
+
+ OUTPUTNAME = cimgui.dylib
+ CXXFLAGS += -I/usr/local/include
+ CXXFLAGS += -Wall
+ LINKFLAGS = -dynamiclib
+ CFLAGS = $(CXXFLAGS)
+endif
+
+ifeq ($(OS), Windows_NT)
+ ECHO_MESSAGE = "Windows"
+
+ OUTPUTNAME = cimgui.dll
+ CXXFLAGS += -I./imgui/
+ CXXFLAGS += -Wall
+ CXXFLAGS += -shared
+ LINKFLAGS = -limm32
+ CFLAGS = $(CXXFLAGS)
+endif
+
+.cpp.o:
+ $(CXX) $(CXXFLAGS) -c -o $@ $<
+
+all:$(OUTPUTNAME)
+ @echo Build complete for $(ECHO_MESSAGE)
+
+$(OUTPUTNAME):$(OBJS)
+ $(CXX) -o $(OUTPUTNAME) $(OBJS) $(CXXFLAGS) $(LINKFLAGS)
+
+clean:
+ rm -f $(OBJS)
+
+fclean: clean
+ rm -f $(OUTPUTNAME)
+
+re: fclean all
+
+.PHONY: all clean fclean re
diff --git a/cimgui/README.md b/cimgui/README.md
new file mode 100644
index 0000000..52684ac
--- /dev/null
+++ b/cimgui/README.md
@@ -0,0 +1,2 @@
+this directory is generated using https://github.com/cimgui/cimgui,
+with some small modifications, because cimgui isn't tracking the `docking` branch of imgui (yet)?
diff --git a/cimgui/cimgui.cpp b/cimgui/cimgui.cpp
new file mode 100644
index 0000000..db25ec0
--- /dev/null
+++ b/cimgui/cimgui.cpp
@@ -0,0 +1,2641 @@
+//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
+//based on imgui.h file version "1.74 WIP" from Dear ImGui https://github.com/ocornut/imgui
+
+#include "./imgui/imgui.h"
+#include "cimgui.h"
+
+#include "./imgui/imgui_internal.h"
+
+CIMGUI_API ImVec2* ImVec2_ImVec2(void)
+{
+ return IM_NEW(ImVec2)();
+}
+CIMGUI_API void ImVec2_destroy(ImVec2* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API ImVec2* ImVec2_ImVec2Float(float _x,float _y)
+{
+ return IM_NEW(ImVec2)(_x,_y);
+}
+CIMGUI_API ImVec4* ImVec4_ImVec4(void)
+{
+ return IM_NEW(ImVec4)();
+}
+CIMGUI_API void ImVec4_destroy(ImVec4* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API ImVec4* ImVec4_ImVec4Float(float _x,float _y,float _z,float _w)
+{
+ return IM_NEW(ImVec4)(_x,_y,_z,_w);
+}
+CIMGUI_API ImGuiContext* igCreateContext(ImFontAtlas* shared_font_atlas)
+{
+ return ImGui::CreateContext(shared_font_atlas);
+}
+CIMGUI_API void igDestroyContext(ImGuiContext* ctx)
+{
+ return ImGui::DestroyContext(ctx);
+}
+CIMGUI_API ImGuiContext* igGetCurrentContext()
+{
+ return ImGui::GetCurrentContext();
+}
+CIMGUI_API void igSetCurrentContext(ImGuiContext* ctx)
+{
+ return ImGui::SetCurrentContext(ctx);
+}
+CIMGUI_API bool igDebugCheckVersionAndDataLayout(const char* version_str,size_t sz_io,size_t sz_style,size_t sz_vec2,size_t sz_vec4,size_t sz_drawvert,size_t sz_drawidx)
+{
+ return ImGui::DebugCheckVersionAndDataLayout(version_str,sz_io,sz_style,sz_vec2,sz_vec4,sz_drawvert,sz_drawidx);
+}
+CIMGUI_API ImGuiIO* igGetIO()
+{
+ return &ImGui::GetIO();
+}
+CIMGUI_API ImGuiStyle* igGetStyle()
+{
+ return &ImGui::GetStyle();
+}
+CIMGUI_API void igNewFrame()
+{
+ return ImGui::NewFrame();
+}
+CIMGUI_API void igEndFrame()
+{
+ return ImGui::EndFrame();
+}
+CIMGUI_API void igRender()
+{
+ return ImGui::Render();
+}
+CIMGUI_API ImDrawData* igGetDrawData()
+{
+ return ImGui::GetDrawData();
+}
+CIMGUI_API void igShowDemoWindow(bool* p_open)
+{
+ return ImGui::ShowDemoWindow(p_open);
+}
+CIMGUI_API void igShowAboutWindow(bool* p_open)
+{
+ return ImGui::ShowAboutWindow(p_open);
+}
+CIMGUI_API void igShowMetricsWindow(bool* p_open)
+{
+ return ImGui::ShowMetricsWindow(p_open);
+}
+CIMGUI_API void igShowStyleEditor(ImGuiStyle* ref)
+{
+ return ImGui::ShowStyleEditor(ref);
+}
+CIMGUI_API bool igShowStyleSelector(const char* label)
+{
+ return ImGui::ShowStyleSelector(label);
+}
+CIMGUI_API void igShowFontSelector(const char* label)
+{
+ return ImGui::ShowFontSelector(label);
+}
+CIMGUI_API void igShowUserGuide()
+{
+ return ImGui::ShowUserGuide();
+}
+CIMGUI_API const char* igGetVersion()
+{
+ return ImGui::GetVersion();
+}
+CIMGUI_API void igStyleColorsDark(ImGuiStyle* dst)
+{
+ return ImGui::StyleColorsDark(dst);
+}
+CIMGUI_API void igStyleColorsClassic(ImGuiStyle* dst)
+{
+ return ImGui::StyleColorsClassic(dst);
+}
+CIMGUI_API void igStyleColorsLight(ImGuiStyle* dst)
+{
+ return ImGui::StyleColorsLight(dst);
+}
+CIMGUI_API bool igBegin(const char* name,bool* p_open,ImGuiWindowFlags flags)
+{
+ return ImGui::Begin(name,p_open,flags);
+}
+CIMGUI_API void igEnd()
+{
+ return ImGui::End();
+}
+CIMGUI_API bool igBeginChild(const char* str_id,const ImVec2 size,bool border,ImGuiWindowFlags flags)
+{
+ return ImGui::BeginChild(str_id,size,border,flags);
+}
+CIMGUI_API bool igBeginChildID(ImGuiID id,const ImVec2 size,bool border,ImGuiWindowFlags flags)
+{
+ return ImGui::BeginChild(id,size,border,flags);
+}
+CIMGUI_API void igEndChild()
+{
+ return ImGui::EndChild();
+}
+CIMGUI_API bool igIsWindowAppearing()
+{
+ return ImGui::IsWindowAppearing();
+}
+CIMGUI_API bool igIsWindowCollapsed()
+{
+ return ImGui::IsWindowCollapsed();
+}
+CIMGUI_API bool igIsWindowFocused(ImGuiFocusedFlags flags)
+{
+ return ImGui::IsWindowFocused(flags);
+}
+CIMGUI_API bool igIsWindowHovered(ImGuiHoveredFlags flags)
+{
+ return ImGui::IsWindowHovered(flags);
+}
+CIMGUI_API ImDrawList* igGetWindowDrawList()
+{
+ return ImGui::GetWindowDrawList();
+}
+CIMGUI_API float igGetWindowDpiScale()
+{
+ return ImGui::GetWindowDpiScale();
+}
+CIMGUI_API ImGuiViewport* igGetWindowViewport()
+{
+ return ImGui::GetWindowViewport();
+}
+CIMGUI_API ImVec2 igGetWindowPos()
+{
+ return ImGui::GetWindowPos();
+}
+CIMGUI_API ImVec2 igGetWindowSize()
+{
+ return ImGui::GetWindowSize();
+}
+CIMGUI_API float igGetWindowWidth()
+{
+ return ImGui::GetWindowWidth();
+}
+CIMGUI_API float igGetWindowHeight()
+{
+ return ImGui::GetWindowHeight();
+}
+CIMGUI_API void igSetNextWindowPos(const ImVec2 pos,ImGuiCond cond,const ImVec2 pivot)
+{
+ return ImGui::SetNextWindowPos(pos,cond,pivot);
+}
+CIMGUI_API void igSetNextWindowSize(const ImVec2 size,ImGuiCond cond)
+{
+ return ImGui::SetNextWindowSize(size,cond);
+}
+CIMGUI_API void igSetNextWindowSizeConstraints(const ImVec2 size_min,const ImVec2 size_max,ImGuiSizeCallback custom_callback,void* custom_callback_data)
+{
+ return ImGui::SetNextWindowSizeConstraints(size_min,size_max,custom_callback,custom_callback_data);
+}
+CIMGUI_API void igSetNextWindowContentSize(const ImVec2 size)
+{
+ return ImGui::SetNextWindowContentSize(size);
+}
+CIMGUI_API void igSetNextWindowCollapsed(bool collapsed,ImGuiCond cond)
+{
+ return ImGui::SetNextWindowCollapsed(collapsed,cond);
+}
+CIMGUI_API void igSetNextWindowFocus()
+{
+ return ImGui::SetNextWindowFocus();
+}
+CIMGUI_API void igSetNextWindowBgAlpha(float alpha)
+{
+ return ImGui::SetNextWindowBgAlpha(alpha);
+}
+CIMGUI_API void igSetNextWindowViewport(ImGuiID viewport_id)
+{
+ return ImGui::SetNextWindowViewport(viewport_id);
+}
+CIMGUI_API void igSetWindowPosVec2(const ImVec2 pos,ImGuiCond cond)
+{
+ return ImGui::SetWindowPos(pos,cond);
+}
+CIMGUI_API void igSetWindowSizeVec2(const ImVec2 size,ImGuiCond cond)
+{
+ return ImGui::SetWindowSize(size,cond);
+}
+CIMGUI_API void igSetWindowCollapsedBool(bool collapsed,ImGuiCond cond)
+{
+ return ImGui::SetWindowCollapsed(collapsed,cond);
+}
+CIMGUI_API void igSetWindowFocus()
+{
+ return ImGui::SetWindowFocus();
+}
+CIMGUI_API void igSetWindowFontScale(float scale)
+{
+ return ImGui::SetWindowFontScale(scale);
+}
+CIMGUI_API void igSetWindowPosStr(const char* name,const ImVec2 pos,ImGuiCond cond)
+{
+ return ImGui::SetWindowPos(name,pos,cond);
+}
+CIMGUI_API void igSetWindowSizeStr(const char* name,const ImVec2 size,ImGuiCond cond)
+{
+ return ImGui::SetWindowSize(name,size,cond);
+}
+CIMGUI_API void igSetWindowCollapsedStr(const char* name,bool collapsed,ImGuiCond cond)
+{
+ return ImGui::SetWindowCollapsed(name,collapsed,cond);
+}
+CIMGUI_API void igSetWindowFocusStr(const char* name)
+{
+ return ImGui::SetWindowFocus(name);
+}
+CIMGUI_API ImVec2 igGetContentRegionMax()
+{
+ return ImGui::GetContentRegionMax();
+}
+CIMGUI_API ImVec2 igGetContentRegionAvail()
+{
+ return ImGui::GetContentRegionAvail();
+}
+CIMGUI_API ImVec2 igGetWindowContentRegionMin()
+{
+ return ImGui::GetWindowContentRegionMin();
+}
+CIMGUI_API ImVec2 igGetWindowContentRegionMax()
+{
+ return ImGui::GetWindowContentRegionMax();
+}
+CIMGUI_API float igGetWindowContentRegionWidth()
+{
+ return ImGui::GetWindowContentRegionWidth();
+}
+CIMGUI_API float igGetScrollX()
+{
+ return ImGui::GetScrollX();
+}
+CIMGUI_API float igGetScrollY()
+{
+ return ImGui::GetScrollY();
+}
+CIMGUI_API float igGetScrollMaxX()
+{
+ return ImGui::GetScrollMaxX();
+}
+CIMGUI_API float igGetScrollMaxY()
+{
+ return ImGui::GetScrollMaxY();
+}
+CIMGUI_API void igSetScrollX(float scroll_x)
+{
+ return ImGui::SetScrollX(scroll_x);
+}
+CIMGUI_API void igSetScrollY(float scroll_y)
+{
+ return ImGui::SetScrollY(scroll_y);
+}
+CIMGUI_API void igSetScrollHereX(float center_x_ratio)
+{
+ return ImGui::SetScrollHereX(center_x_ratio);
+}
+CIMGUI_API void igSetScrollHereY(float center_y_ratio)
+{
+ return ImGui::SetScrollHereY(center_y_ratio);
+}
+CIMGUI_API void igSetScrollFromPosX(float local_x,float center_x_ratio)
+{
+ return ImGui::SetScrollFromPosX(local_x,center_x_ratio);
+}
+CIMGUI_API void igSetScrollFromPosY(float local_y,float center_y_ratio)
+{
+ return ImGui::SetScrollFromPosY(local_y,center_y_ratio);
+}
+CIMGUI_API void igPushFont(ImFont* font)
+{
+ return ImGui::PushFont(font);
+}
+CIMGUI_API void igPopFont()
+{
+ return ImGui::PopFont();
+}
+CIMGUI_API void igPushStyleColorU32(ImGuiCol idx,ImU32 col)
+{
+ return ImGui::PushStyleColor(idx,col);
+}
+CIMGUI_API void igPushStyleColor(ImGuiCol idx,const ImVec4 col)
+{
+ return ImGui::PushStyleColor(idx,col);
+}
+CIMGUI_API void igPopStyleColor(int count)
+{
+ return ImGui::PopStyleColor(count);
+}
+CIMGUI_API void igPushStyleVarFloat(ImGuiStyleVar idx,float val)
+{
+ return ImGui::PushStyleVar(idx,val);
+}
+CIMGUI_API void igPushStyleVarVec2(ImGuiStyleVar idx,const ImVec2 val)
+{
+ return ImGui::PushStyleVar(idx,val);
+}
+CIMGUI_API void igPopStyleVar(int count)
+{
+ return ImGui::PopStyleVar(count);
+}
+CIMGUI_API const ImVec4* igGetStyleColorVec4(ImGuiCol idx)
+{
+ return &ImGui::GetStyleColorVec4(idx);
+}
+CIMGUI_API ImFont* igGetFont()
+{
+ return ImGui::GetFont();
+}
+CIMGUI_API float igGetFontSize()
+{
+ return ImGui::GetFontSize();
+}
+CIMGUI_API ImVec2 igGetFontTexUvWhitePixel()
+{
+ return ImGui::GetFontTexUvWhitePixel();
+}
+CIMGUI_API ImU32 igGetColorU32(ImGuiCol idx,float alpha_mul)
+{
+ return ImGui::GetColorU32(idx,alpha_mul);
+}
+CIMGUI_API ImU32 igGetColorU32Vec4(const ImVec4 col)
+{
+ return ImGui::GetColorU32(col);
+}
+CIMGUI_API ImU32 igGetColorU32U32(ImU32 col)
+{
+ return ImGui::GetColorU32(col);
+}
+CIMGUI_API void igPushItemWidth(float item_width)
+{
+ return ImGui::PushItemWidth(item_width);
+}
+CIMGUI_API void igPopItemWidth()
+{
+ return ImGui::PopItemWidth();
+}
+CIMGUI_API void igSetNextItemWidth(float item_width)
+{
+ return ImGui::SetNextItemWidth(item_width);
+}
+CIMGUI_API float igCalcItemWidth()
+{
+ return ImGui::CalcItemWidth();
+}
+CIMGUI_API void igPushTextWrapPos(float wrap_local_pos_x)
+{
+ return ImGui::PushTextWrapPos(wrap_local_pos_x);
+}
+CIMGUI_API void igPopTextWrapPos()
+{
+ return ImGui::PopTextWrapPos();
+}
+CIMGUI_API void igPushAllowKeyboardFocus(bool allow_keyboard_focus)
+{
+ return ImGui::PushAllowKeyboardFocus(allow_keyboard_focus);
+}
+CIMGUI_API void igPopAllowKeyboardFocus()
+{
+ return ImGui::PopAllowKeyboardFocus();
+}
+CIMGUI_API void igPushButtonRepeat(bool repeat)
+{
+ return ImGui::PushButtonRepeat(repeat);
+}
+CIMGUI_API void igPopButtonRepeat()
+{
+ return ImGui::PopButtonRepeat();
+}
+CIMGUI_API void igSeparator()
+{
+ return ImGui::Separator();
+}
+CIMGUI_API void igSameLine(float offset_from_start_x,float spacing)
+{
+ return ImGui::SameLine(offset_from_start_x,spacing);
+}
+CIMGUI_API void igNewLine()
+{
+ return ImGui::NewLine();
+}
+CIMGUI_API void igSpacing()
+{
+ return ImGui::Spacing();
+}
+CIMGUI_API void igDummy(const ImVec2 size)
+{
+ return ImGui::Dummy(size);
+}
+CIMGUI_API void igIndent(float indent_w)
+{
+ return ImGui::Indent(indent_w);
+}
+CIMGUI_API void igUnindent(float indent_w)
+{
+ return ImGui::Unindent(indent_w);
+}
+CIMGUI_API void igBeginGroup()
+{
+ return ImGui::BeginGroup();
+}
+CIMGUI_API void igEndGroup()
+{
+ return ImGui::EndGroup();
+}
+CIMGUI_API ImVec2 igGetCursorPos()
+{
+ return ImGui::GetCursorPos();
+}
+CIMGUI_API float igGetCursorPosX()
+{
+ return ImGui::GetCursorPosX();
+}
+CIMGUI_API float igGetCursorPosY()
+{
+ return ImGui::GetCursorPosY();
+}
+CIMGUI_API void igSetCursorPos(const ImVec2 local_pos)
+{
+ return ImGui::SetCursorPos(local_pos);
+}
+CIMGUI_API void igSetCursorPosX(float local_x)
+{
+ return ImGui::SetCursorPosX(local_x);
+}
+CIMGUI_API void igSetCursorPosY(float local_y)
+{
+ return ImGui::SetCursorPosY(local_y);
+}
+CIMGUI_API ImVec2 igGetCursorStartPos()
+{
+ return ImGui::GetCursorStartPos();
+}
+CIMGUI_API ImVec2 igGetCursorScreenPos()
+{
+ return ImGui::GetCursorScreenPos();
+}
+CIMGUI_API void igSetCursorScreenPos(const ImVec2 pos)
+{
+ return ImGui::SetCursorScreenPos(pos);
+}
+CIMGUI_API void igAlignTextToFramePadding()
+{
+ return ImGui::AlignTextToFramePadding();
+}
+CIMGUI_API float igGetTextLineHeight()
+{
+ return ImGui::GetTextLineHeight();
+}
+CIMGUI_API float igGetTextLineHeightWithSpacing()
+{
+ return ImGui::GetTextLineHeightWithSpacing();
+}
+CIMGUI_API float igGetFrameHeight()
+{
+ return ImGui::GetFrameHeight();
+}
+CIMGUI_API float igGetFrameHeightWithSpacing()
+{
+ return ImGui::GetFrameHeightWithSpacing();
+}
+CIMGUI_API void igPushIDStr(const char* str_id)
+{
+ return ImGui::PushID(str_id);
+}
+CIMGUI_API void igPushIDRange(const char* str_id_begin,const char* str_id_end)
+{
+ return ImGui::PushID(str_id_begin,str_id_end);
+}
+CIMGUI_API void igPushIDPtr(const void* ptr_id)
+{
+ return ImGui::PushID(ptr_id);
+}
+CIMGUI_API void igPushIDInt(int int_id)
+{
+ return ImGui::PushID(int_id);
+}
+CIMGUI_API void igPopID()
+{
+ return ImGui::PopID();
+}
+CIMGUI_API ImGuiID igGetIDStr(const char* str_id)
+{
+ return ImGui::GetID(str_id);
+}
+CIMGUI_API ImGuiID igGetIDRange(const char* str_id_begin,const char* str_id_end)
+{
+ return ImGui::GetID(str_id_begin,str_id_end);
+}
+CIMGUI_API ImGuiID igGetIDPtr(const void* ptr_id)
+{
+ return ImGui::GetID(ptr_id);
+}
+CIMGUI_API void igTextUnformatted(const char* text,const char* text_end)
+{
+ return ImGui::TextUnformatted(text,text_end);
+}
+CIMGUI_API void igText(const char* fmt,...)
+{
+ va_list args;
+ va_start(args, fmt);
+ ImGui::TextV(fmt,args);
+ va_end(args);
+}
+CIMGUI_API void igTextV(const char* fmt,va_list args)
+{
+ return ImGui::TextV(fmt,args);
+}
+CIMGUI_API void igTextColored(const ImVec4 col,const char* fmt,...)
+{
+ va_list args;
+ va_start(args, fmt);
+ ImGui::TextColoredV(col,fmt,args);
+ va_end(args);
+}
+CIMGUI_API void igTextColoredV(const ImVec4 col,const char* fmt,va_list args)
+{
+ return ImGui::TextColoredV(col,fmt,args);
+}
+CIMGUI_API void igTextDisabled(const char* fmt,...)
+{
+ va_list args;
+ va_start(args, fmt);
+ ImGui::TextDisabledV(fmt,args);
+ va_end(args);
+}
+CIMGUI_API void igTextDisabledV(const char* fmt,va_list args)
+{
+ return ImGui::TextDisabledV(fmt,args);
+}
+CIMGUI_API void igTextWrapped(const char* fmt,...)
+{
+ va_list args;
+ va_start(args, fmt);
+ ImGui::TextWrappedV(fmt,args);
+ va_end(args);
+}
+CIMGUI_API void igTextWrappedV(const char* fmt,va_list args)
+{
+ return ImGui::TextWrappedV(fmt,args);
+}
+CIMGUI_API void igLabelText(const char* label,const char* fmt,...)
+{
+ va_list args;
+ va_start(args, fmt);
+ ImGui::LabelTextV(label,fmt,args);
+ va_end(args);
+}
+CIMGUI_API void igLabelTextV(const char* label,const char* fmt,va_list args)
+{
+ return ImGui::LabelTextV(label,fmt,args);
+}
+CIMGUI_API void igBulletText(const char* fmt,...)
+{
+ va_list args;
+ va_start(args, fmt);
+ ImGui::BulletTextV(fmt,args);
+ va_end(args);
+}
+CIMGUI_API void igBulletTextV(const char* fmt,va_list args)
+{
+ return ImGui::BulletTextV(fmt,args);
+}
+CIMGUI_API bool igButton(const char* label,const ImVec2 size)
+{
+ return ImGui::Button(label,size);
+}
+CIMGUI_API bool igSmallButton(const char* label)
+{
+ return ImGui::SmallButton(label);
+}
+CIMGUI_API bool igInvisibleButton(const char* str_id,const ImVec2 size)
+{
+ return ImGui::InvisibleButton(str_id,size);
+}
+CIMGUI_API bool igArrowButton(const char* str_id,ImGuiDir dir)
+{
+ return ImGui::ArrowButton(str_id,dir);
+}
+CIMGUI_API void igImage(ImTextureID user_texture_id,const ImVec2 size,const ImVec2 uv0,const ImVec2 uv1,const ImVec4 tint_col,const ImVec4 border_col)
+{
+ return ImGui::Image(user_texture_id,size,uv0,uv1,tint_col,border_col);
+}
+CIMGUI_API bool igImageButton(ImTextureID user_texture_id,const ImVec2 size,const ImVec2 uv0,const ImVec2 uv1,int frame_padding,const ImVec4 bg_col,const ImVec4 tint_col)
+{
+ return ImGui::ImageButton(user_texture_id,size,uv0,uv1,frame_padding,bg_col,tint_col);
+}
+CIMGUI_API bool igCheckbox(const char* label,bool* v)
+{
+ return ImGui::Checkbox(label,v);
+}
+CIMGUI_API bool igCheckboxFlags(const char* label,unsigned int* flags,unsigned int flags_value)
+{
+ return ImGui::CheckboxFlags(label,flags,flags_value);
+}
+CIMGUI_API bool igRadioButtonBool(const char* label,bool active)
+{
+ return ImGui::RadioButton(label,active);
+}
+CIMGUI_API bool igRadioButtonIntPtr(const char* label,int* v,int v_button)
+{
+ return ImGui::RadioButton(label,v,v_button);
+}
+CIMGUI_API void igProgressBar(float fraction,const ImVec2 size_arg,const char* overlay)
+{
+ return ImGui::ProgressBar(fraction,size_arg,overlay);
+}
+CIMGUI_API void igBullet()
+{
+ return ImGui::Bullet();
+}
+CIMGUI_API bool igBeginCombo(const char* label,const char* preview_value,ImGuiComboFlags flags)
+{
+ return ImGui::BeginCombo(label,preview_value,flags);
+}
+CIMGUI_API void igEndCombo()
+{
+ return ImGui::EndCombo();
+}
+CIMGUI_API bool igCombo(const char* label,int* current_item,const char* const items[],int items_count,int popup_max_height_in_items)
+{
+ return ImGui::Combo(label,current_item,items,items_count,popup_max_height_in_items);
+}
+CIMGUI_API bool igComboStr(const char* label,int* current_item,const char* items_separated_by_zeros,int popup_max_height_in_items)
+{
+ return ImGui::Combo(label,current_item,items_separated_by_zeros,popup_max_height_in_items);
+}
+CIMGUI_API bool igComboFnPtr(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int popup_max_height_in_items)
+{
+ return ImGui::Combo(label,current_item,items_getter,data,items_count,popup_max_height_in_items);
+}
+CIMGUI_API bool igDragFloat(const char* label,float* v,float v_speed,float v_min,float v_max,const char* format,float power)
+{
+ return ImGui::DragFloat(label,v,v_speed,v_min,v_max,format,power);
+}
+CIMGUI_API bool igDragFloat2(const char* label,float v[2],float v_speed,float v_min,float v_max,const char* format,float power)
+{
+ return ImGui::DragFloat2(label,v,v_speed,v_min,v_max,format,power);
+}
+CIMGUI_API bool igDragFloat3(const char* label,float v[3],float v_speed,float v_min,float v_max,const char* format,float power)
+{
+ return ImGui::DragFloat3(label,v,v_speed,v_min,v_max,format,power);
+}
+CIMGUI_API bool igDragFloat4(const char* label,float v[4],float v_speed,float v_min,float v_max,const char* format,float power)
+{
+ return ImGui::DragFloat4(label,v,v_speed,v_min,v_max,format,power);
+}
+CIMGUI_API bool igDragFloatRange2(const char* label,float* v_current_min,float* v_current_max,float v_speed,float v_min,float v_max,const char* format,const char* format_max,float power)
+{
+ return ImGui::DragFloatRange2(label,v_current_min,v_current_max,v_speed,v_min,v_max,format,format_max,power);
+}
+CIMGUI_API bool igDragInt(const char* label,int* v,float v_speed,int v_min,int v_max,const char* format)
+{
+ return ImGui::DragInt(label,v,v_speed,v_min,v_max,format);
+}
+CIMGUI_API bool igDragInt2(const char* label,int v[2],float v_speed,int v_min,int v_max,const char* format)
+{
+ return ImGui::DragInt2(label,v,v_speed,v_min,v_max,format);
+}
+CIMGUI_API bool igDragInt3(const char* label,int v[3],float v_speed,int v_min,int v_max,const char* format)
+{
+ return ImGui::DragInt3(label,v,v_speed,v_min,v_max,format);
+}
+CIMGUI_API bool igDragInt4(const char* label,int v[4],float v_speed,int v_min,int v_max,const char* format)
+{
+ return ImGui::DragInt4(label,v,v_speed,v_min,v_max,format);
+}
+CIMGUI_API bool igDragIntRange2(const char* label,int* v_current_min,int* v_current_max,float v_speed,int v_min,int v_max,const char* format,const char* format_max)
+{
+ return ImGui::DragIntRange2(label,v_current_min,v_current_max,v_speed,v_min,v_max,format,format_max);
+}
+CIMGUI_API bool igDragScalar(const char* label,ImGuiDataType data_type,void* v,float v_speed,const void* v_min,const void* v_max,const char* format,float power)
+{
+ return ImGui::DragScalar(label,data_type,v,v_speed,v_min,v_max,format,power);
+}
+CIMGUI_API bool igDragScalarN(const char* label,ImGuiDataType data_type,void* v,int components,float v_speed,const void* v_min,const void* v_max,const char* format,float power)
+{
+ return ImGui::DragScalarN(label,data_type,v,components,v_speed,v_min,v_max,format,power);
+}
+CIMGUI_API bool igSliderFloat(const char* label,float* v,float v_min,float v_max,const char* format,float power)
+{
+ return ImGui::SliderFloat(label,v,v_min,v_max,format,power);
+}
+CIMGUI_API bool igSliderFloat2(const char* label,float v[2],float v_min,float v_max,const char* format,float power)
+{
+ return ImGui::SliderFloat2(label,v,v_min,v_max,format,power);
+}
+CIMGUI_API bool igSliderFloat3(const char* label,float v[3],float v_min,float v_max,const char* format,float power)
+{
+ return ImGui::SliderFloat3(label,v,v_min,v_max,format,power);
+}
+CIMGUI_API bool igSliderFloat4(const char* label,float v[4],float v_min,float v_max,const char* format,float power)
+{
+ return ImGui::SliderFloat4(label,v,v_min,v_max,format,power);
+}
+CIMGUI_API bool igSliderAngle(const char* label,float* v_rad,float v_degrees_min,float v_degrees_max,const char* format)
+{
+ return ImGui::SliderAngle(label,v_rad,v_degrees_min,v_degrees_max,format);
+}
+CIMGUI_API bool igSliderInt(const char* label,int* v,int v_min,int v_max,const char* format)
+{
+ return ImGui::SliderInt(label,v,v_min,v_max,format);
+}
+CIMGUI_API bool igSliderInt2(const char* label,int v[2],int v_min,int v_max,const char* format)
+{
+ return ImGui::SliderInt2(label,v,v_min,v_max,format);
+}
+CIMGUI_API bool igSliderInt3(const char* label,int v[3],int v_min,int v_max,const char* format)
+{
+ return ImGui::SliderInt3(label,v,v_min,v_max,format);
+}
+CIMGUI_API bool igSliderInt4(const char* label,int v[4],int v_min,int v_max,const char* format)
+{
+ return ImGui::SliderInt4(label,v,v_min,v_max,format);
+}
+CIMGUI_API bool igSliderScalar(const char* label,ImGuiDataType data_type,void* v,const void* v_min,const void* v_max,const char* format,float power)
+{
+ return ImGui::SliderScalar(label,data_type,v,v_min,v_max,format,power);
+}
+CIMGUI_API bool igSliderScalarN(const char* label,ImGuiDataType data_type,void* v,int components,const void* v_min,const void* v_max,const char* format,float power)
+{
+ return ImGui::SliderScalarN(label,data_type,v,components,v_min,v_max,format,power);
+}
+CIMGUI_API bool igVSliderFloat(const char* label,const ImVec2 size,float* v,float v_min,float v_max,const char* format,float power)
+{
+ return ImGui::VSliderFloat(label,size,v,v_min,v_max,format,power);
+}
+CIMGUI_API bool igVSliderInt(const char* label,const ImVec2 size,int* v,int v_min,int v_max,const char* format)
+{
+ return ImGui::VSliderInt(label,size,v,v_min,v_max,format);
+}
+CIMGUI_API bool igVSliderScalar(const char* label,const ImVec2 size,ImGuiDataType data_type,void* v,const void* v_min,const void* v_max,const char* format,float power)
+{
+ return ImGui::VSliderScalar(label,size,data_type,v,v_min,v_max,format,power);
+}
+CIMGUI_API bool igInputText(const char* label,char* buf,size_t buf_size,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data)
+{
+ return ImGui::InputText(label,buf,buf_size,flags,callback,user_data);
+}
+CIMGUI_API bool igInputTextMultiline(const char* label,char* buf,size_t buf_size,const ImVec2 size,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data)
+{
+ return ImGui::InputTextMultiline(label,buf,buf_size,size,flags,callback,user_data);
+}
+CIMGUI_API bool igInputTextWithHint(const char* label,const char* hint,char* buf,size_t buf_size,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data)
+{
+ return ImGui::InputTextWithHint(label,hint,buf,buf_size,flags,callback,user_data);
+}
+CIMGUI_API bool igInputFloat(const char* label,float* v,float step,float step_fast,const char* format,ImGuiInputTextFlags flags)
+{
+ return ImGui::InputFloat(label,v,step,step_fast,format,flags);
+}
+CIMGUI_API bool igInputFloat2(const char* label,float v[2],const char* format,ImGuiInputTextFlags flags)
+{
+ return ImGui::InputFloat2(label,v,format,flags);
+}
+CIMGUI_API bool igInputFloat3(const char* label,float v[3],const char* format,ImGuiInputTextFlags flags)
+{
+ return ImGui::InputFloat3(label,v,format,flags);
+}
+CIMGUI_API bool igInputFloat4(const char* label,float v[4],const char* format,ImGuiInputTextFlags flags)
+{
+ return ImGui::InputFloat4(label,v,format,flags);
+}
+CIMGUI_API bool igInputInt(const char* label,int* v,int step,int step_fast,ImGuiInputTextFlags flags)
+{
+ return ImGui::InputInt(label,v,step,step_fast,flags);
+}
+CIMGUI_API bool igInputInt2(const char* label,int v[2],ImGuiInputTextFlags flags)
+{
+ return ImGui::InputInt2(label,v,flags);
+}
+CIMGUI_API bool igInputInt3(const char* label,int v[3],ImGuiInputTextFlags flags)
+{
+ return ImGui::InputInt3(label,v,flags);
+}
+CIMGUI_API bool igInputInt4(const char* label,int v[4],ImGuiInputTextFlags flags)
+{
+ return ImGui::InputInt4(label,v,flags);
+}
+CIMGUI_API bool igInputDouble(const char* label,double* v,double step,double step_fast,const char* format,ImGuiInputTextFlags flags)
+{
+ return ImGui::InputDouble(label,v,step,step_fast,format,flags);
+}
+CIMGUI_API bool igInputScalar(const char* label,ImGuiDataType data_type,void* v,const void* step,const void* step_fast,const char* format,ImGuiInputTextFlags flags)
+{
+ return ImGui::InputScalar(label,data_type,v,step,step_fast,format,flags);
+}
+CIMGUI_API bool igInputScalarN(const char* label,ImGuiDataType data_type,void* v,int components,const void* step,const void* step_fast,const char* format,ImGuiInputTextFlags flags)
+{
+ return ImGui::InputScalarN(label,data_type,v,components,step,step_fast,format,flags);
+}
+CIMGUI_API bool igColorEdit3(const char* label,float col[3],ImGuiColorEditFlags flags)
+{
+ return ImGui::ColorEdit3(label,col,flags);
+}
+CIMGUI_API bool igColorEdit4(const char* label,float col[4],ImGuiColorEditFlags flags)
+{
+ return ImGui::ColorEdit4(label,col,flags);
+}
+CIMGUI_API bool igColorPicker3(const char* label,float col[3],ImGuiColorEditFlags flags)
+{
+ return ImGui::ColorPicker3(label,col,flags);
+}
+CIMGUI_API bool igColorPicker4(const char* label,float col[4],ImGuiColorEditFlags flags,const float* ref_col)
+{
+ return ImGui::ColorPicker4(label,col,flags,ref_col);
+}
+CIMGUI_API bool igColorButton(const char* desc_id,const ImVec4 col,ImGuiColorEditFlags flags,ImVec2 size)
+{
+ return ImGui::ColorButton(desc_id,col,flags,size);
+}
+CIMGUI_API void igSetColorEditOptions(ImGuiColorEditFlags flags)
+{
+ return ImGui::SetColorEditOptions(flags);
+}
+CIMGUI_API bool igTreeNodeStr(const char* label)
+{
+ return ImGui::TreeNode(label);
+}
+CIMGUI_API bool igTreeNodeStrStr(const char* str_id,const char* fmt,...)
+{
+ va_list args;
+ va_start(args, fmt);
+ bool ret = ImGui::TreeNodeV(str_id,fmt,args);
+ va_end(args);
+ return ret;
+}
+CIMGUI_API bool igTreeNodePtr(const void* ptr_id,const char* fmt,...)
+{
+ va_list args;
+ va_start(args, fmt);
+ bool ret = ImGui::TreeNodeV(ptr_id,fmt,args);
+ va_end(args);
+ return ret;
+}
+CIMGUI_API bool igTreeNodeVStr(const char* str_id,const char* fmt,va_list args)
+{
+ return ImGui::TreeNodeV(str_id,fmt,args);
+}
+CIMGUI_API bool igTreeNodeVPtr(const void* ptr_id,const char* fmt,va_list args)
+{
+ return ImGui::TreeNodeV(ptr_id,fmt,args);
+}
+CIMGUI_API bool igTreeNodeExStr(const char* label,ImGuiTreeNodeFlags flags)
+{
+ return ImGui::TreeNodeEx(label,flags);
+}
+CIMGUI_API bool igTreeNodeExStrStr(const char* str_id,ImGuiTreeNodeFlags flags,const char* fmt,...)
+{
+ va_list args;
+ va_start(args, fmt);
+ bool ret = ImGui::TreeNodeExV(str_id,flags,fmt,args);
+ va_end(args);
+ return ret;
+}
+CIMGUI_API bool igTreeNodeExPtr(const void* ptr_id,ImGuiTreeNodeFlags flags,const char* fmt,...)
+{
+ va_list args;
+ va_start(args, fmt);
+ bool ret = ImGui::TreeNodeExV(ptr_id,flags,fmt,args);
+ va_end(args);
+ return ret;
+}
+CIMGUI_API bool igTreeNodeExVStr(const char* str_id,ImGuiTreeNodeFlags flags,const char* fmt,va_list args)
+{
+ return ImGui::TreeNodeExV(str_id,flags,fmt,args);
+}
+CIMGUI_API bool igTreeNodeExVPtr(const void* ptr_id,ImGuiTreeNodeFlags flags,const char* fmt,va_list args)
+{
+ return ImGui::TreeNodeExV(ptr_id,flags,fmt,args);
+}
+CIMGUI_API void igTreePushStr(const char* str_id)
+{
+ return ImGui::TreePush(str_id);
+}
+CIMGUI_API void igTreePushPtr(const void* ptr_id)
+{
+ return ImGui::TreePush(ptr_id);
+}
+CIMGUI_API void igTreePop()
+{
+ return ImGui::TreePop();
+}
+CIMGUI_API float igGetTreeNodeToLabelSpacing()
+{
+ return ImGui::GetTreeNodeToLabelSpacing();
+}
+CIMGUI_API bool igCollapsingHeader(const char* label,ImGuiTreeNodeFlags flags)
+{
+ return ImGui::CollapsingHeader(label,flags);
+}
+CIMGUI_API bool igCollapsingHeaderBoolPtr(const char* label,bool* p_open,ImGuiTreeNodeFlags flags)
+{
+ return ImGui::CollapsingHeader(label,p_open,flags);
+}
+CIMGUI_API void igSetNextItemOpen(bool is_open,ImGuiCond cond)
+{
+ return ImGui::SetNextItemOpen(is_open,cond);
+}
+CIMGUI_API bool igSelectable(const char* label,bool selected,ImGuiSelectableFlags flags,const ImVec2 size)
+{
+ return ImGui::Selectable(label,selected,flags,size);
+}
+CIMGUI_API bool igSelectableBoolPtr(const char* label,bool* p_selected,ImGuiSelectableFlags flags,const ImVec2 size)
+{
+ return ImGui::Selectable(label,p_selected,flags,size);
+}
+CIMGUI_API bool igListBoxStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int height_in_items)
+{
+ return ImGui::ListBox(label,current_item,items,items_count,height_in_items);
+}
+CIMGUI_API bool igListBoxFnPtr(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int height_in_items)
+{
+ return ImGui::ListBox(label,current_item,items_getter,data,items_count,height_in_items);
+}
+CIMGUI_API bool igListBoxHeaderVec2(const char* label,const ImVec2 size)
+{
+ return ImGui::ListBoxHeader(label,size);
+}
+CIMGUI_API bool igListBoxHeaderInt(const char* label,int items_count,int height_in_items)
+{
+ return ImGui::ListBoxHeader(label,items_count,height_in_items);
+}
+CIMGUI_API void igListBoxFooter()
+{
+ return ImGui::ListBoxFooter();
+}
+CIMGUI_API void igPlotLines(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride)
+{
+ return ImGui::PlotLines(label,values,values_count,values_offset,overlay_text,scale_min,scale_max,graph_size,stride);
+}
+CIMGUI_API void igPlotLinesFnPtr(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size)
+{
+ return ImGui::PlotLines(label,values_getter,data,values_count,values_offset,overlay_text,scale_min,scale_max,graph_size);
+}
+CIMGUI_API void igPlotHistogramFloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride)
+{
+ return ImGui::PlotHistogram(label,values,values_count,values_offset,overlay_text,scale_min,scale_max,graph_size,stride);
+}
+CIMGUI_API void igPlotHistogramFnPtr(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size)
+{
+ return ImGui::PlotHistogram(label,values_getter,data,values_count,values_offset,overlay_text,scale_min,scale_max,graph_size);
+}
+CIMGUI_API void igValueBool(const char* prefix,bool b)
+{
+ return ImGui::Value(prefix,b);
+}
+CIMGUI_API void igValueInt(const char* prefix,int v)
+{
+ return ImGui::Value(prefix,v);
+}
+CIMGUI_API void igValueUint(const char* prefix,unsigned int v)
+{
+ return ImGui::Value(prefix,v);
+}
+CIMGUI_API void igValueFloat(const char* prefix,float v,const char* float_format)
+{
+ return ImGui::Value(prefix,v,float_format);
+}
+CIMGUI_API bool igBeginMainMenuBar()
+{
+ return ImGui::BeginMainMenuBar();
+}
+CIMGUI_API void igEndMainMenuBar()
+{
+ return ImGui::EndMainMenuBar();
+}
+CIMGUI_API bool igBeginMenuBar()
+{
+ return ImGui::BeginMenuBar();
+}
+CIMGUI_API void igEndMenuBar()
+{
+ return ImGui::EndMenuBar();
+}
+CIMGUI_API bool igBeginMenu(const char* label,bool enabled)
+{
+ return ImGui::BeginMenu(label,enabled);
+}
+CIMGUI_API void igEndMenu()
+{
+ return ImGui::EndMenu();
+}
+CIMGUI_API bool igMenuItemBool(const char* label,const char* shortcut,bool selected,bool enabled)
+{
+ return ImGui::MenuItem(label,shortcut,selected,enabled);
+}
+CIMGUI_API bool igMenuItemBoolPtr(const char* label,const char* shortcut,bool* p_selected,bool enabled)
+{
+ return ImGui::MenuItem(label,shortcut,p_selected,enabled);
+}
+CIMGUI_API void igBeginTooltip()
+{
+ return ImGui::BeginTooltip();
+}
+CIMGUI_API void igEndTooltip()
+{
+ return ImGui::EndTooltip();
+}
+CIMGUI_API void igSetTooltip(const char* fmt,...)
+{
+ va_list args;
+ va_start(args, fmt);
+ ImGui::SetTooltipV(fmt,args);
+ va_end(args);
+}
+CIMGUI_API void igSetTooltipV(const char* fmt,va_list args)
+{
+ return ImGui::SetTooltipV(fmt,args);
+}
+CIMGUI_API void igOpenPopup(const char* str_id)
+{
+ return ImGui::OpenPopup(str_id);
+}
+CIMGUI_API bool igBeginPopup(const char* str_id,ImGuiWindowFlags flags)
+{
+ return ImGui::BeginPopup(str_id,flags);
+}
+CIMGUI_API bool igBeginPopupContextItem(const char* str_id,int mouse_button)
+{
+ return ImGui::BeginPopupContextItem(str_id,mouse_button);
+}
+CIMGUI_API bool igBeginPopupContextWindow(const char* str_id,int mouse_button,bool also_over_items)
+{
+ return ImGui::BeginPopupContextWindow(str_id,mouse_button,also_over_items);
+}
+CIMGUI_API bool igBeginPopupContextVoid(const char* str_id,int mouse_button)
+{
+ return ImGui::BeginPopupContextVoid(str_id,mouse_button);
+}
+CIMGUI_API bool igBeginPopupModal(const char* name,bool* p_open,ImGuiWindowFlags flags)
+{
+ return ImGui::BeginPopupModal(name,p_open,flags);
+}
+CIMGUI_API void igEndPopup()
+{
+ return ImGui::EndPopup();
+}
+CIMGUI_API bool igOpenPopupOnItemClick(const char* str_id,int mouse_button)
+{
+ return ImGui::OpenPopupOnItemClick(str_id,mouse_button);
+}
+CIMGUI_API bool igIsPopupOpen(const char* str_id)
+{
+ return ImGui::IsPopupOpen(str_id);
+}
+CIMGUI_API void igCloseCurrentPopup()
+{
+ return ImGui::CloseCurrentPopup();
+}
+CIMGUI_API void igColumns(int count,const char* id,bool border)
+{
+ return ImGui::Columns(count,id,border);
+}
+CIMGUI_API void igNextColumn()
+{
+ return ImGui::NextColumn();
+}
+CIMGUI_API int igGetColumnIndex()
+{
+ return ImGui::GetColumnIndex();
+}
+CIMGUI_API float igGetColumnWidth(int column_index)
+{
+ return ImGui::GetColumnWidth(column_index);
+}
+CIMGUI_API void igSetColumnWidth(int column_index,float width)
+{
+ return ImGui::SetColumnWidth(column_index,width);
+}
+CIMGUI_API float igGetColumnOffset(int column_index)
+{
+ return ImGui::GetColumnOffset(column_index);
+}
+CIMGUI_API void igSetColumnOffset(int column_index,float offset_x)
+{
+ return ImGui::SetColumnOffset(column_index,offset_x);
+}
+CIMGUI_API int igGetColumnsCount()
+{
+ return ImGui::GetColumnsCount();
+}
+CIMGUI_API bool igBeginTabBar(const char* str_id,ImGuiTabBarFlags flags)
+{
+ return ImGui::BeginTabBar(str_id,flags);
+}
+CIMGUI_API void igEndTabBar()
+{
+ return ImGui::EndTabBar();
+}
+CIMGUI_API bool igBeginTabItem(const char* label,bool* p_open,ImGuiTabItemFlags flags)
+{
+ return ImGui::BeginTabItem(label,p_open,flags);
+}
+CIMGUI_API void igEndTabItem()
+{
+ return ImGui::EndTabItem();
+}
+CIMGUI_API void igSetTabItemClosed(const char* tab_or_docked_window_label)
+{
+ return ImGui::SetTabItemClosed(tab_or_docked_window_label);
+}
+CIMGUI_API void igDockSpace(ImGuiID id,const ImVec2 size,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class)
+{
+ return ImGui::DockSpace(id,size,flags,window_class);
+}
+CIMGUI_API ImGuiID igDockSpaceOverViewport(ImGuiViewport* viewport,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class)
+{
+ return ImGui::DockSpaceOverViewport(viewport,flags,window_class);
+}
+CIMGUI_API void igSetNextWindowDockID(ImGuiID dock_id,ImGuiCond cond)
+{
+ return ImGui::SetNextWindowDockID(dock_id,cond);
+}
+CIMGUI_API void igSetNextWindowClass(const ImGuiWindowClass* window_class)
+{
+ return ImGui::SetNextWindowClass(window_class);
+}
+CIMGUI_API ImGuiID igGetWindowDockID()
+{
+ return ImGui::GetWindowDockID();
+}
+CIMGUI_API bool igIsWindowDocked()
+{
+ return ImGui::IsWindowDocked();
+}
+CIMGUI_API void igLogToTTY(int auto_open_depth)
+{
+ return ImGui::LogToTTY(auto_open_depth);
+}
+CIMGUI_API void igLogToFile(int auto_open_depth,const char* filename)
+{
+ return ImGui::LogToFile(auto_open_depth,filename);
+}
+CIMGUI_API void igLogToClipboard(int auto_open_depth)
+{
+ return ImGui::LogToClipboard(auto_open_depth);
+}
+CIMGUI_API void igLogFinish()
+{
+ return ImGui::LogFinish();
+}
+CIMGUI_API void igLogButtons()
+{
+ return ImGui::LogButtons();
+}
+CIMGUI_API bool igBeginDragDropSource(ImGuiDragDropFlags flags)
+{
+ return ImGui::BeginDragDropSource(flags);
+}
+CIMGUI_API bool igSetDragDropPayload(const char* type,const void* data,size_t sz,ImGuiCond cond)
+{
+ return ImGui::SetDragDropPayload(type,data,sz,cond);
+}
+CIMGUI_API void igEndDragDropSource()
+{
+ return ImGui::EndDragDropSource();
+}
+CIMGUI_API bool igBeginDragDropTarget()
+{
+ return ImGui::BeginDragDropTarget();
+}
+CIMGUI_API const ImGuiPayload* igAcceptDragDropPayload(const char* type,ImGuiDragDropFlags flags)
+{
+ return ImGui::AcceptDragDropPayload(type,flags);
+}
+CIMGUI_API void igEndDragDropTarget()
+{
+ return ImGui::EndDragDropTarget();
+}
+CIMGUI_API const ImGuiPayload* igGetDragDropPayload()
+{
+ return ImGui::GetDragDropPayload();
+}
+CIMGUI_API void igPushClipRect(const ImVec2 clip_rect_min,const ImVec2 clip_rect_max,bool intersect_with_current_clip_rect)
+{
+ return ImGui::PushClipRect(clip_rect_min,clip_rect_max,intersect_with_current_clip_rect);
+}
+CIMGUI_API void igPopClipRect()
+{
+ return ImGui::PopClipRect();
+}
+CIMGUI_API void igSetItemDefaultFocus()
+{
+ return ImGui::SetItemDefaultFocus();
+}
+CIMGUI_API void igSetKeyboardFocusHere(int offset)
+{
+ return ImGui::SetKeyboardFocusHere(offset);
+}
+CIMGUI_API bool igIsItemHovered(ImGuiHoveredFlags flags)
+{
+ return ImGui::IsItemHovered(flags);
+}
+CIMGUI_API bool igIsItemActive()
+{
+ return ImGui::IsItemActive();
+}
+CIMGUI_API bool igIsItemFocused()
+{
+ return ImGui::IsItemFocused();
+}
+CIMGUI_API bool igIsItemClicked(int mouse_button)
+{
+ return ImGui::IsItemClicked(mouse_button);
+}
+CIMGUI_API bool igIsItemVisible()
+{
+ return ImGui::IsItemVisible();
+}
+CIMGUI_API bool igIsItemEdited()
+{
+ return ImGui::IsItemEdited();
+}
+CIMGUI_API bool igIsItemActivated()
+{
+ return ImGui::IsItemActivated();
+}
+CIMGUI_API bool igIsItemDeactivated()
+{
+ return ImGui::IsItemDeactivated();
+}
+CIMGUI_API bool igIsItemDeactivatedAfterEdit()
+{
+ return ImGui::IsItemDeactivatedAfterEdit();
+}
+CIMGUI_API bool igIsAnyItemHovered()
+{
+ return ImGui::IsAnyItemHovered();
+}
+CIMGUI_API bool igIsAnyItemActive()
+{
+ return ImGui::IsAnyItemActive();
+}
+CIMGUI_API bool igIsAnyItemFocused()
+{
+ return ImGui::IsAnyItemFocused();
+}
+CIMGUI_API ImVec2 igGetItemRectMin()
+{
+ return ImGui::GetItemRectMin();
+}
+CIMGUI_API ImVec2 igGetItemRectMax()
+{
+ return ImGui::GetItemRectMax();
+}
+CIMGUI_API ImVec2 igGetItemRectSize()
+{
+ return ImGui::GetItemRectSize();
+}
+CIMGUI_API void igSetItemAllowOverlap()
+{
+ return ImGui::SetItemAllowOverlap();
+}
+CIMGUI_API bool igIsRectVisible(const ImVec2 size)
+{
+ return ImGui::IsRectVisible(size);
+}
+CIMGUI_API bool igIsRectVisibleVec2(const ImVec2 rect_min,const ImVec2 rect_max)
+{
+ return ImGui::IsRectVisible(rect_min,rect_max);
+}
+CIMGUI_API double igGetTime()
+{
+ return ImGui::GetTime();
+}
+CIMGUI_API int igGetFrameCount()
+{
+ return ImGui::GetFrameCount();
+}
+CIMGUI_API ImDrawList* igGetBackgroundDrawList()
+{
+ return ImGui::GetBackgroundDrawList();
+}
+CIMGUI_API ImDrawList* igGetForegroundDrawList()
+{
+ return ImGui::GetForegroundDrawList();
+}
+CIMGUI_API ImDrawList* igGetBackgroundDrawListViewportPtr(ImGuiViewport* viewport)
+{
+ return ImGui::GetBackgroundDrawList(viewport);
+}
+CIMGUI_API ImDrawList* igGetForegroundDrawListViewportPtr(ImGuiViewport* viewport)
+{
+ return ImGui::GetForegroundDrawList(viewport);
+}
+CIMGUI_API ImDrawListSharedData* igGetDrawListSharedData()
+{
+ return ImGui::GetDrawListSharedData();
+}
+CIMGUI_API const char* igGetStyleColorName(ImGuiCol idx)
+{
+ return ImGui::GetStyleColorName(idx);
+}
+CIMGUI_API void igSetStateStorage(ImGuiStorage* storage)
+{
+ return ImGui::SetStateStorage(storage);
+}
+CIMGUI_API ImGuiStorage* igGetStateStorage()
+{
+ return ImGui::GetStateStorage();
+}
+CIMGUI_API ImVec2 igCalcTextSize(const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width)
+{
+ return ImGui::CalcTextSize(text,text_end,hide_text_after_double_hash,wrap_width);
+}
+CIMGUI_API void igCalcListClipping(int items_count,float items_height,int* out_items_display_start,int* out_items_display_end)
+{
+ return ImGui::CalcListClipping(items_count,items_height,out_items_display_start,out_items_display_end);
+}
+CIMGUI_API bool igBeginChildFrame(ImGuiID id,const ImVec2 size,ImGuiWindowFlags flags)
+{
+ return ImGui::BeginChildFrame(id,size,flags);
+}
+CIMGUI_API void igEndChildFrame()
+{
+ return ImGui::EndChildFrame();
+}
+CIMGUI_API ImVec4 igColorConvertU32ToFloat4(ImU32 in)
+{
+ return ImGui::ColorConvertU32ToFloat4(in);
+}
+CIMGUI_API ImU32 igColorConvertFloat4ToU32(const ImVec4 in)
+{
+ return ImGui::ColorConvertFloat4ToU32(in);
+}
+CIMGUI_API int igGetKeyIndex(ImGuiKey imgui_key)
+{
+ return ImGui::GetKeyIndex(imgui_key);
+}
+CIMGUI_API bool igIsKeyDown(int user_key_index)
+{
+ return ImGui::IsKeyDown(user_key_index);
+}
+CIMGUI_API bool igIsKeyPressed(int user_key_index,bool repeat)
+{
+ return ImGui::IsKeyPressed(user_key_index,repeat);
+}
+CIMGUI_API bool igIsKeyReleased(int user_key_index)
+{
+ return ImGui::IsKeyReleased(user_key_index);
+}
+CIMGUI_API int igGetKeyPressedAmount(int key_index,float repeat_delay,float rate)
+{
+ return ImGui::GetKeyPressedAmount(key_index,repeat_delay,rate);
+}
+CIMGUI_API bool igIsMouseDown(int button)
+{
+ return ImGui::IsMouseDown(button);
+}
+CIMGUI_API bool igIsAnyMouseDown()
+{
+ return ImGui::IsAnyMouseDown();
+}
+CIMGUI_API bool igIsMouseClicked(int button,bool repeat)
+{
+ return ImGui::IsMouseClicked(button,repeat);
+}
+CIMGUI_API bool igIsMouseDoubleClicked(int button)
+{
+ return ImGui::IsMouseDoubleClicked(button);
+}
+CIMGUI_API bool igIsMouseReleased(int button)
+{
+ return ImGui::IsMouseReleased(button);
+}
+CIMGUI_API bool igIsMouseDragging(int button,float lock_threshold)
+{
+ return ImGui::IsMouseDragging(button,lock_threshold);
+}
+CIMGUI_API bool igIsMouseHoveringRect(const ImVec2 r_min,const ImVec2 r_max,bool clip)
+{
+ return ImGui::IsMouseHoveringRect(r_min,r_max,clip);
+}
+CIMGUI_API bool igIsMousePosValid(const ImVec2* mouse_pos)
+{
+ return ImGui::IsMousePosValid(mouse_pos);
+}
+CIMGUI_API ImVec2 igGetMousePos()
+{
+ return ImGui::GetMousePos();
+}
+CIMGUI_API ImVec2 igGetMousePosOnOpeningCurrentPopup()
+{
+ return ImGui::GetMousePosOnOpeningCurrentPopup();
+}
+CIMGUI_API ImVec2 igGetMouseDragDelta(int button,float lock_threshold)
+{
+ return ImGui::GetMouseDragDelta(button,lock_threshold);
+}
+CIMGUI_API void igResetMouseDragDelta(int button)
+{
+ return ImGui::ResetMouseDragDelta(button);
+}
+CIMGUI_API ImGuiMouseCursor igGetMouseCursor()
+{
+ return ImGui::GetMouseCursor();
+}
+CIMGUI_API void igSetMouseCursor(ImGuiMouseCursor type)
+{
+ return ImGui::SetMouseCursor(type);
+}
+CIMGUI_API void igCaptureKeyboardFromApp(bool want_capture_keyboard_value)
+{
+ return ImGui::CaptureKeyboardFromApp(want_capture_keyboard_value);
+}
+CIMGUI_API void igCaptureMouseFromApp(bool want_capture_mouse_value)
+{
+ return ImGui::CaptureMouseFromApp(want_capture_mouse_value);
+}
+CIMGUI_API const char* igGetClipboardText()
+{
+ return ImGui::GetClipboardText();
+}
+CIMGUI_API void igSetClipboardText(const char* text)
+{
+ return ImGui::SetClipboardText(text);
+}
+CIMGUI_API void igLoadIniSettingsFromDisk(const char* ini_filename)
+{
+ return ImGui::LoadIniSettingsFromDisk(ini_filename);
+}
+CIMGUI_API void igLoadIniSettingsFromMemory(const char* ini_data,size_t ini_size)
+{
+ return ImGui::LoadIniSettingsFromMemory(ini_data,ini_size);
+}
+CIMGUI_API void igSaveIniSettingsToDisk(const char* ini_filename)
+{
+ return ImGui::SaveIniSettingsToDisk(ini_filename);
+}
+CIMGUI_API const char* igSaveIniSettingsToMemory(size_t* out_ini_size)
+{
+ return ImGui::SaveIniSettingsToMemory(out_ini_size);
+}
+CIMGUI_API void igSetAllocatorFunctions(void*(*alloc_func)(size_t sz,void* user_data),void(*free_func)(void* ptr,void* user_data),void* user_data)
+{
+ return ImGui::SetAllocatorFunctions(alloc_func,free_func,user_data);
+}
+CIMGUI_API void* igMemAlloc(size_t size)
+{
+ return ImGui::MemAlloc(size);
+}
+CIMGUI_API void igMemFree(void* ptr)
+{
+ return ImGui::MemFree(ptr);
+}
+CIMGUI_API ImGuiPlatformIO* igGetPlatformIO()
+{
+ return &ImGui::GetPlatformIO();
+}
+CIMGUI_API ImGuiViewport* igGetMainViewport()
+{
+ return ImGui::GetMainViewport();
+}
+CIMGUI_API void igUpdatePlatformWindows()
+{
+ return ImGui::UpdatePlatformWindows();
+}
+CIMGUI_API void igRenderPlatformWindowsDefault(void* platform_arg,void* renderer_arg)
+{
+ return ImGui::RenderPlatformWindowsDefault(platform_arg,renderer_arg);
+}
+CIMGUI_API void igDestroyPlatformWindows()
+{
+ return ImGui::DestroyPlatformWindows();
+}
+CIMGUI_API ImGuiViewport* igFindViewportByID(ImGuiID id)
+{
+ return ImGui::FindViewportByID(id);
+}
+CIMGUI_API ImGuiViewport* igFindViewportByPlatformHandle(void* platform_handle)
+{
+ return ImGui::FindViewportByPlatformHandle(platform_handle);
+}
+CIMGUI_API ImGuiStyle* ImGuiStyle_ImGuiStyle(void)
+{
+ return IM_NEW(ImGuiStyle)();
+}
+CIMGUI_API void ImGuiStyle_destroy(ImGuiStyle* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self,float scale_factor)
+{
+ return self->ScaleAllSizes(scale_factor);
+}
+CIMGUI_API void ImGuiIO_AddInputCharacter(ImGuiIO* self,unsigned int c)
+{
+ return self->AddInputCharacter(c);
+}
+CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self,const char* str)
+{
+ return self->AddInputCharactersUTF8(str);
+}
+CIMGUI_API void ImGuiIO_ClearInputCharacters(ImGuiIO* self)
+{
+ return self->ClearInputCharacters();
+}
+CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void)
+{
+ return IM_NEW(ImGuiIO)();
+}
+CIMGUI_API void ImGuiIO_destroy(ImGuiIO* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API ImGuiInputTextCallbackData* ImGuiInputTextCallbackData_ImGuiInputTextCallbackData(void)
+{
+ return IM_NEW(ImGuiInputTextCallbackData)();
+}
+CIMGUI_API void ImGuiInputTextCallbackData_destroy(ImGuiInputTextCallbackData* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API void ImGuiInputTextCallbackData_DeleteChars(ImGuiInputTextCallbackData* self,int pos,int bytes_count)
+{
+ return self->DeleteChars(pos,bytes_count);
+}
+CIMGUI_API void ImGuiInputTextCallbackData_InsertChars(ImGuiInputTextCallbackData* self,int pos,const char* text,const char* text_end)
+{
+ return self->InsertChars(pos,text,text_end);
+}
+CIMGUI_API bool ImGuiInputTextCallbackData_HasSelection(ImGuiInputTextCallbackData* self)
+{
+ return self->HasSelection();
+}
+CIMGUI_API ImGuiWindowClass* ImGuiWindowClass_ImGuiWindowClass(void)
+{
+ return IM_NEW(ImGuiWindowClass)();
+}
+CIMGUI_API void ImGuiWindowClass_destroy(ImGuiWindowClass* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API ImGuiPayload* ImGuiPayload_ImGuiPayload(void)
+{
+ return IM_NEW(ImGuiPayload)();
+}
+CIMGUI_API void ImGuiPayload_destroy(ImGuiPayload* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self)
+{
+ return self->Clear();
+}
+CIMGUI_API bool ImGuiPayload_IsDataType(ImGuiPayload* self,const char* type)
+{
+ return self->IsDataType(type);
+}
+CIMGUI_API bool ImGuiPayload_IsPreview(ImGuiPayload* self)
+{
+ return self->IsPreview();
+}
+CIMGUI_API bool ImGuiPayload_IsDelivery(ImGuiPayload* self)
+{
+ return self->IsDelivery();
+}
+CIMGUI_API ImGuiOnceUponAFrame* ImGuiOnceUponAFrame_ImGuiOnceUponAFrame(void)
+{
+ return IM_NEW(ImGuiOnceUponAFrame)();
+}
+CIMGUI_API void ImGuiOnceUponAFrame_destroy(ImGuiOnceUponAFrame* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API ImGuiTextFilter* ImGuiTextFilter_ImGuiTextFilter(const char* default_filter)
+{
+ return IM_NEW(ImGuiTextFilter)(default_filter);
+}
+CIMGUI_API void ImGuiTextFilter_destroy(ImGuiTextFilter* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API bool ImGuiTextFilter_Draw(ImGuiTextFilter* self,const char* label,float width)
+{
+ return self->Draw(label,width);
+}
+CIMGUI_API bool ImGuiTextFilter_PassFilter(ImGuiTextFilter* self,const char* text,const char* text_end)
+{
+ return self->PassFilter(text,text_end);
+}
+CIMGUI_API void ImGuiTextFilter_Build(ImGuiTextFilter* self)
+{
+ return self->Build();
+}
+CIMGUI_API void ImGuiTextFilter_Clear(ImGuiTextFilter* self)
+{
+ return self->Clear();
+}
+CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self)
+{
+ return self->IsActive();
+}
+CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRange(void)
+{
+ return IM_NEW(ImGuiTextRange)();
+}
+CIMGUI_API void ImGuiTextRange_destroy(ImGuiTextRange* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRangeStr(const char* _b,const char* _e)
+{
+ return IM_NEW(ImGuiTextRange)(_b,_e);
+}
+CIMGUI_API bool ImGuiTextRange_empty(ImGuiTextRange* self)
+{
+ return self->empty();
+}
+CIMGUI_API void ImGuiTextRange_split(ImGuiTextRange* self,char separator,ImVector_ImGuiTextRange* out)
+{
+ return self->split(separator,out);
+}
+CIMGUI_API ImGuiTextBuffer* ImGuiTextBuffer_ImGuiTextBuffer(void)
+{
+ return IM_NEW(ImGuiTextBuffer)();
+}
+CIMGUI_API void ImGuiTextBuffer_destroy(ImGuiTextBuffer* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API const char* ImGuiTextBuffer_begin(ImGuiTextBuffer* self)
+{
+ return self->begin();
+}
+CIMGUI_API const char* ImGuiTextBuffer_end(ImGuiTextBuffer* self)
+{
+ return self->end();
+}
+CIMGUI_API int ImGuiTextBuffer_size(ImGuiTextBuffer* self)
+{
+ return self->size();
+}
+CIMGUI_API bool ImGuiTextBuffer_empty(ImGuiTextBuffer* self)
+{
+ return self->empty();
+}
+CIMGUI_API void ImGuiTextBuffer_clear(ImGuiTextBuffer* self)
+{
+ return self->clear();
+}
+CIMGUI_API void ImGuiTextBuffer_reserve(ImGuiTextBuffer* self,int capacity)
+{
+ return self->reserve(capacity);
+}
+CIMGUI_API const char* ImGuiTextBuffer_c_str(ImGuiTextBuffer* self)
+{
+ return self->c_str();
+}
+CIMGUI_API void ImGuiTextBuffer_append(ImGuiTextBuffer* self,const char* str,const char* str_end)
+{
+ return self->append(str,str_end);
+}
+CIMGUI_API void ImGuiTextBuffer_appendfv(ImGuiTextBuffer* self,const char* fmt,va_list args)
+{
+ return self->appendfv(fmt,args);
+}
+CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePairInt(ImGuiID _key,int _val_i)
+{
+ return IM_NEW(ImGuiStoragePair)(_key,_val_i);
+}
+CIMGUI_API void ImGuiStoragePair_destroy(ImGuiStoragePair* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePairFloat(ImGuiID _key,float _val_f)
+{
+ return IM_NEW(ImGuiStoragePair)(_key,_val_f);
+}
+CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePairPtr(ImGuiID _key,void* _val_p)
+{
+ return IM_NEW(ImGuiStoragePair)(_key,_val_p);
+}
+CIMGUI_API void ImGuiStorage_Clear(ImGuiStorage* self)
+{
+ return self->Clear();
+}
+CIMGUI_API int ImGuiStorage_GetInt(ImGuiStorage* self,ImGuiID key,int default_val)
+{
+ return self->GetInt(key,default_val);
+}
+CIMGUI_API void ImGuiStorage_SetInt(ImGuiStorage* self,ImGuiID key,int val)
+{
+ return self->SetInt(key,val);
+}
+CIMGUI_API bool ImGuiStorage_GetBool(ImGuiStorage* self,ImGuiID key,bool default_val)
+{
+ return self->GetBool(key,default_val);
+}
+CIMGUI_API void ImGuiStorage_SetBool(ImGuiStorage* self,ImGuiID key,bool val)
+{
+ return self->SetBool(key,val);
+}
+CIMGUI_API float ImGuiStorage_GetFloat(ImGuiStorage* self,ImGuiID key,float default_val)
+{
+ return self->GetFloat(key,default_val);
+}
+CIMGUI_API void ImGuiStorage_SetFloat(ImGuiStorage* self,ImGuiID key,float val)
+{
+ return self->SetFloat(key,val);
+}
+CIMGUI_API void* ImGuiStorage_GetVoidPtr(ImGuiStorage* self,ImGuiID key)
+{
+ return self->GetVoidPtr(key);
+}
+CIMGUI_API void ImGuiStorage_SetVoidPtr(ImGuiStorage* self,ImGuiID key,void* val)
+{
+ return self->SetVoidPtr(key,val);
+}
+CIMGUI_API int* ImGuiStorage_GetIntRef(ImGuiStorage* self,ImGuiID key,int default_val)
+{
+ return self->GetIntRef(key,default_val);
+}
+CIMGUI_API bool* ImGuiStorage_GetBoolRef(ImGuiStorage* self,ImGuiID key,bool default_val)
+{
+ return self->GetBoolRef(key,default_val);
+}
+CIMGUI_API float* ImGuiStorage_GetFloatRef(ImGuiStorage* self,ImGuiID key,float default_val)
+{
+ return self->GetFloatRef(key,default_val);
+}
+CIMGUI_API void** ImGuiStorage_GetVoidPtrRef(ImGuiStorage* self,ImGuiID key,void* default_val)
+{
+ return self->GetVoidPtrRef(key,default_val);
+}
+CIMGUI_API void ImGuiStorage_SetAllInt(ImGuiStorage* self,int val)
+{
+ return self->SetAllInt(val);
+}
+CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self)
+{
+ return self->BuildSortByKey();
+}
+CIMGUI_API ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(int items_count,float items_height)
+{
+ return IM_NEW(ImGuiListClipper)(items_count,items_height);
+}
+CIMGUI_API void ImGuiListClipper_destroy(ImGuiListClipper* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self)
+{
+ return self->Step();
+}
+CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* self,int items_count,float items_height)
+{
+ return self->Begin(items_count,items_height);
+}
+CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self)
+{
+ return self->End();
+}
+CIMGUI_API ImColor* ImColor_ImColor(void)
+{
+ return IM_NEW(ImColor)();
+}
+CIMGUI_API void ImColor_destroy(ImColor* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API ImColor* ImColor_ImColorInt(int r,int g,int b,int a)
+{
+ return IM_NEW(ImColor)(r,g,b,a);
+}
+CIMGUI_API ImColor* ImColor_ImColorU32(ImU32 rgba)
+{
+ return IM_NEW(ImColor)(rgba);
+}
+CIMGUI_API ImColor* ImColor_ImColorFloat(float r,float g,float b,float a)
+{
+ return IM_NEW(ImColor)(r,g,b,a);
+}
+CIMGUI_API ImColor* ImColor_ImColorVec4(const ImVec4 col)
+{
+ return IM_NEW(ImColor)(col);
+}
+CIMGUI_API void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a)
+{
+ return self->SetHSV(h,s,v,a);
+}
+CIMGUI_API ImColor ImColor_HSV(ImColor* self,float h,float s,float v,float a)
+{
+ return self->HSV(h,s,v,a);
+}
+CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void)
+{
+ return IM_NEW(ImDrawCmd)();
+}
+CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API ImDrawListSplitter* ImDrawListSplitter_ImDrawListSplitter(void)
+{
+ return IM_NEW(ImDrawListSplitter)();
+}
+CIMGUI_API void ImDrawListSplitter_destroy(ImDrawListSplitter* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API void ImDrawListSplitter_Clear(ImDrawListSplitter* self)
+{
+ return self->Clear();
+}
+CIMGUI_API void ImDrawListSplitter_ClearFreeMemory(ImDrawListSplitter* self)
+{
+ return self->ClearFreeMemory();
+}
+CIMGUI_API void ImDrawListSplitter_Split(ImDrawListSplitter* self,ImDrawList* draw_list,int count)
+{
+ return self->Split(draw_list,count);
+}
+CIMGUI_API void ImDrawListSplitter_Merge(ImDrawListSplitter* self,ImDrawList* draw_list)
+{
+ return self->Merge(draw_list);
+}
+CIMGUI_API void ImDrawListSplitter_SetCurrentChannel(ImDrawListSplitter* self,ImDrawList* draw_list,int channel_idx)
+{
+ return self->SetCurrentChannel(draw_list,channel_idx);
+}
+CIMGUI_API ImDrawList* ImDrawList_ImDrawList(const ImDrawListSharedData* shared_data)
+{
+ return IM_NEW(ImDrawList)(shared_data);
+}
+CIMGUI_API void ImDrawList_destroy(ImDrawList* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* self,ImVec2 clip_rect_min,ImVec2 clip_rect_max,bool intersect_with_current_clip_rect)
+{
+ return self->PushClipRect(clip_rect_min,clip_rect_max,intersect_with_current_clip_rect);
+}
+CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* self)
+{
+ return self->PushClipRectFullScreen();
+}
+CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* self)
+{
+ return self->PopClipRect();
+}
+CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* self,ImTextureID texture_id)
+{
+ return self->PushTextureID(texture_id);
+}
+CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* self)
+{
+ return self->PopTextureID();
+}
+CIMGUI_API ImVec2 ImDrawList_GetClipRectMin(ImDrawList* self)
+{
+ return self->GetClipRectMin();
+}
+CIMGUI_API ImVec2 ImDrawList_GetClipRectMax(ImDrawList* self)
+{
+ return self->GetClipRectMax();
+}
+CIMGUI_API void ImDrawList_AddLine(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,ImU32 col,float thickness)
+{
+ return self->AddLine(p1,p2,col,thickness);
+}
+CIMGUI_API void ImDrawList_AddRect(ImDrawList* self,const ImVec2 p_min,const ImVec2 p_max,ImU32 col,float rounding,ImDrawCornerFlags rounding_corners,float thickness)
+{
+ return self->AddRect(p_min,p_max,col,rounding,rounding_corners,thickness);
+}
+CIMGUI_API void ImDrawList_AddRectFilled(ImDrawList* self,const ImVec2 p_min,const ImVec2 p_max,ImU32 col,float rounding,ImDrawCornerFlags rounding_corners)
+{
+ return self->AddRectFilled(p_min,p_max,col,rounding,rounding_corners);
+}
+CIMGUI_API void ImDrawList_AddRectFilledMultiColor(ImDrawList* self,const ImVec2 p_min,const ImVec2 p_max,ImU32 col_upr_left,ImU32 col_upr_right,ImU32 col_bot_right,ImU32 col_bot_left)
+{
+ return self->AddRectFilledMultiColor(p_min,p_max,col_upr_left,col_upr_right,col_bot_right,col_bot_left);
+}
+CIMGUI_API void ImDrawList_AddQuad(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,ImU32 col,float thickness)
+{
+ return self->AddQuad(p1,p2,p3,p4,col,thickness);
+}
+CIMGUI_API void ImDrawList_AddQuadFilled(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,ImU32 col)
+{
+ return self->AddQuadFilled(p1,p2,p3,p4,col);
+}
+CIMGUI_API void ImDrawList_AddTriangle(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,ImU32 col,float thickness)
+{
+ return self->AddTriangle(p1,p2,p3,col,thickness);
+}
+CIMGUI_API void ImDrawList_AddTriangleFilled(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,ImU32 col)
+{
+ return self->AddTriangleFilled(p1,p2,p3,col);
+}
+CIMGUI_API void ImDrawList_AddCircle(ImDrawList* self,const ImVec2 center,float radius,ImU32 col,int num_segments,float thickness)
+{
+ return self->AddCircle(center,radius,col,num_segments,thickness);
+}
+CIMGUI_API void ImDrawList_AddCircleFilled(ImDrawList* self,const ImVec2 center,float radius,ImU32 col,int num_segments)
+{
+ return self->AddCircleFilled(center,radius,col,num_segments);
+}
+CIMGUI_API void ImDrawList_AddText(ImDrawList* self,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end)
+{
+ return self->AddText(pos,col,text_begin,text_end);
+}
+CIMGUI_API void ImDrawList_AddTextFontPtr(ImDrawList* self,const ImFont* font,float font_size,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end,float wrap_width,const ImVec4* cpu_fine_clip_rect)
+{
+ return self->AddText(font,font_size,pos,col,text_begin,text_end,wrap_width,cpu_fine_clip_rect);
+}
+CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col,bool closed,float thickness)
+{
+ return self->AddPolyline(points,num_points,col,closed,thickness);
+}
+CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col)
+{
+ return self->AddConvexPolyFilled(points,num_points,col);
+}
+CIMGUI_API void ImDrawList_AddBezierCurve(ImDrawList* self,const ImVec2 pos0,const ImVec2 cp0,const ImVec2 cp1,const ImVec2 pos1,ImU32 col,float thickness,int num_segments)
+{
+ return self->AddBezierCurve(pos0,cp0,cp1,pos1,col,thickness,num_segments);
+}
+CIMGUI_API void ImDrawList_AddImage(ImDrawList* self,ImTextureID user_texture_id,const ImVec2 p_min,const ImVec2 p_max,const ImVec2 uv_min,const ImVec2 uv_max,ImU32 col)
+{
+ return self->AddImage(user_texture_id,p_min,p_max,uv_min,uv_max,col);
+}
+CIMGUI_API void ImDrawList_AddImageQuad(ImDrawList* self,ImTextureID user_texture_id,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,const ImVec2 uv1,const ImVec2 uv2,const ImVec2 uv3,const ImVec2 uv4,ImU32 col)
+{
+ return self->AddImageQuad(user_texture_id,p1,p2,p3,p4,uv1,uv2,uv3,uv4,col);
+}
+CIMGUI_API void ImDrawList_AddImageRounded(ImDrawList* self,ImTextureID user_texture_id,const ImVec2 p_min,const ImVec2 p_max,const ImVec2 uv_min,const ImVec2 uv_max,ImU32 col,float rounding,ImDrawCornerFlags rounding_corners)
+{
+ return self->AddImageRounded(user_texture_id,p_min,p_max,uv_min,uv_max,col,rounding,rounding_corners);
+}
+CIMGUI_API void ImDrawList_PathClear(ImDrawList* self)
+{
+ return self->PathClear();
+}
+CIMGUI_API void ImDrawList_PathLineTo(ImDrawList* self,const ImVec2 pos)
+{
+ return self->PathLineTo(pos);
+}
+CIMGUI_API void ImDrawList_PathLineToMergeDuplicate(ImDrawList* self,const ImVec2 pos)
+{
+ return self->PathLineToMergeDuplicate(pos);
+}
+CIMGUI_API void ImDrawList_PathFillConvex(ImDrawList* self,ImU32 col)
+{
+ return self->PathFillConvex(col);
+}
+CIMGUI_API void ImDrawList_PathStroke(ImDrawList* self,ImU32 col,bool closed,float thickness)
+{
+ return self->PathStroke(col,closed,thickness);
+}
+CIMGUI_API void ImDrawList_PathArcTo(ImDrawList* self,const ImVec2 center,float radius,float a_min,float a_max,int num_segments)
+{
+ return self->PathArcTo(center,radius,a_min,a_max,num_segments);
+}
+CIMGUI_API void ImDrawList_PathArcToFast(ImDrawList* self,const ImVec2 center,float radius,int a_min_of_12,int a_max_of_12)
+{
+ return self->PathArcToFast(center,radius,a_min_of_12,a_max_of_12);
+}
+CIMGUI_API void ImDrawList_PathBezierCurveTo(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,int num_segments)
+{
+ return self->PathBezierCurveTo(p1,p2,p3,num_segments);
+}
+CIMGUI_API void ImDrawList_PathRect(ImDrawList* self,const ImVec2 rect_min,const ImVec2 rect_max,float rounding,ImDrawCornerFlags rounding_corners)
+{
+ return self->PathRect(rect_min,rect_max,rounding,rounding_corners);
+}
+CIMGUI_API void ImDrawList_AddCallback(ImDrawList* self,ImDrawCallback callback,void* callback_data)
+{
+ return self->AddCallback(callback,callback_data);
+}
+CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList* self)
+{
+ return self->AddDrawCmd();
+}
+CIMGUI_API ImDrawList* ImDrawList_CloneOutput(ImDrawList* self)
+{
+ return self->CloneOutput();
+}
+CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList* self,int count)
+{
+ return self->ChannelsSplit(count);
+}
+CIMGUI_API void ImDrawList_ChannelsMerge(ImDrawList* self)
+{
+ return self->ChannelsMerge();
+}
+CIMGUI_API void ImDrawList_ChannelsSetCurrent(ImDrawList* self,int n)
+{
+ return self->ChannelsSetCurrent(n);
+}
+CIMGUI_API void ImDrawList_Clear(ImDrawList* self)
+{
+ return self->Clear();
+}
+CIMGUI_API void ImDrawList_ClearFreeMemory(ImDrawList* self)
+{
+ return self->ClearFreeMemory();
+}
+CIMGUI_API void ImDrawList_PrimReserve(ImDrawList* self,int idx_count,int vtx_count)
+{
+ return self->PrimReserve(idx_count,vtx_count);
+}
+CIMGUI_API void ImDrawList_PrimRect(ImDrawList* self,const ImVec2 a,const ImVec2 b,ImU32 col)
+{
+ return self->PrimRect(a,b,col);
+}
+CIMGUI_API void ImDrawList_PrimRectUV(ImDrawList* self,const ImVec2 a,const ImVec2 b,const ImVec2 uv_a,const ImVec2 uv_b,ImU32 col)
+{
+ return self->PrimRectUV(a,b,uv_a,uv_b,col);
+}
+CIMGUI_API void ImDrawList_PrimQuadUV(ImDrawList* self,const ImVec2 a,const ImVec2 b,const ImVec2 c,const ImVec2 d,const ImVec2 uv_a,const ImVec2 uv_b,const ImVec2 uv_c,const ImVec2 uv_d,ImU32 col)
+{
+ return self->PrimQuadUV(a,b,c,d,uv_a,uv_b,uv_c,uv_d,col);
+}
+CIMGUI_API void ImDrawList_PrimWriteVtx(ImDrawList* self,const ImVec2 pos,const ImVec2 uv,ImU32 col)
+{
+ return self->PrimWriteVtx(pos,uv,col);
+}
+CIMGUI_API void ImDrawList_PrimWriteIdx(ImDrawList* self,ImDrawIdx idx)
+{
+ return self->PrimWriteIdx(idx);
+}
+CIMGUI_API void ImDrawList_PrimVtx(ImDrawList* self,const ImVec2 pos,const ImVec2 uv,ImU32 col)
+{
+ return self->PrimVtx(pos,uv,col);
+}
+CIMGUI_API void ImDrawList_UpdateClipRect(ImDrawList* self)
+{
+ return self->UpdateClipRect();
+}
+CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList* self)
+{
+ return self->UpdateTextureID();
+}
+CIMGUI_API ImDrawData* ImDrawData_ImDrawData(void)
+{
+ return IM_NEW(ImDrawData)();
+}
+CIMGUI_API void ImDrawData_destroy(ImDrawData* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API void ImDrawData_Clear(ImDrawData* self)
+{
+ return self->Clear();
+}
+CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* self)
+{
+ return self->DeIndexAllBuffers();
+}
+CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData* self,const ImVec2 fb_scale)
+{
+ return self->ScaleClipRects(fb_scale);
+}
+CIMGUI_API ImFontConfig* ImFontConfig_ImFontConfig(void)
+{
+ return IM_NEW(ImFontConfig)();
+}
+CIMGUI_API void ImFontConfig_destroy(ImFontConfig* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API ImFontGlyphRangesBuilder* ImFontGlyphRangesBuilder_ImFontGlyphRangesBuilder(void)
+{
+ return IM_NEW(ImFontGlyphRangesBuilder)();
+}
+CIMGUI_API void ImFontGlyphRangesBuilder_destroy(ImFontGlyphRangesBuilder* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API void ImFontGlyphRangesBuilder_Clear(ImFontGlyphRangesBuilder* self)
+{
+ return self->Clear();
+}
+CIMGUI_API bool ImFontGlyphRangesBuilder_GetBit(ImFontGlyphRangesBuilder* self,int n)
+{
+ return self->GetBit(n);
+}
+CIMGUI_API void ImFontGlyphRangesBuilder_SetBit(ImFontGlyphRangesBuilder* self,int n)
+{
+ return self->SetBit(n);
+}
+CIMGUI_API void ImFontGlyphRangesBuilder_AddChar(ImFontGlyphRangesBuilder* self,ImWchar c)
+{
+ return self->AddChar(c);
+}
+CIMGUI_API void ImFontGlyphRangesBuilder_AddText(ImFontGlyphRangesBuilder* self,const char* text,const char* text_end)
+{
+ return self->AddText(text,text_end);
+}
+CIMGUI_API void ImFontGlyphRangesBuilder_AddRanges(ImFontGlyphRangesBuilder* self,const ImWchar* ranges)
+{
+ return self->AddRanges(ranges);
+}
+CIMGUI_API void ImFontGlyphRangesBuilder_BuildRanges(ImFontGlyphRangesBuilder* self,ImVector_ImWchar* out_ranges)
+{
+ return self->BuildRanges(out_ranges);
+}
+CIMGUI_API ImFontAtlasCustomRect* ImFontAtlasCustomRect_ImFontAtlasCustomRect(void)
+{
+ return IM_NEW(ImFontAtlasCustomRect)();
+}
+CIMGUI_API void ImFontAtlasCustomRect_destroy(ImFontAtlasCustomRect* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API bool ImFontAtlasCustomRect_IsPacked(ImFontAtlasCustomRect* self)
+{
+ return self->IsPacked();
+}
+CIMGUI_API ImFontAtlas* ImFontAtlas_ImFontAtlas(void)
+{
+ return IM_NEW(ImFontAtlas)();
+}
+CIMGUI_API void ImFontAtlas_destroy(ImFontAtlas* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API ImFont* ImFontAtlas_AddFont(ImFontAtlas* self,const ImFontConfig* font_cfg)
+{
+ return self->AddFont(font_cfg);
+}
+CIMGUI_API ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* self,const ImFontConfig* font_cfg)
+{
+ return self->AddFontDefault(font_cfg);
+}
+CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* self,const char* filename,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges)
+{
+ return self->AddFontFromFileTTF(filename,size_pixels,font_cfg,glyph_ranges);
+}
+CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryTTF(ImFontAtlas* self,void* font_data,int font_size,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges)
+{
+ return self->AddFontFromMemoryTTF(font_data,font_size,size_pixels,font_cfg,glyph_ranges);
+}
+CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF(ImFontAtlas* self,const void* compressed_font_data,int compressed_font_size,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges)
+{
+ return self->AddFontFromMemoryCompressedTTF(compressed_font_data,compressed_font_size,size_pixels,font_cfg,glyph_ranges);
+}
+CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedBase85TTF(ImFontAtlas* self,const char* compressed_font_data_base85,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges)
+{
+ return self->AddFontFromMemoryCompressedBase85TTF(compressed_font_data_base85,size_pixels,font_cfg,glyph_ranges);
+}
+CIMGUI_API void ImFontAtlas_ClearInputData(ImFontAtlas* self)
+{
+ return self->ClearInputData();
+}
+CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* self)
+{
+ return self->ClearTexData();
+}
+CIMGUI_API void ImFontAtlas_ClearFonts(ImFontAtlas* self)
+{
+ return self->ClearFonts();
+}
+CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* self)
+{
+ return self->Clear();
+}
+CIMGUI_API bool ImFontAtlas_Build(ImFontAtlas* self)
+{
+ return self->Build();
+}
+CIMGUI_API void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* self,unsigned char** out_pixels,int* out_width,int* out_height,int* out_bytes_per_pixel)
+{
+ return self->GetTexDataAsAlpha8(out_pixels,out_width,out_height,out_bytes_per_pixel);
+}
+CIMGUI_API void ImFontAtlas_GetTexDataAsRGBA32(ImFontAtlas* self,unsigned char** out_pixels,int* out_width,int* out_height,int* out_bytes_per_pixel)
+{
+ return self->GetTexDataAsRGBA32(out_pixels,out_width,out_height,out_bytes_per_pixel);
+}
+CIMGUI_API bool ImFontAtlas_IsBuilt(ImFontAtlas* self)
+{
+ return self->IsBuilt();
+}
+CIMGUI_API void ImFontAtlas_SetTexID(ImFontAtlas* self,ImTextureID id)
+{
+ return self->SetTexID(id);
+}
+CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesDefault(ImFontAtlas* self)
+{
+ return self->GetGlyphRangesDefault();
+}
+CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesKorean(ImFontAtlas* self)
+{
+ return self->GetGlyphRangesKorean();
+}
+CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesJapanese(ImFontAtlas* self)
+{
+ return self->GetGlyphRangesJapanese();
+}
+CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseFull(ImFontAtlas* self)
+{
+ return self->GetGlyphRangesChineseFull();
+}
+CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseSimplifiedCommon(ImFontAtlas* self)
+{
+ return self->GetGlyphRangesChineseSimplifiedCommon();
+}
+CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesCyrillic(ImFontAtlas* self)
+{
+ return self->GetGlyphRangesCyrillic();
+}
+CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self)
+{
+ return self->GetGlyphRangesThai();
+}
+CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesVietnamese(ImFontAtlas* self)
+{
+ return self->GetGlyphRangesVietnamese();
+}
+CIMGUI_API int ImFontAtlas_AddCustomRectRegular(ImFontAtlas* self,unsigned int id,int width,int height)
+{
+ return self->AddCustomRectRegular(id,width,height);
+}
+CIMGUI_API int ImFontAtlas_AddCustomRectFontGlyph(ImFontAtlas* self,ImFont* font,ImWchar id,int width,int height,float advance_x,const ImVec2 offset)
+{
+ return self->AddCustomRectFontGlyph(font,id,width,height,advance_x,offset);
+}
+CIMGUI_API const ImFontAtlasCustomRect* ImFontAtlas_GetCustomRectByIndex(ImFontAtlas* self,int index)
+{
+ return self->GetCustomRectByIndex(index);
+}
+CIMGUI_API void ImFontAtlas_CalcCustomRectUV(ImFontAtlas* self,const ImFontAtlasCustomRect* rect,ImVec2* out_uv_min,ImVec2* out_uv_max)
+{
+ return self->CalcCustomRectUV(rect,out_uv_min,out_uv_max);
+}
+CIMGUI_API bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self,ImGuiMouseCursor cursor,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2])
+{
+ return self->GetMouseCursorTexData(cursor,out_offset,out_size,out_uv_border,out_uv_fill);
+}
+CIMGUI_API ImFont* ImFont_ImFont(void)
+{
+ return IM_NEW(ImFont)();
+}
+CIMGUI_API void ImFont_destroy(ImFont* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API const ImFontGlyph* ImFont_FindGlyph(ImFont* self,ImWchar c)
+{
+ return self->FindGlyph(c);
+}
+CIMGUI_API const ImFontGlyph* ImFont_FindGlyphNoFallback(ImFont* self,ImWchar c)
+{
+ return self->FindGlyphNoFallback(c);
+}
+CIMGUI_API float ImFont_GetCharAdvance(ImFont* self,ImWchar c)
+{
+ return self->GetCharAdvance(c);
+}
+CIMGUI_API bool ImFont_IsLoaded(ImFont* self)
+{
+ return self->IsLoaded();
+}
+CIMGUI_API const char* ImFont_GetDebugName(ImFont* self)
+{
+ return self->GetDebugName();
+}
+CIMGUI_API ImVec2 ImFont_CalcTextSizeA(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining)
+{
+ return self->CalcTextSizeA(size,max_width,wrap_width,text_begin,text_end,remaining);
+}
+CIMGUI_API const char* ImFont_CalcWordWrapPositionA(ImFont* self,float scale,const char* text,const char* text_end,float wrap_width)
+{
+ return self->CalcWordWrapPositionA(scale,text,text_end,wrap_width);
+}
+CIMGUI_API void ImFont_RenderChar(ImFont* self,ImDrawList* draw_list,float size,ImVec2 pos,ImU32 col,ImWchar c)
+{
+ return self->RenderChar(draw_list,size,pos,col,c);
+}
+CIMGUI_API void ImFont_RenderText(ImFont* self,ImDrawList* draw_list,float size,ImVec2 pos,ImU32 col,const ImVec4 clip_rect,const char* text_begin,const char* text_end,float wrap_width,bool cpu_fine_clip)
+{
+ return self->RenderText(draw_list,size,pos,col,clip_rect,text_begin,text_end,wrap_width,cpu_fine_clip);
+}
+CIMGUI_API void ImFont_BuildLookupTable(ImFont* self)
+{
+ return self->BuildLookupTable();
+}
+CIMGUI_API void ImFont_ClearOutputData(ImFont* self)
+{
+ return self->ClearOutputData();
+}
+CIMGUI_API void ImFont_GrowIndex(ImFont* self,int new_size)
+{
+ return self->GrowIndex(new_size);
+}
+CIMGUI_API void ImFont_AddGlyph(ImFont* self,ImWchar c,float x0,float y0,float x1,float y1,float u0,float v0,float u1,float v1,float advance_x)
+{
+ return self->AddGlyph(c,x0,y0,x1,y1,u0,v0,u1,v1,advance_x);
+}
+CIMGUI_API void ImFont_AddRemapChar(ImFont* self,ImWchar dst,ImWchar src,bool overwrite_dst)
+{
+ return self->AddRemapChar(dst,src,overwrite_dst);
+}
+CIMGUI_API void ImFont_SetFallbackChar(ImFont* self,ImWchar c)
+{
+ return self->SetFallbackChar(c);
+}
+CIMGUI_API ImGuiPlatformMonitor* ImGuiPlatformMonitor_ImGuiPlatformMonitor(void)
+{
+ return IM_NEW(ImGuiPlatformMonitor)();
+}
+CIMGUI_API void ImGuiPlatformMonitor_destroy(ImGuiPlatformMonitor* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API ImGuiPlatformIO* ImGuiPlatformIO_ImGuiPlatformIO(void)
+{
+ return IM_NEW(ImGuiPlatformIO)();
+}
+CIMGUI_API void ImGuiPlatformIO_destroy(ImGuiPlatformIO* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API ImGuiViewport* ImGuiViewport_ImGuiViewport(void)
+{
+ return IM_NEW(ImGuiViewport)();
+}
+CIMGUI_API void ImGuiViewport_destroy(ImGuiViewport* self)
+{
+ IM_DELETE(self);
+}
+CIMGUI_API void igGetWindowPos_nonUDT(ImVec2 *pOut)
+{
+ *pOut = ImGui::GetWindowPos();
+}
+CIMGUI_API ImVec2_Simple igGetWindowPos_nonUDT2()
+{
+ ImVec2 ret = ImGui::GetWindowPos();
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void igGetWindowSize_nonUDT(ImVec2 *pOut)
+{
+ *pOut = ImGui::GetWindowSize();
+}
+CIMGUI_API ImVec2_Simple igGetWindowSize_nonUDT2()
+{
+ ImVec2 ret = ImGui::GetWindowSize();
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void igGetContentRegionMax_nonUDT(ImVec2 *pOut)
+{
+ *pOut = ImGui::GetContentRegionMax();
+}
+CIMGUI_API ImVec2_Simple igGetContentRegionMax_nonUDT2()
+{
+ ImVec2 ret = ImGui::GetContentRegionMax();
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void igGetContentRegionAvail_nonUDT(ImVec2 *pOut)
+{
+ *pOut = ImGui::GetContentRegionAvail();
+}
+CIMGUI_API ImVec2_Simple igGetContentRegionAvail_nonUDT2()
+{
+ ImVec2 ret = ImGui::GetContentRegionAvail();
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void igGetWindowContentRegionMin_nonUDT(ImVec2 *pOut)
+{
+ *pOut = ImGui::GetWindowContentRegionMin();
+}
+CIMGUI_API ImVec2_Simple igGetWindowContentRegionMin_nonUDT2()
+{
+ ImVec2 ret = ImGui::GetWindowContentRegionMin();
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void igGetWindowContentRegionMax_nonUDT(ImVec2 *pOut)
+{
+ *pOut = ImGui::GetWindowContentRegionMax();
+}
+CIMGUI_API ImVec2_Simple igGetWindowContentRegionMax_nonUDT2()
+{
+ ImVec2 ret = ImGui::GetWindowContentRegionMax();
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void igGetFontTexUvWhitePixel_nonUDT(ImVec2 *pOut)
+{
+ *pOut = ImGui::GetFontTexUvWhitePixel();
+}
+CIMGUI_API ImVec2_Simple igGetFontTexUvWhitePixel_nonUDT2()
+{
+ ImVec2 ret = ImGui::GetFontTexUvWhitePixel();
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void igGetCursorPos_nonUDT(ImVec2 *pOut)
+{
+ *pOut = ImGui::GetCursorPos();
+}
+CIMGUI_API ImVec2_Simple igGetCursorPos_nonUDT2()
+{
+ ImVec2 ret = ImGui::GetCursorPos();
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void igGetCursorStartPos_nonUDT(ImVec2 *pOut)
+{
+ *pOut = ImGui::GetCursorStartPos();
+}
+CIMGUI_API ImVec2_Simple igGetCursorStartPos_nonUDT2()
+{
+ ImVec2 ret = ImGui::GetCursorStartPos();
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void igGetCursorScreenPos_nonUDT(ImVec2 *pOut)
+{
+ *pOut = ImGui::GetCursorScreenPos();
+}
+CIMGUI_API ImVec2_Simple igGetCursorScreenPos_nonUDT2()
+{
+ ImVec2 ret = ImGui::GetCursorScreenPos();
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void igGetItemRectMin_nonUDT(ImVec2 *pOut)
+{
+ *pOut = ImGui::GetItemRectMin();
+}
+CIMGUI_API ImVec2_Simple igGetItemRectMin_nonUDT2()
+{
+ ImVec2 ret = ImGui::GetItemRectMin();
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void igGetItemRectMax_nonUDT(ImVec2 *pOut)
+{
+ *pOut = ImGui::GetItemRectMax();
+}
+CIMGUI_API ImVec2_Simple igGetItemRectMax_nonUDT2()
+{
+ ImVec2 ret = ImGui::GetItemRectMax();
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void igGetItemRectSize_nonUDT(ImVec2 *pOut)
+{
+ *pOut = ImGui::GetItemRectSize();
+}
+CIMGUI_API ImVec2_Simple igGetItemRectSize_nonUDT2()
+{
+ ImVec2 ret = ImGui::GetItemRectSize();
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void igCalcTextSize_nonUDT(ImVec2 *pOut,const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width)
+{
+ *pOut = ImGui::CalcTextSize(text,text_end,hide_text_after_double_hash,wrap_width);
+}
+CIMGUI_API ImVec2_Simple igCalcTextSize_nonUDT2(const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width)
+{
+ ImVec2 ret = ImGui::CalcTextSize(text,text_end,hide_text_after_double_hash,wrap_width);
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void igColorConvertU32ToFloat4_nonUDT(ImVec4 *pOut,ImU32 in)
+{
+ *pOut = ImGui::ColorConvertU32ToFloat4(in);
+}
+CIMGUI_API ImVec4_Simple igColorConvertU32ToFloat4_nonUDT2(ImU32 in)
+{
+ ImVec4 ret = ImGui::ColorConvertU32ToFloat4(in);
+ ImVec4_Simple ret2 = ImVec4ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void igGetMousePos_nonUDT(ImVec2 *pOut)
+{
+ *pOut = ImGui::GetMousePos();
+}
+CIMGUI_API ImVec2_Simple igGetMousePos_nonUDT2()
+{
+ ImVec2 ret = ImGui::GetMousePos();
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void igGetMousePosOnOpeningCurrentPopup_nonUDT(ImVec2 *pOut)
+{
+ *pOut = ImGui::GetMousePosOnOpeningCurrentPopup();
+}
+CIMGUI_API ImVec2_Simple igGetMousePosOnOpeningCurrentPopup_nonUDT2()
+{
+ ImVec2 ret = ImGui::GetMousePosOnOpeningCurrentPopup();
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void igGetMouseDragDelta_nonUDT(ImVec2 *pOut,int button,float lock_threshold)
+{
+ *pOut = ImGui::GetMouseDragDelta(button,lock_threshold);
+}
+CIMGUI_API ImVec2_Simple igGetMouseDragDelta_nonUDT2(int button,float lock_threshold)
+{
+ ImVec2 ret = ImGui::GetMouseDragDelta(button,lock_threshold);
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void ImColor_HSV_nonUDT(ImColor *pOut,ImColor* self,float h,float s,float v,float a)
+{
+ *pOut = self->HSV(h,s,v,a);
+}
+CIMGUI_API ImColor_Simple ImColor_HSV_nonUDT2(ImColor* self,float h,float s,float v,float a)
+{
+ ImColor ret = self->HSV(h,s,v,a);
+ ImColor_Simple ret2 = ImColorToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void ImDrawList_GetClipRectMin_nonUDT(ImVec2 *pOut,ImDrawList* self)
+{
+ *pOut = self->GetClipRectMin();
+}
+CIMGUI_API ImVec2_Simple ImDrawList_GetClipRectMin_nonUDT2(ImDrawList* self)
+{
+ ImVec2 ret = self->GetClipRectMin();
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void ImDrawList_GetClipRectMax_nonUDT(ImVec2 *pOut,ImDrawList* self)
+{
+ *pOut = self->GetClipRectMax();
+}
+CIMGUI_API ImVec2_Simple ImDrawList_GetClipRectMax_nonUDT2(ImDrawList* self)
+{
+ ImVec2 ret = self->GetClipRectMax();
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+CIMGUI_API void ImFont_CalcTextSizeA_nonUDT(ImVec2 *pOut,ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining)
+{
+ *pOut = self->CalcTextSizeA(size,max_width,wrap_width,text_begin,text_end,remaining);
+}
+CIMGUI_API ImVec2_Simple ImFont_CalcTextSizeA_nonUDT2(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining)
+{
+ ImVec2 ret = self->CalcTextSizeA(size,max_width,wrap_width,text_begin,text_end,remaining);
+ ImVec2_Simple ret2 = ImVec2ToSimple(ret);
+ return ret2;
+}
+
+
+
+/////////////////////////////manual written functions
+CIMGUI_API void igLogText(CONST char *fmt, ...)
+{
+ char buffer[256];
+ va_list args;
+ va_start(args, fmt);
+ vsnprintf(buffer, 256, fmt, args);
+ va_end(args);
+
+ ImGui::LogText("%s", buffer);
+}
+CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ buffer->appendfv(fmt, args);
+ va_end(args);
+}
+
+CIMGUI_API float igGET_FLT_MAX()
+{
+ return FLT_MAX;
+}
+CIMGUI_API void igColorConvertRGBtoHSV(float r,float g,float b,float *out_h,float *out_s,float *out_v)
+{
+ ImGui::ColorConvertRGBtoHSV(r,g,b,*out_h,*out_s,*out_v);
+}
+CIMGUI_API void igColorConvertHSVtoRGB(float h,float s,float v,float *out_r,float *out_g,float *out_b)
+{
+ ImGui::ColorConvertHSVtoRGB(h,s,v,*out_r,*out_g,*out_b);
+}
+
+CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create()
+{
+ return IM_NEW(ImVector<ImWchar>) ();
+}
+
+CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self)
+{
+ IM_DELETE(self);
+}
+
+CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p)
+{
+ IM_PLACEMENT_NEW(p) ImVector<ImWchar>();
+}
+CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p)
+{
+ p->~ImVector<ImWchar>();
+}
+CIMGUI_API void ImVector_ImGuiPlatformMonitor_Resize(ImVector_ImGuiPlatformMonitor* p, int new_size) {
+ p->resize(new_size);
+}
diff --git a/cimgui/cimgui.h b/cimgui/cimgui.h
new file mode 100644
index 0000000..da06e27
--- /dev/null
+++ b/cimgui/cimgui.h
@@ -0,0 +1,1707 @@
+//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
+//based on imgui.h file version "1.74 WIP" from Dear ImGui https://github.com/ocornut/imgui
+#ifndef CIMGUI_INCLUDED
+#define CIMGUI_INCLUDED
+#include <stdio.h>
+#include <stdint.h>
+#if defined _WIN32 || defined __CYGWIN__
+ #ifdef CIMGUI_NO_EXPORT
+ #define API
+ #else
+ #define API __declspec(dllexport)
+ #endif
+ #ifndef __GNUC__
+ #define snprintf sprintf_s
+ #endif
+#else
+ #define API
+#endif
+
+#if defined __cplusplus
+ #define EXTERN extern "C"
+#else
+ #include <stdarg.h>
+ #include <stdbool.h>
+ #define EXTERN extern
+#endif
+
+#define CIMGUI_API EXTERN API
+#define CONST const
+
+
+#ifdef _MSC_VER
+typedef unsigned __int64 ImU64;
+#else
+//typedef unsigned long long ImU64;
+#endif
+
+//UDT stuff
+typedef struct ImVec2_Simple { float x; float y; } ImVec2_Simple;
+typedef struct ImVec4_Simple { float x; float y; float z; float w;} ImVec4_Simple;
+typedef struct ImColor_Simple { ImVec4_Simple Value;} ImColor_Simple;
+
+
+#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
+typedef struct ImGuiStoragePair ImGuiStoragePair;
+typedef struct ImGuiTextRange ImGuiTextRange;
+typedef struct ImFontAtlasCustomRect ImFontAtlasCustomRect;
+typedef struct ImVec4 ImVec4;
+typedef struct ImVec2 ImVec2;
+typedef struct ImGuiWindowClass ImGuiWindowClass;
+typedef struct ImGuiViewport ImGuiViewport;
+typedef struct ImGuiTextFilter ImGuiTextFilter;
+typedef struct ImGuiTextBuffer ImGuiTextBuffer;
+typedef struct ImGuiStyle ImGuiStyle;
+typedef struct ImGuiStorage ImGuiStorage;
+typedef struct ImGuiSizeCallbackData ImGuiSizeCallbackData;
+typedef struct ImGuiPlatformMonitor ImGuiPlatformMonitor;
+typedef struct ImGuiPlatformIO ImGuiPlatformIO;
+typedef struct ImGuiPayload ImGuiPayload;
+typedef struct ImGuiOnceUponAFrame ImGuiOnceUponAFrame;
+typedef struct ImGuiListClipper ImGuiListClipper;
+typedef struct ImGuiInputTextCallbackData ImGuiInputTextCallbackData;
+typedef struct ImGuiIO ImGuiIO;
+typedef struct ImGuiContext ImGuiContext;
+typedef struct ImColor ImColor;
+typedef struct ImFontGlyphRangesBuilder ImFontGlyphRangesBuilder;
+typedef struct ImFontGlyph ImFontGlyph;
+typedef struct ImFontConfig ImFontConfig;
+typedef struct ImFontAtlas ImFontAtlas;
+typedef struct ImFont ImFont;
+typedef struct ImDrawVert ImDrawVert;
+typedef struct ImDrawListSplitter ImDrawListSplitter;
+typedef struct ImDrawListSharedData ImDrawListSharedData;
+typedef struct ImDrawList ImDrawList;
+typedef struct ImDrawData ImDrawData;
+typedef struct ImDrawCmd ImDrawCmd;
+typedef struct ImDrawChannel ImDrawChannel;
+
+struct ImDrawChannel;
+struct ImDrawCmd;
+struct ImDrawData;
+struct ImDrawList;
+struct ImDrawListSharedData;
+struct ImDrawListSplitter;
+struct ImDrawVert;
+struct ImFont;
+struct ImFontAtlas;
+struct ImFontConfig;
+struct ImFontGlyph;
+struct ImFontGlyphRangesBuilder;
+struct ImColor;
+struct ImGuiContext;
+struct ImGuiIO;
+struct ImGuiInputTextCallbackData;
+struct ImGuiListClipper;
+struct ImGuiOnceUponAFrame;
+struct ImGuiPayload;
+struct ImGuiPlatformIO;
+struct ImGuiPlatformMonitor;
+struct ImGuiSizeCallbackData;
+struct ImGuiStorage;
+struct ImGuiStyle;
+struct ImGuiTextBuffer;
+struct ImGuiTextFilter;
+struct ImGuiViewport;
+struct ImGuiWindowClass;
+typedef void* ImTextureID;
+typedef unsigned int ImGuiID;
+typedef unsigned short ImWchar;
+typedef int ImGuiCol;
+typedef int ImGuiCond;
+typedef int ImGuiDataType;
+typedef int ImGuiDir;
+typedef int ImGuiKey;
+typedef int ImGuiNavInput;
+typedef int ImGuiMouseCursor;
+typedef int ImGuiStyleVar;
+typedef int ImDrawCornerFlags;
+typedef int ImDrawListFlags;
+typedef int ImFontAtlasFlags;
+typedef int ImGuiBackendFlags;
+typedef int ImGuiColorEditFlags;
+typedef int ImGuiConfigFlags;
+typedef int ImGuiComboFlags;
+typedef int ImGuiDockNodeFlags;
+typedef int ImGuiDragDropFlags;
+typedef int ImGuiFocusedFlags;
+typedef int ImGuiHoveredFlags;
+typedef int ImGuiInputTextFlags;
+typedef int ImGuiSelectableFlags;
+typedef int ImGuiTabBarFlags;
+typedef int ImGuiTabItemFlags;
+typedef int ImGuiTreeNodeFlags;
+typedef int ImGuiViewportFlags;
+typedef int ImGuiWindowFlags;
+typedef int (*ImGuiInputTextCallback)(ImGuiInputTextCallbackData *data);
+typedef void (*ImGuiSizeCallback)(ImGuiSizeCallbackData* data);
+typedef signed char ImS8;
+typedef unsigned char ImU8;
+typedef signed short ImS16;
+typedef unsigned short ImU16;
+typedef signed int ImS32;
+typedef unsigned int ImU32;
+typedef int64_t ImS64;
+typedef uint64_t ImU64;
+typedef void (*ImDrawCallback)(const ImDrawList* parent_list, const ImDrawCmd* cmd);
+typedef unsigned short ImDrawIdx;typedef struct ImVector{int Size;int Capacity;void* Data;} ImVector;
+typedef struct ImVector_float {int Size;int Capacity;float* Data;} ImVector_float;
+typedef struct ImVector_ImWchar {int Size;int Capacity;ImWchar* Data;} ImVector_ImWchar;
+typedef struct ImVector_ImDrawVert {int Size;int Capacity;ImDrawVert* Data;} ImVector_ImDrawVert;
+typedef struct ImVector_ImFontGlyph {int Size;int Capacity;ImFontGlyph* Data;} ImVector_ImFontGlyph;
+typedef struct ImVector_ImGuiTextRange {int Size;int Capacity;ImGuiTextRange* Data;} ImVector_ImGuiTextRange;
+typedef struct ImVector_ImGuiStoragePair {int Size;int Capacity;ImGuiStoragePair* Data;} ImVector_ImGuiStoragePair;
+typedef struct ImVector_ImDrawChannel {int Size;int Capacity;ImDrawChannel* Data;} ImVector_ImDrawChannel;
+typedef struct ImVector_char {int Size;int Capacity;char* Data;} ImVector_char;
+typedef struct ImVector_ImU32 {int Size;int Capacity;ImU32* Data;} ImVector_ImU32;
+typedef struct ImVector_ImFontAtlasCustomRect {int Size;int Capacity;ImFontAtlasCustomRect* Data;} ImVector_ImFontAtlasCustomRect;
+typedef struct ImVector_ImTextureID {int Size;int Capacity;ImTextureID* Data;} ImVector_ImTextureID;
+typedef struct ImVector_ImFontConfig {int Size;int Capacity;ImFontConfig* Data;} ImVector_ImFontConfig;
+typedef struct ImVector_ImGuiPlatformMonitor {int Size;int Capacity;ImGuiPlatformMonitor* Data;} ImVector_ImGuiPlatformMonitor;
+typedef struct ImVector_ImGuiViewportPtr {int Size;int Capacity;ImGuiViewport** Data;} ImVector_ImGuiViewportPtr;
+typedef struct ImVector_ImFontPtr {int Size;int Capacity;ImFont** Data;} ImVector_ImFontPtr;
+typedef struct ImVector_ImDrawCmd {int Size;int Capacity;ImDrawCmd* Data;} ImVector_ImDrawCmd;
+typedef struct ImVector_ImVec4 {int Size;int Capacity;ImVec4* Data;} ImVector_ImVec4;
+typedef struct ImVector_ImDrawIdx {int Size;int Capacity;ImDrawIdx* Data;} ImVector_ImDrawIdx;
+typedef struct ImVector_ImVec2 {int Size;int Capacity;ImVec2* Data;} ImVector_ImVec2;
+
+struct ImVec2
+{
+ float x, y;
+};
+struct ImVec4
+{
+ float x, y, z, w;
+};
+enum ImGuiWindowFlags_
+{
+ ImGuiWindowFlags_None = 0,
+ ImGuiWindowFlags_NoTitleBar = 1 << 0,
+ ImGuiWindowFlags_NoResize = 1 << 1,
+ ImGuiWindowFlags_NoMove = 1 << 2,
+ ImGuiWindowFlags_NoScrollbar = 1 << 3,
+ ImGuiWindowFlags_NoScrollWithMouse = 1 << 4,
+ ImGuiWindowFlags_NoCollapse = 1 << 5,
+ ImGuiWindowFlags_AlwaysAutoResize = 1 << 6,
+ ImGuiWindowFlags_NoBackground = 1 << 7,
+ ImGuiWindowFlags_NoSavedSettings = 1 << 8,
+ ImGuiWindowFlags_NoMouseInputs = 1 << 9,
+ ImGuiWindowFlags_MenuBar = 1 << 10,
+ ImGuiWindowFlags_HorizontalScrollbar = 1 << 11,
+ ImGuiWindowFlags_NoFocusOnAppearing = 1 << 12,
+ ImGuiWindowFlags_NoBringToFrontOnFocus = 1 << 13,
+ ImGuiWindowFlags_AlwaysVerticalScrollbar= 1 << 14,
+ ImGuiWindowFlags_AlwaysHorizontalScrollbar=1<< 15,
+ ImGuiWindowFlags_AlwaysUseWindowPadding = 1 << 16,
+ ImGuiWindowFlags_NoNavInputs = 1 << 18,
+ ImGuiWindowFlags_NoNavFocus = 1 << 19,
+ ImGuiWindowFlags_UnsavedDocument = 1 << 20,
+ ImGuiWindowFlags_NoDocking = 1 << 21,
+ ImGuiWindowFlags_NoNav = ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus,
+ ImGuiWindowFlags_NoDecoration = ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoCollapse,
+ ImGuiWindowFlags_NoInputs = ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus,
+ ImGuiWindowFlags_NavFlattened = 1 << 23,
+ ImGuiWindowFlags_ChildWindow = 1 << 24,
+ ImGuiWindowFlags_Tooltip = 1 << 25,
+ ImGuiWindowFlags_Popup = 1 << 26,
+ ImGuiWindowFlags_Modal = 1 << 27,
+ ImGuiWindowFlags_ChildMenu = 1 << 28,
+ ImGuiWindowFlags_DockNodeHost = 1 << 29
+};
+enum ImGuiInputTextFlags_
+{
+ ImGuiInputTextFlags_None = 0,
+ ImGuiInputTextFlags_CharsDecimal = 1 << 0,
+ ImGuiInputTextFlags_CharsHexadecimal = 1 << 1,
+ ImGuiInputTextFlags_CharsUppercase = 1 << 2,
+ ImGuiInputTextFlags_CharsNoBlank = 1 << 3,
+ ImGuiInputTextFlags_AutoSelectAll = 1 << 4,
+ ImGuiInputTextFlags_EnterReturnsTrue = 1 << 5,
+ ImGuiInputTextFlags_CallbackCompletion = 1 << 6,
+ ImGuiInputTextFlags_CallbackHistory = 1 << 7,
+ ImGuiInputTextFlags_CallbackAlways = 1 << 8,
+ ImGuiInputTextFlags_CallbackCharFilter = 1 << 9,
+ ImGuiInputTextFlags_AllowTabInput = 1 << 10,
+ ImGuiInputTextFlags_CtrlEnterForNewLine = 1 << 11,
+ ImGuiInputTextFlags_NoHorizontalScroll = 1 << 12,
+ ImGuiInputTextFlags_AlwaysInsertMode = 1 << 13,
+ ImGuiInputTextFlags_ReadOnly = 1 << 14,
+ ImGuiInputTextFlags_Password = 1 << 15,
+ ImGuiInputTextFlags_NoUndoRedo = 1 << 16,
+ ImGuiInputTextFlags_CharsScientific = 1 << 17,
+ ImGuiInputTextFlags_CallbackResize = 1 << 18,
+ ImGuiInputTextFlags_Multiline = 1 << 20,
+ ImGuiInputTextFlags_NoMarkEdited = 1 << 21
+};
+enum ImGuiTreeNodeFlags_
+{
+ ImGuiTreeNodeFlags_None = 0,
+ ImGuiTreeNodeFlags_Selected = 1 << 0,
+ ImGuiTreeNodeFlags_Framed = 1 << 1,
+ ImGuiTreeNodeFlags_AllowItemOverlap = 1 << 2,
+ ImGuiTreeNodeFlags_NoTreePushOnOpen = 1 << 3,
+ ImGuiTreeNodeFlags_NoAutoOpenOnLog = 1 << 4,
+ ImGuiTreeNodeFlags_DefaultOpen = 1 << 5,
+ ImGuiTreeNodeFlags_OpenOnDoubleClick = 1 << 6,
+ ImGuiTreeNodeFlags_OpenOnArrow = 1 << 7,
+ ImGuiTreeNodeFlags_Leaf = 1 << 8,
+ ImGuiTreeNodeFlags_Bullet = 1 << 9,
+ ImGuiTreeNodeFlags_FramePadding = 1 << 10,
+ ImGuiTreeNodeFlags_SpanAvailWidth = 1 << 11,
+ ImGuiTreeNodeFlags_SpanFullWidth = 1 << 12,
+ ImGuiTreeNodeFlags_NavLeftJumpsBackHere = 1 << 13,
+ ImGuiTreeNodeFlags_CollapsingHeader = ImGuiTreeNodeFlags_Framed | ImGuiTreeNodeFlags_NoTreePushOnOpen | ImGuiTreeNodeFlags_NoAutoOpenOnLog
+};
+enum ImGuiSelectableFlags_
+{
+ ImGuiSelectableFlags_None = 0,
+ ImGuiSelectableFlags_DontClosePopups = 1 << 0,
+ ImGuiSelectableFlags_SpanAllColumns = 1 << 1,
+ ImGuiSelectableFlags_AllowDoubleClick = 1 << 2,
+ ImGuiSelectableFlags_Disabled = 1 << 3,
+ ImGuiSelectableFlags_AllowItemOverlap = 1 << 4
+};
+enum ImGuiComboFlags_
+{
+ ImGuiComboFlags_None = 0,
+ ImGuiComboFlags_PopupAlignLeft = 1 << 0,
+ ImGuiComboFlags_HeightSmall = 1 << 1,
+ ImGuiComboFlags_HeightRegular = 1 << 2,
+ ImGuiComboFlags_HeightLarge = 1 << 3,
+ ImGuiComboFlags_HeightLargest = 1 << 4,
+ ImGuiComboFlags_NoArrowButton = 1 << 5,
+ ImGuiComboFlags_NoPreview = 1 << 6,
+ ImGuiComboFlags_HeightMask_ = ImGuiComboFlags_HeightSmall | ImGuiComboFlags_HeightRegular | ImGuiComboFlags_HeightLarge | ImGuiComboFlags_HeightLargest
+};
+enum ImGuiTabBarFlags_
+{
+ ImGuiTabBarFlags_None = 0,
+ ImGuiTabBarFlags_Reorderable = 1 << 0,
+ ImGuiTabBarFlags_AutoSelectNewTabs = 1 << 1,
+ ImGuiTabBarFlags_TabListPopupButton = 1 << 2,
+ ImGuiTabBarFlags_NoCloseWithMiddleMouseButton = 1 << 3,
+ ImGuiTabBarFlags_NoTabListScrollingButtons = 1 << 4,
+ ImGuiTabBarFlags_NoTooltip = 1 << 5,
+ ImGuiTabBarFlags_FittingPolicyResizeDown = 1 << 6,
+ ImGuiTabBarFlags_FittingPolicyScroll = 1 << 7,
+ ImGuiTabBarFlags_FittingPolicyMask_ = ImGuiTabBarFlags_FittingPolicyResizeDown | ImGuiTabBarFlags_FittingPolicyScroll,
+ ImGuiTabBarFlags_FittingPolicyDefault_ = ImGuiTabBarFlags_FittingPolicyResizeDown
+};
+enum ImGuiTabItemFlags_
+{
+ ImGuiTabItemFlags_None = 0,
+ ImGuiTabItemFlags_UnsavedDocument = 1 << 0,
+ ImGuiTabItemFlags_SetSelected = 1 << 1,
+ ImGuiTabItemFlags_NoCloseWithMiddleMouseButton = 1 << 2,
+ ImGuiTabItemFlags_NoPushId = 1 << 3
+};
+enum ImGuiFocusedFlags_
+{
+ ImGuiFocusedFlags_None = 0,
+ ImGuiFocusedFlags_ChildWindows = 1 << 0,
+ ImGuiFocusedFlags_RootWindow = 1 << 1,
+ ImGuiFocusedFlags_AnyWindow = 1 << 2,
+ ImGuiFocusedFlags_RootAndChildWindows = ImGuiFocusedFlags_RootWindow | ImGuiFocusedFlags_ChildWindows
+};
+enum ImGuiHoveredFlags_
+{
+ ImGuiHoveredFlags_None = 0,
+ ImGuiHoveredFlags_ChildWindows = 1 << 0,
+ ImGuiHoveredFlags_RootWindow = 1 << 1,
+ ImGuiHoveredFlags_AnyWindow = 1 << 2,
+ ImGuiHoveredFlags_AllowWhenBlockedByPopup = 1 << 3,
+ ImGuiHoveredFlags_AllowWhenBlockedByActiveItem = 1 << 5,
+ ImGuiHoveredFlags_AllowWhenOverlapped = 1 << 6,
+ ImGuiHoveredFlags_AllowWhenDisabled = 1 << 7,
+ ImGuiHoveredFlags_RectOnly = ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_AllowWhenOverlapped,
+ ImGuiHoveredFlags_RootAndChildWindows = ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_ChildWindows
+};
+enum ImGuiDockNodeFlags_
+{
+ ImGuiDockNodeFlags_None = 0,
+ ImGuiDockNodeFlags_KeepAliveOnly = 1 << 0,
+ ImGuiDockNodeFlags_NoDockingInCentralNode = 1 << 2,
+ ImGuiDockNodeFlags_PassthruCentralNode = 1 << 3,
+ ImGuiDockNodeFlags_NoSplit = 1 << 4,
+ ImGuiDockNodeFlags_NoResize = 1 << 5,
+ ImGuiDockNodeFlags_AutoHideTabBar = 1 << 6
+};
+enum ImGuiDragDropFlags_
+{
+ ImGuiDragDropFlags_None = 0,
+ ImGuiDragDropFlags_SourceNoPreviewTooltip = 1 << 0,
+ ImGuiDragDropFlags_SourceNoDisableHover = 1 << 1,
+ ImGuiDragDropFlags_SourceNoHoldToOpenOthers = 1 << 2,
+ ImGuiDragDropFlags_SourceAllowNullID = 1 << 3,
+ ImGuiDragDropFlags_SourceExtern = 1 << 4,
+ ImGuiDragDropFlags_SourceAutoExpirePayload = 1 << 5,
+ ImGuiDragDropFlags_AcceptBeforeDelivery = 1 << 10,
+ ImGuiDragDropFlags_AcceptNoDrawDefaultRect = 1 << 11,
+ ImGuiDragDropFlags_AcceptNoPreviewTooltip = 1 << 12,
+ ImGuiDragDropFlags_AcceptPeekOnly = ImGuiDragDropFlags_AcceptBeforeDelivery | ImGuiDragDropFlags_AcceptNoDrawDefaultRect
+};
+enum ImGuiDataType_
+{
+ ImGuiDataType_S8,
+ ImGuiDataType_U8,
+ ImGuiDataType_S16,
+ ImGuiDataType_U16,
+ ImGuiDataType_S32,
+ ImGuiDataType_U32,
+ ImGuiDataType_S64,
+ ImGuiDataType_U64,
+ ImGuiDataType_Float,
+ ImGuiDataType_Double,
+ ImGuiDataType_COUNT
+};
+enum ImGuiDir_
+{
+ ImGuiDir_None = -1,
+ ImGuiDir_Left = 0,
+ ImGuiDir_Right = 1,
+ ImGuiDir_Up = 2,
+ ImGuiDir_Down = 3,
+ ImGuiDir_COUNT
+};
+enum ImGuiKey_
+{
+ ImGuiKey_Tab,
+ ImGuiKey_LeftArrow,
+ ImGuiKey_RightArrow,
+ ImGuiKey_UpArrow,
+ ImGuiKey_DownArrow,
+ ImGuiKey_PageUp,
+ ImGuiKey_PageDown,
+ ImGuiKey_Home,
+ ImGuiKey_End,
+ ImGuiKey_Insert,
+ ImGuiKey_Delete,
+ ImGuiKey_Backspace,
+ ImGuiKey_Space,
+ ImGuiKey_Enter,
+ ImGuiKey_Escape,
+ ImGuiKey_KeyPadEnter,
+ ImGuiKey_A,
+ ImGuiKey_C,
+ ImGuiKey_V,
+ ImGuiKey_X,
+ ImGuiKey_Y,
+ ImGuiKey_Z,
+ ImGuiKey_COUNT
+};
+enum ImGuiNavInput_
+{
+ ImGuiNavInput_Activate,
+ ImGuiNavInput_Cancel,
+ ImGuiNavInput_Input,
+ ImGuiNavInput_Menu,
+ ImGuiNavInput_DpadLeft,
+ ImGuiNavInput_DpadRight,
+ ImGuiNavInput_DpadUp,
+ ImGuiNavInput_DpadDown,
+ ImGuiNavInput_LStickLeft,
+ ImGuiNavInput_LStickRight,
+ ImGuiNavInput_LStickUp,
+ ImGuiNavInput_LStickDown,
+ ImGuiNavInput_FocusPrev,
+ ImGuiNavInput_FocusNext,
+ ImGuiNavInput_TweakSlow,
+ ImGuiNavInput_TweakFast,
+ ImGuiNavInput_KeyMenu_,
+ ImGuiNavInput_KeyLeft_,
+ ImGuiNavInput_KeyRight_,
+ ImGuiNavInput_KeyUp_,
+ ImGuiNavInput_KeyDown_,
+ ImGuiNavInput_COUNT,
+ ImGuiNavInput_InternalStart_ = ImGuiNavInput_KeyMenu_
+};
+enum ImGuiConfigFlags_
+{
+ ImGuiConfigFlags_None = 0,
+ ImGuiConfigFlags_NavEnableKeyboard = 1 << 0,
+ ImGuiConfigFlags_NavEnableGamepad = 1 << 1,
+ ImGuiConfigFlags_NavEnableSetMousePos = 1 << 2,
+ ImGuiConfigFlags_NavNoCaptureKeyboard = 1 << 3,
+ ImGuiConfigFlags_NoMouse = 1 << 4,
+ ImGuiConfigFlags_NoMouseCursorChange = 1 << 5,
+ ImGuiConfigFlags_DockingEnable = 1 << 6,
+ ImGuiConfigFlags_ViewportsEnable = 1 << 10,
+ ImGuiConfigFlags_DpiEnableScaleViewports= 1 << 14,
+ ImGuiConfigFlags_DpiEnableScaleFonts = 1 << 15,
+ ImGuiConfigFlags_IsSRGB = 1 << 20,
+ ImGuiConfigFlags_IsTouchScreen = 1 << 21
+};
+enum ImGuiBackendFlags_
+{
+ ImGuiBackendFlags_None = 0,
+ ImGuiBackendFlags_HasGamepad = 1 << 0,
+ ImGuiBackendFlags_HasMouseCursors = 1 << 1,
+ ImGuiBackendFlags_HasSetMousePos = 1 << 2,
+ ImGuiBackendFlags_RendererHasVtxOffset = 1 << 3,
+ ImGuiBackendFlags_PlatformHasViewports = 1 << 10,
+ ImGuiBackendFlags_HasMouseHoveredViewport=1 << 11,
+ ImGuiBackendFlags_RendererHasViewports = 1 << 12
+};
+enum ImGuiCol_
+{
+ ImGuiCol_Text,
+ ImGuiCol_TextDisabled,
+ ImGuiCol_WindowBg,
+ ImGuiCol_ChildBg,
+ ImGuiCol_PopupBg,
+ ImGuiCol_Border,
+ ImGuiCol_BorderShadow,
+ ImGuiCol_FrameBg,
+ ImGuiCol_FrameBgHovered,
+ ImGuiCol_FrameBgActive,
+ ImGuiCol_TitleBg,
+ ImGuiCol_TitleBgActive,
+ ImGuiCol_TitleBgCollapsed,
+ ImGuiCol_MenuBarBg,
+ ImGuiCol_ScrollbarBg,
+ ImGuiCol_ScrollbarGrab,
+ ImGuiCol_ScrollbarGrabHovered,
+ ImGuiCol_ScrollbarGrabActive,
+ ImGuiCol_CheckMark,
+ ImGuiCol_SliderGrab,
+ ImGuiCol_SliderGrabActive,
+ ImGuiCol_Button,
+ ImGuiCol_ButtonHovered,
+ ImGuiCol_ButtonActive,
+ ImGuiCol_Header,
+ ImGuiCol_HeaderHovered,
+ ImGuiCol_HeaderActive,
+ ImGuiCol_Separator,
+ ImGuiCol_SeparatorHovered,
+ ImGuiCol_SeparatorActive,
+ ImGuiCol_ResizeGrip,
+ ImGuiCol_ResizeGripHovered,
+ ImGuiCol_ResizeGripActive,
+ ImGuiCol_Tab,
+ ImGuiCol_TabHovered,
+ ImGuiCol_TabActive,
+ ImGuiCol_TabUnfocused,
+ ImGuiCol_TabUnfocusedActive,
+ ImGuiCol_DockingPreview,
+ ImGuiCol_DockingEmptyBg,
+ ImGuiCol_PlotLines,
+ ImGuiCol_PlotLinesHovered,
+ ImGuiCol_PlotHistogram,
+ ImGuiCol_PlotHistogramHovered,
+ ImGuiCol_TextSelectedBg,
+ ImGuiCol_DragDropTarget,
+ ImGuiCol_NavHighlight,
+ ImGuiCol_NavWindowingHighlight,
+ ImGuiCol_NavWindowingDimBg,
+ ImGuiCol_ModalWindowDimBg,
+ ImGuiCol_COUNT
+};
+enum ImGuiStyleVar_
+{
+ ImGuiStyleVar_Alpha,
+ ImGuiStyleVar_WindowPadding,
+ ImGuiStyleVar_WindowRounding,
+ ImGuiStyleVar_WindowBorderSize,
+ ImGuiStyleVar_WindowMinSize,
+ ImGuiStyleVar_WindowTitleAlign,
+ ImGuiStyleVar_ChildRounding,
+ ImGuiStyleVar_ChildBorderSize,
+ ImGuiStyleVar_PopupRounding,
+ ImGuiStyleVar_PopupBorderSize,
+ ImGuiStyleVar_FramePadding,
+ ImGuiStyleVar_FrameRounding,
+ ImGuiStyleVar_FrameBorderSize,
+ ImGuiStyleVar_ItemSpacing,
+ ImGuiStyleVar_ItemInnerSpacing,
+ ImGuiStyleVar_IndentSpacing,
+ ImGuiStyleVar_ScrollbarSize,
+ ImGuiStyleVar_ScrollbarRounding,
+ ImGuiStyleVar_GrabMinSize,
+ ImGuiStyleVar_GrabRounding,
+ ImGuiStyleVar_TabRounding,
+ ImGuiStyleVar_ButtonTextAlign,
+ ImGuiStyleVar_SelectableTextAlign,
+ ImGuiStyleVar_COUNT
+};
+enum ImGuiColorEditFlags_
+{
+ ImGuiColorEditFlags_None = 0,
+ ImGuiColorEditFlags_NoAlpha = 1 << 1,
+ ImGuiColorEditFlags_NoPicker = 1 << 2,
+ ImGuiColorEditFlags_NoOptions = 1 << 3,
+ ImGuiColorEditFlags_NoSmallPreview = 1 << 4,
+ ImGuiColorEditFlags_NoInputs = 1 << 5,
+ ImGuiColorEditFlags_NoTooltip = 1 << 6,
+ ImGuiColorEditFlags_NoLabel = 1 << 7,
+ ImGuiColorEditFlags_NoSidePreview = 1 << 8,
+ ImGuiColorEditFlags_NoDragDrop = 1 << 9,
+ ImGuiColorEditFlags_AlphaBar = 1 << 16,
+ ImGuiColorEditFlags_AlphaPreview = 1 << 17,
+ ImGuiColorEditFlags_AlphaPreviewHalf= 1 << 18,
+ ImGuiColorEditFlags_HDR = 1 << 19,
+ ImGuiColorEditFlags_DisplayRGB = 1 << 20,
+ ImGuiColorEditFlags_DisplayHSV = 1 << 21,
+ ImGuiColorEditFlags_DisplayHex = 1 << 22,
+ ImGuiColorEditFlags_Uint8 = 1 << 23,
+ ImGuiColorEditFlags_Float = 1 << 24,
+ ImGuiColorEditFlags_PickerHueBar = 1 << 25,
+ ImGuiColorEditFlags_PickerHueWheel = 1 << 26,
+ ImGuiColorEditFlags_InputRGB = 1 << 27,
+ ImGuiColorEditFlags_InputHSV = 1 << 28,
+ ImGuiColorEditFlags__OptionsDefault = ImGuiColorEditFlags_Uint8|ImGuiColorEditFlags_DisplayRGB|ImGuiColorEditFlags_InputRGB|ImGuiColorEditFlags_PickerHueBar,
+ ImGuiColorEditFlags__DisplayMask = ImGuiColorEditFlags_DisplayRGB|ImGuiColorEditFlags_DisplayHSV|ImGuiColorEditFlags_DisplayHex,
+ ImGuiColorEditFlags__DataTypeMask = ImGuiColorEditFlags_Uint8|ImGuiColorEditFlags_Float,
+ ImGuiColorEditFlags__PickerMask = ImGuiColorEditFlags_PickerHueWheel|ImGuiColorEditFlags_PickerHueBar,
+ ImGuiColorEditFlags__InputMask = ImGuiColorEditFlags_InputRGB|ImGuiColorEditFlags_InputHSV
+};
+enum ImGuiMouseCursor_
+{
+ ImGuiMouseCursor_None = -1,
+ ImGuiMouseCursor_Arrow = 0,
+ ImGuiMouseCursor_TextInput,
+ ImGuiMouseCursor_ResizeAll,
+ ImGuiMouseCursor_ResizeNS,
+ ImGuiMouseCursor_ResizeEW,
+ ImGuiMouseCursor_ResizeNESW,
+ ImGuiMouseCursor_ResizeNWSE,
+ ImGuiMouseCursor_Hand,
+ ImGuiMouseCursor_COUNT
+};
+enum ImGuiCond_
+{
+ ImGuiCond_Always = 1 << 0,
+ ImGuiCond_Once = 1 << 1,
+ ImGuiCond_FirstUseEver = 1 << 2,
+ ImGuiCond_Appearing = 1 << 3
+};
+struct ImGuiStyle
+{
+ float Alpha;
+ ImVec2 WindowPadding;
+ float WindowRounding;
+ float WindowBorderSize;
+ ImVec2 WindowMinSize;
+ ImVec2 WindowTitleAlign;
+ ImGuiDir WindowMenuButtonPosition;
+ float ChildRounding;
+ float ChildBorderSize;
+ float PopupRounding;
+ float PopupBorderSize;
+ ImVec2 FramePadding;
+ float FrameRounding;
+ float FrameBorderSize;
+ ImVec2 ItemSpacing;
+ ImVec2 ItemInnerSpacing;
+ ImVec2 TouchExtraPadding;
+ float IndentSpacing;
+ float ColumnsMinSpacing;
+ float ScrollbarSize;
+ float ScrollbarRounding;
+ float GrabMinSize;
+ float GrabRounding;
+ float TabRounding;
+ float TabBorderSize;
+ ImGuiDir ColorButtonPosition;
+ ImVec2 ButtonTextAlign;
+ ImVec2 SelectableTextAlign;
+ ImVec2 DisplayWindowPadding;
+ ImVec2 DisplaySafeAreaPadding;
+ float MouseCursorScale;
+ bool AntiAliasedLines;
+ bool AntiAliasedFill;
+ float CurveTessellationTol;
+ ImVec4 Colors[ImGuiCol_COUNT];
+};
+struct ImGuiIO
+{
+ ImGuiConfigFlags ConfigFlags;
+ ImGuiBackendFlags BackendFlags;
+ ImVec2 DisplaySize;
+ float DeltaTime;
+ float IniSavingRate;
+ const char* IniFilename;
+ const char* LogFilename;
+ float MouseDoubleClickTime;
+ float MouseDoubleClickMaxDist;
+ float MouseDragThreshold;
+ int KeyMap[ImGuiKey_COUNT];
+ float KeyRepeatDelay;
+ float KeyRepeatRate;
+ void* UserData;
+ ImFontAtlas*Fonts;
+ float FontGlobalScale;
+ bool FontAllowUserScaling;
+ ImFont* FontDefault;
+ ImVec2 DisplayFramebufferScale;
+ bool ConfigDockingNoSplit;
+ bool ConfigDockingWithShift;
+ bool ConfigDockingAlwaysTabBar;
+ bool ConfigDockingTransparentPayload;
+ bool ConfigViewportsNoAutoMerge;
+ bool ConfigViewportsNoTaskBarIcon;
+ bool ConfigViewportsNoDecoration;
+ bool ConfigViewportsNoDefaultParent;
+ bool MouseDrawCursor;
+ bool ConfigMacOSXBehaviors;
+ bool ConfigInputTextCursorBlink;
+ bool ConfigWindowsResizeFromEdges;
+ bool ConfigWindowsMoveFromTitleBarOnly;
+ float ConfigWindowsMemoryCompactTimer;
+ const char* BackendPlatformName;
+ const char* BackendRendererName;
+ void* BackendPlatformUserData;
+ void* BackendRendererUserData;
+ void* BackendLanguageUserData;
+ const char* (*GetClipboardTextFn)(void* user_data);
+ void (*SetClipboardTextFn)(void* user_data, const char* text);
+ void* ClipboardUserData;
+ void* RenderDrawListsFnUnused;
+ ImVec2 MousePos;
+ bool MouseDown[5];
+ float MouseWheel;
+ float MouseWheelH;
+ ImGuiID MouseHoveredViewport;
+ bool KeyCtrl;
+ bool KeyShift;
+ bool KeyAlt;
+ bool KeySuper;
+ bool KeysDown[512];
+ float NavInputs[ImGuiNavInput_COUNT];
+ bool WantCaptureMouse;
+ bool WantCaptureKeyboard;
+ bool WantTextInput;
+ bool WantSetMousePos;
+ bool WantSaveIniSettings;
+ bool NavActive;
+ bool NavVisible;
+ float Framerate;
+ int MetricsRenderVertices;
+ int MetricsRenderIndices;
+ int MetricsRenderWindows;
+ int MetricsActiveWindows;
+ int MetricsActiveAllocations;
+ ImVec2 MouseDelta;
+ ImVec2 MousePosPrev;
+ ImVec2 MouseClickedPos[5];
+ double MouseClickedTime[5];
+ bool MouseClicked[5];
+ bool MouseDoubleClicked[5];
+ bool MouseReleased[5];
+ bool MouseDownOwned[5];
+ bool MouseDownWasDoubleClick[5];
+ float MouseDownDuration[5];
+ float MouseDownDurationPrev[5];
+ ImVec2 MouseDragMaxDistanceAbs[5];
+ float MouseDragMaxDistanceSqr[5];
+ float KeysDownDuration[512];
+ float KeysDownDurationPrev[512];
+ float NavInputsDownDuration[ImGuiNavInput_COUNT];
+ float NavInputsDownDurationPrev[ImGuiNavInput_COUNT];
+ ImVector_ImWchar InputQueueCharacters;
+};
+struct ImGuiInputTextCallbackData
+{
+ ImGuiInputTextFlags EventFlag;
+ ImGuiInputTextFlags Flags;
+ void* UserData;
+ ImWchar EventChar;
+ ImGuiKey EventKey;
+ char* Buf;
+ int BufTextLen;
+ int BufSize;
+ bool BufDirty;
+ int CursorPos;
+ int SelectionStart;
+ int SelectionEnd;
+};
+struct ImGuiSizeCallbackData
+{
+ void* UserData;
+ ImVec2 Pos;
+ ImVec2 CurrentSize;
+ ImVec2 DesiredSize;
+};
+struct ImGuiWindowClass
+{
+ ImGuiID ClassId;
+ ImGuiID ParentViewportId;
+ ImGuiViewportFlags ViewportFlagsOverrideSet;
+ ImGuiViewportFlags ViewportFlagsOverrideClear;
+ bool DockingAlwaysTabBar;
+ bool DockingAllowUnclassed;
+};
+struct ImGuiPayload
+{
+ void* Data;
+ int DataSize;
+ ImGuiID SourceId;
+ ImGuiID SourceParentId;
+ int DataFrameCount;
+ char DataType[32+1];
+ bool Preview;
+ bool Delivery;
+};
+struct ImGuiOnceUponAFrame
+{
+ int RefFrame;
+};
+struct ImGuiTextFilter
+{
+ char InputBuf[256];
+ ImVector_ImGuiTextRange Filters;
+ int CountGrep;
+};
+struct ImGuiTextBuffer
+{
+ ImVector_char Buf;
+};
+struct ImGuiStorage
+{
+ ImVector_ImGuiStoragePair Data;
+};
+struct ImGuiListClipper
+{
+ float StartPosY;
+ float ItemsHeight;
+ int ItemsCount, StepNo, DisplayStart, DisplayEnd;
+};
+struct ImColor
+{
+ ImVec4 Value;
+};
+struct ImDrawCmd
+{
+ unsigned int ElemCount;
+ ImVec4 ClipRect;
+ ImTextureID TextureId;
+ unsigned int VtxOffset;
+ unsigned int IdxOffset;
+ ImDrawCallback UserCallback;
+ void* UserCallbackData;
+};
+struct ImDrawVert
+{
+ ImVec2 pos;
+ ImVec2 uv;
+ ImU32 col;
+};
+struct ImDrawChannel
+{
+ ImVector_ImDrawCmd _CmdBuffer;
+ ImVector_ImDrawIdx _IdxBuffer;
+};
+struct ImDrawListSplitter
+{
+ int _Current;
+ int _Count;
+ ImVector_ImDrawChannel _Channels;
+};
+enum ImDrawCornerFlags_
+{
+ ImDrawCornerFlags_None = 0,
+ ImDrawCornerFlags_TopLeft = 1 << 0,
+ ImDrawCornerFlags_TopRight = 1 << 1,
+ ImDrawCornerFlags_BotLeft = 1 << 2,
+ ImDrawCornerFlags_BotRight = 1 << 3,
+ ImDrawCornerFlags_Top = ImDrawCornerFlags_TopLeft | ImDrawCornerFlags_TopRight,
+ ImDrawCornerFlags_Bot = ImDrawCornerFlags_BotLeft | ImDrawCornerFlags_BotRight,
+ ImDrawCornerFlags_Left = ImDrawCornerFlags_TopLeft | ImDrawCornerFlags_BotLeft,
+ ImDrawCornerFlags_Right = ImDrawCornerFlags_TopRight | ImDrawCornerFlags_BotRight,
+ ImDrawCornerFlags_All = 0xF
+};
+enum ImDrawListFlags_
+{
+ ImDrawListFlags_None = 0,
+ ImDrawListFlags_AntiAliasedLines = 1 << 0,
+ ImDrawListFlags_AntiAliasedFill = 1 << 1,
+ ImDrawListFlags_AllowVtxOffset = 1 << 2
+};
+struct ImDrawList
+{
+ ImVector_ImDrawCmd CmdBuffer;
+ ImVector_ImDrawIdx IdxBuffer;
+ ImVector_ImDrawVert VtxBuffer;
+ ImDrawListFlags Flags;
+ const ImDrawListSharedData* _Data;
+ const char* _OwnerName;
+ unsigned int _VtxCurrentOffset;
+ unsigned int _VtxCurrentIdx;
+ ImDrawVert* _VtxWritePtr;
+ ImDrawIdx* _IdxWritePtr;
+ ImVector_ImVec4 _ClipRectStack;
+ ImVector_ImTextureID _TextureIdStack;
+ ImVector_ImVec2 _Path;
+ ImDrawListSplitter _Splitter;
+};
+struct ImDrawData
+{
+ bool Valid;
+ ImDrawList** CmdLists;
+ int CmdListsCount;
+ int TotalIdxCount;
+ int TotalVtxCount;
+ ImVec2 DisplayPos;
+ ImVec2 DisplaySize;
+ ImVec2 FramebufferScale;
+ ImGuiViewport* OwnerViewport;
+};
+struct ImFontConfig
+{
+ void* FontData;
+ int FontDataSize;
+ bool FontDataOwnedByAtlas;
+ int FontNo;
+ float SizePixels;
+ int OversampleH;
+ int OversampleV;
+ bool PixelSnapH;
+ ImVec2 GlyphExtraSpacing;
+ ImVec2 GlyphOffset;
+ const ImWchar* GlyphRanges;
+ float GlyphMinAdvanceX;
+ float GlyphMaxAdvanceX;
+ bool MergeMode;
+ unsigned int RasterizerFlags;
+ float RasterizerMultiply;
+ ImWchar EllipsisChar;
+ char Name[40];
+ ImFont* DstFont;
+};
+struct ImFontGlyph
+{
+ ImWchar Codepoint;
+ float AdvanceX;
+ float X0, Y0, X1, Y1;
+ float U0, V0, U1, V1;
+};
+struct ImFontGlyphRangesBuilder
+{
+ ImVector_ImU32 UsedChars;
+};
+struct ImFontAtlasCustomRect
+{
+ unsigned int ID;
+ unsigned short Width, Height;
+ unsigned short X, Y;
+ float GlyphAdvanceX;
+ ImVec2 GlyphOffset;
+ ImFont* Font;
+};
+enum ImFontAtlasFlags_
+{
+ ImFontAtlasFlags_None = 0,
+ ImFontAtlasFlags_NoPowerOfTwoHeight = 1 << 0,
+ ImFontAtlasFlags_NoMouseCursors = 1 << 1
+};
+struct ImFontAtlas
+{
+ bool Locked;
+ ImFontAtlasFlags Flags;
+ ImTextureID TexID;
+ int TexDesiredWidth;
+ int TexGlyphPadding;
+ unsigned char* TexPixelsAlpha8;
+ unsigned int* TexPixelsRGBA32;
+ int TexWidth;
+ int TexHeight;
+ ImVec2 TexUvScale;
+ ImVec2 TexUvWhitePixel;
+ ImVector_ImFontPtr Fonts;
+ ImVector_ImFontAtlasCustomRect CustomRects;
+ ImVector_ImFontConfig ConfigData;
+ int CustomRectIds[1];
+};
+struct ImFont
+{
+ ImVector_float IndexAdvanceX;
+ float FallbackAdvanceX;
+ float FontSize;
+ ImVector_ImWchar IndexLookup;
+ ImVector_ImFontGlyph Glyphs;
+ const ImFontGlyph* FallbackGlyph;
+ ImVec2 DisplayOffset;
+ ImFontAtlas* ContainerAtlas;
+ const ImFontConfig* ConfigData;
+ short ConfigDataCount;
+ ImWchar FallbackChar;
+ ImWchar EllipsisChar;
+ float Scale;
+ float Ascent, Descent;
+ int MetricsTotalSurface;
+ bool DirtyLookupTables;
+};
+struct ImGuiPlatformMonitor
+{
+ ImVec2 MainPos, MainSize;
+ ImVec2 WorkPos, WorkSize;
+ float DpiScale;
+};
+struct ImGuiPlatformIO
+{
+ void (*Platform_CreateWindow)(ImGuiViewport* vp);
+ void (*Platform_DestroyWindow)(ImGuiViewport* vp);
+ void (*Platform_ShowWindow)(ImGuiViewport* vp);
+ void (*Platform_SetWindowPos)(ImGuiViewport* vp, ImVec2 pos);
+ ImVec2 (*Platform_GetWindowPos)(ImGuiViewport* vp);
+ void (*Platform_SetWindowSize)(ImGuiViewport* vp, ImVec2 size);
+ ImVec2 (*Platform_GetWindowSize)(ImGuiViewport* vp);
+ void (*Platform_SetWindowFocus)(ImGuiViewport* vp);
+ bool (*Platform_GetWindowFocus)(ImGuiViewport* vp);
+ bool (*Platform_GetWindowMinimized)(ImGuiViewport* vp);
+ void (*Platform_SetWindowTitle)(ImGuiViewport* vp, const char* title);
+ void (*Platform_SetWindowAlpha)(ImGuiViewport* vp, float alpha);
+ void (*Platform_UpdateWindow)(ImGuiViewport* vp);
+ void (*Platform_RenderWindow)(ImGuiViewport* vp, void* render_arg);
+ void (*Platform_SwapBuffers)(ImGuiViewport* vp, void* render_arg);
+ float (*Platform_GetWindowDpiScale)(ImGuiViewport* vp);
+ void (*Platform_OnChangedViewport)(ImGuiViewport* vp);
+ void (*Platform_SetImeInputPos)(ImGuiViewport* vp, ImVec2 pos);
+ int (*Platform_CreateVkSurface)(ImGuiViewport* vp, ImU64 vk_inst, const void* vk_allocators, ImU64* out_vk_surface);
+ void (*Renderer_CreateWindow)(ImGuiViewport* vp);
+ void (*Renderer_DestroyWindow)(ImGuiViewport* vp);
+ void (*Renderer_SetWindowSize)(ImGuiViewport* vp, ImVec2 size);
+ void (*Renderer_RenderWindow)(ImGuiViewport* vp, void* render_arg);
+ void (*Renderer_SwapBuffers)(ImGuiViewport* vp, void* render_arg);
+ ImVector_ImGuiPlatformMonitor Monitors;
+ ImGuiViewport* MainViewport;
+ ImVector_ImGuiViewportPtr Viewports;
+};
+enum ImGuiViewportFlags_
+{
+ ImGuiViewportFlags_None = 0,
+ ImGuiViewportFlags_NoDecoration = 1 << 0,
+ ImGuiViewportFlags_NoTaskBarIcon = 1 << 1,
+ ImGuiViewportFlags_NoFocusOnAppearing = 1 << 2,
+ ImGuiViewportFlags_NoFocusOnClick = 1 << 3,
+ ImGuiViewportFlags_NoInputs = 1 << 4,
+ ImGuiViewportFlags_NoRendererClear = 1 << 5,
+ ImGuiViewportFlags_TopMost = 1 << 6,
+ ImGuiViewportFlags_Minimized = 1 << 7,
+ ImGuiViewportFlags_NoAutoMerge = 1 << 8,
+ ImGuiViewportFlags_CanHostOtherWindows = 1 << 9
+};
+struct ImGuiViewport
+{
+ ImGuiID ID;
+ ImGuiViewportFlags Flags;
+ ImVec2 Pos;
+ ImVec2 Size;
+ float DpiScale;
+ ImDrawData* DrawData;
+ ImGuiID ParentViewportId;
+ void* RendererUserData;
+ void* PlatformUserData;
+ void* PlatformHandle;
+ void* PlatformHandleRaw;
+ bool PlatformRequestClose;
+ bool PlatformRequestMove;
+ bool PlatformRequestResize;
+};
+ struct ImGuiTextRange
+ {
+ const char* b;
+ const char* e;
+};
+ struct ImGuiStoragePair
+ {
+ ImGuiID key;
+ union { int val_i; float val_f; void* val_p; };
+};
+#else
+struct GLFWwindow;
+struct SDL_Window;
+typedef union SDL_Event SDL_Event;
+inline ImVec2_Simple ImVec2ToSimple(ImVec2 vec)
+{
+ ImVec2_Simple result;
+ result.x = vec.x;
+ result.y = vec.y;
+ return result;
+}
+inline ImVec4_Simple ImVec4ToSimple(ImVec4 vec)
+{
+ ImVec4_Simple result;
+ result.x = vec.x;
+ result.y = vec.y;
+ result.z = vec.z;
+ result.w = vec.w;
+ return result;
+}
+inline ImColor_Simple ImColorToSimple(ImColor col)
+{
+ ImColor_Simple result;
+ result.Value = ImVec4ToSimple(col.Value);
+ return result;
+}
+#endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS
+
+#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
+typedef ImGuiStorage::ImGuiStoragePair ImGuiStoragePair;
+typedef ImGuiTextFilter::ImGuiTextRange ImGuiTextRange;
+typedef ImVector<float> ImVector_float;
+typedef ImVector<ImWchar> ImVector_ImWchar;
+typedef ImVector<ImDrawVert> ImVector_ImDrawVert;
+typedef ImVector<ImFontGlyph> ImVector_ImFontGlyph;
+typedef ImVector<ImGuiTextRange> ImVector_ImGuiTextRange;
+typedef ImVector<ImGuiStoragePair> ImVector_ImGuiStoragePair;
+typedef ImVector<ImDrawChannel> ImVector_ImDrawChannel;
+typedef ImVector<char> ImVector_char;
+typedef ImVector<ImU32> ImVector_ImU32;
+typedef ImVector<ImFontAtlasCustomRect> ImVector_ImFontAtlasCustomRect;
+typedef ImVector<ImTextureID> ImVector_ImTextureID;
+typedef ImVector<ImFontConfig> ImVector_ImFontConfig;
+typedef ImVector<ImGuiPlatformMonitor> ImVector_ImGuiPlatformMonitor;
+typedef ImVector<ImGuiViewport*> ImVector_ImGuiViewportPtr;
+typedef ImVector<ImFont*> ImVector_ImFontPtr;
+typedef ImVector<ImDrawCmd> ImVector_ImDrawCmd;
+typedef ImVector<ImVec4> ImVector_ImVec4;
+typedef ImVector<ImDrawIdx> ImVector_ImDrawIdx;
+typedef ImVector<ImVec2> ImVector_ImVec2;
+#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS
+CIMGUI_API ImVec2* ImVec2_ImVec2(void);
+CIMGUI_API void ImVec2_destroy(ImVec2* self);
+CIMGUI_API ImVec2* ImVec2_ImVec2Float(float _x,float _y);
+CIMGUI_API ImVec4* ImVec4_ImVec4(void);
+CIMGUI_API void ImVec4_destroy(ImVec4* self);
+CIMGUI_API ImVec4* ImVec4_ImVec4Float(float _x,float _y,float _z,float _w);
+CIMGUI_API ImGuiContext* igCreateContext(ImFontAtlas* shared_font_atlas);
+CIMGUI_API void igDestroyContext(ImGuiContext* ctx);
+CIMGUI_API ImGuiContext* igGetCurrentContext(void);
+CIMGUI_API void igSetCurrentContext(ImGuiContext* ctx);
+CIMGUI_API bool igDebugCheckVersionAndDataLayout(const char* version_str,size_t sz_io,size_t sz_style,size_t sz_vec2,size_t sz_vec4,size_t sz_drawvert,size_t sz_drawidx);
+CIMGUI_API ImGuiIO* igGetIO(void);
+CIMGUI_API ImGuiStyle* igGetStyle(void);
+CIMGUI_API void igNewFrame(void);
+CIMGUI_API void igEndFrame(void);
+CIMGUI_API void igRender(void);
+CIMGUI_API ImDrawData* igGetDrawData(void);
+CIMGUI_API void igShowDemoWindow(bool* p_open);
+CIMGUI_API void igShowAboutWindow(bool* p_open);
+CIMGUI_API void igShowMetricsWindow(bool* p_open);
+CIMGUI_API void igShowStyleEditor(ImGuiStyle* ref);
+CIMGUI_API bool igShowStyleSelector(const char* label);
+CIMGUI_API void igShowFontSelector(const char* label);
+CIMGUI_API void igShowUserGuide(void);
+CIMGUI_API const char* igGetVersion(void);
+CIMGUI_API void igStyleColorsDark(ImGuiStyle* dst);
+CIMGUI_API void igStyleColorsClassic(ImGuiStyle* dst);
+CIMGUI_API void igStyleColorsLight(ImGuiStyle* dst);
+CIMGUI_API bool igBegin(const char* name,bool* p_open,ImGuiWindowFlags flags);
+CIMGUI_API void igEnd(void);
+CIMGUI_API bool igBeginChild(const char* str_id,const ImVec2 size,bool border,ImGuiWindowFlags flags);
+CIMGUI_API bool igBeginChildID(ImGuiID id,const ImVec2 size,bool border,ImGuiWindowFlags flags);
+CIMGUI_API void igEndChild(void);
+CIMGUI_API bool igIsWindowAppearing(void);
+CIMGUI_API bool igIsWindowCollapsed(void);
+CIMGUI_API bool igIsWindowFocused(ImGuiFocusedFlags flags);
+CIMGUI_API bool igIsWindowHovered(ImGuiHoveredFlags flags);
+CIMGUI_API ImDrawList* igGetWindowDrawList(void);
+CIMGUI_API float igGetWindowDpiScale(void);
+CIMGUI_API ImGuiViewport* igGetWindowViewport(void);
+CIMGUI_API ImVec2 igGetWindowPos(void);
+CIMGUI_API ImVec2 igGetWindowSize(void);
+CIMGUI_API float igGetWindowWidth(void);
+CIMGUI_API float igGetWindowHeight(void);
+CIMGUI_API void igSetNextWindowPos(const ImVec2 pos,ImGuiCond cond,const ImVec2 pivot);
+CIMGUI_API void igSetNextWindowSize(const ImVec2 size,ImGuiCond cond);
+CIMGUI_API void igSetNextWindowSizeConstraints(const ImVec2 size_min,const ImVec2 size_max,ImGuiSizeCallback custom_callback,void* custom_callback_data);
+CIMGUI_API void igSetNextWindowContentSize(const ImVec2 size);
+CIMGUI_API void igSetNextWindowCollapsed(bool collapsed,ImGuiCond cond);
+CIMGUI_API void igSetNextWindowFocus(void);
+CIMGUI_API void igSetNextWindowBgAlpha(float alpha);
+CIMGUI_API void igSetNextWindowViewport(ImGuiID viewport_id);
+CIMGUI_API void igSetWindowPosVec2(const ImVec2 pos,ImGuiCond cond);
+CIMGUI_API void igSetWindowSizeVec2(const ImVec2 size,ImGuiCond cond);
+CIMGUI_API void igSetWindowCollapsedBool(bool collapsed,ImGuiCond cond);
+CIMGUI_API void igSetWindowFocus(void);
+CIMGUI_API void igSetWindowFontScale(float scale);
+CIMGUI_API void igSetWindowPosStr(const char* name,const ImVec2 pos,ImGuiCond cond);
+CIMGUI_API void igSetWindowSizeStr(const char* name,const ImVec2 size,ImGuiCond cond);
+CIMGUI_API void igSetWindowCollapsedStr(const char* name,bool collapsed,ImGuiCond cond);
+CIMGUI_API void igSetWindowFocusStr(const char* name);
+CIMGUI_API ImVec2 igGetContentRegionMax(void);
+CIMGUI_API ImVec2 igGetContentRegionAvail(void);
+CIMGUI_API ImVec2 igGetWindowContentRegionMin(void);
+CIMGUI_API ImVec2 igGetWindowContentRegionMax(void);
+CIMGUI_API float igGetWindowContentRegionWidth(void);
+CIMGUI_API float igGetScrollX(void);
+CIMGUI_API float igGetScrollY(void);
+CIMGUI_API float igGetScrollMaxX(void);
+CIMGUI_API float igGetScrollMaxY(void);
+CIMGUI_API void igSetScrollX(float scroll_x);
+CIMGUI_API void igSetScrollY(float scroll_y);
+CIMGUI_API void igSetScrollHereX(float center_x_ratio);
+CIMGUI_API void igSetScrollHereY(float center_y_ratio);
+CIMGUI_API void igSetScrollFromPosX(float local_x,float center_x_ratio);
+CIMGUI_API void igSetScrollFromPosY(float local_y,float center_y_ratio);
+CIMGUI_API void igPushFont(ImFont* font);
+CIMGUI_API void igPopFont(void);
+CIMGUI_API void igPushStyleColorU32(ImGuiCol idx,ImU32 col);
+CIMGUI_API void igPushStyleColor(ImGuiCol idx,const ImVec4 col);
+CIMGUI_API void igPopStyleColor(int count);
+CIMGUI_API void igPushStyleVarFloat(ImGuiStyleVar idx,float val);
+CIMGUI_API void igPushStyleVarVec2(ImGuiStyleVar idx,const ImVec2 val);
+CIMGUI_API void igPopStyleVar(int count);
+CIMGUI_API const ImVec4* igGetStyleColorVec4(ImGuiCol idx);
+CIMGUI_API ImFont* igGetFont(void);
+CIMGUI_API float igGetFontSize(void);
+CIMGUI_API ImVec2 igGetFontTexUvWhitePixel(void);
+CIMGUI_API ImU32 igGetColorU32(ImGuiCol idx,float alpha_mul);
+CIMGUI_API ImU32 igGetColorU32Vec4(const ImVec4 col);
+CIMGUI_API ImU32 igGetColorU32U32(ImU32 col);
+CIMGUI_API void igPushItemWidth(float item_width);
+CIMGUI_API void igPopItemWidth(void);
+CIMGUI_API void igSetNextItemWidth(float item_width);
+CIMGUI_API float igCalcItemWidth(void);
+CIMGUI_API void igPushTextWrapPos(float wrap_local_pos_x);
+CIMGUI_API void igPopTextWrapPos(void);
+CIMGUI_API void igPushAllowKeyboardFocus(bool allow_keyboard_focus);
+CIMGUI_API void igPopAllowKeyboardFocus(void);
+CIMGUI_API void igPushButtonRepeat(bool repeat);
+CIMGUI_API void igPopButtonRepeat(void);
+CIMGUI_API void igSeparator(void);
+CIMGUI_API void igSameLine(float offset_from_start_x,float spacing);
+CIMGUI_API void igNewLine(void);
+CIMGUI_API void igSpacing(void);
+CIMGUI_API void igDummy(const ImVec2 size);
+CIMGUI_API void igIndent(float indent_w);
+CIMGUI_API void igUnindent(float indent_w);
+CIMGUI_API void igBeginGroup(void);
+CIMGUI_API void igEndGroup(void);
+CIMGUI_API ImVec2 igGetCursorPos(void);
+CIMGUI_API float igGetCursorPosX(void);
+CIMGUI_API float igGetCursorPosY(void);
+CIMGUI_API void igSetCursorPos(const ImVec2 local_pos);
+CIMGUI_API void igSetCursorPosX(float local_x);
+CIMGUI_API void igSetCursorPosY(float local_y);
+CIMGUI_API ImVec2 igGetCursorStartPos(void);
+CIMGUI_API ImVec2 igGetCursorScreenPos(void);
+CIMGUI_API void igSetCursorScreenPos(const ImVec2 pos);
+CIMGUI_API void igAlignTextToFramePadding(void);
+CIMGUI_API float igGetTextLineHeight(void);
+CIMGUI_API float igGetTextLineHeightWithSpacing(void);
+CIMGUI_API float igGetFrameHeight(void);
+CIMGUI_API float igGetFrameHeightWithSpacing(void);
+CIMGUI_API void igPushIDStr(const char* str_id);
+CIMGUI_API void igPushIDRange(const char* str_id_begin,const char* str_id_end);
+CIMGUI_API void igPushIDPtr(const void* ptr_id);
+CIMGUI_API void igPushIDInt(int int_id);
+CIMGUI_API void igPopID(void);
+CIMGUI_API ImGuiID igGetIDStr(const char* str_id);
+CIMGUI_API ImGuiID igGetIDRange(const char* str_id_begin,const char* str_id_end);
+CIMGUI_API ImGuiID igGetIDPtr(const void* ptr_id);
+CIMGUI_API void igTextUnformatted(const char* text,const char* text_end);
+CIMGUI_API void igText(const char* fmt,...);
+CIMGUI_API void igTextV(const char* fmt,va_list args);
+CIMGUI_API void igTextColored(const ImVec4 col,const char* fmt,...);
+CIMGUI_API void igTextColoredV(const ImVec4 col,const char* fmt,va_list args);
+CIMGUI_API void igTextDisabled(const char* fmt,...);
+CIMGUI_API void igTextDisabledV(const char* fmt,va_list args);
+CIMGUI_API void igTextWrapped(const char* fmt,...);
+CIMGUI_API void igTextWrappedV(const char* fmt,va_list args);
+CIMGUI_API void igLabelText(const char* label,const char* fmt,...);
+CIMGUI_API void igLabelTextV(const char* label,const char* fmt,va_list args);
+CIMGUI_API void igBulletText(const char* fmt,...);
+CIMGUI_API void igBulletTextV(const char* fmt,va_list args);
+CIMGUI_API bool igButton(const char* label,const ImVec2 size);
+CIMGUI_API bool igSmallButton(const char* label);
+CIMGUI_API bool igInvisibleButton(const char* str_id,const ImVec2 size);
+CIMGUI_API bool igArrowButton(const char* str_id,ImGuiDir dir);
+CIMGUI_API void igImage(ImTextureID user_texture_id,const ImVec2 size,const ImVec2 uv0,const ImVec2 uv1,const ImVec4 tint_col,const ImVec4 border_col);
+CIMGUI_API bool igImageButton(ImTextureID user_texture_id,const ImVec2 size,const ImVec2 uv0,const ImVec2 uv1,int frame_padding,const ImVec4 bg_col,const ImVec4 tint_col);
+CIMGUI_API bool igCheckbox(const char* label,bool* v);
+CIMGUI_API bool igCheckboxFlags(const char* label,unsigned int* flags,unsigned int flags_value);
+CIMGUI_API bool igRadioButtonBool(const char* label,bool active);
+CIMGUI_API bool igRadioButtonIntPtr(const char* label,int* v,int v_button);
+CIMGUI_API void igProgressBar(float fraction,const ImVec2 size_arg,const char* overlay);
+CIMGUI_API void igBullet(void);
+CIMGUI_API bool igBeginCombo(const char* label,const char* preview_value,ImGuiComboFlags flags);
+CIMGUI_API void igEndCombo(void);
+CIMGUI_API bool igCombo(const char* label,int* current_item,const char* const items[],int items_count,int popup_max_height_in_items);
+CIMGUI_API bool igComboStr(const char* label,int* current_item,const char* items_separated_by_zeros,int popup_max_height_in_items);
+CIMGUI_API bool igComboFnPtr(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int popup_max_height_in_items);
+CIMGUI_API bool igDragFloat(const char* label,float* v,float v_speed,float v_min,float v_max,const char* format,float power);
+CIMGUI_API bool igDragFloat2(const char* label,float v[2],float v_speed,float v_min,float v_max,const char* format,float power);
+CIMGUI_API bool igDragFloat3(const char* label,float v[3],float v_speed,float v_min,float v_max,const char* format,float power);
+CIMGUI_API bool igDragFloat4(const char* label,float v[4],float v_speed,float v_min,float v_max,const char* format,float power);
+CIMGUI_API bool igDragFloatRange2(const char* label,float* v_current_min,float* v_current_max,float v_speed,float v_min,float v_max,const char* format,const char* format_max,float power);
+CIMGUI_API bool igDragInt(const char* label,int* v,float v_speed,int v_min,int v_max,const char* format);
+CIMGUI_API bool igDragInt2(const char* label,int v[2],float v_speed,int v_min,int v_max,const char* format);
+CIMGUI_API bool igDragInt3(const char* label,int v[3],float v_speed,int v_min,int v_max,const char* format);
+CIMGUI_API bool igDragInt4(const char* label,int v[4],float v_speed,int v_min,int v_max,const char* format);
+CIMGUI_API bool igDragIntRange2(const char* label,int* v_current_min,int* v_current_max,float v_speed,int v_min,int v_max,const char* format,const char* format_max);
+CIMGUI_API bool igDragScalar(const char* label,ImGuiDataType data_type,void* v,float v_speed,const void* v_min,const void* v_max,const char* format,float power);
+CIMGUI_API bool igDragScalarN(const char* label,ImGuiDataType data_type,void* v,int components,float v_speed,const void* v_min,const void* v_max,const char* format,float power);
+CIMGUI_API bool igSliderFloat(const char* label,float* v,float v_min,float v_max,const char* format,float power);
+CIMGUI_API bool igSliderFloat2(const char* label,float v[2],float v_min,float v_max,const char* format,float power);
+CIMGUI_API bool igSliderFloat3(const char* label,float v[3],float v_min,float v_max,const char* format,float power);
+CIMGUI_API bool igSliderFloat4(const char* label,float v[4],float v_min,float v_max,const char* format,float power);
+CIMGUI_API bool igSliderAngle(const char* label,float* v_rad,float v_degrees_min,float v_degrees_max,const char* format);
+CIMGUI_API bool igSliderInt(const char* label,int* v,int v_min,int v_max,const char* format);
+CIMGUI_API bool igSliderInt2(const char* label,int v[2],int v_min,int v_max,const char* format);
+CIMGUI_API bool igSliderInt3(const char* label,int v[3],int v_min,int v_max,const char* format);
+CIMGUI_API bool igSliderInt4(const char* label,int v[4],int v_min,int v_max,const char* format);
+CIMGUI_API bool igSliderScalar(const char* label,ImGuiDataType data_type,void* v,const void* v_min,const void* v_max,const char* format,float power);
+CIMGUI_API bool igSliderScalarN(const char* label,ImGuiDataType data_type,void* v,int components,const void* v_min,const void* v_max,const char* format,float power);
+CIMGUI_API bool igVSliderFloat(const char* label,const ImVec2 size,float* v,float v_min,float v_max,const char* format,float power);
+CIMGUI_API bool igVSliderInt(const char* label,const ImVec2 size,int* v,int v_min,int v_max,const char* format);
+CIMGUI_API bool igVSliderScalar(const char* label,const ImVec2 size,ImGuiDataType data_type,void* v,const void* v_min,const void* v_max,const char* format,float power);
+CIMGUI_API bool igInputText(const char* label,char* buf,size_t buf_size,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data);
+CIMGUI_API bool igInputTextMultiline(const char* label,char* buf,size_t buf_size,const ImVec2 size,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data);
+CIMGUI_API bool igInputTextWithHint(const char* label,const char* hint,char* buf,size_t buf_size,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data);
+CIMGUI_API bool igInputFloat(const char* label,float* v,float step,float step_fast,const char* format,ImGuiInputTextFlags flags);
+CIMGUI_API bool igInputFloat2(const char* label,float v[2],const char* format,ImGuiInputTextFlags flags);
+CIMGUI_API bool igInputFloat3(const char* label,float v[3],const char* format,ImGuiInputTextFlags flags);
+CIMGUI_API bool igInputFloat4(const char* label,float v[4],const char* format,ImGuiInputTextFlags flags);
+CIMGUI_API bool igInputInt(const char* label,int* v,int step,int step_fast,ImGuiInputTextFlags flags);
+CIMGUI_API bool igInputInt2(const char* label,int v[2],ImGuiInputTextFlags flags);
+CIMGUI_API bool igInputInt3(const char* label,int v[3],ImGuiInputTextFlags flags);
+CIMGUI_API bool igInputInt4(const char* label,int v[4],ImGuiInputTextFlags flags);
+CIMGUI_API bool igInputDouble(const char* label,double* v,double step,double step_fast,const char* format,ImGuiInputTextFlags flags);
+CIMGUI_API bool igInputScalar(const char* label,ImGuiDataType data_type,void* v,const void* step,const void* step_fast,const char* format,ImGuiInputTextFlags flags);
+CIMGUI_API bool igInputScalarN(const char* label,ImGuiDataType data_type,void* v,int components,const void* step,const void* step_fast,const char* format,ImGuiInputTextFlags flags);
+CIMGUI_API bool igColorEdit3(const char* label,float col[3],ImGuiColorEditFlags flags);
+CIMGUI_API bool igColorEdit4(const char* label,float col[4],ImGuiColorEditFlags flags);
+CIMGUI_API bool igColorPicker3(const char* label,float col[3],ImGuiColorEditFlags flags);
+CIMGUI_API bool igColorPicker4(const char* label,float col[4],ImGuiColorEditFlags flags,const float* ref_col);
+CIMGUI_API bool igColorButton(const char* desc_id,const ImVec4 col,ImGuiColorEditFlags flags,ImVec2 size);
+CIMGUI_API void igSetColorEditOptions(ImGuiColorEditFlags flags);
+CIMGUI_API bool igTreeNodeStr(const char* label);
+CIMGUI_API bool igTreeNodeStrStr(const char* str_id,const char* fmt,...);
+CIMGUI_API bool igTreeNodePtr(const void* ptr_id,const char* fmt,...);
+CIMGUI_API bool igTreeNodeVStr(const char* str_id,const char* fmt,va_list args);
+CIMGUI_API bool igTreeNodeVPtr(const void* ptr_id,const char* fmt,va_list args);
+CIMGUI_API bool igTreeNodeExStr(const char* label,ImGuiTreeNodeFlags flags);
+CIMGUI_API bool igTreeNodeExStrStr(const char* str_id,ImGuiTreeNodeFlags flags,const char* fmt,...);
+CIMGUI_API bool igTreeNodeExPtr(const void* ptr_id,ImGuiTreeNodeFlags flags,const char* fmt,...);
+CIMGUI_API bool igTreeNodeExVStr(const char* str_id,ImGuiTreeNodeFlags flags,const char* fmt,va_list args);
+CIMGUI_API bool igTreeNodeExVPtr(const void* ptr_id,ImGuiTreeNodeFlags flags,const char* fmt,va_list args);
+CIMGUI_API void igTreePushStr(const char* str_id);
+CIMGUI_API void igTreePushPtr(const void* ptr_id);
+CIMGUI_API void igTreePop(void);
+CIMGUI_API float igGetTreeNodeToLabelSpacing(void);
+CIMGUI_API bool igCollapsingHeader(const char* label,ImGuiTreeNodeFlags flags);
+CIMGUI_API bool igCollapsingHeaderBoolPtr(const char* label,bool* p_open,ImGuiTreeNodeFlags flags);
+CIMGUI_API void igSetNextItemOpen(bool is_open,ImGuiCond cond);
+CIMGUI_API bool igSelectable(const char* label,bool selected,ImGuiSelectableFlags flags,const ImVec2 size);
+CIMGUI_API bool igSelectableBoolPtr(const char* label,bool* p_selected,ImGuiSelectableFlags flags,const ImVec2 size);
+CIMGUI_API bool igListBoxStr_arr(const char* label,int* current_item,const char* const items[],int items_count,int height_in_items);
+CIMGUI_API bool igListBoxFnPtr(const char* label,int* current_item,bool(*items_getter)(void* data,int idx,const char** out_text),void* data,int items_count,int height_in_items);
+CIMGUI_API bool igListBoxHeaderVec2(const char* label,const ImVec2 size);
+CIMGUI_API bool igListBoxHeaderInt(const char* label,int items_count,int height_in_items);
+CIMGUI_API void igListBoxFooter(void);
+CIMGUI_API void igPlotLines(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride);
+CIMGUI_API void igPlotLinesFnPtr(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size);
+CIMGUI_API void igPlotHistogramFloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride);
+CIMGUI_API void igPlotHistogramFnPtr(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size);
+CIMGUI_API void igValueBool(const char* prefix,bool b);
+CIMGUI_API void igValueInt(const char* prefix,int v);
+CIMGUI_API void igValueUint(const char* prefix,unsigned int v);
+CIMGUI_API void igValueFloat(const char* prefix,float v,const char* float_format);
+CIMGUI_API bool igBeginMainMenuBar(void);
+CIMGUI_API void igEndMainMenuBar(void);
+CIMGUI_API bool igBeginMenuBar(void);
+CIMGUI_API void igEndMenuBar(void);
+CIMGUI_API bool igBeginMenu(const char* label,bool enabled);
+CIMGUI_API void igEndMenu(void);
+CIMGUI_API bool igMenuItemBool(const char* label,const char* shortcut,bool selected,bool enabled);
+CIMGUI_API bool igMenuItemBoolPtr(const char* label,const char* shortcut,bool* p_selected,bool enabled);
+CIMGUI_API void igBeginTooltip(void);
+CIMGUI_API void igEndTooltip(void);
+CIMGUI_API void igSetTooltip(const char* fmt,...);
+CIMGUI_API void igSetTooltipV(const char* fmt,va_list args);
+CIMGUI_API void igOpenPopup(const char* str_id);
+CIMGUI_API bool igBeginPopup(const char* str_id,ImGuiWindowFlags flags);
+CIMGUI_API bool igBeginPopupContextItem(const char* str_id,int mouse_button);
+CIMGUI_API bool igBeginPopupContextWindow(const char* str_id,int mouse_button,bool also_over_items);
+CIMGUI_API bool igBeginPopupContextVoid(const char* str_id,int mouse_button);
+CIMGUI_API bool igBeginPopupModal(const char* name,bool* p_open,ImGuiWindowFlags flags);
+CIMGUI_API void igEndPopup(void);
+CIMGUI_API bool igOpenPopupOnItemClick(const char* str_id,int mouse_button);
+CIMGUI_API bool igIsPopupOpen(const char* str_id);
+CIMGUI_API void igCloseCurrentPopup(void);
+CIMGUI_API void igColumns(int count,const char* id,bool border);
+CIMGUI_API void igNextColumn(void);
+CIMGUI_API int igGetColumnIndex(void);
+CIMGUI_API float igGetColumnWidth(int column_index);
+CIMGUI_API void igSetColumnWidth(int column_index,float width);
+CIMGUI_API float igGetColumnOffset(int column_index);
+CIMGUI_API void igSetColumnOffset(int column_index,float offset_x);
+CIMGUI_API int igGetColumnsCount(void);
+CIMGUI_API bool igBeginTabBar(const char* str_id,ImGuiTabBarFlags flags);
+CIMGUI_API void igEndTabBar(void);
+CIMGUI_API bool igBeginTabItem(const char* label,bool* p_open,ImGuiTabItemFlags flags);
+CIMGUI_API void igEndTabItem(void);
+CIMGUI_API void igSetTabItemClosed(const char* tab_or_docked_window_label);
+CIMGUI_API void igDockSpace(ImGuiID id,const ImVec2 size,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class);
+CIMGUI_API ImGuiID igDockSpaceOverViewport(ImGuiViewport* viewport,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class);
+CIMGUI_API void igSetNextWindowDockID(ImGuiID dock_id,ImGuiCond cond);
+CIMGUI_API void igSetNextWindowClass(const ImGuiWindowClass* window_class);
+CIMGUI_API ImGuiID igGetWindowDockID(void);
+CIMGUI_API bool igIsWindowDocked(void);
+CIMGUI_API void igLogToTTY(int auto_open_depth);
+CIMGUI_API void igLogToFile(int auto_open_depth,const char* filename);
+CIMGUI_API void igLogToClipboard(int auto_open_depth);
+CIMGUI_API void igLogFinish(void);
+CIMGUI_API void igLogButtons(void);
+CIMGUI_API bool igBeginDragDropSource(ImGuiDragDropFlags flags);
+CIMGUI_API bool igSetDragDropPayload(const char* type,const void* data,size_t sz,ImGuiCond cond);
+CIMGUI_API void igEndDragDropSource(void);
+CIMGUI_API bool igBeginDragDropTarget(void);
+CIMGUI_API const ImGuiPayload* igAcceptDragDropPayload(const char* type,ImGuiDragDropFlags flags);
+CIMGUI_API void igEndDragDropTarget(void);
+CIMGUI_API const ImGuiPayload* igGetDragDropPayload(void);
+CIMGUI_API void igPushClipRect(const ImVec2 clip_rect_min,const ImVec2 clip_rect_max,bool intersect_with_current_clip_rect);
+CIMGUI_API void igPopClipRect(void);
+CIMGUI_API void igSetItemDefaultFocus(void);
+CIMGUI_API void igSetKeyboardFocusHere(int offset);
+CIMGUI_API bool igIsItemHovered(ImGuiHoveredFlags flags);
+CIMGUI_API bool igIsItemActive(void);
+CIMGUI_API bool igIsItemFocused(void);
+CIMGUI_API bool igIsItemClicked(int mouse_button);
+CIMGUI_API bool igIsItemVisible(void);
+CIMGUI_API bool igIsItemEdited(void);
+CIMGUI_API bool igIsItemActivated(void);
+CIMGUI_API bool igIsItemDeactivated(void);
+CIMGUI_API bool igIsItemDeactivatedAfterEdit(void);
+CIMGUI_API bool igIsAnyItemHovered(void);
+CIMGUI_API bool igIsAnyItemActive(void);
+CIMGUI_API bool igIsAnyItemFocused(void);
+CIMGUI_API ImVec2 igGetItemRectMin(void);
+CIMGUI_API ImVec2 igGetItemRectMax(void);
+CIMGUI_API ImVec2 igGetItemRectSize(void);
+CIMGUI_API void igSetItemAllowOverlap(void);
+CIMGUI_API bool igIsRectVisible(const ImVec2 size);
+CIMGUI_API bool igIsRectVisibleVec2(const ImVec2 rect_min,const ImVec2 rect_max);
+CIMGUI_API double igGetTime(void);
+CIMGUI_API int igGetFrameCount(void);
+CIMGUI_API ImDrawList* igGetBackgroundDrawList(void);
+CIMGUI_API ImDrawList* igGetForegroundDrawList(void);
+CIMGUI_API ImDrawList* igGetBackgroundDrawListViewportPtr(ImGuiViewport* viewport);
+CIMGUI_API ImDrawList* igGetForegroundDrawListViewportPtr(ImGuiViewport* viewport);
+CIMGUI_API ImDrawListSharedData* igGetDrawListSharedData(void);
+CIMGUI_API const char* igGetStyleColorName(ImGuiCol idx);
+CIMGUI_API void igSetStateStorage(ImGuiStorage* storage);
+CIMGUI_API ImGuiStorage* igGetStateStorage(void);
+CIMGUI_API ImVec2 igCalcTextSize(const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width);
+CIMGUI_API void igCalcListClipping(int items_count,float items_height,int* out_items_display_start,int* out_items_display_end);
+CIMGUI_API bool igBeginChildFrame(ImGuiID id,const ImVec2 size,ImGuiWindowFlags flags);
+CIMGUI_API void igEndChildFrame(void);
+CIMGUI_API ImVec4 igColorConvertU32ToFloat4(ImU32 in);
+CIMGUI_API ImU32 igColorConvertFloat4ToU32(const ImVec4 in);
+CIMGUI_API int igGetKeyIndex(ImGuiKey imgui_key);
+CIMGUI_API bool igIsKeyDown(int user_key_index);
+CIMGUI_API bool igIsKeyPressed(int user_key_index,bool repeat);
+CIMGUI_API bool igIsKeyReleased(int user_key_index);
+CIMGUI_API int igGetKeyPressedAmount(int key_index,float repeat_delay,float rate);
+CIMGUI_API bool igIsMouseDown(int button);
+CIMGUI_API bool igIsAnyMouseDown(void);
+CIMGUI_API bool igIsMouseClicked(int button,bool repeat);
+CIMGUI_API bool igIsMouseDoubleClicked(int button);
+CIMGUI_API bool igIsMouseReleased(int button);
+CIMGUI_API bool igIsMouseDragging(int button,float lock_threshold);
+CIMGUI_API bool igIsMouseHoveringRect(const ImVec2 r_min,const ImVec2 r_max,bool clip);
+CIMGUI_API bool igIsMousePosValid(const ImVec2* mouse_pos);
+CIMGUI_API ImVec2 igGetMousePos(void);
+CIMGUI_API ImVec2 igGetMousePosOnOpeningCurrentPopup(void);
+CIMGUI_API ImVec2 igGetMouseDragDelta(int button,float lock_threshold);
+CIMGUI_API void igResetMouseDragDelta(int button);
+CIMGUI_API ImGuiMouseCursor igGetMouseCursor(void);
+CIMGUI_API void igSetMouseCursor(ImGuiMouseCursor type);
+CIMGUI_API void igCaptureKeyboardFromApp(bool want_capture_keyboard_value);
+CIMGUI_API void igCaptureMouseFromApp(bool want_capture_mouse_value);
+CIMGUI_API const char* igGetClipboardText(void);
+CIMGUI_API void igSetClipboardText(const char* text);
+CIMGUI_API void igLoadIniSettingsFromDisk(const char* ini_filename);
+CIMGUI_API void igLoadIniSettingsFromMemory(const char* ini_data,size_t ini_size);
+CIMGUI_API void igSaveIniSettingsToDisk(const char* ini_filename);
+CIMGUI_API const char* igSaveIniSettingsToMemory(size_t* out_ini_size);
+CIMGUI_API void igSetAllocatorFunctions(void*(*alloc_func)(size_t sz,void* user_data),void(*free_func)(void* ptr,void* user_data),void* user_data);
+CIMGUI_API void* igMemAlloc(size_t size);
+CIMGUI_API void igMemFree(void* ptr);
+CIMGUI_API ImGuiPlatformIO* igGetPlatformIO(void);
+CIMGUI_API ImGuiViewport* igGetMainViewport(void);
+CIMGUI_API void igUpdatePlatformWindows(void);
+CIMGUI_API void igRenderPlatformWindowsDefault(void* platform_arg,void* renderer_arg);
+CIMGUI_API void igDestroyPlatformWindows(void);
+CIMGUI_API ImGuiViewport* igFindViewportByID(ImGuiID id);
+CIMGUI_API ImGuiViewport* igFindViewportByPlatformHandle(void* platform_handle);
+CIMGUI_API ImGuiStyle* ImGuiStyle_ImGuiStyle(void);
+CIMGUI_API void ImGuiStyle_destroy(ImGuiStyle* self);
+CIMGUI_API void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self,float scale_factor);
+CIMGUI_API void ImGuiIO_AddInputCharacter(ImGuiIO* self,unsigned int c);
+CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self,const char* str);
+CIMGUI_API void ImGuiIO_ClearInputCharacters(ImGuiIO* self);
+CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void);
+CIMGUI_API void ImGuiIO_destroy(ImGuiIO* self);
+CIMGUI_API ImGuiInputTextCallbackData* ImGuiInputTextCallbackData_ImGuiInputTextCallbackData(void);
+CIMGUI_API void ImGuiInputTextCallbackData_destroy(ImGuiInputTextCallbackData* self);
+CIMGUI_API void ImGuiInputTextCallbackData_DeleteChars(ImGuiInputTextCallbackData* self,int pos,int bytes_count);
+CIMGUI_API void ImGuiInputTextCallbackData_InsertChars(ImGuiInputTextCallbackData* self,int pos,const char* text,const char* text_end);
+CIMGUI_API bool ImGuiInputTextCallbackData_HasSelection(ImGuiInputTextCallbackData* self);
+CIMGUI_API ImGuiWindowClass* ImGuiWindowClass_ImGuiWindowClass(void);
+CIMGUI_API void ImGuiWindowClass_destroy(ImGuiWindowClass* self);
+CIMGUI_API ImGuiPayload* ImGuiPayload_ImGuiPayload(void);
+CIMGUI_API void ImGuiPayload_destroy(ImGuiPayload* self);
+CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self);
+CIMGUI_API bool ImGuiPayload_IsDataType(ImGuiPayload* self,const char* type);
+CIMGUI_API bool ImGuiPayload_IsPreview(ImGuiPayload* self);
+CIMGUI_API bool ImGuiPayload_IsDelivery(ImGuiPayload* self);
+CIMGUI_API ImGuiOnceUponAFrame* ImGuiOnceUponAFrame_ImGuiOnceUponAFrame(void);
+CIMGUI_API void ImGuiOnceUponAFrame_destroy(ImGuiOnceUponAFrame* self);
+CIMGUI_API ImGuiTextFilter* ImGuiTextFilter_ImGuiTextFilter(const char* default_filter);
+CIMGUI_API void ImGuiTextFilter_destroy(ImGuiTextFilter* self);
+CIMGUI_API bool ImGuiTextFilter_Draw(ImGuiTextFilter* self,const char* label,float width);
+CIMGUI_API bool ImGuiTextFilter_PassFilter(ImGuiTextFilter* self,const char* text,const char* text_end);
+CIMGUI_API void ImGuiTextFilter_Build(ImGuiTextFilter* self);
+CIMGUI_API void ImGuiTextFilter_Clear(ImGuiTextFilter* self);
+CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self);
+CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRange(void);
+CIMGUI_API void ImGuiTextRange_destroy(ImGuiTextRange* self);
+CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRangeStr(const char* _b,const char* _e);
+CIMGUI_API bool ImGuiTextRange_empty(ImGuiTextRange* self);
+CIMGUI_API void ImGuiTextRange_split(ImGuiTextRange* self,char separator,ImVector_ImGuiTextRange* out);
+CIMGUI_API ImGuiTextBuffer* ImGuiTextBuffer_ImGuiTextBuffer(void);
+CIMGUI_API void ImGuiTextBuffer_destroy(ImGuiTextBuffer* self);
+CIMGUI_API const char* ImGuiTextBuffer_begin(ImGuiTextBuffer* self);
+CIMGUI_API const char* ImGuiTextBuffer_end(ImGuiTextBuffer* self);
+CIMGUI_API int ImGuiTextBuffer_size(ImGuiTextBuffer* self);
+CIMGUI_API bool ImGuiTextBuffer_empty(ImGuiTextBuffer* self);
+CIMGUI_API void ImGuiTextBuffer_clear(ImGuiTextBuffer* self);
+CIMGUI_API void ImGuiTextBuffer_reserve(ImGuiTextBuffer* self,int capacity);
+CIMGUI_API const char* ImGuiTextBuffer_c_str(ImGuiTextBuffer* self);
+CIMGUI_API void ImGuiTextBuffer_append(ImGuiTextBuffer* self,const char* str,const char* str_end);
+CIMGUI_API void ImGuiTextBuffer_appendfv(ImGuiTextBuffer* self,const char* fmt,va_list args);
+CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePairInt(ImGuiID _key,int _val_i);
+CIMGUI_API void ImGuiStoragePair_destroy(ImGuiStoragePair* self);
+CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePairFloat(ImGuiID _key,float _val_f);
+CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePairPtr(ImGuiID _key,void* _val_p);
+CIMGUI_API void ImGuiStorage_Clear(ImGuiStorage* self);
+CIMGUI_API int ImGuiStorage_GetInt(ImGuiStorage* self,ImGuiID key,int default_val);
+CIMGUI_API void ImGuiStorage_SetInt(ImGuiStorage* self,ImGuiID key,int val);
+CIMGUI_API bool ImGuiStorage_GetBool(ImGuiStorage* self,ImGuiID key,bool default_val);
+CIMGUI_API void ImGuiStorage_SetBool(ImGuiStorage* self,ImGuiID key,bool val);
+CIMGUI_API float ImGuiStorage_GetFloat(ImGuiStorage* self,ImGuiID key,float default_val);
+CIMGUI_API void ImGuiStorage_SetFloat(ImGuiStorage* self,ImGuiID key,float val);
+CIMGUI_API void* ImGuiStorage_GetVoidPtr(ImGuiStorage* self,ImGuiID key);
+CIMGUI_API void ImGuiStorage_SetVoidPtr(ImGuiStorage* self,ImGuiID key,void* val);
+CIMGUI_API int* ImGuiStorage_GetIntRef(ImGuiStorage* self,ImGuiID key,int default_val);
+CIMGUI_API bool* ImGuiStorage_GetBoolRef(ImGuiStorage* self,ImGuiID key,bool default_val);
+CIMGUI_API float* ImGuiStorage_GetFloatRef(ImGuiStorage* self,ImGuiID key,float default_val);
+CIMGUI_API void** ImGuiStorage_GetVoidPtrRef(ImGuiStorage* self,ImGuiID key,void* default_val);
+CIMGUI_API void ImGuiStorage_SetAllInt(ImGuiStorage* self,int val);
+CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self);
+CIMGUI_API ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(int items_count,float items_height);
+CIMGUI_API void ImGuiListClipper_destroy(ImGuiListClipper* self);
+CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self);
+CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* self,int items_count,float items_height);
+CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self);
+CIMGUI_API ImColor* ImColor_ImColor(void);
+CIMGUI_API void ImColor_destroy(ImColor* self);
+CIMGUI_API ImColor* ImColor_ImColorInt(int r,int g,int b,int a);
+CIMGUI_API ImColor* ImColor_ImColorU32(ImU32 rgba);
+CIMGUI_API ImColor* ImColor_ImColorFloat(float r,float g,float b,float a);
+CIMGUI_API ImColor* ImColor_ImColorVec4(const ImVec4 col);
+CIMGUI_API void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a);
+CIMGUI_API ImColor ImColor_HSV(ImColor* self,float h,float s,float v,float a);
+CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void);
+CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self);
+CIMGUI_API ImDrawListSplitter* ImDrawListSplitter_ImDrawListSplitter(void);
+CIMGUI_API void ImDrawListSplitter_destroy(ImDrawListSplitter* self);
+CIMGUI_API void ImDrawListSplitter_Clear(ImDrawListSplitter* self);
+CIMGUI_API void ImDrawListSplitter_ClearFreeMemory(ImDrawListSplitter* self);
+CIMGUI_API void ImDrawListSplitter_Split(ImDrawListSplitter* self,ImDrawList* draw_list,int count);
+CIMGUI_API void ImDrawListSplitter_Merge(ImDrawListSplitter* self,ImDrawList* draw_list);
+CIMGUI_API void ImDrawListSplitter_SetCurrentChannel(ImDrawListSplitter* self,ImDrawList* draw_list,int channel_idx);
+CIMGUI_API ImDrawList* ImDrawList_ImDrawList(const ImDrawListSharedData* shared_data);
+CIMGUI_API void ImDrawList_destroy(ImDrawList* self);
+CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* self,ImVec2 clip_rect_min,ImVec2 clip_rect_max,bool intersect_with_current_clip_rect);
+CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* self);
+CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* self);
+CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* self,ImTextureID texture_id);
+CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* self);
+CIMGUI_API ImVec2 ImDrawList_GetClipRectMin(ImDrawList* self);
+CIMGUI_API ImVec2 ImDrawList_GetClipRectMax(ImDrawList* self);
+CIMGUI_API void ImDrawList_AddLine(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,ImU32 col,float thickness);
+CIMGUI_API void ImDrawList_AddRect(ImDrawList* self,const ImVec2 p_min,const ImVec2 p_max,ImU32 col,float rounding,ImDrawCornerFlags rounding_corners,float thickness);
+CIMGUI_API void ImDrawList_AddRectFilled(ImDrawList* self,const ImVec2 p_min,const ImVec2 p_max,ImU32 col,float rounding,ImDrawCornerFlags rounding_corners);
+CIMGUI_API void ImDrawList_AddRectFilledMultiColor(ImDrawList* self,const ImVec2 p_min,const ImVec2 p_max,ImU32 col_upr_left,ImU32 col_upr_right,ImU32 col_bot_right,ImU32 col_bot_left);
+CIMGUI_API void ImDrawList_AddQuad(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,ImU32 col,float thickness);
+CIMGUI_API void ImDrawList_AddQuadFilled(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,ImU32 col);
+CIMGUI_API void ImDrawList_AddTriangle(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,ImU32 col,float thickness);
+CIMGUI_API void ImDrawList_AddTriangleFilled(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,ImU32 col);
+CIMGUI_API void ImDrawList_AddCircle(ImDrawList* self,const ImVec2 center,float radius,ImU32 col,int num_segments,float thickness);
+CIMGUI_API void ImDrawList_AddCircleFilled(ImDrawList* self,const ImVec2 center,float radius,ImU32 col,int num_segments);
+CIMGUI_API void ImDrawList_AddText(ImDrawList* self,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end);
+CIMGUI_API void ImDrawList_AddTextFontPtr(ImDrawList* self,const ImFont* font,float font_size,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end,float wrap_width,const ImVec4* cpu_fine_clip_rect);
+CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col,bool closed,float thickness);
+CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col);
+CIMGUI_API void ImDrawList_AddBezierCurve(ImDrawList* self,const ImVec2 pos0,const ImVec2 cp0,const ImVec2 cp1,const ImVec2 pos1,ImU32 col,float thickness,int num_segments);
+CIMGUI_API void ImDrawList_AddImage(ImDrawList* self,ImTextureID user_texture_id,const ImVec2 p_min,const ImVec2 p_max,const ImVec2 uv_min,const ImVec2 uv_max,ImU32 col);
+CIMGUI_API void ImDrawList_AddImageQuad(ImDrawList* self,ImTextureID user_texture_id,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,const ImVec2 uv1,const ImVec2 uv2,const ImVec2 uv3,const ImVec2 uv4,ImU32 col);
+CIMGUI_API void ImDrawList_AddImageRounded(ImDrawList* self,ImTextureID user_texture_id,const ImVec2 p_min,const ImVec2 p_max,const ImVec2 uv_min,const ImVec2 uv_max,ImU32 col,float rounding,ImDrawCornerFlags rounding_corners);
+CIMGUI_API void ImDrawList_PathClear(ImDrawList* self);
+CIMGUI_API void ImDrawList_PathLineTo(ImDrawList* self,const ImVec2 pos);
+CIMGUI_API void ImDrawList_PathLineToMergeDuplicate(ImDrawList* self,const ImVec2 pos);
+CIMGUI_API void ImDrawList_PathFillConvex(ImDrawList* self,ImU32 col);
+CIMGUI_API void ImDrawList_PathStroke(ImDrawList* self,ImU32 col,bool closed,float thickness);
+CIMGUI_API void ImDrawList_PathArcTo(ImDrawList* self,const ImVec2 center,float radius,float a_min,float a_max,int num_segments);
+CIMGUI_API void ImDrawList_PathArcToFast(ImDrawList* self,const ImVec2 center,float radius,int a_min_of_12,int a_max_of_12);
+CIMGUI_API void ImDrawList_PathBezierCurveTo(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,int num_segments);
+CIMGUI_API void ImDrawList_PathRect(ImDrawList* self,const ImVec2 rect_min,const ImVec2 rect_max,float rounding,ImDrawCornerFlags rounding_corners);
+CIMGUI_API void ImDrawList_AddCallback(ImDrawList* self,ImDrawCallback callback,void* callback_data);
+CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList* self);
+CIMGUI_API ImDrawList* ImDrawList_CloneOutput(ImDrawList* self);
+CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList* self,int count);
+CIMGUI_API void ImDrawList_ChannelsMerge(ImDrawList* self);
+CIMGUI_API void ImDrawList_ChannelsSetCurrent(ImDrawList* self,int n);
+CIMGUI_API void ImDrawList_Clear(ImDrawList* self);
+CIMGUI_API void ImDrawList_ClearFreeMemory(ImDrawList* self);
+CIMGUI_API void ImDrawList_PrimReserve(ImDrawList* self,int idx_count,int vtx_count);
+CIMGUI_API void ImDrawList_PrimRect(ImDrawList* self,const ImVec2 a,const ImVec2 b,ImU32 col);
+CIMGUI_API void ImDrawList_PrimRectUV(ImDrawList* self,const ImVec2 a,const ImVec2 b,const ImVec2 uv_a,const ImVec2 uv_b,ImU32 col);
+CIMGUI_API void ImDrawList_PrimQuadUV(ImDrawList* self,const ImVec2 a,const ImVec2 b,const ImVec2 c,const ImVec2 d,const ImVec2 uv_a,const ImVec2 uv_b,const ImVec2 uv_c,const ImVec2 uv_d,ImU32 col);
+CIMGUI_API void ImDrawList_PrimWriteVtx(ImDrawList* self,const ImVec2 pos,const ImVec2 uv,ImU32 col);
+CIMGUI_API void ImDrawList_PrimWriteIdx(ImDrawList* self,ImDrawIdx idx);
+CIMGUI_API void ImDrawList_PrimVtx(ImDrawList* self,const ImVec2 pos,const ImVec2 uv,ImU32 col);
+CIMGUI_API void ImDrawList_UpdateClipRect(ImDrawList* self);
+CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList* self);
+CIMGUI_API ImDrawData* ImDrawData_ImDrawData(void);
+CIMGUI_API void ImDrawData_destroy(ImDrawData* self);
+CIMGUI_API void ImDrawData_Clear(ImDrawData* self);
+CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* self);
+CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData* self,const ImVec2 fb_scale);
+CIMGUI_API ImFontConfig* ImFontConfig_ImFontConfig(void);
+CIMGUI_API void ImFontConfig_destroy(ImFontConfig* self);
+CIMGUI_API ImFontGlyphRangesBuilder* ImFontGlyphRangesBuilder_ImFontGlyphRangesBuilder(void);
+CIMGUI_API void ImFontGlyphRangesBuilder_destroy(ImFontGlyphRangesBuilder* self);
+CIMGUI_API void ImFontGlyphRangesBuilder_Clear(ImFontGlyphRangesBuilder* self);
+CIMGUI_API bool ImFontGlyphRangesBuilder_GetBit(ImFontGlyphRangesBuilder* self,int n);
+CIMGUI_API void ImFontGlyphRangesBuilder_SetBit(ImFontGlyphRangesBuilder* self,int n);
+CIMGUI_API void ImFontGlyphRangesBuilder_AddChar(ImFontGlyphRangesBuilder* self,ImWchar c);
+CIMGUI_API void ImFontGlyphRangesBuilder_AddText(ImFontGlyphRangesBuilder* self,const char* text,const char* text_end);
+CIMGUI_API void ImFontGlyphRangesBuilder_AddRanges(ImFontGlyphRangesBuilder* self,const ImWchar* ranges);
+CIMGUI_API void ImFontGlyphRangesBuilder_BuildRanges(ImFontGlyphRangesBuilder* self,ImVector_ImWchar* out_ranges);
+CIMGUI_API ImFontAtlasCustomRect* ImFontAtlasCustomRect_ImFontAtlasCustomRect(void);
+CIMGUI_API void ImFontAtlasCustomRect_destroy(ImFontAtlasCustomRect* self);
+CIMGUI_API bool ImFontAtlasCustomRect_IsPacked(ImFontAtlasCustomRect* self);
+CIMGUI_API ImFontAtlas* ImFontAtlas_ImFontAtlas(void);
+CIMGUI_API void ImFontAtlas_destroy(ImFontAtlas* self);
+CIMGUI_API ImFont* ImFontAtlas_AddFont(ImFontAtlas* self,const ImFontConfig* font_cfg);
+CIMGUI_API ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* self,const ImFontConfig* font_cfg);
+CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* self,const char* filename,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges);
+CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryTTF(ImFontAtlas* self,void* font_data,int font_size,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges);
+CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF(ImFontAtlas* self,const void* compressed_font_data,int compressed_font_size,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges);
+CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedBase85TTF(ImFontAtlas* self,const char* compressed_font_data_base85,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges);
+CIMGUI_API void ImFontAtlas_ClearInputData(ImFontAtlas* self);
+CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* self);
+CIMGUI_API void ImFontAtlas_ClearFonts(ImFontAtlas* self);
+CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* self);
+CIMGUI_API bool ImFontAtlas_Build(ImFontAtlas* self);
+CIMGUI_API void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* self,unsigned char** out_pixels,int* out_width,int* out_height,int* out_bytes_per_pixel);
+CIMGUI_API void ImFontAtlas_GetTexDataAsRGBA32(ImFontAtlas* self,unsigned char** out_pixels,int* out_width,int* out_height,int* out_bytes_per_pixel);
+CIMGUI_API bool ImFontAtlas_IsBuilt(ImFontAtlas* self);
+CIMGUI_API void ImFontAtlas_SetTexID(ImFontAtlas* self,ImTextureID id);
+CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesDefault(ImFontAtlas* self);
+CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesKorean(ImFontAtlas* self);
+CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesJapanese(ImFontAtlas* self);
+CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseFull(ImFontAtlas* self);
+CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseSimplifiedCommon(ImFontAtlas* self);
+CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesCyrillic(ImFontAtlas* self);
+CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self);
+CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesVietnamese(ImFontAtlas* self);
+CIMGUI_API int ImFontAtlas_AddCustomRectRegular(ImFontAtlas* self,unsigned int id,int width,int height);
+CIMGUI_API int ImFontAtlas_AddCustomRectFontGlyph(ImFontAtlas* self,ImFont* font,ImWchar id,int width,int height,float advance_x,const ImVec2 offset);
+CIMGUI_API const ImFontAtlasCustomRect* ImFontAtlas_GetCustomRectByIndex(ImFontAtlas* self,int index);
+CIMGUI_API void ImFontAtlas_CalcCustomRectUV(ImFontAtlas* self,const ImFontAtlasCustomRect* rect,ImVec2* out_uv_min,ImVec2* out_uv_max);
+CIMGUI_API bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self,ImGuiMouseCursor cursor,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2]);
+CIMGUI_API ImFont* ImFont_ImFont(void);
+CIMGUI_API void ImFont_destroy(ImFont* self);
+CIMGUI_API const ImFontGlyph* ImFont_FindGlyph(ImFont* self,ImWchar c);
+CIMGUI_API const ImFontGlyph* ImFont_FindGlyphNoFallback(ImFont* self,ImWchar c);
+CIMGUI_API float ImFont_GetCharAdvance(ImFont* self,ImWchar c);
+CIMGUI_API bool ImFont_IsLoaded(ImFont* self);
+CIMGUI_API const char* ImFont_GetDebugName(ImFont* self);
+CIMGUI_API ImVec2 ImFont_CalcTextSizeA(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining);
+CIMGUI_API const char* ImFont_CalcWordWrapPositionA(ImFont* self,float scale,const char* text,const char* text_end,float wrap_width);
+CIMGUI_API void ImFont_RenderChar(ImFont* self,ImDrawList* draw_list,float size,ImVec2 pos,ImU32 col,ImWchar c);
+CIMGUI_API void ImFont_RenderText(ImFont* self,ImDrawList* draw_list,float size,ImVec2 pos,ImU32 col,const ImVec4 clip_rect,const char* text_begin,const char* text_end,float wrap_width,bool cpu_fine_clip);
+CIMGUI_API void ImFont_BuildLookupTable(ImFont* self);
+CIMGUI_API void ImFont_ClearOutputData(ImFont* self);
+CIMGUI_API void ImFont_GrowIndex(ImFont* self,int new_size);
+CIMGUI_API void ImFont_AddGlyph(ImFont* self,ImWchar c,float x0,float y0,float x1,float y1,float u0,float v0,float u1,float v1,float advance_x);
+CIMGUI_API void ImFont_AddRemapChar(ImFont* self,ImWchar dst,ImWchar src,bool overwrite_dst);
+CIMGUI_API void ImFont_SetFallbackChar(ImFont* self,ImWchar c);
+CIMGUI_API ImGuiPlatformMonitor* ImGuiPlatformMonitor_ImGuiPlatformMonitor(void);
+CIMGUI_API void ImGuiPlatformMonitor_destroy(ImGuiPlatformMonitor* self);
+CIMGUI_API ImGuiPlatformIO* ImGuiPlatformIO_ImGuiPlatformIO(void);
+CIMGUI_API void ImGuiPlatformIO_destroy(ImGuiPlatformIO* self);
+CIMGUI_API ImGuiViewport* ImGuiViewport_ImGuiViewport(void);
+CIMGUI_API void ImGuiViewport_destroy(ImGuiViewport* self);
+CIMGUI_API void igGetWindowPos_nonUDT(ImVec2 *pOut);
+CIMGUI_API ImVec2_Simple igGetWindowPos_nonUDT2(void);
+CIMGUI_API void igGetWindowSize_nonUDT(ImVec2 *pOut);
+CIMGUI_API ImVec2_Simple igGetWindowSize_nonUDT2(void);
+CIMGUI_API void igGetContentRegionMax_nonUDT(ImVec2 *pOut);
+CIMGUI_API ImVec2_Simple igGetContentRegionMax_nonUDT2(void);
+CIMGUI_API void igGetContentRegionAvail_nonUDT(ImVec2 *pOut);
+CIMGUI_API ImVec2_Simple igGetContentRegionAvail_nonUDT2(void);
+CIMGUI_API void igGetWindowContentRegionMin_nonUDT(ImVec2 *pOut);
+CIMGUI_API ImVec2_Simple igGetWindowContentRegionMin_nonUDT2(void);
+CIMGUI_API void igGetWindowContentRegionMax_nonUDT(ImVec2 *pOut);
+CIMGUI_API ImVec2_Simple igGetWindowContentRegionMax_nonUDT2(void);
+CIMGUI_API void igGetFontTexUvWhitePixel_nonUDT(ImVec2 *pOut);
+CIMGUI_API ImVec2_Simple igGetFontTexUvWhitePixel_nonUDT2(void);
+CIMGUI_API void igGetCursorPos_nonUDT(ImVec2 *pOut);
+CIMGUI_API ImVec2_Simple igGetCursorPos_nonUDT2(void);
+CIMGUI_API void igGetCursorStartPos_nonUDT(ImVec2 *pOut);
+CIMGUI_API ImVec2_Simple igGetCursorStartPos_nonUDT2(void);
+CIMGUI_API void igGetCursorScreenPos_nonUDT(ImVec2 *pOut);
+CIMGUI_API ImVec2_Simple igGetCursorScreenPos_nonUDT2(void);
+CIMGUI_API void igGetItemRectMin_nonUDT(ImVec2 *pOut);
+CIMGUI_API ImVec2_Simple igGetItemRectMin_nonUDT2(void);
+CIMGUI_API void igGetItemRectMax_nonUDT(ImVec2 *pOut);
+CIMGUI_API ImVec2_Simple igGetItemRectMax_nonUDT2(void);
+CIMGUI_API void igGetItemRectSize_nonUDT(ImVec2 *pOut);
+CIMGUI_API ImVec2_Simple igGetItemRectSize_nonUDT2(void);
+CIMGUI_API void igCalcTextSize_nonUDT(ImVec2 *pOut,const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width);
+CIMGUI_API ImVec2_Simple igCalcTextSize_nonUDT2(const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width);
+CIMGUI_API void igColorConvertU32ToFloat4_nonUDT(ImVec4 *pOut,ImU32 in);
+CIMGUI_API ImVec4_Simple igColorConvertU32ToFloat4_nonUDT2(ImU32 in);
+CIMGUI_API void igGetMousePos_nonUDT(ImVec2 *pOut);
+CIMGUI_API ImVec2_Simple igGetMousePos_nonUDT2(void);
+CIMGUI_API void igGetMousePosOnOpeningCurrentPopup_nonUDT(ImVec2 *pOut);
+CIMGUI_API ImVec2_Simple igGetMousePosOnOpeningCurrentPopup_nonUDT2(void);
+CIMGUI_API void igGetMouseDragDelta_nonUDT(ImVec2 *pOut,int button,float lock_threshold);
+CIMGUI_API ImVec2_Simple igGetMouseDragDelta_nonUDT2(int button,float lock_threshold);
+CIMGUI_API void ImColor_HSV_nonUDT(ImColor *pOut,ImColor* self,float h,float s,float v,float a);
+CIMGUI_API ImColor_Simple ImColor_HSV_nonUDT2(ImColor* self,float h,float s,float v,float a);
+CIMGUI_API void ImDrawList_GetClipRectMin_nonUDT(ImVec2 *pOut,ImDrawList* self);
+CIMGUI_API ImVec2_Simple ImDrawList_GetClipRectMin_nonUDT2(ImDrawList* self);
+CIMGUI_API void ImDrawList_GetClipRectMax_nonUDT(ImVec2 *pOut,ImDrawList* self);
+CIMGUI_API ImVec2_Simple ImDrawList_GetClipRectMax_nonUDT2(ImDrawList* self);
+CIMGUI_API void ImFont_CalcTextSizeA_nonUDT(ImVec2 *pOut,ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining);
+CIMGUI_API ImVec2_Simple ImFont_CalcTextSizeA_nonUDT2(ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining);
+
+
+/////////////////////////hand written functions
+//no LogTextV
+CIMGUI_API void igLogText(CONST char *fmt, ...);
+//no appendfV
+CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...);
+//for getting FLT_MAX in bindings
+CIMGUI_API float igGET_FLT_MAX();
+//not const args from & to *
+CIMGUI_API void igColorConvertRGBtoHSV(float r,float g,float b,float *out_h,float *out_s,float *out_v);
+CIMGUI_API void igColorConvertHSVtoRGB(float h,float s,float v,float *out_r,float *out_g,float *out_b);
+
+CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create();
+CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self);
+CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
+CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);
+CIMGUI_API void ImVector_ImGuiPlatformMonitor_Resize(ImVector_ImGuiPlatformMonitor* p, int new_size);
+#endif //CIMGUI_INCLUDED
+
+
+
+
diff --git a/cimgui/imgui b/cimgui/imgui
new file mode 160000
+Subproject 7b77cb3bb8712dff11c3420fc980abe2191dd39