mirror of
https://github.com/cimgui/cimgui.git
synced 2025-08-13 13:18:31 +01:00
Compare commits
26 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
97113ef7ad | ||
![]() |
2a4dcaf2a2 | ||
![]() |
5a9a20d139 | ||
![]() |
7ee838ae2d | ||
![]() |
3091435042 | ||
![]() |
804acdcecd | ||
![]() |
51f02dca4d | ||
![]() |
84a9656889 | ||
![]() |
553df3da32 | ||
![]() |
04d4a19beb | ||
![]() |
3b9c53b2a2 | ||
![]() |
6f9e3db1d1 | ||
![]() |
d3eb876266 | ||
![]() |
3efb1001aa | ||
![]() |
a91c611bca | ||
![]() |
5b7abe8b4d | ||
![]() |
812af400f1 | ||
![]() |
2d3cf59b21 | ||
![]() |
e7eb9c511b | ||
![]() |
2759a8ed4d | ||
![]() |
073f438467 | ||
![]() |
f7856b27b0 | ||
![]() |
99c7d7cfdf | ||
![]() |
31871f9975 | ||
![]() |
c487b0266e | ||
![]() |
3b386799e4 |
@@ -20,10 +20,11 @@ endif(WIN32)
|
||||
#add library and link
|
||||
add_library(cimgui SHARED ${IMGUI_SOURCES})
|
||||
target_link_libraries(cimgui ${IMGUI_LIBRARIES})
|
||||
set_target_properties(cimgui PROPERTIES PREFIX "")
|
||||
|
||||
#install
|
||||
install(TARGETS cimgui
|
||||
RUNTIME DESTINATION .
|
||||
LIBRARY DESTINATION .
|
||||
#ARCHIVE DESTINATION lib
|
||||
)
|
||||
)
|
||||
|
43
README.md
43
README.md
@@ -20,18 +20,45 @@ Notes:
|
||||
* clone
|
||||
* git clone --recursive https://github.com/cimgui/cimgui.git
|
||||
* git submodule update
|
||||
* make using makefile on linux/macOS/mingw (Or use CMake to generate project)
|
||||
* compile
|
||||
* using makefile on linux/macOS/mingw (Or use CMake to generate project)
|
||||
* or as in https://github.com/sonoro1234/LuaJIT-ImGui/tree/master_auto_implementations/build
|
||||
|
||||
# auto binding generation
|
||||
# using generator
|
||||
|
||||
* you will need LuaJIT (https://github.com/LuaJIT/LuaJIT.git better 2.1 branch) or precompiled for linux/macOS/windows in https://luapower.com/luajit/download
|
||||
* need also gcc compiler for doing preprocessing (In windows MinGW-W64-builds for example)
|
||||
* you can use also a C++ compiler for doing preprocessing: gcc (In windows MinGW-W64-builds for example), clang or cl (MSVC) or not use a compiler (experimental nocompiler option) at all. (this repo was done with gcc)
|
||||
* update `imgui` folder to the version you desire.
|
||||
* run `generator/generator.bat` (or make a .sh version and please PR) with gcc and LuaJIT on your PATH.
|
||||
* as a result some files are generated: `cimgui.cpp` and `cimgui.h` for compiling and some lua/json files with information about the binding: `definitions.json` with function info, `structs_and_enums.json` with struct and enum info, `impl_definitions.json` with functions from the implementations info.
|
||||
* build as shown in https://github.com/sonoro1234/LuaJIT-ImGui/tree/master_auto_implementations/build
|
||||
* generate binding as done in https://github.com/sonoro1234/LuaJIT-ImGui/blob/master_auto_implementations/lua/build.bat
|
||||
* edit `generator/generator.bat` (or make a .sh version and please PR) to choose between gcc, clang, cl or nocompiler. Run it with gcc, clang or cl and LuaJIT on your PATH.
|
||||
* as a result some files are generated: `cimgui.cpp` and `cimgui.h` for compiling and some lua/json files with information about the binding: `definitions.json` with function info, `structs_and_enums.json` with struct and enum info, `impl_definitions.json` with functions from the implementations info.
|
||||
|
||||
# generate binding
|
||||
* with your prefered language you can use the lua or json files generated as in:
|
||||
* https://github.com/sonoro1234/LuaJIT-ImGui/blob/master_auto_implementations/lua/build.bat (with lua code generation in https://github.com/sonoro1234/LuaJIT-ImGui/blob/master_auto_implementations/lua/class_gen.lua)
|
||||
* https://github.com/mellinoe/ImGui.NET/tree/autogen/src/CodeGenerator
|
||||
### definitions description
|
||||
* It is a collection in which key is the cimgui name that would result without overloadings and the value is an array of overloadings (may be only one overloading)
|
||||
* Each overloading is a collection. Some relevant keys and values are:
|
||||
* stname : the name of the struct the function belongs to (may be ImGui if it is top level in ImGui namespace)
|
||||
* ov_cimguiname : the overloaded cimgui name (if absent it would be taken from cimguiname)
|
||||
* cimguiname : the name without overloading (this should be used if there is not ov_cimguiname)
|
||||
* call_args : a string with the argument names separated by commas
|
||||
* args : the same as above but with types
|
||||
* ret : the return type
|
||||
* argsT : an array of collections (each one with type: argument type and name: the argument name)
|
||||
* defaults : a collection in which key is argument name and value is the default value.
|
||||
* manual : will be true if this function is hand-written (not generated)
|
||||
* nonUDT : if present can be 1 or 2 (explained meaning in usage) if return type was a user defined type
|
||||
### structs_and_enums description
|
||||
* Is is a collection with two items:
|
||||
* under key enums we get the enums collection in which each key is the enum tagname and the value is an array of the ordered values represented as a collection with keys
|
||||
* name : the name of this enum value
|
||||
* value : the C string
|
||||
* calc_value : the numeric value corresponding to value
|
||||
* under key structs we get the structs collection in which the key is the struct name and the value is an array of the struct members. Each one given as a collection with keys
|
||||
* type : the type of the struct member
|
||||
* template_type : if type has a template argument (as ImVector) here will be
|
||||
* name : the name of the struct member
|
||||
# usage
|
||||
|
||||
* use whatever method is in ImGui c++ namespace in the original [imgui.h](https://github.com/ocornut/imgui/blob/master/imgui.h) by prepending `ig`
|
||||
@@ -47,5 +74,5 @@ Notes:
|
||||
* [ImGuiCS](https://github.com/conatuscreative/ImGuiCS)
|
||||
* [imgui-rs](https://github.com/Gekkio/imgui-rs)
|
||||
* [imgui-pas](https://github.com/dpethes/imgui-pas)
|
||||
* [odin-dear_imgui](https://github.com/ThisDrunkDane/odin-dear_imgui)
|
||||
* [odin-imgui](https://github.com/ThisDrunkDane/odin-imgui)
|
||||
* [LuaJIT-imgui](https://github.com/sonoro1234/LuaJIT-ImGui)
|
||||
|
208
cimgui.cpp
208
cimgui.cpp
@@ -5,6 +5,30 @@
|
||||
|
||||
#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);
|
||||
@@ -477,7 +501,7 @@ CIMGUI_API ImGuiID igGetIDStr(const char* str_id)
|
||||
{
|
||||
return ImGui::GetID(str_id);
|
||||
}
|
||||
CIMGUI_API ImGuiID igGetIDStrStr(const char* str_id_begin,const char* str_id_end)
|
||||
CIMGUI_API ImGuiID igGetIDRange(const char* str_id_begin,const char* str_id_end)
|
||||
{
|
||||
return ImGui::GetID(str_id_begin,str_id_end);
|
||||
}
|
||||
@@ -1374,6 +1398,14 @@ CIMGUI_API void igMemFree(void* ptr)
|
||||
{
|
||||
return ImGui::MemFree(ptr);
|
||||
}
|
||||
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);
|
||||
@@ -1390,6 +1422,26 @@ 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 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 bool ImGuiTextFilter_Draw(ImGuiTextFilter* self,const char* label,float width)
|
||||
{
|
||||
return self->Draw(label,width);
|
||||
@@ -1410,6 +1462,18 @@ CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self)
|
||||
{
|
||||
return self->IsActive();
|
||||
}
|
||||
CIMGUI_API TextRange* TextRange_TextRange(void)
|
||||
{
|
||||
return IM_NEW(TextRange)();
|
||||
}
|
||||
CIMGUI_API void TextRange_destroy(TextRange* self)
|
||||
{
|
||||
IM_DELETE(self);
|
||||
}
|
||||
CIMGUI_API TextRange* TextRange_TextRangeStr(const char* _b,const char* _e)
|
||||
{
|
||||
return IM_NEW(TextRange)(_b,_e);
|
||||
}
|
||||
CIMGUI_API const char* TextRange_begin(TextRange* self)
|
||||
{
|
||||
return self->begin();
|
||||
@@ -1426,6 +1490,14 @@ CIMGUI_API void TextRange_split(TextRange* self,char separator,ImVector_TextRang
|
||||
{
|
||||
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();
|
||||
@@ -1458,6 +1530,18 @@ CIMGUI_API void ImGuiTextBuffer_appendfv(ImGuiTextBuffer* self,const char* fmt,v
|
||||
{
|
||||
return self->appendfv(fmt,args);
|
||||
}
|
||||
CIMGUI_API Pair* Pair_PairInt(ImGuiID _key,int _val_i)
|
||||
{
|
||||
return IM_NEW(Pair)(_key,_val_i);
|
||||
}
|
||||
CIMGUI_API Pair* Pair_PairFloat(ImGuiID _key,float _val_f)
|
||||
{
|
||||
return IM_NEW(Pair)(_key,_val_f);
|
||||
}
|
||||
CIMGUI_API Pair* Pair_PairPtr(ImGuiID _key,void* _val_p)
|
||||
{
|
||||
return IM_NEW(Pair)(_key,_val_p);
|
||||
}
|
||||
CIMGUI_API void ImGuiStorage_Clear(ImGuiStorage* self)
|
||||
{
|
||||
return self->Clear();
|
||||
@@ -1518,6 +1602,14 @@ CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self)
|
||||
{
|
||||
return self->BuildSortByKey();
|
||||
}
|
||||
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);
|
||||
@@ -1530,6 +1622,14 @@ CIMGUI_API bool ImGuiInputTextCallbackData_HasSelection(ImGuiInputTextCallbackDa
|
||||
{
|
||||
return self->HasSelection();
|
||||
}
|
||||
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();
|
||||
@@ -1546,6 +1646,30 @@ CIMGUI_API bool ImGuiPayload_IsDelivery(ImGuiPayload* self)
|
||||
{
|
||||
return self->IsDelivery();
|
||||
}
|
||||
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);
|
||||
@@ -1554,6 +1678,10 @@ CIMGUI_API ImColor ImColor_HSV(ImColor* self,float h,float s,float v,float a)
|
||||
{
|
||||
return self->HSV(h,s,v,a);
|
||||
}
|
||||
CIMGUI_API ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(int items_count,float items_height)
|
||||
{
|
||||
return IM_NEW(ImGuiListClipper)(items_count,items_height);
|
||||
}
|
||||
CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self)
|
||||
{
|
||||
return self->Step();
|
||||
@@ -1566,6 +1694,18 @@ CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self)
|
||||
{
|
||||
return self->End();
|
||||
}
|
||||
CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void)
|
||||
{
|
||||
return IM_NEW(ImDrawCmd)();
|
||||
}
|
||||
CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self)
|
||||
{
|
||||
IM_DELETE(self);
|
||||
}
|
||||
CIMGUI_API ImDrawList* ImDrawList_ImDrawList(const ImDrawListSharedData* shared_data)
|
||||
{
|
||||
return IM_NEW(ImDrawList)(shared_data);
|
||||
}
|
||||
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);
|
||||
@@ -1770,6 +1910,14 @@ 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();
|
||||
@@ -1782,6 +1930,22 @@ CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData* self,const ImVec2 sc)
|
||||
{
|
||||
return self->ScaleClipRects(sc);
|
||||
}
|
||||
CIMGUI_API ImFontConfig* ImFontConfig_ImFontConfig(void)
|
||||
{
|
||||
return IM_NEW(ImFontConfig)();
|
||||
}
|
||||
CIMGUI_API void ImFontConfig_destroy(ImFontConfig* self)
|
||||
{
|
||||
IM_DELETE(self);
|
||||
}
|
||||
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);
|
||||
@@ -1870,6 +2034,14 @@ CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self)
|
||||
{
|
||||
return self->GetGlyphRangesThai();
|
||||
}
|
||||
CIMGUI_API GlyphRangesBuilder* GlyphRangesBuilder_GlyphRangesBuilder(void)
|
||||
{
|
||||
return IM_NEW(GlyphRangesBuilder)();
|
||||
}
|
||||
CIMGUI_API void GlyphRangesBuilder_destroy(GlyphRangesBuilder* self)
|
||||
{
|
||||
IM_DELETE(self);
|
||||
}
|
||||
CIMGUI_API bool GlyphRangesBuilder_GetBit(GlyphRangesBuilder* self,int n)
|
||||
{
|
||||
return self->GetBit(n);
|
||||
@@ -1894,6 +2066,14 @@ CIMGUI_API void GlyphRangesBuilder_BuildRanges(GlyphRangesBuilder* self,ImVector
|
||||
{
|
||||
return self->BuildRanges(out_ranges);
|
||||
}
|
||||
CIMGUI_API CustomRect* CustomRect_CustomRect(void)
|
||||
{
|
||||
return IM_NEW(CustomRect)();
|
||||
}
|
||||
CIMGUI_API void CustomRect_destroy(CustomRect* self)
|
||||
{
|
||||
IM_DELETE(self);
|
||||
}
|
||||
CIMGUI_API bool CustomRect_IsPacked(CustomRect* self)
|
||||
{
|
||||
return self->IsPacked();
|
||||
@@ -1918,6 +2098,14 @@ CIMGUI_API bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self,ImGuiMouseCu
|
||||
{
|
||||
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 void ImFont_ClearOutputData(ImFont* self)
|
||||
{
|
||||
return self->ClearOutputData();
|
||||
@@ -2235,3 +2423,21 @@ CIMGUI_API void igColorConvertHSVtoRGB(float h,float s,float v,float *out_r,floa
|
||||
{
|
||||
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* p)
|
||||
{
|
||||
IM_DELETE(p);
|
||||
}
|
||||
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>();
|
||||
}
|
||||
|
||||
|
60
cimgui.h
60
cimgui.h
@@ -1,7 +1,7 @@
|
||||
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
|
||||
//based on imgui.h file version "1.65" from Dear ImGui https://github.com/ocornut/imgui
|
||||
#include <stdio.h>
|
||||
|
||||
#include <stdint.h>
|
||||
#if defined _WIN32 || defined __CYGWIN__
|
||||
#ifdef CIMGUI_NO_EXPORT
|
||||
#define API
|
||||
@@ -40,7 +40,7 @@ typedef struct ImColor_Simple { ImVec4_Simple Value;} ImColor_Simple;
|
||||
|
||||
|
||||
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
|
||||
struct ImDrawChannel;
|
||||
typedef struct CustomRect CustomRect;
|
||||
typedef struct GlyphRangesBuilder GlyphRangesBuilder;
|
||||
typedef struct ImFontGlyph ImFontGlyph;
|
||||
@@ -69,7 +69,6 @@ typedef struct ImDrawList ImDrawList;
|
||||
typedef struct ImDrawData ImDrawData;
|
||||
typedef struct ImDrawCmd ImDrawCmd;
|
||||
typedef struct ImDrawChannel ImDrawChannel;
|
||||
struct ImDrawChannel;
|
||||
struct ImDrawCmd;
|
||||
struct ImDrawData;
|
||||
struct ImDrawList;
|
||||
@@ -837,6 +836,12 @@ typedef ImVector<ImWchar> ImVector_ImWchar;
|
||||
typedef ImVector ImVector_TextRange;
|
||||
typedef ImVector ImVector_ImWchar;
|
||||
#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);
|
||||
@@ -955,7 +960,7 @@ 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 igGetIDStrStr(const char* str_id_begin,const char* str_id_end);
|
||||
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,...);
|
||||
@@ -1170,19 +1175,31 @@ 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 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,ImWchar c);
|
||||
CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self,const char* utf8_chars);
|
||||
CIMGUI_API void ImGuiIO_ClearInputCharacters(ImGuiIO* self);
|
||||
CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void);
|
||||
CIMGUI_API void ImGuiIO_destroy(ImGuiIO* 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 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 TextRange* TextRange_TextRange(void);
|
||||
CIMGUI_API void TextRange_destroy(TextRange* self);
|
||||
CIMGUI_API TextRange* TextRange_TextRangeStr(const char* _b,const char* _e);
|
||||
CIMGUI_API const char* TextRange_begin(TextRange* self);
|
||||
CIMGUI_API const char* TextRange_end(TextRange* self);
|
||||
CIMGUI_API bool TextRange_empty(TextRange* self);
|
||||
CIMGUI_API void TextRange_split(TextRange* self,char separator,ImVector_TextRange* 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);
|
||||
@@ -1191,6 +1208,9 @@ 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_appendfv(ImGuiTextBuffer* self,const char* fmt,va_list args);
|
||||
CIMGUI_API Pair* Pair_PairInt(ImGuiID _key,int _val_i);
|
||||
CIMGUI_API Pair* Pair_PairFloat(ImGuiID _key,float _val_f);
|
||||
CIMGUI_API Pair* Pair_PairPtr(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);
|
||||
@@ -1206,18 +1226,32 @@ CIMGUI_API float* ImGuiStorage_GetFloatRef(ImGuiStorage* self,ImGuiID key,float
|
||||
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 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 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 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 ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(int items_count,float items_height);
|
||||
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 ImDrawCmd* ImDrawCmd_ImDrawCmd(void);
|
||||
CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self);
|
||||
CIMGUI_API ImDrawList* ImDrawList_ImDrawList(const ImDrawListSharedData* shared_data);
|
||||
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);
|
||||
@@ -1269,9 +1303,15 @@ 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 sc);
|
||||
CIMGUI_API ImFontConfig* ImFontConfig_ImFontConfig(void);
|
||||
CIMGUI_API void ImFontConfig_destroy(ImFontConfig* 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);
|
||||
@@ -1294,18 +1334,24 @@ CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseFull(ImFontAtlas* sel
|
||||
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 GlyphRangesBuilder* GlyphRangesBuilder_GlyphRangesBuilder(void);
|
||||
CIMGUI_API void GlyphRangesBuilder_destroy(GlyphRangesBuilder* self);
|
||||
CIMGUI_API bool GlyphRangesBuilder_GetBit(GlyphRangesBuilder* self,int n);
|
||||
CIMGUI_API void GlyphRangesBuilder_SetBit(GlyphRangesBuilder* self,int n);
|
||||
CIMGUI_API void GlyphRangesBuilder_AddChar(GlyphRangesBuilder* self,ImWchar c);
|
||||
CIMGUI_API void GlyphRangesBuilder_AddText(GlyphRangesBuilder* self,const char* text,const char* text_end);
|
||||
CIMGUI_API void GlyphRangesBuilder_AddRanges(GlyphRangesBuilder* self,const ImWchar* ranges);
|
||||
CIMGUI_API void GlyphRangesBuilder_BuildRanges(GlyphRangesBuilder* self,ImVector_ImWchar* out_ranges);
|
||||
CIMGUI_API CustomRect* CustomRect_CustomRect(void);
|
||||
CIMGUI_API void CustomRect_destroy(CustomRect* self);
|
||||
CIMGUI_API bool CustomRect_IsPacked(CustomRect* 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 CustomRect* ImFontAtlas_GetCustomRectByIndex(ImFontAtlas* self,int index);
|
||||
CIMGUI_API void ImFontAtlas_CalcCustomRectUV(ImFontAtlas* self,const CustomRect* 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 void ImFont_ClearOutputData(ImFont* self);
|
||||
CIMGUI_API void ImFont_BuildLookupTable(ImFont* self);
|
||||
CIMGUI_API const ImFontGlyph* ImFont_FindGlyph(ImFont* self,ImWchar c);
|
||||
@@ -1379,5 +1425,11 @@ CIMGUI_API float igGET_FLT_MAX();
|
||||
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* p);
|
||||
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
|
||||
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -41,3 +41,21 @@ CIMGUI_API void igColorConvertHSVtoRGB(float h,float s,float v,float *out_r,floa
|
||||
{
|
||||
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* p)
|
||||
{
|
||||
IM_DELETE(p);
|
||||
}
|
||||
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>();
|
||||
}
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include <stdint.h>
|
||||
#if defined _WIN32 || defined __CYGWIN__
|
||||
#ifdef CIMGUI_NO_EXPORT
|
||||
#define API
|
||||
@@ -82,5 +82,11 @@ CIMGUI_API float igGET_FLT_MAX();
|
||||
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* p);
|
||||
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
|
||||
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -14,8 +14,9 @@
|
||||
:: set PATH=%PATH%;C:\luaGL;C:\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\mingw32\bin;
|
||||
:: set PATH=%PATH%;C:\luaGL\sources\luajit-master\luajit-master\bin\mingw32;C:\mingw32\bin;
|
||||
::process files
|
||||
:: arg[1..n] name of implementations to generate
|
||||
luajit ./generator.lua glfw opengl3 opengl2 sdl
|
||||
:: arg[1] compiler name gcc, clang, cl or nocompiler
|
||||
:: arg[2..n] name of implementations to generate
|
||||
luajit ./generator.lua gcc glfw opengl3 opengl2 sdl
|
||||
|
||||
::leave console open
|
||||
cmd /k
|
||||
|
@@ -5,27 +5,41 @@
|
||||
assert(_VERSION=='Lua 5.1',"Must use LuaJIT")
|
||||
assert(bit,"Must use LuaJIT")
|
||||
local script_args = {...}
|
||||
|
||||
--test gcc present
|
||||
local HAVE_GCC
|
||||
local pipe,err = io.popen("gcc --version","r")
|
||||
if pipe then
|
||||
local str = pipe:read"*a"
|
||||
print(str)
|
||||
pipe:close()
|
||||
if str=="" then
|
||||
HAVE_GCC = false
|
||||
else
|
||||
HAVE_GCC = true
|
||||
end
|
||||
local COMPILER = script_args[1]
|
||||
local CPRE,CTEST
|
||||
if COMPILER == "gcc" or COMPILER == "clang" then
|
||||
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]]
|
||||
CTEST = COMPILER.." --version"
|
||||
elseif COMPILER == "cl" then
|
||||
CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_API="" /DIMGUI_IMPL_API="" ]]
|
||||
CTEST = COMPILER
|
||||
else
|
||||
HAVE_GCC = false
|
||||
print(err)
|
||||
print("Working without compiler ")
|
||||
end
|
||||
print("HAVE_GCC",HAVE_GCC)
|
||||
--test compiler present
|
||||
local HAVE_COMPILER = false
|
||||
if CTEST then
|
||||
local pipe,err = io.popen(CTEST,"r")
|
||||
if pipe then
|
||||
local str = pipe:read"*a"
|
||||
print(str)
|
||||
pipe:close()
|
||||
if str=="" then
|
||||
HAVE_COMPILER = false
|
||||
else
|
||||
HAVE_COMPILER = true
|
||||
end
|
||||
else
|
||||
HAVE_COMPILER = false
|
||||
print(err)
|
||||
end
|
||||
assert(HAVE_COMPILER,"gcc, clang or cl needed to run script")
|
||||
end --CTEST
|
||||
|
||||
print("HAVE_COMPILER",HAVE_COMPILER)
|
||||
--get implementations
|
||||
local implementations = {}
|
||||
for i=1,#script_args do table.insert(implementations,script_args[i]) end
|
||||
for i=2,#script_args do table.insert(implementations,script_args[i]) end
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
--this table has the functions to be skipped in generation
|
||||
@@ -48,6 +62,9 @@ local cimgui_overloads = {
|
||||
--["(const void*)"] = "igPushIDPtr",
|
||||
--["(int)"] = "igPushIDInt"
|
||||
},
|
||||
igGetID = {
|
||||
["(const char*,const char*)"] = "igGetIDRange",
|
||||
},
|
||||
ImDrawList_AddText = {
|
||||
["(const ImVec2,ImU32,const char*,const char*)"] = "ImDrawList_AddText",
|
||||
},
|
||||
@@ -82,34 +99,107 @@ local gdefines = {} --for FLT_MAX and others
|
||||
--------------------------------------------------------------------------
|
||||
--helper functions
|
||||
--------------------------------------------------------------------------
|
||||
--iterates lines from a .h file and discards between #if.. and #endif
|
||||
local function filelines(file)
|
||||
|
||||
local function split_comment(line)
|
||||
local comment = line:match("(%s*//.*)") or ""
|
||||
line = line:gsub("%s*//.*","")
|
||||
line = line:gsub("%s*$","")
|
||||
return line,comment
|
||||
end
|
||||
--minimal preprocessor
|
||||
local function filelines(file,locats)
|
||||
local iflevels = {}
|
||||
--generated known prepros
|
||||
local prepro = {
|
||||
["#if"]={
|
||||
[ "defined(__clang__) || defined(__GNUC__)" ]=false,
|
||||
[ "defined(__clang__)" ]=false,
|
||||
[ "defined(_MSC_VER) && !defined(__clang__)" ]=false,
|
||||
[ "!defined(IMGUI_DISABLE_INCLUDE_IMCONFIG_H) || defined(IMGUI_INCLUDE_IMCONFIG_H)" ]=false,
|
||||
[ "!defined(IMGUI_IMPL_OPENGL_LOADER_GL3W) \\" ]=false,
|
||||
},
|
||||
["#elif"]={
|
||||
[ "defined(__GNUC__) && __GNUC__ >= 8" ]=false,
|
||||
[ "(defined(__clang__) || defined(__GNUC__)) && (__cplusplus < 201100)" ]=false,
|
||||
},
|
||||
["#ifdef"]={
|
||||
[ "IM_VEC4_CLASS_EXTRA" ]=false,
|
||||
[ "IMGUI_USER_CONFIG" ]=false,
|
||||
[ "IMGUI_INCLUDE_IMGUI_USER_H" ]=false,
|
||||
[ "IMGUI_USE_BGRA_PACKED_COLOR" ]=false,
|
||||
[ "IM_VEC2_CLASS_EXTRA" ]=false,
|
||||
},
|
||||
["#ifndef"]={
|
||||
[ "IMGUI_API" ]=false,
|
||||
[ "IMGUI_IMPL_API" ]=false,
|
||||
[ "IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT" ]=true,
|
||||
[ "IM_ASSERT" ]=false,
|
||||
[ "ImTextureID" ]=true,
|
||||
[ "ImDrawIdx" ]=true,
|
||||
[ "IMGUI_DISABLE_OBSOLETE_FUNCTIONS" ]=false,
|
||||
},
|
||||
}
|
||||
--only one case is true
|
||||
local function prepro_boolifBAK(line)
|
||||
local ma = line:match("#ifndef%s+IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT") or line:match("#ifndef%s+ImTextureID")
|
||||
return not (ma==nil)
|
||||
end
|
||||
local function prepro_boolif(pre,cond)
|
||||
local conds = prepro[pre]
|
||||
assert(conds,pre.." has no conds-----------------------------")
|
||||
local res = conds[cond]
|
||||
--assert(type(res)~="nil",cond.." not found")
|
||||
if type(res)=="nil" then
|
||||
print(pre,cond,"not found in precompiler database, returning false.")
|
||||
res = false
|
||||
end
|
||||
return res
|
||||
end
|
||||
local function location_it()
|
||||
repeat
|
||||
local line = file:read"*l"
|
||||
if not line then return nil end
|
||||
if line:sub(1,1) == "#" then
|
||||
--if line:sub(1,1) == "#" then
|
||||
if line:match("^%s*#") then
|
||||
line,_ = split_comment(line)
|
||||
local pre,cond = line:match("^%s*(#%S*)%s+(.*)%s*$")
|
||||
if line:match("#if") then
|
||||
iflevels[#iflevels +1 ] = true
|
||||
iflevels[#iflevels +1 ] = prepro_boolif(pre,cond)
|
||||
elseif line:match("#endif") then
|
||||
iflevels[#iflevels] = nil
|
||||
elseif line:match("#elif") then
|
||||
if not iflevels[#iflevels] then
|
||||
iflevels[#iflevels] = prepro_boolif(pre,cond)
|
||||
else --was true
|
||||
iflevels[#iflevels] = false
|
||||
end
|
||||
elseif line:match("#else") then
|
||||
iflevels[#iflevels] = not iflevels[#iflevels]
|
||||
else
|
||||
if not (pre:match("#define") or pre:match"#include" or pre:match"#pragma") then
|
||||
print("not expected preprocessor directive ",pre)
|
||||
end
|
||||
end
|
||||
-- skip
|
||||
elseif #iflevels == 0 then
|
||||
elseif #iflevels == 0 or iflevels[#iflevels] then
|
||||
-- drop IMGUI_APIX
|
||||
line = line:gsub("IMGUI_IMPL_API","")
|
||||
-- drop IMGUI_API
|
||||
line = line:gsub("IMGUI_API","")
|
||||
return line
|
||||
return line,locats[1]
|
||||
end
|
||||
until false
|
||||
end
|
||||
return location_it
|
||||
end
|
||||
--iterates lines from a gcc -E in a specific location
|
||||
--iterates lines from a gcc/clang -E in a specific location
|
||||
local function location(file,locpathT)
|
||||
local location_re = '^# (%d+) "([^"]*)"'
|
||||
local location_re
|
||||
if COMPILER == "cl" then
|
||||
location_re = '^#line (%d+) "([^"]*)"'
|
||||
else --gcc, clang
|
||||
location_re = '^# (%d+) "([^"]*)"'
|
||||
end
|
||||
local path_reT = {}
|
||||
for i,locpath in ipairs(locpathT) do
|
||||
table.insert(path_reT,'^(.*[\\/])('..locpath..')%.h$')
|
||||
@@ -132,7 +222,9 @@ local function location(file,locpathT)
|
||||
return nil
|
||||
end
|
||||
end
|
||||
if line:sub(1,1) == "#" then
|
||||
if #line==0 then --nothing on emptyline
|
||||
elseif not line:match("%S") then --nothing if only spaces
|
||||
elseif line:sub(1,1) == "#" then
|
||||
-- Is this a location pragma?
|
||||
local loc_num_t,location_match = line:match(location_re)
|
||||
if location_match then
|
||||
@@ -161,7 +253,7 @@ local function location(file,locpathT)
|
||||
--return line,loc_num_real, which_location
|
||||
end
|
||||
end
|
||||
until false
|
||||
until false --forever
|
||||
end
|
||||
return location_it
|
||||
end
|
||||
@@ -264,10 +356,6 @@ local function clean_spaces(cad)
|
||||
cad = cad:gsub("%s*([%(%),=])%s*","%1") --not spaces with ( , )
|
||||
return cad
|
||||
end
|
||||
local function split_comment(line)
|
||||
local comment = line:match("(%s*//.*)") or ""
|
||||
return line:gsub("%s*//.*",""),comment
|
||||
end
|
||||
local function get_manuals(def)
|
||||
return cimgui_manuals[def.ov_cimguiname] or cimgui_manuals[def.cimguiname]
|
||||
end
|
||||
@@ -288,14 +376,16 @@ end
|
||||
local function struct_parser()
|
||||
local function_re = "(%a*%w+%s*%b())" --"(%a*%w+%b())" --"(%a*%w+%s+%w+%b())"
|
||||
local function_closing_re = "}"
|
||||
local function_closed_re = "[;}]$"
|
||||
local function_closed_re = "[;}]%s*$"
|
||||
local operator_re = "operator.-%b()"
|
||||
local functype_re = "(%(%*)[%w_]+(%)%([^%(%)]*%))"
|
||||
local initial_comment_re = [[^%s*//.*]]
|
||||
|
||||
local in_functionst = false
|
||||
local structcdefs = {}
|
||||
local ImVector_templates = {}
|
||||
local STP = {}
|
||||
STP.ImVector_templates = ImVector_templates
|
||||
STP.lines = structcdefs
|
||||
function STP.insert(line,comment)
|
||||
|
||||
@@ -307,6 +397,7 @@ local function struct_parser()
|
||||
|
||||
--if in_function discard
|
||||
if in_functionst then
|
||||
--table.insert(structcdefs,"en function:"..line) --debug
|
||||
if line:match(function_closing_re) then
|
||||
in_functionst = false
|
||||
--print("in function:",line)
|
||||
@@ -314,25 +405,25 @@ local function struct_parser()
|
||||
return
|
||||
end
|
||||
|
||||
|
||||
|
||||
if (line:match(function_re) or line:match(operator_re)) and not line:match("typedef.*%b().*%b().*")
|
||||
and not line:match(functype_re) then
|
||||
--table.insert(structcdefs,"function test2:"..line) --debug
|
||||
if not line:match(function_closed_re) then
|
||||
--print("match:",line)
|
||||
in_functionst = true
|
||||
end
|
||||
--else
|
||||
--table.insert(structcdefs,linecommented)
|
||||
elseif line:match("template") then
|
||||
--nothing
|
||||
elseif line:match("public:") then
|
||||
--nothing
|
||||
else
|
||||
local linea = line:gsub("%S+",{class="struct",mutable=""})
|
||||
local template = linea:match("ImVector<([%w_]+)>")
|
||||
if template then
|
||||
ImVector_templates[template] = true
|
||||
end
|
||||
linea = linea:gsub("(%b<>)","/*%1*/") --comment template parameters
|
||||
table.insert(structcdefs,linea..comment)
|
||||
|
||||
end
|
||||
return
|
||||
end
|
||||
@@ -563,7 +654,11 @@ local function func_parser()
|
||||
end
|
||||
table.insert(argsArr,{type=type,name=name,ret=retf,signature=sigf})
|
||||
if arg:match("&") and not arg:match("const") then
|
||||
print("reference to no const arg in",funcname,argscsinpars)
|
||||
--only post error if not manual
|
||||
local cname = getcimguiname(stname,funcname)
|
||||
if not cimgui_manuals[cname] then
|
||||
print("reference to no const arg in",funcname,argscsinpars)
|
||||
end
|
||||
end
|
||||
end
|
||||
argscsinpars = argscsinpars:gsub("&","")
|
||||
@@ -697,7 +792,7 @@ local function ADDnonUDT(FP)
|
||||
defT2.retref = nil
|
||||
defsT[t.cimguiname][#defsT[t.cimguiname] + 1] = defT2
|
||||
defsT[t.cimguiname][t.signature.."nonUDT"] = defT2
|
||||
table.insert(newcdefs,{stname=t.stname,funcname=t.funcname,args=args,argsc=argscsinpars,signature=t.signature.."nonUDT",cimguiname=t.cimguiname,call_args=call_args,ret =ret,comment=comment})
|
||||
table.insert(newcdefs,{stname=t.stname,funcname=t.funcname,args=args,argsc=argscsinpars,signature=t.signature.."nonUDT",cimguiname=t.cimguiname,call_args=call_args,ret =t.ret,comment=comment})
|
||||
--converting to Simple type----------------------------------------------------
|
||||
local defT3 = {}
|
||||
--first strings
|
||||
@@ -718,7 +813,7 @@ local function ADDnonUDT(FP)
|
||||
defT3.retref = nil
|
||||
defsT[t.cimguiname][#defsT[t.cimguiname] + 1] = defT3
|
||||
defsT[t.cimguiname][t.signature.."nonUDT2"] = defT3
|
||||
table.insert(newcdefs,{stname=t.stname,funcname=t.funcname,args=args,argsc=argscsinpars,signature=t.signature.."nonUDT2",cimguiname=t.cimguiname,call_args=call_args,ret =ret,comment=comment})
|
||||
table.insert(newcdefs,{stname=t.stname,funcname=t.funcname,args=args,argsc=argscsinpars,signature=t.signature.."nonUDT2",cimguiname=t.cimguiname,call_args=call_args,ret =t.ret,comment=comment})
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -792,6 +887,11 @@ local function gen_structs_and_enums_table(cdefs)
|
||||
|
||||
if (#enumnames > 0) then
|
||||
assert(#structnames==0,"enum in struct")
|
||||
-- if #structnames~=0 then
|
||||
-- print(line,#line)
|
||||
-- print(linecom,#linecom)
|
||||
-- error"enuminstruct"
|
||||
-- end
|
||||
if line:match(struct_closing_re) and not line:match(struct_op_close_re) then
|
||||
enumnames[#enumnames] = nil
|
||||
break
|
||||
@@ -829,8 +929,10 @@ local function gen_structs_and_enums_table(cdefs)
|
||||
end
|
||||
--split type name1,name2; in several lines
|
||||
local typen,rest = line:match("([^,]+)%s(%S+[,;])")
|
||||
local template_type = typen:match("/%*<(.+)>%*/")
|
||||
if template_type then typen = typen:match("(.+)/%*") end
|
||||
for name in rest:gmatch("([^%s,;]+)%s?[,;]") do
|
||||
table.insert(outtab.structs[structnames[#structnames]],{type=typen,name=name})
|
||||
table.insert(outtab.structs[structnames[#structnames]],{type=typen,template_type=template_type,name=name})
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -925,13 +1027,15 @@ local function gen_structs_and_enums(cdefs)
|
||||
-- ImVector special treatment
|
||||
if structnames[#structnames] == "ImVector" then
|
||||
if line:match(struct_closing_re) then
|
||||
table.insert(outtab,[[struct ImVector
|
||||
table.insert(outtab,[[
|
||||
struct ImVector
|
||||
{
|
||||
int Size;
|
||||
int Capacity;
|
||||
void* Data;
|
||||
};
|
||||
typedef struct ImVector ImVector;]])
|
||||
typedef struct ImVector ImVector;
|
||||
]])
|
||||
structnames[#structnames] = nil
|
||||
end
|
||||
break -- dont write
|
||||
@@ -1051,18 +1155,32 @@ local function func_header_generate(FP)
|
||||
local cimf = FP.defsT[t.cimguiname]
|
||||
local def = cimf[t.signature]
|
||||
local manual = get_manuals(def)
|
||||
if not manual and def.ret then --not constructor
|
||||
local addcoment = def.comment or ""
|
||||
if not manual then
|
||||
local addcoment = def.comment or ""
|
||||
local empty = def.args:match("^%(%)") --no args
|
||||
if def.stname == "ImGui" or def.stname == "" then --ImGui namespace or top level
|
||||
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..(def.ov_cimguiname or def.cimguiname)..(empty and "(void)" or def.args)..";"..addcoment.."\n")
|
||||
else
|
||||
|
||||
--local imgui_stname = embeded_structs[def.stname] or def.stname
|
||||
local imgui_stname = def.stname
|
||||
local args = def.args:gsub("^%(","("..imgui_stname.."* self"..(empty and "" or ","))
|
||||
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..(def.ov_cimguiname or def.cimguiname)..args..";"..addcoment.."\n")
|
||||
end
|
||||
if def.ret then --not constructor
|
||||
if def.stname == "ImGui" or def.stname == "" then --ImGui namespace or top level
|
||||
table.insert(outtab,"CIMGUI_API "..def.ret.." "..(def.ov_cimguiname or def.cimguiname)..(empty and "(void)" or def.args)..";"..addcoment.."\n")
|
||||
else
|
||||
--local imgui_stname = embeded_structs[def.stname] or def.stname
|
||||
local imgui_stname = def.stname
|
||||
local args = def.args:gsub("^%(","("..imgui_stname.."* self"..(empty and "" or ","))
|
||||
table.insert(outtab,"CIMGUI_API "..def.ret.." "..(def.ov_cimguiname or def.cimguiname)..args..";"..addcoment.."\n")
|
||||
end
|
||||
else --constructor
|
||||
assert(def.stname ~= "ImGui" and def.stname ~= "","constructor without struct")
|
||||
if not def.funcname:match("~") then --constructor
|
||||
table.insert(outtab,"CIMGUI_API "..def.stname.."* "..(def.ov_cimguiname or def.cimguiname)..(empty and "(void)" or def.args)..";"..addcoment.."\n")
|
||||
if empty then
|
||||
--make destructor also only once
|
||||
local args = "("..def.stname.."* self)"
|
||||
local fname = def.stname.."_destroy"
|
||||
table.insert(outtab,"CIMGUI_API void "..fname..args..";"..addcoment.."\n")
|
||||
end
|
||||
else --destructor
|
||||
--already done
|
||||
end
|
||||
end
|
||||
end
|
||||
else --not cimguiname
|
||||
table.insert(outtab,t.comment:gsub("%%","%%%%").."\n")-- %% substitution for gsub
|
||||
@@ -1122,13 +1240,13 @@ local function func_implementation(FP)
|
||||
table.insert(outtab," return ret2;\n")
|
||||
table.insert(outtab,"}\n")
|
||||
end
|
||||
else
|
||||
else --standard ImGui
|
||||
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..(def.ov_cimguiname or def.cimguiname)..def.args.."\n")
|
||||
table.insert(outtab,"{\n")
|
||||
table.insert(outtab," return "..castret..ptret.."ImGui::"..def.funcname..def.call_args..";\n")
|
||||
table.insert(outtab,"}\n")
|
||||
end
|
||||
else
|
||||
else -- stname
|
||||
local empty = def.args:match("^%(%)") --no args
|
||||
--local imgui_stname = embeded_structs[def.stname] or def.stname
|
||||
local imgui_stname = def.stname
|
||||
@@ -1164,13 +1282,33 @@ local function func_implementation(FP)
|
||||
table.insert(outtab," return ret2;\n")
|
||||
table.insert(outtab,"}\n")
|
||||
end
|
||||
else
|
||||
else --standard struct
|
||||
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..(def.ov_cimguiname or def.cimguiname)..args.."\n")
|
||||
table.insert(outtab,"{\n")
|
||||
table.insert(outtab," return "..castret..ptret.."self->"..def.funcname..def.call_args..";\n")
|
||||
table.insert(outtab,"}\n")
|
||||
end
|
||||
end
|
||||
elseif not manual and not def.ret then --constructor and destructors
|
||||
assert(def.stname ~= "ImGui" and def.stname ~= "","constructor without struct")
|
||||
local empty = def.args:match("^%(%)") --no args
|
||||
if not def.funcname:match("~") then --constructor
|
||||
table.insert(outtab,"CIMGUI_API "..def.stname.."* "..(def.ov_cimguiname or def.cimguiname)..(empty and "(void)" or def.args).."\n")
|
||||
table.insert(outtab,"{\n")
|
||||
table.insert(outtab," return IM_NEW("..def.stname..")"..def.call_args..";\n")
|
||||
table.insert(outtab,"}\n")
|
||||
if empty then
|
||||
--do destructor only once
|
||||
local args = "("..def.stname.."* self)"
|
||||
local fname = def.stname.."_destroy"
|
||||
table.insert(outtab,"CIMGUI_API void "..fname..args.."\n")
|
||||
table.insert(outtab,"{\n")
|
||||
table.insert(outtab," IM_DELETE(self);\n")
|
||||
table.insert(outtab,"}\n")
|
||||
end
|
||||
else --destructor
|
||||
--already done
|
||||
end
|
||||
end
|
||||
until true
|
||||
end
|
||||
@@ -1205,7 +1343,8 @@ local function check_arg_detection(fdefs,typedefs)
|
||||
print"-----------------end check arg detection-----------------------"
|
||||
end
|
||||
local function get_defines(t)
|
||||
local pipe,err = io.popen([[gcc -E -dM -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ../imgui/imgui.h]],"r")
|
||||
if COMPILER == "cl" then print"can't get defines with cl compiler"; return {} end
|
||||
local pipe,err = io.popen(COMPILER..[[ -E -dM -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ../imgui/imgui.h]],"r")
|
||||
local defines = {}
|
||||
while true do
|
||||
local line = pipe:read"*l"
|
||||
@@ -1294,35 +1433,20 @@ pipe:close()
|
||||
cimgui_header = cimgui_header:gsub("XXX",imgui_version)
|
||||
print("IMGUI_VERSION",imgui_version)
|
||||
--get some defines----------------------------
|
||||
if HAVE_GCC then
|
||||
if HAVE_COMPILER then
|
||||
gdefines = get_defines{"IMGUI_VERSION","FLT_MAX"}
|
||||
end
|
||||
--first without gcc
|
||||
---[[
|
||||
print"------------------generation without precompiler------------------------"
|
||||
local pipe,err = io.open("../imgui/imgui.h","r")
|
||||
if not pipe then
|
||||
error("could not open file:"..err)
|
||||
end
|
||||
|
||||
local STP = struct_parser()
|
||||
local FP = func_parser()
|
||||
|
||||
for line in filelines(pipe) do
|
||||
local line, comment = split_comment(line)
|
||||
STP.insert(line,comment)
|
||||
FP.insert(line,comment)
|
||||
end
|
||||
pipe:close()
|
||||
FP:compute_overloads()
|
||||
cimgui_generation("_nopreprocess",STP,FP)
|
||||
--]]
|
||||
--then gcc
|
||||
print"------------------generation with precompiler------------------------"
|
||||
--generation
|
||||
print("------------------generation with "..COMPILER.."------------------------")
|
||||
local pFP,pSTP,typedefs_dict2
|
||||
|
||||
if HAVE_GCC then
|
||||
local pipe,err = io.popen([[gcc -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ../imgui/imgui.h]],"r")
|
||||
local pipe,err
|
||||
if HAVE_COMPILER then
|
||||
pipe,err = io.popen(CPRE..[[../imgui/imgui.h]],"r")
|
||||
else
|
||||
pipe,err = io.open([[../imgui/imgui.h]],"r")
|
||||
end
|
||||
|
||||
if not pipe then
|
||||
error("could not execute gcc "..err)
|
||||
@@ -1331,19 +1455,24 @@ end
|
||||
pSTP = struct_parser() --overwrite
|
||||
pFP = func_parser() --overwrite
|
||||
|
||||
for line in location(pipe,{"imgui"}) do
|
||||
local iterator = (HAVE_COMPILER and location) or filelines
|
||||
|
||||
for line in iterator(pipe,{"imgui"}) do
|
||||
local line, comment = split_comment(line)
|
||||
--line = clean_spaces(line)
|
||||
--comment = ""
|
||||
pSTP.insert(line,comment)
|
||||
pFP.insert(line,comment)
|
||||
end
|
||||
pipe:close()
|
||||
|
||||
local ovstr = pFP:compute_overloads()
|
||||
ADDnonUDT(pFP)
|
||||
save_data("./output/overloads.txt",ovstr)
|
||||
typedefs_dict2 = cimgui_generation("",pSTP,pFP)
|
||||
--check arg detection failure if no name in function declaration
|
||||
check_arg_detection(pFP.defsT,typedefs_dict2)
|
||||
end
|
||||
|
||||
|
||||
----------save fundefs in definitions.lua for using in bindings
|
||||
set_defines(pFP.defsT)
|
||||
@@ -1367,8 +1496,8 @@ if #implementations > 0 then
|
||||
local source = [[../imgui/examples/imgui_impl_]].. impl .. ".h "
|
||||
local locati = [[imgui_impl_]].. impl
|
||||
local pipe,err
|
||||
if HAVE_GCC then
|
||||
pipe,err = io.popen([[gcc -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] ..source,"r")
|
||||
if HAVE_COMPILER then
|
||||
pipe,err = io.popen(CPRE..source,"r")
|
||||
else
|
||||
pipe,err = io.open(source,"r")
|
||||
end
|
||||
@@ -1376,7 +1505,7 @@ if #implementations > 0 then
|
||||
error("could not get file: "..err)
|
||||
end
|
||||
|
||||
local iterator = (HAVE_GCC and location) or filelines
|
||||
local iterator = (HAVE_COMPILER and location) or filelines
|
||||
|
||||
for line,locat in iterator(pipe,{locati}) do
|
||||
local line, comment = split_comment(line)
|
||||
@@ -1409,7 +1538,7 @@ local function json_prepare(defs)
|
||||
end
|
||||
return defs
|
||||
end
|
||||
|
||||
---[[
|
||||
local json = require"json"
|
||||
save_data("./output/definitions.json",json.encode(json_prepare(pFP.defsT)))
|
||||
save_data("./output/structs_and_enums.json",json.encode(structs_and_enums_table))
|
||||
@@ -1417,7 +1546,7 @@ save_data("./output/typedefs_dict.json",json.encode(typedefs_dict))
|
||||
if iFP then
|
||||
save_data("./output/impl_definitions.json",json.encode(json_prepare(iFP.defsT)))
|
||||
end
|
||||
|
||||
--]]
|
||||
copyfile("./output/cimgui.h", "../cimgui.h")
|
||||
copyfile("./output/cimgui.cpp", "../cimgui.cpp")
|
||||
print"all done!!"
|
||||
@@ -1425,26 +1554,37 @@ print"all done!!"
|
||||
---dump some infos-----------------------------------------------------------------------
|
||||
------------------------------------------------------------------------------------
|
||||
print"//-------alltypes--------------------------------------------------------------------"
|
||||
FP:dump_alltypes()
|
||||
pFP:dump_alltypes()
|
||||
print"//embeded_structs---------------------------------------------------------------------------"
|
||||
for k,v in pairs(FP.embeded_structs) do
|
||||
for k,v in pairs(pFP.embeded_structs) do
|
||||
--print(k,v)
|
||||
io.write("typedef ",v," ",k,";\n")
|
||||
end
|
||||
print"//templates---------------------------------------------------------------------------"
|
||||
for k,v in pairs(FP.ImVector_templates) do
|
||||
for k,v in pairs(pFP.ImVector_templates) do
|
||||
--print(k,v)
|
||||
io.write("typedef ImVector<",k,"> ImVector_",k,";\n")
|
||||
end
|
||||
|
||||
for k,v in pairs(pSTP.ImVector_templates) do
|
||||
--print(k,v)
|
||||
io.write("typedef ImVector<",k,"> ImVector_",k,";\n")
|
||||
end
|
||||
require"anima.utils"
|
||||
print"//constructors------------------------------------------------------------------"
|
||||
for i,t in ipairs(FP.cdefs) do
|
||||
for i,t in ipairs(pFP.cdefs) do
|
||||
if t.cimguiname and not t.ret then
|
||||
print(t.cimguiname,"\t",t.signature,"\t",t.args,"\t",t.argsc,"\t",t.call_args,"\t",t.ret)
|
||||
local cimf = pFP.defsT[t.cimguiname]
|
||||
local def = cimf[t.signature]
|
||||
if not def.ret then
|
||||
print(t.cimguiname,"\t",t.signature,t.ret)
|
||||
else
|
||||
print"constructor error"
|
||||
prtable(def)
|
||||
end
|
||||
end
|
||||
end
|
||||
print"//-------------------------------------------------------------------------------------"
|
||||
for i,t in ipairs(FP.cdefs) do
|
||||
for i,t in ipairs(pFP.cdefs) do
|
||||
--print(t.cimguiname," ",t.funcname,"\t",t.signature,"\t",t.args,"\t",t.argsc,"\t",t.call_args,"\t",t.ret)
|
||||
end
|
||||
---------------------------------------------------------------------------------------------
|
||||
|
@@ -5,6 +5,30 @@
|
||||
|
||||
#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);
|
||||
@@ -477,7 +501,7 @@ CIMGUI_API ImGuiID igGetIDStr(const char* str_id)
|
||||
{
|
||||
return ImGui::GetID(str_id);
|
||||
}
|
||||
CIMGUI_API ImGuiID igGetIDStrStr(const char* str_id_begin,const char* str_id_end)
|
||||
CIMGUI_API ImGuiID igGetIDRange(const char* str_id_begin,const char* str_id_end)
|
||||
{
|
||||
return ImGui::GetID(str_id_begin,str_id_end);
|
||||
}
|
||||
@@ -1374,6 +1398,14 @@ CIMGUI_API void igMemFree(void* ptr)
|
||||
{
|
||||
return ImGui::MemFree(ptr);
|
||||
}
|
||||
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);
|
||||
@@ -1390,6 +1422,26 @@ 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 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 bool ImGuiTextFilter_Draw(ImGuiTextFilter* self,const char* label,float width)
|
||||
{
|
||||
return self->Draw(label,width);
|
||||
@@ -1410,6 +1462,18 @@ CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self)
|
||||
{
|
||||
return self->IsActive();
|
||||
}
|
||||
CIMGUI_API TextRange* TextRange_TextRange(void)
|
||||
{
|
||||
return IM_NEW(TextRange)();
|
||||
}
|
||||
CIMGUI_API void TextRange_destroy(TextRange* self)
|
||||
{
|
||||
IM_DELETE(self);
|
||||
}
|
||||
CIMGUI_API TextRange* TextRange_TextRangeStr(const char* _b,const char* _e)
|
||||
{
|
||||
return IM_NEW(TextRange)(_b,_e);
|
||||
}
|
||||
CIMGUI_API const char* TextRange_begin(TextRange* self)
|
||||
{
|
||||
return self->begin();
|
||||
@@ -1426,6 +1490,14 @@ CIMGUI_API void TextRange_split(TextRange* self,char separator,ImVector_TextRang
|
||||
{
|
||||
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();
|
||||
@@ -1458,6 +1530,18 @@ CIMGUI_API void ImGuiTextBuffer_appendfv(ImGuiTextBuffer* self,const char* fmt,v
|
||||
{
|
||||
return self->appendfv(fmt,args);
|
||||
}
|
||||
CIMGUI_API Pair* Pair_PairInt(ImGuiID _key,int _val_i)
|
||||
{
|
||||
return IM_NEW(Pair)(_key,_val_i);
|
||||
}
|
||||
CIMGUI_API Pair* Pair_PairFloat(ImGuiID _key,float _val_f)
|
||||
{
|
||||
return IM_NEW(Pair)(_key,_val_f);
|
||||
}
|
||||
CIMGUI_API Pair* Pair_PairPtr(ImGuiID _key,void* _val_p)
|
||||
{
|
||||
return IM_NEW(Pair)(_key,_val_p);
|
||||
}
|
||||
CIMGUI_API void ImGuiStorage_Clear(ImGuiStorage* self)
|
||||
{
|
||||
return self->Clear();
|
||||
@@ -1518,6 +1602,14 @@ CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self)
|
||||
{
|
||||
return self->BuildSortByKey();
|
||||
}
|
||||
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);
|
||||
@@ -1530,6 +1622,14 @@ CIMGUI_API bool ImGuiInputTextCallbackData_HasSelection(ImGuiInputTextCallbackDa
|
||||
{
|
||||
return self->HasSelection();
|
||||
}
|
||||
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();
|
||||
@@ -1546,6 +1646,30 @@ CIMGUI_API bool ImGuiPayload_IsDelivery(ImGuiPayload* self)
|
||||
{
|
||||
return self->IsDelivery();
|
||||
}
|
||||
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);
|
||||
@@ -1554,6 +1678,10 @@ CIMGUI_API ImColor ImColor_HSV(ImColor* self,float h,float s,float v,float a)
|
||||
{
|
||||
return self->HSV(h,s,v,a);
|
||||
}
|
||||
CIMGUI_API ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(int items_count,float items_height)
|
||||
{
|
||||
return IM_NEW(ImGuiListClipper)(items_count,items_height);
|
||||
}
|
||||
CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self)
|
||||
{
|
||||
return self->Step();
|
||||
@@ -1566,6 +1694,18 @@ CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self)
|
||||
{
|
||||
return self->End();
|
||||
}
|
||||
CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void)
|
||||
{
|
||||
return IM_NEW(ImDrawCmd)();
|
||||
}
|
||||
CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self)
|
||||
{
|
||||
IM_DELETE(self);
|
||||
}
|
||||
CIMGUI_API ImDrawList* ImDrawList_ImDrawList(const ImDrawListSharedData* shared_data)
|
||||
{
|
||||
return IM_NEW(ImDrawList)(shared_data);
|
||||
}
|
||||
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);
|
||||
@@ -1770,6 +1910,14 @@ 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();
|
||||
@@ -1782,6 +1930,22 @@ CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData* self,const ImVec2 sc)
|
||||
{
|
||||
return self->ScaleClipRects(sc);
|
||||
}
|
||||
CIMGUI_API ImFontConfig* ImFontConfig_ImFontConfig(void)
|
||||
{
|
||||
return IM_NEW(ImFontConfig)();
|
||||
}
|
||||
CIMGUI_API void ImFontConfig_destroy(ImFontConfig* self)
|
||||
{
|
||||
IM_DELETE(self);
|
||||
}
|
||||
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);
|
||||
@@ -1870,6 +2034,14 @@ CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self)
|
||||
{
|
||||
return self->GetGlyphRangesThai();
|
||||
}
|
||||
CIMGUI_API GlyphRangesBuilder* GlyphRangesBuilder_GlyphRangesBuilder(void)
|
||||
{
|
||||
return IM_NEW(GlyphRangesBuilder)();
|
||||
}
|
||||
CIMGUI_API void GlyphRangesBuilder_destroy(GlyphRangesBuilder* self)
|
||||
{
|
||||
IM_DELETE(self);
|
||||
}
|
||||
CIMGUI_API bool GlyphRangesBuilder_GetBit(GlyphRangesBuilder* self,int n)
|
||||
{
|
||||
return self->GetBit(n);
|
||||
@@ -1894,6 +2066,14 @@ CIMGUI_API void GlyphRangesBuilder_BuildRanges(GlyphRangesBuilder* self,ImVector
|
||||
{
|
||||
return self->BuildRanges(out_ranges);
|
||||
}
|
||||
CIMGUI_API CustomRect* CustomRect_CustomRect(void)
|
||||
{
|
||||
return IM_NEW(CustomRect)();
|
||||
}
|
||||
CIMGUI_API void CustomRect_destroy(CustomRect* self)
|
||||
{
|
||||
IM_DELETE(self);
|
||||
}
|
||||
CIMGUI_API bool CustomRect_IsPacked(CustomRect* self)
|
||||
{
|
||||
return self->IsPacked();
|
||||
@@ -1918,6 +2098,14 @@ CIMGUI_API bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self,ImGuiMouseCu
|
||||
{
|
||||
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 void ImFont_ClearOutputData(ImFont* self)
|
||||
{
|
||||
return self->ClearOutputData();
|
||||
@@ -2235,3 +2423,21 @@ CIMGUI_API void igColorConvertHSVtoRGB(float h,float s,float v,float *out_r,floa
|
||||
{
|
||||
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* p)
|
||||
{
|
||||
IM_DELETE(p);
|
||||
}
|
||||
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>();
|
||||
}
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
|
||||
//based on imgui.h file version "1.65" from Dear ImGui https://github.com/ocornut/imgui
|
||||
#include <stdio.h>
|
||||
|
||||
#include <stdint.h>
|
||||
#if defined _WIN32 || defined __CYGWIN__
|
||||
#ifdef CIMGUI_NO_EXPORT
|
||||
#define API
|
||||
@@ -40,7 +40,7 @@ typedef struct ImColor_Simple { ImVec4_Simple Value;} ImColor_Simple;
|
||||
|
||||
|
||||
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
|
||||
struct ImDrawChannel;
|
||||
typedef struct CustomRect CustomRect;
|
||||
typedef struct GlyphRangesBuilder GlyphRangesBuilder;
|
||||
typedef struct ImFontGlyph ImFontGlyph;
|
||||
@@ -69,7 +69,6 @@ typedef struct ImDrawList ImDrawList;
|
||||
typedef struct ImDrawData ImDrawData;
|
||||
typedef struct ImDrawCmd ImDrawCmd;
|
||||
typedef struct ImDrawChannel ImDrawChannel;
|
||||
struct ImDrawChannel;
|
||||
struct ImDrawCmd;
|
||||
struct ImDrawData;
|
||||
struct ImDrawList;
|
||||
@@ -837,6 +836,12 @@ typedef ImVector<ImWchar> ImVector_ImWchar;
|
||||
typedef ImVector ImVector_TextRange;
|
||||
typedef ImVector ImVector_ImWchar;
|
||||
#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);
|
||||
@@ -955,7 +960,7 @@ 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 igGetIDStrStr(const char* str_id_begin,const char* str_id_end);
|
||||
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,...);
|
||||
@@ -1170,19 +1175,31 @@ 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 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,ImWchar c);
|
||||
CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self,const char* utf8_chars);
|
||||
CIMGUI_API void ImGuiIO_ClearInputCharacters(ImGuiIO* self);
|
||||
CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void);
|
||||
CIMGUI_API void ImGuiIO_destroy(ImGuiIO* 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 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 TextRange* TextRange_TextRange(void);
|
||||
CIMGUI_API void TextRange_destroy(TextRange* self);
|
||||
CIMGUI_API TextRange* TextRange_TextRangeStr(const char* _b,const char* _e);
|
||||
CIMGUI_API const char* TextRange_begin(TextRange* self);
|
||||
CIMGUI_API const char* TextRange_end(TextRange* self);
|
||||
CIMGUI_API bool TextRange_empty(TextRange* self);
|
||||
CIMGUI_API void TextRange_split(TextRange* self,char separator,ImVector_TextRange* 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);
|
||||
@@ -1191,6 +1208,9 @@ 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_appendfv(ImGuiTextBuffer* self,const char* fmt,va_list args);
|
||||
CIMGUI_API Pair* Pair_PairInt(ImGuiID _key,int _val_i);
|
||||
CIMGUI_API Pair* Pair_PairFloat(ImGuiID _key,float _val_f);
|
||||
CIMGUI_API Pair* Pair_PairPtr(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);
|
||||
@@ -1206,18 +1226,32 @@ CIMGUI_API float* ImGuiStorage_GetFloatRef(ImGuiStorage* self,ImGuiID key,float
|
||||
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 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 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 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 ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(int items_count,float items_height);
|
||||
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 ImDrawCmd* ImDrawCmd_ImDrawCmd(void);
|
||||
CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self);
|
||||
CIMGUI_API ImDrawList* ImDrawList_ImDrawList(const ImDrawListSharedData* shared_data);
|
||||
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);
|
||||
@@ -1269,9 +1303,15 @@ 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 sc);
|
||||
CIMGUI_API ImFontConfig* ImFontConfig_ImFontConfig(void);
|
||||
CIMGUI_API void ImFontConfig_destroy(ImFontConfig* 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);
|
||||
@@ -1294,18 +1334,24 @@ CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseFull(ImFontAtlas* sel
|
||||
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 GlyphRangesBuilder* GlyphRangesBuilder_GlyphRangesBuilder(void);
|
||||
CIMGUI_API void GlyphRangesBuilder_destroy(GlyphRangesBuilder* self);
|
||||
CIMGUI_API bool GlyphRangesBuilder_GetBit(GlyphRangesBuilder* self,int n);
|
||||
CIMGUI_API void GlyphRangesBuilder_SetBit(GlyphRangesBuilder* self,int n);
|
||||
CIMGUI_API void GlyphRangesBuilder_AddChar(GlyphRangesBuilder* self,ImWchar c);
|
||||
CIMGUI_API void GlyphRangesBuilder_AddText(GlyphRangesBuilder* self,const char* text,const char* text_end);
|
||||
CIMGUI_API void GlyphRangesBuilder_AddRanges(GlyphRangesBuilder* self,const ImWchar* ranges);
|
||||
CIMGUI_API void GlyphRangesBuilder_BuildRanges(GlyphRangesBuilder* self,ImVector_ImWchar* out_ranges);
|
||||
CIMGUI_API CustomRect* CustomRect_CustomRect(void);
|
||||
CIMGUI_API void CustomRect_destroy(CustomRect* self);
|
||||
CIMGUI_API bool CustomRect_IsPacked(CustomRect* 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 CustomRect* ImFontAtlas_GetCustomRectByIndex(ImFontAtlas* self,int index);
|
||||
CIMGUI_API void ImFontAtlas_CalcCustomRectUV(ImFontAtlas* self,const CustomRect* 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 void ImFont_ClearOutputData(ImFont* self);
|
||||
CIMGUI_API void ImFont_BuildLookupTable(ImFont* self);
|
||||
CIMGUI_API const ImFontGlyph* ImFont_FindGlyph(ImFont* self,ImWchar c);
|
||||
@@ -1379,5 +1425,11 @@ CIMGUI_API float igGET_FLT_MAX();
|
||||
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* p);
|
||||
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
|
||||
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);
|
||||
|
||||
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -4135,7 +4135,7 @@ defs["igGetID"][2]["argsT"][1]["name"] = "str_id_begin"
|
||||
defs["igGetID"][2]["argsT"][2] = {}
|
||||
defs["igGetID"][2]["argsT"][2]["type"] = "const char*"
|
||||
defs["igGetID"][2]["argsT"][2]["name"] = "str_id_end"
|
||||
defs["igGetID"][2]["ov_cimguiname"] = "igGetIDStrStr"
|
||||
defs["igGetID"][2]["ov_cimguiname"] = "igGetIDRange"
|
||||
defs["igGetID"][2]["defaults"] = {}
|
||||
defs["igGetID"][2]["signature"] = "(const char*,const char*)"
|
||||
defs["igGetID"][2]["cimguiname"] = "igGetID"
|
||||
|
@@ -43,7 +43,7 @@ igMenuItem 2
|
||||
2 bool igMenuItemBoolPtr (const char*,const char*,bool*,bool)
|
||||
igGetID 3
|
||||
1 ImGuiID igGetIDStr (const char*)
|
||||
2 ImGuiID igGetIDStrStr (const char*,const char*)
|
||||
2 ImGuiID igGetIDRange (const char*,const char*)
|
||||
3 ImGuiID igGetIDPtr (const void*)
|
||||
igListBoxHeader 2
|
||||
1 bool igListBoxHeaderVec2 (const char*,const ImVec2)
|
||||
|
File diff suppressed because one or more lines are too long
@@ -1191,13 +1191,16 @@ defs["structs"]["ImDrawVert"][3]["type"] = "ImU32"
|
||||
defs["structs"]["ImDrawVert"][3]["name"] = "col"
|
||||
defs["structs"]["ImDrawList"] = {}
|
||||
defs["structs"]["ImDrawList"][1] = {}
|
||||
defs["structs"]["ImDrawList"][1]["type"] = "ImVector/*<ImDrawCmd>*/"
|
||||
defs["structs"]["ImDrawList"][1]["type"] = "ImVector"
|
||||
defs["structs"]["ImDrawList"][1]["template_type"] = "ImDrawCmd"
|
||||
defs["structs"]["ImDrawList"][1]["name"] = "CmdBuffer"
|
||||
defs["structs"]["ImDrawList"][2] = {}
|
||||
defs["structs"]["ImDrawList"][2]["type"] = "ImVector/*<ImDrawIdx>*/"
|
||||
defs["structs"]["ImDrawList"][2]["type"] = "ImVector"
|
||||
defs["structs"]["ImDrawList"][2]["template_type"] = "ImDrawIdx"
|
||||
defs["structs"]["ImDrawList"][2]["name"] = "IdxBuffer"
|
||||
defs["structs"]["ImDrawList"][3] = {}
|
||||
defs["structs"]["ImDrawList"][3]["type"] = "ImVector/*<ImDrawVert>*/"
|
||||
defs["structs"]["ImDrawList"][3]["type"] = "ImVector"
|
||||
defs["structs"]["ImDrawList"][3]["template_type"] = "ImDrawVert"
|
||||
defs["structs"]["ImDrawList"][3]["name"] = "VtxBuffer"
|
||||
defs["structs"]["ImDrawList"][4] = {}
|
||||
defs["structs"]["ImDrawList"][4]["type"] = "ImDrawListFlags"
|
||||
@@ -1218,13 +1221,16 @@ defs["structs"]["ImDrawList"][9] = {}
|
||||
defs["structs"]["ImDrawList"][9]["type"] = "ImDrawIdx*"
|
||||
defs["structs"]["ImDrawList"][9]["name"] = "_IdxWritePtr"
|
||||
defs["structs"]["ImDrawList"][10] = {}
|
||||
defs["structs"]["ImDrawList"][10]["type"] = "ImVector/*<ImVec4>*/"
|
||||
defs["structs"]["ImDrawList"][10]["type"] = "ImVector"
|
||||
defs["structs"]["ImDrawList"][10]["template_type"] = "ImVec4"
|
||||
defs["structs"]["ImDrawList"][10]["name"] = "_ClipRectStack"
|
||||
defs["structs"]["ImDrawList"][11] = {}
|
||||
defs["structs"]["ImDrawList"][11]["type"] = "ImVector/*<ImTextureID>*/"
|
||||
defs["structs"]["ImDrawList"][11]["type"] = "ImVector"
|
||||
defs["structs"]["ImDrawList"][11]["template_type"] = "ImTextureID"
|
||||
defs["structs"]["ImDrawList"][11]["name"] = "_TextureIdStack"
|
||||
defs["structs"]["ImDrawList"][12] = {}
|
||||
defs["structs"]["ImDrawList"][12]["type"] = "ImVector/*<ImVec2>*/"
|
||||
defs["structs"]["ImDrawList"][12]["type"] = "ImVector"
|
||||
defs["structs"]["ImDrawList"][12]["template_type"] = "ImVec2"
|
||||
defs["structs"]["ImDrawList"][12]["name"] = "_Path"
|
||||
defs["structs"]["ImDrawList"][13] = {}
|
||||
defs["structs"]["ImDrawList"][13]["type"] = "int"
|
||||
@@ -1233,7 +1239,8 @@ defs["structs"]["ImDrawList"][14] = {}
|
||||
defs["structs"]["ImDrawList"][14]["type"] = "int"
|
||||
defs["structs"]["ImDrawList"][14]["name"] = "_ChannelsCount"
|
||||
defs["structs"]["ImDrawList"][15] = {}
|
||||
defs["structs"]["ImDrawList"][15]["type"] = "ImVector/*<ImDrawChannel>*/"
|
||||
defs["structs"]["ImDrawList"][15]["type"] = "ImVector"
|
||||
defs["structs"]["ImDrawList"][15]["template_type"] = "ImDrawChannel"
|
||||
defs["structs"]["ImDrawList"][15]["name"] = "_Channels"
|
||||
defs["structs"]["Pair"] = {}
|
||||
defs["structs"]["Pair"][1] = {}
|
||||
@@ -1253,13 +1260,16 @@ defs["structs"]["ImFont"][3] = {}
|
||||
defs["structs"]["ImFont"][3]["type"] = "ImVec2"
|
||||
defs["structs"]["ImFont"][3]["name"] = "DisplayOffset"
|
||||
defs["structs"]["ImFont"][4] = {}
|
||||
defs["structs"]["ImFont"][4]["type"] = "ImVector/*<ImFontGlyph>*/"
|
||||
defs["structs"]["ImFont"][4]["type"] = "ImVector"
|
||||
defs["structs"]["ImFont"][4]["template_type"] = "ImFontGlyph"
|
||||
defs["structs"]["ImFont"][4]["name"] = "Glyphs"
|
||||
defs["structs"]["ImFont"][5] = {}
|
||||
defs["structs"]["ImFont"][5]["type"] = "ImVector/*<float>*/"
|
||||
defs["structs"]["ImFont"][5]["type"] = "ImVector"
|
||||
defs["structs"]["ImFont"][5]["template_type"] = "float"
|
||||
defs["structs"]["ImFont"][5]["name"] = "IndexAdvanceX"
|
||||
defs["structs"]["ImFont"][6] = {}
|
||||
defs["structs"]["ImFont"][6]["type"] = "ImVector/*<unsigned short>*/"
|
||||
defs["structs"]["ImFont"][6]["type"] = "ImVector"
|
||||
defs["structs"]["ImFont"][6]["template_type"] = "unsigned short"
|
||||
defs["structs"]["ImFont"][6]["name"] = "IndexLookup"
|
||||
defs["structs"]["ImFont"][7] = {}
|
||||
defs["structs"]["ImFont"][7]["type"] = "const ImFontGlyph*"
|
||||
@@ -1350,11 +1360,13 @@ defs["structs"]["ImVec4"][4]["type"] = "float"
|
||||
defs["structs"]["ImVec4"][4]["name"] = "w"
|
||||
defs["structs"]["GlyphRangesBuilder"] = {}
|
||||
defs["structs"]["GlyphRangesBuilder"][1] = {}
|
||||
defs["structs"]["GlyphRangesBuilder"][1]["type"] = "ImVector/*<unsigned char>*/"
|
||||
defs["structs"]["GlyphRangesBuilder"][1]["type"] = "ImVector"
|
||||
defs["structs"]["GlyphRangesBuilder"][1]["template_type"] = "unsigned char"
|
||||
defs["structs"]["GlyphRangesBuilder"][1]["name"] = "UsedChars"
|
||||
defs["structs"]["ImGuiStorage"] = {}
|
||||
defs["structs"]["ImGuiStorage"][1] = {}
|
||||
defs["structs"]["ImGuiStorage"][1]["type"] = "ImVector/*<Pair>*/"
|
||||
defs["structs"]["ImGuiStorage"][1]["type"] = "ImVector"
|
||||
defs["structs"]["ImGuiStorage"][1]["template_type"] = "Pair"
|
||||
defs["structs"]["ImGuiStorage"][1]["name"] = "Data"
|
||||
defs["structs"]["ImFontAtlas"] = {}
|
||||
defs["structs"]["ImFontAtlas"][1] = {}
|
||||
@@ -1391,18 +1403,21 @@ defs["structs"]["ImFontAtlas"][11] = {}
|
||||
defs["structs"]["ImFontAtlas"][11]["type"] = "ImVec2"
|
||||
defs["structs"]["ImFontAtlas"][11]["name"] = "TexUvWhitePixel"
|
||||
defs["structs"]["ImFontAtlas"][12] = {}
|
||||
defs["structs"]["ImFontAtlas"][12]["type"] = "ImVector/*<ImFont*>*/"
|
||||
defs["structs"]["ImFontAtlas"][12]["type"] = "ImVector"
|
||||
defs["structs"]["ImFontAtlas"][12]["template_type"] = "ImFont*"
|
||||
defs["structs"]["ImFontAtlas"][12]["name"] = "Fonts"
|
||||
defs["structs"]["ImFontAtlas"][13] = {}
|
||||
defs["structs"]["ImFontAtlas"][13]["type"] = "ImVector/*<CustomRect>*/"
|
||||
defs["structs"]["ImFontAtlas"][13]["type"] = "ImVector"
|
||||
defs["structs"]["ImFontAtlas"][13]["template_type"] = "CustomRect"
|
||||
defs["structs"]["ImFontAtlas"][13]["name"] = "CustomRects"
|
||||
defs["structs"]["ImFontAtlas"][14] = {}
|
||||
defs["structs"]["ImFontAtlas"][14]["type"] = "ImVector/*<ImFontConfig>*/"
|
||||
defs["structs"]["ImFontAtlas"][14]["type"] = "ImVector"
|
||||
defs["structs"]["ImFontAtlas"][14]["template_type"] = "ImFontConfig"
|
||||
defs["structs"]["ImFontAtlas"][14]["name"] = "ConfigData"
|
||||
defs["structs"]["ImFontAtlas"][15] = {}
|
||||
defs["structs"]["ImFontAtlas"][15]["type"] = "int"
|
||||
defs["structs"]["ImFontAtlas"][15]["name"] = "CustomRectIds[1]"
|
||||
defs["structs"]["ImFontAtlas"][15]["size"] = 1
|
||||
defs["structs"]["ImFontAtlas"][15]["name"] = "CustomRectIds[1]"
|
||||
defs["structs"]["ImFontGlyph"] = {}
|
||||
defs["structs"]["ImFontGlyph"][1] = {}
|
||||
defs["structs"]["ImFontGlyph"][1]["type"] = "ImWchar"
|
||||
@@ -1485,8 +1500,8 @@ defs["structs"]["ImFontConfig"][16]["type"] = "float"
|
||||
defs["structs"]["ImFontConfig"][16]["name"] = "RasterizerMultiply"
|
||||
defs["structs"]["ImFontConfig"][17] = {}
|
||||
defs["structs"]["ImFontConfig"][17]["type"] = "char"
|
||||
defs["structs"]["ImFontConfig"][17]["name"] = "Name[40]"
|
||||
defs["structs"]["ImFontConfig"][17]["size"] = 40
|
||||
defs["structs"]["ImFontConfig"][17]["name"] = "Name[40]"
|
||||
defs["structs"]["ImFontConfig"][18] = {}
|
||||
defs["structs"]["ImFontConfig"][18]["type"] = "ImFont*"
|
||||
defs["structs"]["ImFontConfig"][18]["name"] = "DstFont"
|
||||
@@ -1514,7 +1529,8 @@ defs["structs"]["ImDrawData"][7]["type"] = "ImVec2"
|
||||
defs["structs"]["ImDrawData"][7]["name"] = "DisplaySize"
|
||||
defs["structs"]["ImGuiTextBuffer"] = {}
|
||||
defs["structs"]["ImGuiTextBuffer"][1] = {}
|
||||
defs["structs"]["ImGuiTextBuffer"][1]["type"] = "ImVector/*<char>*/"
|
||||
defs["structs"]["ImGuiTextBuffer"][1]["type"] = "ImVector"
|
||||
defs["structs"]["ImGuiTextBuffer"][1]["template_type"] = "char"
|
||||
defs["structs"]["ImGuiTextBuffer"][1]["name"] = "Buf"
|
||||
defs["structs"]["ImGuiStyle"] = {}
|
||||
defs["structs"]["ImGuiStyle"][1] = {}
|
||||
@@ -1606,14 +1622,16 @@ defs["structs"]["ImGuiStyle"][29]["type"] = "float"
|
||||
defs["structs"]["ImGuiStyle"][29]["name"] = "CurveTessellationTol"
|
||||
defs["structs"]["ImGuiStyle"][30] = {}
|
||||
defs["structs"]["ImGuiStyle"][30]["type"] = "ImVec4"
|
||||
defs["structs"]["ImGuiStyle"][30]["name"] = "Colors[ImGuiCol_COUNT]"
|
||||
defs["structs"]["ImGuiStyle"][30]["size"] = 43
|
||||
defs["structs"]["ImGuiStyle"][30]["name"] = "Colors[ImGuiCol_COUNT]"
|
||||
defs["structs"]["ImDrawChannel"] = {}
|
||||
defs["structs"]["ImDrawChannel"][1] = {}
|
||||
defs["structs"]["ImDrawChannel"][1]["type"] = "ImVector/*<ImDrawCmd>*/"
|
||||
defs["structs"]["ImDrawChannel"][1]["type"] = "ImVector"
|
||||
defs["structs"]["ImDrawChannel"][1]["template_type"] = "ImDrawCmd"
|
||||
defs["structs"]["ImDrawChannel"][1]["name"] = "CmdBuffer"
|
||||
defs["structs"]["ImDrawChannel"][2] = {}
|
||||
defs["structs"]["ImDrawChannel"][2]["type"] = "ImVector/*<ImDrawIdx>*/"
|
||||
defs["structs"]["ImDrawChannel"][2]["type"] = "ImVector"
|
||||
defs["structs"]["ImDrawChannel"][2]["template_type"] = "ImDrawIdx"
|
||||
defs["structs"]["ImDrawChannel"][2]["name"] = "IdxBuffer"
|
||||
defs["structs"]["ImDrawCmd"] = {}
|
||||
defs["structs"]["ImDrawCmd"][1] = {}
|
||||
@@ -1676,8 +1694,8 @@ defs["structs"]["ImGuiIO"][10]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][10]["name"] = "MouseDragThreshold"
|
||||
defs["structs"]["ImGuiIO"][11] = {}
|
||||
defs["structs"]["ImGuiIO"][11]["type"] = "int"
|
||||
defs["structs"]["ImGuiIO"][11]["name"] = "KeyMap[ImGuiKey_COUNT]"
|
||||
defs["structs"]["ImGuiIO"][11]["size"] = 21
|
||||
defs["structs"]["ImGuiIO"][11]["name"] = "KeyMap[ImGuiKey_COUNT]"
|
||||
defs["structs"]["ImGuiIO"][12] = {}
|
||||
defs["structs"]["ImGuiIO"][12]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][12]["name"] = "KeyRepeatDelay"
|
||||
@@ -1743,8 +1761,8 @@ defs["structs"]["ImGuiIO"][32]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiIO"][32]["name"] = "MousePos"
|
||||
defs["structs"]["ImGuiIO"][33] = {}
|
||||
defs["structs"]["ImGuiIO"][33]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][33]["name"] = "MouseDown[5]"
|
||||
defs["structs"]["ImGuiIO"][33]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][33]["name"] = "MouseDown[5]"
|
||||
defs["structs"]["ImGuiIO"][34] = {}
|
||||
defs["structs"]["ImGuiIO"][34]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][34]["name"] = "MouseWheel"
|
||||
@@ -1765,16 +1783,16 @@ defs["structs"]["ImGuiIO"][39]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][39]["name"] = "KeySuper"
|
||||
defs["structs"]["ImGuiIO"][40] = {}
|
||||
defs["structs"]["ImGuiIO"][40]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][40]["name"] = "KeysDown[512]"
|
||||
defs["structs"]["ImGuiIO"][40]["size"] = 512
|
||||
defs["structs"]["ImGuiIO"][40]["name"] = "KeysDown[512]"
|
||||
defs["structs"]["ImGuiIO"][41] = {}
|
||||
defs["structs"]["ImGuiIO"][41]["type"] = "ImWchar"
|
||||
defs["structs"]["ImGuiIO"][41]["name"] = "InputCharacters[16+1]"
|
||||
defs["structs"]["ImGuiIO"][41]["size"] = 17
|
||||
defs["structs"]["ImGuiIO"][41]["name"] = "InputCharacters[16+1]"
|
||||
defs["structs"]["ImGuiIO"][42] = {}
|
||||
defs["structs"]["ImGuiIO"][42]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][42]["name"] = "NavInputs[ImGuiNavInput_COUNT]"
|
||||
defs["structs"]["ImGuiIO"][42]["size"] = 21
|
||||
defs["structs"]["ImGuiIO"][42]["name"] = "NavInputs[ImGuiNavInput_COUNT]"
|
||||
defs["structs"]["ImGuiIO"][43] = {}
|
||||
defs["structs"]["ImGuiIO"][43]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][43]["name"] = "WantCaptureMouse"
|
||||
@@ -1822,60 +1840,60 @@ defs["structs"]["ImGuiIO"][57]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiIO"][57]["name"] = "MousePosPrev"
|
||||
defs["structs"]["ImGuiIO"][58] = {}
|
||||
defs["structs"]["ImGuiIO"][58]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiIO"][58]["name"] = "MouseClickedPos[5]"
|
||||
defs["structs"]["ImGuiIO"][58]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][58]["name"] = "MouseClickedPos[5]"
|
||||
defs["structs"]["ImGuiIO"][59] = {}
|
||||
defs["structs"]["ImGuiIO"][59]["type"] = "double"
|
||||
defs["structs"]["ImGuiIO"][59]["name"] = "MouseClickedTime[5]"
|
||||
defs["structs"]["ImGuiIO"][59]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][59]["name"] = "MouseClickedTime[5]"
|
||||
defs["structs"]["ImGuiIO"][60] = {}
|
||||
defs["structs"]["ImGuiIO"][60]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][60]["name"] = "MouseClicked[5]"
|
||||
defs["structs"]["ImGuiIO"][60]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][60]["name"] = "MouseClicked[5]"
|
||||
defs["structs"]["ImGuiIO"][61] = {}
|
||||
defs["structs"]["ImGuiIO"][61]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][61]["name"] = "MouseDoubleClicked[5]"
|
||||
defs["structs"]["ImGuiIO"][61]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][61]["name"] = "MouseDoubleClicked[5]"
|
||||
defs["structs"]["ImGuiIO"][62] = {}
|
||||
defs["structs"]["ImGuiIO"][62]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][62]["name"] = "MouseReleased[5]"
|
||||
defs["structs"]["ImGuiIO"][62]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][62]["name"] = "MouseReleased[5]"
|
||||
defs["structs"]["ImGuiIO"][63] = {}
|
||||
defs["structs"]["ImGuiIO"][63]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][63]["name"] = "MouseDownOwned[5]"
|
||||
defs["structs"]["ImGuiIO"][63]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][63]["name"] = "MouseDownOwned[5]"
|
||||
defs["structs"]["ImGuiIO"][64] = {}
|
||||
defs["structs"]["ImGuiIO"][64]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][64]["name"] = "MouseDownDuration[5]"
|
||||
defs["structs"]["ImGuiIO"][64]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][64]["name"] = "MouseDownDuration[5]"
|
||||
defs["structs"]["ImGuiIO"][65] = {}
|
||||
defs["structs"]["ImGuiIO"][65]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][65]["name"] = "MouseDownDurationPrev[5]"
|
||||
defs["structs"]["ImGuiIO"][65]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][65]["name"] = "MouseDownDurationPrev[5]"
|
||||
defs["structs"]["ImGuiIO"][66] = {}
|
||||
defs["structs"]["ImGuiIO"][66]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiIO"][66]["name"] = "MouseDragMaxDistanceAbs[5]"
|
||||
defs["structs"]["ImGuiIO"][66]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][66]["name"] = "MouseDragMaxDistanceAbs[5]"
|
||||
defs["structs"]["ImGuiIO"][67] = {}
|
||||
defs["structs"]["ImGuiIO"][67]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][67]["name"] = "MouseDragMaxDistanceSqr[5]"
|
||||
defs["structs"]["ImGuiIO"][67]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][67]["name"] = "MouseDragMaxDistanceSqr[5]"
|
||||
defs["structs"]["ImGuiIO"][68] = {}
|
||||
defs["structs"]["ImGuiIO"][68]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][68]["name"] = "KeysDownDuration[512]"
|
||||
defs["structs"]["ImGuiIO"][68]["size"] = 512
|
||||
defs["structs"]["ImGuiIO"][68]["name"] = "KeysDownDuration[512]"
|
||||
defs["structs"]["ImGuiIO"][69] = {}
|
||||
defs["structs"]["ImGuiIO"][69]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][69]["name"] = "KeysDownDurationPrev[512]"
|
||||
defs["structs"]["ImGuiIO"][69]["size"] = 512
|
||||
defs["structs"]["ImGuiIO"][69]["name"] = "KeysDownDurationPrev[512]"
|
||||
defs["structs"]["ImGuiIO"][70] = {}
|
||||
defs["structs"]["ImGuiIO"][70]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][70]["name"] = "NavInputsDownDuration[ImGuiNavInput_COUNT]"
|
||||
defs["structs"]["ImGuiIO"][70]["size"] = 21
|
||||
defs["structs"]["ImGuiIO"][70]["name"] = "NavInputsDownDuration[ImGuiNavInput_COUNT]"
|
||||
defs["structs"]["ImGuiIO"][71] = {}
|
||||
defs["structs"]["ImGuiIO"][71]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][71]["name"] = "NavInputsDownDurationPrev[ImGuiNavInput_COUNT]"
|
||||
defs["structs"]["ImGuiIO"][71]["size"] = 21
|
||||
defs["structs"]["ImGuiIO"][71]["name"] = "NavInputsDownDurationPrev[ImGuiNavInput_COUNT]"
|
||||
defs["structs"]["ImGuiPayload"] = {}
|
||||
defs["structs"]["ImGuiPayload"][1] = {}
|
||||
defs["structs"]["ImGuiPayload"][1]["type"] = "void*"
|
||||
@@ -1894,8 +1912,8 @@ defs["structs"]["ImGuiPayload"][5]["type"] = "int"
|
||||
defs["structs"]["ImGuiPayload"][5]["name"] = "DataFrameCount"
|
||||
defs["structs"]["ImGuiPayload"][6] = {}
|
||||
defs["structs"]["ImGuiPayload"][6]["type"] = "char"
|
||||
defs["structs"]["ImGuiPayload"][6]["name"] = "DataType[32+1]"
|
||||
defs["structs"]["ImGuiPayload"][6]["size"] = 33
|
||||
defs["structs"]["ImGuiPayload"][6]["name"] = "DataType[32+1]"
|
||||
defs["structs"]["ImGuiPayload"][7] = {}
|
||||
defs["structs"]["ImGuiPayload"][7]["type"] = "bool"
|
||||
defs["structs"]["ImGuiPayload"][7]["name"] = "Preview"
|
||||
@@ -1922,10 +1940,11 @@ defs["structs"]["ImGuiSizeCallbackData"][4]["name"] = "DesiredSize"
|
||||
defs["structs"]["ImGuiTextFilter"] = {}
|
||||
defs["structs"]["ImGuiTextFilter"][1] = {}
|
||||
defs["structs"]["ImGuiTextFilter"][1]["type"] = "char"
|
||||
defs["structs"]["ImGuiTextFilter"][1]["name"] = "InputBuf[256]"
|
||||
defs["structs"]["ImGuiTextFilter"][1]["size"] = 256
|
||||
defs["structs"]["ImGuiTextFilter"][1]["name"] = "InputBuf[256]"
|
||||
defs["structs"]["ImGuiTextFilter"][2] = {}
|
||||
defs["structs"]["ImGuiTextFilter"][2]["type"] = "ImVector/*<TextRange>*/"
|
||||
defs["structs"]["ImGuiTextFilter"][2]["type"] = "ImVector"
|
||||
defs["structs"]["ImGuiTextFilter"][2]["template_type"] = "TextRange"
|
||||
defs["structs"]["ImGuiTextFilter"][2]["name"] = "Filters"
|
||||
defs["structs"]["ImGuiTextFilter"][3] = {}
|
||||
defs["structs"]["ImGuiTextFilter"][3]["type"] = "int"
|
||||
|
Reference in New Issue
Block a user