mirror of
https://github.com/cimgui/cimgui.git
synced 2025-08-10 20:08:31 +01:00
Compare commits
252 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
83f729b093 | ||
![]() |
34a48996e6 | ||
![]() |
ccdae842e4 | ||
![]() |
c401f71eea | ||
![]() |
c22606a7f0 | ||
![]() |
6552b43aae | ||
![]() |
3d4277be4d | ||
![]() |
1ffc9e53c5 | ||
![]() |
13aac22a35 | ||
![]() |
ceda975a5b | ||
![]() |
aa0baa777c | ||
![]() |
25aa25bd83 | ||
![]() |
41b397020a | ||
![]() |
c1890d4c00 | ||
![]() |
7756c4f53f | ||
![]() |
ba9ec30e64 | ||
![]() |
2638737f2c | ||
![]() |
6aa3f1decd | ||
![]() |
bc708a092d | ||
![]() |
9ac7cd93e1 | ||
![]() |
2838c0317a | ||
![]() |
c57efd953f | ||
![]() |
a48009b062 | ||
![]() |
383ebf3a7a | ||
![]() |
afdbb6b799 | ||
![]() |
a64de2e303 | ||
![]() |
a9928295db | ||
![]() |
ce239ed53f | ||
![]() |
6791a95f79 | ||
![]() |
86112e0b45 | ||
![]() |
c4d1f5423e | ||
![]() |
36e0d7a41e | ||
![]() |
1bdfc0964e | ||
![]() |
7b9f0c7499 | ||
![]() |
0d96f60b80 | ||
![]() |
3eec69f133 | ||
![]() |
ab67137994 | ||
![]() |
7d5f753a9d | ||
![]() |
3b563153fd | ||
![]() |
7f4ca76e37 | ||
![]() |
6047c638c4 | ||
![]() |
414ad3f8f4 | ||
![]() |
a21c31f123 | ||
![]() |
99611664b7 | ||
![]() |
45aada6ecb | ||
![]() |
98bfe43755 | ||
![]() |
4a4c804ad9 | ||
![]() |
48c97106cc | ||
![]() |
e417e3500b | ||
![]() |
ee5534d7cd | ||
![]() |
54cfcabdde | ||
![]() |
e0279fa53d | ||
![]() |
43bfbe227d | ||
![]() |
2a6970b50b | ||
![]() |
507e19bc7e | ||
![]() |
3f2e6f40df | ||
![]() |
be7bb9a72e | ||
![]() |
fc677cb849 | ||
![]() |
aa1b438f7f | ||
![]() |
9828871a89 | ||
![]() |
236c296049 | ||
![]() |
3b01e79d6d | ||
![]() |
ebfa448e25 | ||
![]() |
0704912579 | ||
![]() |
06f3c006c3 | ||
![]() |
5c469cca4e | ||
![]() |
7d6fdb66bb | ||
![]() |
e1ea75be6e | ||
![]() |
c46a2eded6 | ||
![]() |
756ce6330a | ||
![]() |
4e5d12e86e | ||
![]() |
bb0cb8090a | ||
![]() |
9cb4b4f63c | ||
![]() |
a97c90ec4f | ||
![]() |
b50e8c0d85 | ||
![]() |
ad5580b5d7 | ||
![]() |
a1f2cef9d3 | ||
![]() |
75a27d5e34 | ||
![]() |
59e4829b4b | ||
![]() |
7aa18d11a1 | ||
![]() |
b26f477c20 | ||
![]() |
33fb5eb309 | ||
![]() |
3700abd326 | ||
![]() |
16609ed627 | ||
![]() |
87158fa6b4 | ||
![]() |
7ce241d5d8 | ||
![]() |
44af224530 | ||
![]() |
213086639f | ||
![]() |
5bd8981f19 | ||
![]() |
bd89e83f70 | ||
![]() |
1f5590c0b0 | ||
![]() |
8eff25b5ee | ||
![]() |
31bc8389d3 | ||
![]() |
64ed803093 | ||
![]() |
e58ac87fba | ||
![]() |
c1a4efeb10 | ||
![]() |
9b6769e810 | ||
![]() |
5a5ac45e55 | ||
![]() |
c0d36ab1d6 | ||
![]() |
c5a3820d02 | ||
![]() |
d32282504c | ||
![]() |
ddc93fb07f | ||
![]() |
e35d99e432 | ||
![]() |
a3ad64dbfa | ||
![]() |
78ed715f21 | ||
![]() |
711940a064 | ||
![]() |
d6be58f33f | ||
![]() |
0842366596 | ||
![]() |
708787b8f0 | ||
![]() |
2280cfa91b | ||
![]() |
d813613997 | ||
![]() |
0e46431ad7 | ||
![]() |
0c877db449 | ||
![]() |
0e408d392e | ||
![]() |
cbed1120b1 | ||
![]() |
8c6dbf6de7 | ||
![]() |
3f0f7d2ba5 | ||
![]() |
246c0e580f | ||
![]() |
e748e6bc95 | ||
![]() |
d2de965b2a | ||
![]() |
2bb45e2d77 | ||
![]() |
c64cef9b8c | ||
![]() |
3fd24c568d | ||
![]() |
416b4f017b | ||
![]() |
c2bd39271b | ||
![]() |
5f4aa99a3c | ||
![]() |
aa5d3646be | ||
![]() |
a898224cdc | ||
![]() |
10c52cc266 | ||
![]() |
350a316439 | ||
![]() |
02834e8480 | ||
![]() |
d52d267351 | ||
![]() |
c37df4d0b8 | ||
![]() |
31b598af72 | ||
![]() |
7685bab86f | ||
![]() |
abe5b56fd6 | ||
![]() |
3270e6b0f2 | ||
![]() |
9339b62303 | ||
![]() |
81e7df17c9 | ||
![]() |
59e6a69d88 | ||
![]() |
6ee1d4c3fc | ||
![]() |
b14352b9ef | ||
![]() |
277e37f4ef | ||
![]() |
54e64ba9c4 | ||
![]() |
060df0f4eb | ||
![]() |
9edbc20e89 | ||
![]() |
67c49ea1fd | ||
![]() |
101631d3c8 | ||
![]() |
b230afa909 | ||
![]() |
d59448763f | ||
![]() |
d9b50e696f | ||
![]() |
1ed28e5a0e | ||
![]() |
db6d57f899 | ||
![]() |
6fbdf5ce62 | ||
![]() |
7bbb7c79b7 | ||
![]() |
e6540f7682 | ||
![]() |
4c1d18802f | ||
![]() |
3b73c15805 | ||
![]() |
aa75ad3e99 | ||
![]() |
bcad423dc7 | ||
![]() |
dbcc6d1529 | ||
![]() |
477f60f822 | ||
![]() |
53156c32c6 | ||
![]() |
1109a79367 | ||
![]() |
a91865dc27 | ||
![]() |
d766b79138 | ||
![]() |
bb0dd1ac93 | ||
![]() |
596f3008f6 | ||
![]() |
59e49145e8 | ||
![]() |
512efb3505 | ||
![]() |
75c05adbcb | ||
![]() |
22728d5470 | ||
![]() |
aeac366ece | ||
![]() |
678ae8b32b | ||
![]() |
2b0058b61e | ||
![]() |
3d997ffdae | ||
![]() |
95d626aef9 | ||
![]() |
3c30c86405 | ||
![]() |
41ea43b13f | ||
![]() |
670965cbe5 | ||
![]() |
18af68901e | ||
![]() |
ebc4b3548a | ||
![]() |
c6c733bac4 | ||
![]() |
bf98608d4f | ||
![]() |
83b5cc19a0 | ||
![]() |
e9fa5cb5e2 | ||
![]() |
66ae832d05 | ||
![]() |
1d7ef93de9 | ||
![]() |
d08bad2477 | ||
![]() |
2afe1f5beb | ||
![]() |
7b6e549e9c | ||
![]() |
f635eb28c5 | ||
![]() |
710ff2ae12 | ||
![]() |
a7ba601962 | ||
![]() |
6d112735ee | ||
![]() |
ea1e5a3ab8 | ||
![]() |
46f51395eb | ||
![]() |
8fee1a6fe7 | ||
![]() |
8ba8ced1f5 | ||
![]() |
13aafdee96 | ||
![]() |
18745e0713 | ||
![]() |
5f1243c42c | ||
![]() |
cfdfe11c10 | ||
![]() |
a0056887df | ||
![]() |
804b0c0bab | ||
![]() |
4630f434ea | ||
![]() |
a486f2999a | ||
![]() |
a68f4a93ae | ||
![]() |
7cf1592256 | ||
![]() |
b6bc895d01 | ||
![]() |
f4e1cc4135 | ||
![]() |
e105d9f793 | ||
![]() |
e328a55f4c | ||
![]() |
df229d94ac | ||
![]() |
f66c7e1cf8 | ||
![]() |
debf951581 | ||
![]() |
0ae7a19bbd | ||
![]() |
c99cf02537 | ||
![]() |
a4cf018ba8 | ||
![]() |
fb2c0816db | ||
![]() |
9abc3207aa | ||
![]() |
2fa6d06a67 | ||
![]() |
2d8b3fb731 | ||
![]() |
47fbe806a2 | ||
![]() |
050d68a614 | ||
![]() |
cdd1fbb2df | ||
![]() |
e2c64a1808 | ||
![]() |
c9921e9e0f | ||
![]() |
c04ed4fa16 | ||
![]() |
c31750d25e | ||
![]() |
76eaf80082 | ||
![]() |
f41dd1cf2e | ||
![]() |
fba064065d | ||
![]() |
b875a545b2 | ||
![]() |
38a744674e | ||
![]() |
2f4c2c03db | ||
![]() |
8c5bda8548 | ||
![]() |
bb54fa5e20 | ||
![]() |
38bcc91220 | ||
![]() |
36522778d0 | ||
![]() |
f69b042105 | ||
![]() |
1efb54810c | ||
![]() |
4edb09f7c4 | ||
![]() |
0f2a41e273 | ||
![]() |
981eafaa3e | ||
![]() |
09bd080a0c | ||
![]() |
217e55b5b3 | ||
![]() |
6e52c26817 | ||
![]() |
78c1ef224d | ||
![]() |
9f99062c6f | ||
![]() |
da72704aa1 | ||
![]() |
b861387d21 |
1
.gitmodules
vendored
1
.gitmodules
vendored
@@ -1,3 +1,4 @@
|
||||
[submodule "imgui"]
|
||||
path = imgui
|
||||
url = https://github.com/ocornut/imgui.git
|
||||
branch = master
|
||||
|
@@ -2,6 +2,13 @@ cmake_minimum_required(VERSION 3.1)
|
||||
|
||||
project(cimgui)
|
||||
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/imgui/imgui_tables.cpp)
|
||||
set(TABLES_SOURCE "imgui/imgui_tables.cpp")
|
||||
else()
|
||||
set(TABLES_SOURCE "")
|
||||
endif()
|
||||
|
||||
|
||||
#general settings
|
||||
file(GLOB IMGUI_SOURCES
|
||||
cimgui.cpp
|
||||
@@ -9,9 +16,19 @@ file(GLOB IMGUI_SOURCES
|
||||
imgui/imgui_draw.cpp
|
||||
imgui/imgui_demo.cpp
|
||||
imgui/imgui_widgets.cpp
|
||||
${TABLES_SOURCE}
|
||||
)
|
||||
|
||||
set(IMGUI_STATIC "no" CACHE STRING "Build as a static library")
|
||||
set(IMGUI_FREETYPE "no" CACHE STRING "Build with freetype library")
|
||||
set(IMGUI_LIBRARIES )
|
||||
|
||||
if(IMGUI_FREETYPE)
|
||||
FIND_PACKAGE(freetype REQUIRED PATHS ${FREETYPE_PATH})
|
||||
list(APPEND IMGUI_LIBRARIES freetype)
|
||||
list(APPEND IMGUI_SOURCES imgui/misc/freetype/imgui_freetype.cpp)
|
||||
add_definitions("-DCIMGUI_FREETYPE=1")
|
||||
endif(IMGUI_FREETYPE)
|
||||
|
||||
#add library and link
|
||||
if (IMGUI_STATIC)
|
||||
@@ -23,6 +40,7 @@ endif (IMGUI_STATIC)
|
||||
target_compile_definitions(cimgui PUBLIC IMGUI_DISABLE_OBSOLETE_FUNCTIONS=1)
|
||||
if (WIN32)
|
||||
target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t__declspec\(dllexport\))
|
||||
list(APPEND IMGUI_LIBRARIES imm32)
|
||||
else (WIN32)
|
||||
target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t)
|
||||
endif (WIN32)
|
||||
@@ -30,6 +48,7 @@ endif (WIN32)
|
||||
target_include_directories(cimgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_include_directories(cimgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/imgui)
|
||||
set_target_properties(cimgui PROPERTIES PREFIX "")
|
||||
target_link_libraries(cimgui ${IMGUI_LIBRARIES})
|
||||
|
||||
#install
|
||||
install(TARGETS cimgui
|
||||
|
8
Makefile
8
Makefile
@@ -6,12 +6,15 @@ OBJS = cimgui.o
|
||||
OBJS += ./imgui/imgui.o
|
||||
OBJS += ./imgui/imgui_draw.o
|
||||
OBJS += ./imgui/imgui_demo.o
|
||||
OBJS += ./imgui/imgui_tables.o
|
||||
OBJS += ./imgui/imgui_widgets.o
|
||||
|
||||
CXXFLAGS=-O2 -fno-exceptions -fno-rtti
|
||||
|
||||
UNAME_S := $(shell uname -s)
|
||||
|
||||
AR := ar -rc
|
||||
|
||||
ifeq ($(UNAME_S), Linux) #LINUX
|
||||
ECHO_MESSAGE = "Linux"
|
||||
|
||||
@@ -49,6 +52,9 @@ endif
|
||||
all:$(OUTPUTNAME)
|
||||
@echo Build complete for $(ECHO_MESSAGE)
|
||||
|
||||
static:$(OBJS)
|
||||
$(AR) libcimgui.a $(OBJS)
|
||||
|
||||
$(OUTPUTNAME):$(OBJS)
|
||||
$(CXX) -o $(OUTPUTNAME) $(OBJS) $(CXXFLAGS) $(LINKFLAGS)
|
||||
|
||||
@@ -60,4 +66,4 @@ fclean: clean
|
||||
|
||||
re: fclean all
|
||||
|
||||
.PHONY: all clean fclean re
|
||||
.PHONY: all clean fclean re static
|
||||
|
48
README.md
48
README.md
@@ -11,31 +11,37 @@ History:
|
||||
Initially cimgui was developed by Stephan Dilly as hand-written code but lately turned into an auto-generated version by sonoro1234 in order to keep up with imgui more easily (letting the user select the desired branch and commit)
|
||||
|
||||
Notes:
|
||||
* currently this wrapper is based on version [1.78 of Dear ImGui with internal api]
|
||||
* currently this wrapper is based on version [1.82 of Dear ImGui with internal api]
|
||||
* only functions, structs and enums from imgui.h (an optionally imgui_internal.h) are wrapped.
|
||||
* if you are interested in imgui implementations you should look [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui) project.
|
||||
* if you are interested in imgui backends you should look [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui) project.
|
||||
* All naming is algorithmic except for those names that were coded in cimgui_overloads table (https://github.com/cimgui/cimgui/blob/master/generator/generator.lua#L60). In the official version this table is empty.
|
||||
* Current overloaded function names can be found in (https://github.com/cimgui/cimgui/blob/master/generator/output/overloads.txt)
|
||||
|
||||
# compilation
|
||||
|
||||
* clone
|
||||
* git clone --recursive https://github.com/cimgui/cimgui.git
|
||||
* git submodule update
|
||||
* `git clone --recursive https://github.com/cimgui/cimgui.git`
|
||||
* `git submodule update --init --recursive` (If already cloned)
|
||||
* compile
|
||||
* using makefile on linux/macOS/mingw (Or use CMake to generate project)
|
||||
* cmake options are IMGUI_STATIC (compiling as static library), IMGUI_FREETYPE (for using Freetype2) and FREETYPE_PATH (Freetype2 cmake install location)
|
||||
* or as in https://github.com/sonoro1234/LuaJIT-ImGui/tree/master/build
|
||||
|
||||
For compiling with backends there is now an example with SDL2 and opengl3 in folder backend_test. It will generate a cimgui_sdl module and a test_sdl executable. You only need to provide SDL_PATH telling cmake where to look for SDL2 cmake installation.
|
||||
|
||||
# using generator
|
||||
|
||||
|
||||
* this is only needed (before compilation) if you want an imgui version different from the one provided, otherwise generation is already done.
|
||||
* 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
|
||||
* you need to use also a C++ compiler for doing preprocessing: gcc (In windows MinGW-W64-builds for example), clang or cl (MSVC). (this repo was done with gcc)
|
||||
* update `imgui` folder to the version you desire.
|
||||
* edit `generator/generator.bat` on windows, or `generator/generator.sh` on linux, to choose between gcc, clang, or cl and to choose desired implementations and whether imgui_internal is generated or not.
|
||||
* edit config_generator.lua for adding includes needed by your chosen implementations (vulkan needs that).
|
||||
* edit `generator/generator.bat` on windows, or `generator/generator.sh` on linux, to choose between gcc, clang, or cl and to choose desired backends and whether imgui_internal is generated or not and Freetype2 is used or not.
|
||||
* the defaults of generator are gcc as compiler, imgui_internal included and sdl, glfw, opengl2 and opengl3 as backends.
|
||||
* edit config_generator.lua for adding includes needed by your chosen backends (vulkan needs that).
|
||||
* Run generator.bat or generator.sh 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.
|
||||
* as a result some files are generated: `cimgui.cpp`, `cimgui.h` and `cimgui_impl.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 backends info.
|
||||
* You can pass compiler flags to generator.sh or generator.bat at the end of the call to further specify the compiler behavior. (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
|
||||
|
||||
# generate binding
|
||||
* C interface is exposed by cimgui.h when you define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
@@ -55,13 +61,16 @@ Notes:
|
||||
* call_args : a string with the argument names separated by commas for calling imgui function
|
||||
* 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)
|
||||
* skipped : will be true if this function is not generated (and not hand-written)
|
||||
* isvararg : is set if some argument is a vararg
|
||||
* constructor : is set if the function is a constructor for a class
|
||||
* destructor : is set if the function is a destructor for a class
|
||||
* constructor : is set if the function is a constructor for a class.
|
||||
* destructor : is set if the function is a destructor for a class but not just a default destructor.
|
||||
* realdestructor : is set if the function is a destructor for a class
|
||||
* templated : is set if the function belongs to a templated class (ImVector)
|
||||
* templatedgen: is set if the function belongs to a struct generated from template (ImVector_ImWchar)
|
||||
* nonUDT : if present the original function was returning a user defined type so that signature has been changed to accept a pointer to the UDT as first argument.
|
||||
* location : name of the header file this function comes from. (imgui, internal, imgui_impl_xxx)
|
||||
* location : name of the header file and linenumber this function comes from. (imgui:000, internal:123, imgui_impl_xxx:123)
|
||||
* is_static_function : is setted when it is an struct static function.
|
||||
### structs_and_enums description
|
||||
* Is is a collection with three 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
|
||||
@@ -74,7 +83,7 @@ Notes:
|
||||
* name : the name of the struct member
|
||||
* size : the number of array elements (when it is an array)
|
||||
* bitfield : the bitfield width (in case it is a bitfield)
|
||||
* under key locations we get the locations collection in which each key is the enum tagname or the struct name and the value is the name of the header file this comes from.
|
||||
* under key locations we get the locations collection in which each key is the enum tagname or the struct name and the value is the name of the header file and line number this comes from.
|
||||
# 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`
|
||||
@@ -82,18 +91,27 @@ Notes:
|
||||
* functions that belong to a struct have an extra first argument with a pointer to the struct.
|
||||
* where a function returns UDT (user defined type) by value some compilers complain so the function is generated accepting a pointer to the UDT type as the first argument (or second if belongs to a struct).
|
||||
|
||||
# usage with backends
|
||||
|
||||
* look at backend_test folder for a cmake module building with SDL and opengl3.
|
||||
|
||||
# example bindings based on cimgui
|
||||
|
||||
* [DerelictImgui](https://github.com/Extrawurst/DerelictImgui)
|
||||
* [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui)
|
||||
* [ImGui.NET](https://github.com/mellinoe/ImGui.NET)
|
||||
* [ImGuiCS](https://github.com/conatuscreative/ImGuiCS)
|
||||
* [nimgl/imgui](https://github.com/nimgl/imgui)
|
||||
* [kotlin-imgui](https://github.com/Dominaezzz/kotlin-imgui)
|
||||
* [CImGui.jl](https://github.com/Gnimuc/CImGui.jl)
|
||||
* [odin-imgui](https://github.com/ThisDrunkDane/odin-imgui)
|
||||
* [DerelictImgui](https://github.com/Extrawurst/DerelictImgui)
|
||||
* [BindBC-CimGui](https://github.com/MrcSnm/bindbc-cimgui)
|
||||
* [imgui-rs](https://github.com/Gekkio/imgui-rs)
|
||||
* [imgui-pas](https://github.com/dpethes/imgui-pas)
|
||||
* [odin-imgui](https://github.com/ThisDrunkDane/odin-imgui)
|
||||
* [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui)
|
||||
* [crystal-imgui](https://github.com/oprypin/crystal-imgui)
|
||||
|
||||
# C examples based on cimgui
|
||||
|
||||
* [sdl2_opengl3](https://github.com/cimgui/cimgui/tree/docking_inter/backend_test)
|
||||
* [sdl2-cimgui-demo](https://github.com/haxpor/sdl2-cimgui-demo)
|
||||
* [cimgui_c_sdl2_example](https://github.com/canoi12/cimgui_c_sdl2_example/)
|
||||
* [cimgui-c-example](https://github.com/peko/cimgui-c-example) with GLFW
|
||||
|
5
TODO.txt
Normal file
5
TODO.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
|
||||
|
||||
- Being able to use a prefix for structs and enums. Could be a manual dictionary or an option to take parent namespace and struct (https://github.com/rokups/ImNodes/pull/20#issuecomment-719713982)
|
||||
|
||||
- Being able to generate separate headers for imgui and imgui_internal. (https://github.com/cimgui/cimgui/pull/126#issuecomment-735674105)
|
98
backend_test/CMakeLists.txt
Normal file
98
backend_test/CMakeLists.txt
Normal file
@@ -0,0 +1,98 @@
|
||||
Project(cimgui_sdl)
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
if(WIN32) #to mingw work as all the others
|
||||
set(CMAKE_SHARED_LIBRARY_PREFIX "")
|
||||
endif(WIN32)
|
||||
#general settings
|
||||
|
||||
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../imgui/backends)
|
||||
set(BAKENDS_FOLDER "../imgui/backends/")
|
||||
else()
|
||||
set(BAKENDS_FOLDER "../imgui/examples/")
|
||||
endif()
|
||||
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../imgui/imgui_tables.cpp)
|
||||
set(TABLES_SOURCE "../imgui/imgui_tables.cpp")
|
||||
else()
|
||||
set(TABLES_SOURCE "")
|
||||
endif()
|
||||
|
||||
include_directories(../imgui)
|
||||
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
|
||||
|
||||
include_directories(../)
|
||||
set(IMGUI_SOURCES ../cimgui.cpp
|
||||
../imgui/imgui.cpp
|
||||
../imgui/imgui_draw.cpp
|
||||
../imgui/imgui_demo.cpp
|
||||
../imgui/imgui_widgets.cpp
|
||||
${TABLES_SOURCE}
|
||||
)
|
||||
|
||||
set(IMGUI_SOURCES_sdl)
|
||||
set(IMGUI_LIBRARIES )
|
||||
|
||||
if (WIN32)
|
||||
add_definitions("-DIMGUI_IMPL_API=extern \"C\" __declspec\(dllexport\)")
|
||||
else(WIN32)
|
||||
add_definitions("-DIMGUI_IMPL_API=extern \"C\" ")
|
||||
endif(WIN32)
|
||||
|
||||
add_compile_definitions("IMGUI_IMPL_OPENGL_LOADER_GL3W")
|
||||
|
||||
#optional adding freetype
|
||||
option(IMGUI_FREETYPE "add Freetype2" OFF)
|
||||
|
||||
if(IMGUI_FREETYPE)
|
||||
FIND_PACKAGE(freetype REQUIRED PATHS ${FREETYPE_PATH})
|
||||
list(APPEND IMGUI_LIBRARIES freetype)
|
||||
list(APPEND IMGUI_SOURCES ../imgui/misc/freetype/imgui_freetype.cpp)
|
||||
add_definitions("-DCIMGUI_FREETYPE=1")
|
||||
endif(IMGUI_FREETYPE)
|
||||
|
||||
#opengl3
|
||||
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_opengl3.cpp ../imgui/examples/libs/gl3w/GL/gl3w.c)
|
||||
list(APPEND IMGUI_SOURCES ./cimgui_extras.cpp)
|
||||
include_directories(../imgui/examples/libs/gl3w)
|
||||
if(WIN32)
|
||||
list(APPEND IMGUI_LIBRARIES opengl32)
|
||||
else(WIN32)#Unix
|
||||
list(APPEND IMGUI_LIBRARIES GL)
|
||||
endif(WIN32)
|
||||
|
||||
|
||||
#sdl2
|
||||
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_sdl.cpp)
|
||||
if(DEFINED SDL_PATH)
|
||||
message(STATUS "SDL_PATH defined as " ${SDL_PATH})
|
||||
FIND_PACKAGE(SDL2 REQUIRED PATHS ${SDL_PATH})
|
||||
get_target_property(SDL_INCLUDE SDL2::SDL2 INTERFACE_INCLUDE_DIRECTORIES)
|
||||
message(STATUS "sdlinclude is " ${SDL_INCLUDE})
|
||||
if ("${SDL_INCLUDE}" STREQUAL "" OR "${SDL_INCLUDE}" STREQUAL "SDL_INCLUDE-NOTFOUND") #if not found latest SDL2 cmake config use older
|
||||
message(STATUS "sdlinclude2 is " ${SDL2_INCLUDE_DIRS})
|
||||
include_directories(${SDL2_INCLUDE_DIRS})
|
||||
set(IMGUI_SDL_LIBRARY ${SDL2_LIBRARIES})
|
||||
message(STATUS IMGUI_SDL_LIBRARY ${SDL2_LIBRARIES})
|
||||
else()#use new one SDL2 config
|
||||
include_directories(${SDL_INCLUDE})
|
||||
set(IMGUI_SDL_LIBRARY SDL2::SDL2)
|
||||
set(SDL_MAIN SDL2::SDL2main)
|
||||
message(STATUS ${SDL_MAIN} ${IMGUI_SDL_LIBRARY})
|
||||
endif()
|
||||
else(DEFINED SDL_PATH)
|
||||
message(STATUS "SDL_PATH not defined")
|
||||
set(IMGUI_SDL_LIBRARY SDL2)
|
||||
endif(DEFINED SDL_PATH)
|
||||
|
||||
add_library(cimgui_sdl SHARED ${IMGUI_SOURCES})
|
||||
target_link_libraries(cimgui_sdl ${IMGUI_LIBRARIES} ${IMGUI_SDL_LIBRARY})
|
||||
|
||||
#using library
|
||||
include_directories(../generator/output/)
|
||||
add_executable(test_sdl main.c)
|
||||
if (MINGW)
|
||||
target_link_options(test_sdl PRIVATE "-mconsole")
|
||||
endif()
|
||||
target_link_libraries(test_sdl ${IMGUI_SDL_LIBRARY} cimgui_sdl)
|
||||
|
11
backend_test/cimgui_extras.cpp
Normal file
11
backend_test/cimgui_extras.cpp
Normal file
@@ -0,0 +1,11 @@
|
||||
#include "../imgui/imgui.h"
|
||||
|
||||
// GL3W/GLFW
|
||||
#include <GL/gl3w.h> // This example is using gl3w to access OpenGL functions (because it is small). You may use glew/glad/glLoadGen/etc. whatever already works for you.
|
||||
|
||||
//making it accesible for luajit
|
||||
#ifdef _WIN32
|
||||
extern "C" __declspec( dllexport ) int Do_gl3wInit(void){ return gl3wInit();};
|
||||
#else
|
||||
extern "C" int Do_gl3wInit(void){ return gl3wInit();};
|
||||
#endif
|
8
backend_test/cimgui_extras.h
Normal file
8
backend_test/cimgui_extras.h
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
|
||||
//making it accesible for main
|
||||
#ifdef _WIN32
|
||||
__declspec( dllexport ) int Do_gl3wInit(void);
|
||||
#else
|
||||
int Do_gl3wInit(void);
|
||||
#endif
|
203
backend_test/main.c
Normal file
203
backend_test/main.c
Normal file
@@ -0,0 +1,203 @@
|
||||
#define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
#include "cimgui.h"
|
||||
#include "cimgui_extras.h"
|
||||
#include "cimgui_impl.h"
|
||||
#include <stdio.h>
|
||||
#define SDL_MAIN_HANDLED
|
||||
#include <SDL.h>
|
||||
#ifdef _MSC_VER
|
||||
#include <windows.h>
|
||||
#endif
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glu.h>
|
||||
|
||||
#ifdef IMGUI_HAS_IMSTR
|
||||
#define igBegin igBegin_Strv
|
||||
#define igSliderFloat igSliderFloat_Strv
|
||||
#define igCheckbox igCheckbox_Strv
|
||||
#define igColorEdit3 igColorEdit3_Strv
|
||||
#define igButton igButton_Strv
|
||||
#endif
|
||||
|
||||
SDL_Window *window = NULL;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
|
||||
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
|
||||
SDL_Log("failed to init: %s", SDL_GetError());
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Decide GL+GLSL versions
|
||||
#if __APPLE__
|
||||
// GL 3.2 Core + GLSL 150
|
||||
const char* glsl_version = "#version 150";
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG); // Always required on Mac
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2);
|
||||
#else
|
||||
// GL 3.0 + GLSL 130
|
||||
const char* glsl_version = "#version 130";
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, 0);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0);
|
||||
#endif
|
||||
|
||||
// and prepare OpenGL stuff
|
||||
SDL_SetHint(SDL_HINT_RENDER_DRIVER, "opengl");
|
||||
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
|
||||
SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 8);
|
||||
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
|
||||
SDL_DisplayMode current;
|
||||
SDL_GetCurrentDisplayMode(0, ¤t);
|
||||
|
||||
window = SDL_CreateWindow(
|
||||
"Hello", 0, 0, 1024, 768,
|
||||
SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE
|
||||
);
|
||||
if (window == NULL) {
|
||||
SDL_Log("Failed to create window: %s", SDL_GetError());
|
||||
return -1;
|
||||
}
|
||||
|
||||
SDL_GLContext gl_context = SDL_GL_CreateContext(window);
|
||||
SDL_GL_SetSwapInterval(1); // enable vsync
|
||||
|
||||
// Initialize OpenGL loader for cimgui_sdl
|
||||
bool err = Do_gl3wInit() != 0;
|
||||
if (err)
|
||||
{
|
||||
SDL_Log("Failed to initialize OpenGL loader for cimgui_sdl!");
|
||||
return 1;
|
||||
}
|
||||
|
||||
// check opengl version sdl uses
|
||||
SDL_Log("opengl version: %s", (char*)glGetString(GL_VERSION));
|
||||
|
||||
// setup imgui
|
||||
igCreateContext(NULL);
|
||||
|
||||
//set docking
|
||||
ImGuiIO* ioptr = igGetIO();
|
||||
ioptr->ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; // Enable Keyboard Controls
|
||||
//ioptr->ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad; // Enable Gamepad Controls
|
||||
#ifdef IMGUI_HAS_DOCK
|
||||
ioptr->ConfigFlags |= ImGuiConfigFlags_DockingEnable; // Enable Docking
|
||||
ioptr->ConfigFlags |= ImGuiConfigFlags_ViewportsEnable; // Enable Multi-Viewport / Platform Windows
|
||||
#endif
|
||||
|
||||
ImGui_ImplSDL2_InitForOpenGL(window, gl_context);
|
||||
ImGui_ImplOpenGL3_Init(glsl_version);
|
||||
|
||||
igStyleColorsDark(NULL);
|
||||
//ImFontAtlas_AddFontDefault(io.Fonts, NULL);
|
||||
|
||||
|
||||
bool showDemoWindow = true;
|
||||
bool showAnotherWindow = false;
|
||||
ImVec4 clearColor;
|
||||
clearColor.x = 0.45f;
|
||||
clearColor.y = 0.55f;
|
||||
clearColor.z = 0.60f;
|
||||
clearColor.w = 1.00f;
|
||||
|
||||
bool quit = false;
|
||||
while (!quit)
|
||||
{
|
||||
SDL_Event e;
|
||||
|
||||
// we need to call SDL_PollEvent to let window rendered, otherwise
|
||||
// no window will be shown
|
||||
while (SDL_PollEvent(&e) != 0)
|
||||
{
|
||||
ImGui_ImplSDL2_ProcessEvent(&e);
|
||||
if (e.type == SDL_QUIT)
|
||||
quit = true;
|
||||
if (e.type == SDL_WINDOWEVENT && e.window.event == SDL_WINDOWEVENT_CLOSE && e.window.windowID == SDL_GetWindowID(window))
|
||||
quit = true;
|
||||
}
|
||||
|
||||
// start imgui frame
|
||||
ImGui_ImplOpenGL3_NewFrame();
|
||||
ImGui_ImplSDL2_NewFrame(window);
|
||||
igNewFrame();
|
||||
|
||||
if (showDemoWindow)
|
||||
igShowDemoWindow(&showDemoWindow);
|
||||
|
||||
// show a simple window that we created ourselves.
|
||||
{
|
||||
static float f = 0.0f;
|
||||
static int counter = 0;
|
||||
|
||||
igBegin("Hello, world!", NULL, 0);
|
||||
igText("This is some useful text");
|
||||
igCheckbox("Demo window", &showDemoWindow);
|
||||
igCheckbox("Another window", &showAnotherWindow);
|
||||
|
||||
igSliderFloat("Float", &f, 0.0f, 1.0f, "%.3f", 0);
|
||||
igColorEdit3("clear color", (float*)&clearColor, 0);
|
||||
|
||||
ImVec2 buttonSize;
|
||||
buttonSize.x = 0;
|
||||
buttonSize.y = 0;
|
||||
if (igButton("Button", buttonSize))
|
||||
counter++;
|
||||
igSameLine(0.0f, -1.0f);
|
||||
igText("counter = %d", counter);
|
||||
|
||||
igText("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / igGetIO()->Framerate, igGetIO()->Framerate);
|
||||
igEnd();
|
||||
}
|
||||
|
||||
if (showAnotherWindow)
|
||||
{
|
||||
igBegin("imgui Another Window", &showAnotherWindow, 0);
|
||||
igText("Hello from imgui");
|
||||
ImVec2 buttonSize;
|
||||
buttonSize.x = 0; buttonSize.y = 0;
|
||||
if (igButton("Close me", buttonSize))
|
||||
{
|
||||
showAnotherWindow = false;
|
||||
}
|
||||
igEnd();
|
||||
}
|
||||
|
||||
// render
|
||||
igRender();
|
||||
SDL_GL_MakeCurrent(window, gl_context);
|
||||
glViewport(0, 0, (int)ioptr->DisplaySize.x, (int)ioptr->DisplaySize.y);
|
||||
glClearColor(clearColor.x, clearColor.y, clearColor.z, clearColor.w);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
ImGui_ImplOpenGL3_RenderDrawData(igGetDrawData());
|
||||
#ifdef IMGUI_HAS_DOCK
|
||||
if (ioptr->ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
|
||||
{
|
||||
SDL_Window* backup_current_window = SDL_GL_GetCurrentWindow();
|
||||
SDL_GLContext backup_current_context = SDL_GL_GetCurrentContext();
|
||||
igUpdatePlatformWindows();
|
||||
igRenderPlatformWindowsDefault(NULL,NULL);
|
||||
SDL_GL_MakeCurrent(backup_current_window, backup_current_context);
|
||||
}
|
||||
#endif
|
||||
SDL_GL_SwapWindow(window);
|
||||
}
|
||||
|
||||
// clean up
|
||||
ImGui_ImplOpenGL3_Shutdown();
|
||||
ImGui_ImplSDL2_Shutdown();
|
||||
igDestroyContext(NULL);
|
||||
|
||||
SDL_GL_DeleteContext(gl_context);
|
||||
if (window != NULL)
|
||||
{
|
||||
SDL_DestroyWindow(window);
|
||||
window = NULL;
|
||||
}
|
||||
SDL_Quit();
|
||||
|
||||
return 0;
|
||||
}
|
846
cimgui.cpp
846
cimgui.cpp
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,8 @@
|
||||
|
||||
#include "./imgui/imgui.h"
|
||||
#ifdef CIMGUI_FREETYPE
|
||||
#include "./imgui/misc/freetype/imgui_freetype.h"
|
||||
#endif
|
||||
#include "./imgui/imgui_internal.h"
|
||||
#include "cimgui.h"
|
||||
|
||||
@@ -32,6 +35,11 @@ CIMGUI_API float igGET_FLT_MAX()
|
||||
return FLT_MAX;
|
||||
}
|
||||
|
||||
CIMGUI_API float igGET_FLT_MIN()
|
||||
{
|
||||
return FLT_MIN;
|
||||
}
|
||||
|
||||
|
||||
CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create()
|
||||
{
|
||||
|
@@ -55,6 +55,8 @@ CIMGUI_API void igLogText(CONST char *fmt, ...);
|
||||
CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...);
|
||||
//for getting FLT_MAX in bindings
|
||||
CIMGUI_API float igGET_FLT_MAX();
|
||||
//for getting FLT_MIN in bindings
|
||||
CIMGUI_API float igGET_FLT_MIN();
|
||||
|
||||
|
||||
CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create();
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -15,9 +15,10 @@ set PATH=%PATH%;C:\anima;C:\mingws\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\min
|
||||
:: set PATH=%PATH%;C:\luaGL\sources\luajit-master\luajit-master\bin\mingw32;C:\mingw32\bin;
|
||||
::process files
|
||||
:: arg[1] compiler name gcc, clang or cl
|
||||
:: arg[2] imgui_internal functions generation: true or false
|
||||
:: arg[3..n] name of implementations to generate
|
||||
luajit ./generator.lua gcc true glfw opengl3 opengl2 sdl
|
||||
:: arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation
|
||||
:: examples: "" "internal" "internal freetype"
|
||||
:: arg[3..n] name of implementations to generate and/or CFLAGS (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
|
||||
luajit ./generator.lua gcc "internal" glfw opengl3 opengl2 sdl
|
||||
|
||||
::leave console open
|
||||
cmd /k
|
||||
|
@@ -6,13 +6,30 @@ assert(_VERSION=='Lua 5.1',"Must use LuaJIT")
|
||||
assert(bit,"Must use LuaJIT")
|
||||
local script_args = {...}
|
||||
local COMPILER = script_args[1]
|
||||
local INTERNAL_GENERATION = script_args[2]=="true"
|
||||
local INTERNAL_GENERATION = script_args[2]:match("internal") and true or false
|
||||
local FREETYPE_GENERATION = script_args[2]:match("freetype") and true or false
|
||||
local CFLAGS = ""
|
||||
local CPRE,CTEST
|
||||
--get implementations
|
||||
local implementations = {}
|
||||
for i=3,#script_args do
|
||||
if script_args[i]:match(COMPILER == cl and "^/" or "^%-") then
|
||||
local key, value = script_args[i]:match("^(.+)=(.+)$")
|
||||
if key and value then
|
||||
CFLAGS = CFLAGS .. " " .. key .. "=\"" .. value:gsub("\"", "\\\"") .. "\"";
|
||||
else
|
||||
CFLAGS = CFLAGS .. " " .. script_args[i]
|
||||
end
|
||||
else
|
||||
table.insert(implementations,script_args[i])
|
||||
end
|
||||
end
|
||||
|
||||
if COMPILER == "gcc" or COMPILER == "clang" then
|
||||
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]]
|
||||
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] .. CFLAGS
|
||||
CTEST = COMPILER.." --version"
|
||||
elseif COMPILER == "cl" then
|
||||
CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_API="" /DIMGUI_IMPL_API="" ]]
|
||||
CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_API="" /DIMGUI_IMPL_API="" ]] .. CFLAGS
|
||||
CTEST = COMPILER
|
||||
else
|
||||
print("Working without compiler ")
|
||||
@@ -40,10 +57,7 @@ assert(HAVE_COMPILER,"gcc, clang or cl needed to run script")
|
||||
|
||||
print("HAVE_COMPILER",HAVE_COMPILER)
|
||||
print("INTERNAL_GENERATION",INTERNAL_GENERATION)
|
||||
--get implementations
|
||||
local implementations = {}
|
||||
for i=3,#script_args do table.insert(implementations,script_args[i]) end
|
||||
|
||||
print("FREETYPE_GENERATION",FREETYPE_GENERATION)
|
||||
--------------------------------------------------------------------------
|
||||
--this table has the functions to be skipped in generation
|
||||
--------------------------------------------------------------------------
|
||||
@@ -115,164 +129,24 @@ local function func_header_impl_generate(FP)
|
||||
cfuncsstr = cfuncsstr:gsub("\n+","\n") --several empty lines to one empty line
|
||||
return cfuncsstr
|
||||
end
|
||||
local function func_header_generate(FP)
|
||||
|
||||
local outtab = {}
|
||||
table.insert(outtab,"#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n")
|
||||
for k,v in pairs(FP.embeded_structs) do
|
||||
table.insert(outtab,"typedef "..v.." "..k..";\n")
|
||||
end
|
||||
local func_header_generate = cpp2ffi.func_header_generate
|
||||
local func_implementation = cpp2ffi.func_implementation
|
||||
|
||||
for ttype,v in pairs(FP.templates) do
|
||||
for ttypein,_ in pairs(v) do
|
||||
local te = ttypein:gsub("%s","_")
|
||||
te = te:gsub("%*","Ptr")
|
||||
table.insert(outtab,"typedef "..ttype.."<"..ttypein.."> "..ttype.."_"..te..";\n")
|
||||
end
|
||||
end
|
||||
|
||||
table.insert(outtab,"#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS\n")
|
||||
for _,t in ipairs(FP.funcdefs) do
|
||||
|
||||
if t.cimguiname then
|
||||
local cimf = FP.defsT[t.cimguiname]
|
||||
local def = cimf[t.signature]
|
||||
assert(def,t.signature..t.cimguiname)
|
||||
local manual = FP.get_manuals(def)
|
||||
if not manual and not def.templated then
|
||||
|
||||
local addcoment = def.comment or ""
|
||||
local empty = def.args:match("^%(%)") --no args
|
||||
if def.constructor then
|
||||
assert(def.stname ~= "","constructor without struct")
|
||||
table.insert(outtab,"CIMGUI_API "..def.stname.."* "..def.ov_cimguiname ..(empty and "(void)" or def.args)..";"..addcoment.."\n")
|
||||
elseif def.destructor then
|
||||
table.insert(outtab,"CIMGUI_API void "..def.ov_cimguiname..def.args..";"..addcoment.."\n")
|
||||
else --not constructor
|
||||
|
||||
if def.stname == "" then --ImGui namespace or top level
|
||||
table.insert(outtab,"CIMGUI_API "..def.ret.." ".. def.ov_cimguiname ..(empty and "(void)" or def.args)..";"..addcoment.."\n")
|
||||
else
|
||||
table.insert(outtab,"CIMGUI_API "..def.ret.." "..def.ov_cimguiname..def.args..";"..addcoment.."\n")
|
||||
end
|
||||
end
|
||||
end
|
||||
else --not cimguiname
|
||||
table.insert(outtab,t.comment:gsub("%%","%%%%").."\n")-- %% substitution for gsub
|
||||
end
|
||||
end
|
||||
|
||||
local cfuncsstr = table.concat(outtab)
|
||||
cfuncsstr = cfuncsstr:gsub("\n+","\n") --several empty lines to one empty line
|
||||
return cfuncsstr
|
||||
end
|
||||
|
||||
|
||||
local function ImGui_f_implementation(outtab,def)
|
||||
local ptret = def.retref and "&" or ""
|
||||
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname..def.args.."\n")
|
||||
table.insert(outtab,"{\n")
|
||||
local namespace = def.namespace and def.namespace.."::" or ""
|
||||
if def.isvararg then
|
||||
local call_args = def.call_args:gsub("%.%.%.","args")
|
||||
table.insert(outtab," va_list args;\n")
|
||||
table.insert(outtab," va_start(args, fmt);\n")
|
||||
if def.ret~="void" then
|
||||
table.insert(outtab," "..def.ret.." ret = "..namespace..def.funcname.."V"..call_args..";\n")
|
||||
else
|
||||
table.insert(outtab," "..namespace..def.funcname.."V"..call_args..";\n")
|
||||
end
|
||||
table.insert(outtab," va_end(args);\n")
|
||||
if def.ret~="void" then
|
||||
table.insert(outtab," return ret;\n")
|
||||
end
|
||||
elseif def.nonUDT then
|
||||
if def.nonUDT == 1 then
|
||||
table.insert(outtab," *pOut = "..namespace..def.funcname..def.call_args..";\n")
|
||||
end
|
||||
else --standard ImGui
|
||||
table.insert(outtab," return "..ptret..namespace..def.funcname..def.call_args..";\n")
|
||||
end
|
||||
table.insert(outtab,"}\n")
|
||||
end
|
||||
local function struct_f_implementation(outtab,def)
|
||||
local empty = def.args:match("^%(%)") --no args
|
||||
local ptret = def.retref and "&" or ""
|
||||
|
||||
local imgui_stname = def.stname
|
||||
|
||||
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname..def.args.."\n")
|
||||
table.insert(outtab,"{\n")
|
||||
if def.isvararg then
|
||||
local call_args = def.call_args:gsub("%.%.%.","args")
|
||||
table.insert(outtab," va_list args;\n")
|
||||
table.insert(outtab," va_start(args, fmt);\n")
|
||||
if def.ret~="void" then
|
||||
table.insert(outtab," "..def.ret.." ret = self->"..def.funcname.."V"..call_args..";\n")
|
||||
else
|
||||
table.insert(outtab," self->"..def.funcname.."V"..call_args..";\n")
|
||||
end
|
||||
table.insert(outtab," va_end(args);\n")
|
||||
if def.ret~="void" then
|
||||
table.insert(outtab," return ret;\n")
|
||||
end
|
||||
elseif def.nonUDT then
|
||||
if def.nonUDT == 1 then
|
||||
table.insert(outtab," *pOut = self->"..def.funcname..def.call_args..";\n")
|
||||
end
|
||||
else --standard struct
|
||||
table.insert(outtab," return "..ptret.."self->"..def.funcname..def.call_args..";\n")
|
||||
end
|
||||
table.insert(outtab,"}\n")
|
||||
end
|
||||
local function func_implementation(FP)
|
||||
|
||||
local outtab = {}
|
||||
for _,t in ipairs(FP.funcdefs) do
|
||||
repeat -- continue simulation
|
||||
if not t.cimguiname then break end
|
||||
local cimf = FP.defsT[t.cimguiname]
|
||||
local def = cimf[t.signature]
|
||||
assert(def)
|
||||
local manual = FP.get_manuals(def)
|
||||
if not manual and not def.templated then
|
||||
if def.constructor then
|
||||
assert(def.stname ~= "","constructor without struct")
|
||||
local empty = def.args:match("^%(%)") --no args
|
||||
table.insert(outtab,"CIMGUI_API "..def.stname.."* "..def.ov_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")
|
||||
elseif def.destructor then
|
||||
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")
|
||||
elseif def.stname == "" then
|
||||
ImGui_f_implementation(outtab,def)
|
||||
else -- stname
|
||||
struct_f_implementation(outtab,def)
|
||||
end
|
||||
end
|
||||
until true
|
||||
end
|
||||
return table.concat(outtab)
|
||||
end
|
||||
-------------------functions for getting and setting defines
|
||||
local function get_defines(t)
|
||||
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")
|
||||
print(COMPILER..[[ -E -dM -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ../imgui/imgui.h]] .. CFLAGS)
|
||||
local pipe,err = io.popen(COMPILER..[[ -E -dM -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ../imgui/imgui.h]] .. CFLAGS,"r")
|
||||
local defines = {}
|
||||
while true do
|
||||
local line = pipe:read"*l"
|
||||
if not line then break end
|
||||
local key,value = line:match([[#define%s+(%S+)%s+(.+)]])
|
||||
if not key or not value then
|
||||
local key,value = line:match([[#define%s+(%S+)%s*(.*)]])
|
||||
if not key then --or not value then
|
||||
--print(line)
|
||||
else
|
||||
defines[key]=value
|
||||
defines[key]=value or ""
|
||||
end
|
||||
end
|
||||
pipe:close()
|
||||
@@ -294,13 +168,16 @@ local function get_defines(t)
|
||||
end
|
||||
return ret
|
||||
end
|
||||
--subtitution of FLT_MAX value for FLT_MAX
|
||||
--subtitution of FLT_MAX value for FLT_MAX or FLT_MIN
|
||||
local function set_defines(fdefs)
|
||||
local FLT_MINpat = gdefines.FLT_MIN:gsub("([%.%-])","%%%1")
|
||||
for k,defT in pairs(fdefs) do
|
||||
for i,def in ipairs(defT) do
|
||||
for name,default in pairs(def.defaults) do
|
||||
if default == gdefines.FLT_MAX then
|
||||
def.defaults[name] = "FLT_MAX"
|
||||
elseif default:match(FLT_MINpat) then
|
||||
def.defaults[name] = default:gsub(FLT_MINpat,"FLT_MIN")
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -317,32 +194,81 @@ local function DefsByStruct(FP)
|
||||
FP.defsBystruct = structs
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
----------custom ImVector templates
|
||||
local function generate_templates(code,codeimpool,templates)
|
||||
table.insert(code,"\n"..[[typedef struct ImVector{int Size;int Capacity;void* Data;} ImVector;]].."\n")
|
||||
for ttype,v in pairs(templates) do
|
||||
--local te = k:gsub("%s","_")
|
||||
--te = te:gsub("%*","Ptr")
|
||||
if ttype == "ImVector" then
|
||||
for te,newte in pairs(v) do
|
||||
table.insert(code,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n")
|
||||
-- function for repairing funcdefs default values
|
||||
local function repair_defaults(defsT,str_and_enu)
|
||||
local function deleteOuterPars(def)
|
||||
local w = def:match("^%b()$")
|
||||
if w then
|
||||
w = w:gsub("^%((.+)%)$","%1")
|
||||
return w
|
||||
else
|
||||
return def
|
||||
end
|
||||
end
|
||||
local function CleanImU32(def)
|
||||
def = def:gsub("%(ImU32%)","")
|
||||
--quitar () de numeros
|
||||
def = def:gsub("%((%d+)%)","%1")
|
||||
def = deleteOuterPars(def)
|
||||
local bb=cpp2ffi.strsplit(def,"|")
|
||||
for i=1,#bb do
|
||||
local val = deleteOuterPars(bb[i])
|
||||
if val:match"<<" then
|
||||
local v1,v2 = val:match("(%d+)%s*<<%s*(%d+)")
|
||||
val = v1*2^v2
|
||||
bb[i] = val
|
||||
end
|
||||
elseif ttype == "ImPool" then
|
||||
--declare ImGuiStorage
|
||||
for te,newte in pairs(v) do
|
||||
table.insert(codeimpool,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n")
|
||||
table.insert(codeimpool,"typedef struct ImPool_"..newte.." {ImVector_"..te.." Buf;ImGuiStorage Map;ImPoolIdx FreeIdx;} ImPool_"..newte..";\n")
|
||||
end
|
||||
elseif ttype == "ImChunkStream" then
|
||||
for te,newte in pairs(v) do
|
||||
table.insert(code,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n")
|
||||
table.insert(code,"typedef struct ImChunkStream_"..newte.." {ImVector_"..te.." Buf;} ImChunkStream_"..newte..";\n")
|
||||
assert(type(bb[i])=="number")
|
||||
end
|
||||
local res = 0
|
||||
for i=1,#bb do res = res + bb[i] end
|
||||
return res
|
||||
end
|
||||
for k,defT in pairs(defsT) do
|
||||
for i,def in ipairs(defT) do
|
||||
for k,v in pairs(def.defaults) do
|
||||
--do only if not a c string
|
||||
local is_cstring = v:sub(1,1)=='"' and v:sub(-1,-1) =='"'
|
||||
if not is_cstring then
|
||||
def.defaults[k] = def.defaults[k]:gsub("%(%(void%s*%*%)0%)","NULL")
|
||||
if def.defaults[k]:match"%(ImU32%)" then
|
||||
def.defaults[k] = tostring(CleanImU32(def.defaults[k]))
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
----------custom ImVector templates
|
||||
local table_do_sorted = cpp2ffi.table_do_sorted
|
||||
local function generate_templates(code,codeimpool,templates)
|
||||
table.insert(code,"\n"..[[typedef struct ImVector{int Size;int Capacity;void* Data;} ImVector;]].."\n")
|
||||
table_do_sorted(templates , function (ttype, v)
|
||||
if ttype == "ImVector" then
|
||||
table_do_sorted(v, function(te,newte)
|
||||
table.insert(code,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n")
|
||||
end)
|
||||
elseif ttype == "ImPool" then
|
||||
--declare ImGuiStorage
|
||||
table_do_sorted(v, function(te, newte)
|
||||
table.insert(codeimpool,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n")
|
||||
table.insert(codeimpool,"typedef struct ImPool_"..newte.." {ImVector_"..te.." Buf;ImGuiStorage Map;ImPoolIdx FreeIdx;} ImPool_"..newte..";\n")
|
||||
end)
|
||||
elseif ttype == "ImChunkStream" then
|
||||
table_do_sorted(v, function(te,newte)
|
||||
table.insert(code,"typedef struct ImVector_"..newte.." {int Size;int Capacity;"..te.."* Data;} ImVector_"..newte..";\n")
|
||||
table.insert(code,"typedef struct ImChunkStream_"..newte.." {ImVector_"..te.." Buf;} ImChunkStream_"..newte..";\n")
|
||||
end)
|
||||
elseif ttype == "ImSpan" then
|
||||
table_do_sorted(v, function(te,newte)
|
||||
table.insert(code,"typedef struct ImSpan_"..newte.." {"..te.."* Data;" ..te.."* DataEnd;} ImSpan_"..newte..";\n")
|
||||
end)
|
||||
else
|
||||
print("generate_templates ttype not done",ttype)
|
||||
error"generate templates"
|
||||
end
|
||||
end)
|
||||
end
|
||||
--generate cimgui.cpp cimgui.h
|
||||
local function cimgui_generation(parser)
|
||||
@@ -370,8 +296,7 @@ local function cimgui_generation(parser)
|
||||
--------------------------------------------------
|
||||
local hstrfile = read_data"./cimgui_template.h"
|
||||
|
||||
local outpre,outpost = parser:gen_structs_and_enums()
|
||||
parser.templates.ImVector.T = nil
|
||||
local outpre,outpost = parser.structs_and_enums[1],parser.structs_and_enums[2]
|
||||
cpp2ffi.prtable(parser.templates)
|
||||
cpp2ffi.prtable(parser.typenames)
|
||||
|
||||
@@ -384,7 +309,14 @@ local function cimgui_generation(parser)
|
||||
outpost = outpost1..table.concat(outtabpool)..outpost2
|
||||
|
||||
local cstructsstr = outpre..table.concat(outtab,"")..outpost --..(extra or "")
|
||||
|
||||
|
||||
if gdefines.IMGUI_HAS_DOCK then
|
||||
cstructsstr = cstructsstr.."\n#define IMGUI_HAS_DOCK 1\n"
|
||||
end
|
||||
if gdefines.IMGUI_HAS_IMSTR then
|
||||
cstructsstr = cstructsstr.."\n#define IMGUI_HAS_IMSTR 1\n"
|
||||
end
|
||||
|
||||
hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr)
|
||||
local cfuncsstr = func_header_generate(parser)
|
||||
hstrfile = hstrfile:gsub([[#include "auto_funcs%.h"]],cfuncsstr)
|
||||
@@ -402,46 +334,58 @@ end
|
||||
--------------------------------------------------------
|
||||
-----------------------------do it----------------------
|
||||
--------------------------------------------------------
|
||||
--get imgui.h version--------------------------
|
||||
--get imgui.h version and IMGUI_HAS_DOCK--------------------------
|
||||
--get some defines wont work for cl ----------------
|
||||
gdefines = get_defines{"IMGUI_VERSION","FLT_MAX","FLT_MIN","IMGUI_HAS_DOCK","IMGUI_HAS_IMSTR"}
|
||||
--this will work for cl
|
||||
local pipe,err = io.open("../imgui/imgui.h","r")
|
||||
if not pipe then
|
||||
error("could not open file:"..err)
|
||||
end
|
||||
local imgui_version
|
||||
local imgui_version,has_dock,has_imstr
|
||||
while true do
|
||||
local line = pipe:read"*l"
|
||||
imgui_version = line:match([[#define%s+IMGUI_VERSION%s+(".+")]])
|
||||
if imgui_version then break end
|
||||
if not line then break end
|
||||
if not imgui_version then
|
||||
imgui_version = line:match([[#define%s+IMGUI_VERSION%s+(".+")]])
|
||||
end
|
||||
if not has_dock then
|
||||
has_dock = line:match([[#define%s+IMGUI_HAS_DOCK]])--%s*(".+")]])
|
||||
end
|
||||
if not has_imstr then
|
||||
has_imstr = line:match([[#define%s+IMGUI_HAS_IMSTR]])--%s*(".+")]])
|
||||
end
|
||||
if imgui_version and has_dock and has_imstr then break end
|
||||
end
|
||||
pipe:close()
|
||||
|
||||
if has_dock then gdefines.IMGUI_HAS_DOCK = true end
|
||||
if has_imstr then gdefines.IMGUI_HAS_IMSTR = true end
|
||||
|
||||
cimgui_header = cimgui_header:gsub("XXX",imgui_version)
|
||||
if INTERNAL_GENERATION then
|
||||
cimgui_header = cimgui_header..[[//with imgui_internal.h api
|
||||
]]
|
||||
end
|
||||
if FREETYPE_GENERATION then
|
||||
cimgui_header = cimgui_header..[[//with imgui_freetype.h api
|
||||
]]
|
||||
end
|
||||
if gdefines.IMGUI_HAS_DOCK then
|
||||
cimgui_header = cimgui_header..[[//docking branch
|
||||
]]
|
||||
|
||||
end
|
||||
print("IMGUI_HAS_IMSTR",gdefines.IMGUI_HAS_IMSTR)
|
||||
print("IMGUI_HAS_DOCK",gdefines.IMGUI_HAS_DOCK)
|
||||
print("IMGUI_VERSION",imgui_version)
|
||||
--get some defines----------------------------
|
||||
gdefines = get_defines{"IMGUI_VERSION","FLT_MAX"}
|
||||
|
||||
|
||||
|
||||
--funtion for parsing imgui headers
|
||||
local function parseImGuiHeader(header,names)
|
||||
--prepare parser
|
||||
local parser = cpp2ffi.Parser()
|
||||
|
||||
parser.separate_locations = function(self,cdefs)
|
||||
local imguicdefs = {}
|
||||
local othercdefs = {}
|
||||
for i,cdef in ipairs(cdefs) do
|
||||
if cdef[2]=="imgui" then
|
||||
table.insert(imguicdefs,cdef[1])
|
||||
else
|
||||
table.insert(othercdefs,cdef[1])
|
||||
end
|
||||
end
|
||||
return {{"imgui",imguicdefs},{"internal",othercdefs}}
|
||||
end
|
||||
|
||||
parser.getCname = function(stname,funcname,namespace)
|
||||
local pre = (stname == "") and (namespace and (namespace=="ImGui" and "ig" or namespace.."_") or "ig") or stname.."_"
|
||||
return pre..funcname
|
||||
@@ -450,61 +394,49 @@ local function parseImGuiHeader(header,names)
|
||||
parser.manuals = cimgui_manuals
|
||||
parser.UDTs = {"ImVec2","ImVec4","ImColor","ImRect"}
|
||||
|
||||
local pipe,err = io.popen(CPRE..header,"r")
|
||||
local defines = parser:take_lines(CPRE..header,names,COMPILER)
|
||||
|
||||
if not pipe then
|
||||
error("could not execute COMPILER "..err)
|
||||
end
|
||||
|
||||
local iterator = cpp2ffi.location
|
||||
|
||||
--[[
|
||||
local tableo = {}
|
||||
local line
|
||||
repeat
|
||||
line =pipe:read"*l"
|
||||
table.insert(tableo,line)
|
||||
until not line
|
||||
cpp2ffi.save_data("cdefs1.lua",table.concat(tableo,"\n"))
|
||||
--]]
|
||||
for line,loca,loca2 in iterator(pipe,names,{},COMPILER) do
|
||||
parser:insert(line, loca)
|
||||
--table.insert(tableo,line)
|
||||
--print(loca,loca2)
|
||||
end
|
||||
--cpp2ffi.save_data("cdefs1.lua",table.concat(tableo))
|
||||
pipe:close()
|
||||
return parser
|
||||
end
|
||||
--generation
|
||||
print("------------------generation with "..COMPILER.."------------------------")
|
||||
local parser1
|
||||
local headers = [[#include "../imgui/imgui.h"
|
||||
]]
|
||||
local headersT = {[[imgui]]}
|
||||
if INTERNAL_GENERATION then
|
||||
save_data("headers.h",[[#include "../imgui/imgui.h"
|
||||
#include "../imgui/imgui_internal.h"]])
|
||||
parser1 = parseImGuiHeader([[headers.h]],{[[imgui]],[[imgui_internal]],[[imstb_textedit]]})
|
||||
os.remove("headers.h")
|
||||
else
|
||||
parser1 = parseImGuiHeader([[../imgui/imgui.h]],{[[imgui]]})
|
||||
headers = headers .. [[#include "../imgui/imgui_internal.h"
|
||||
]]
|
||||
headersT[#headersT + 1] = [[imgui_internal]]
|
||||
headersT[#headersT + 1] = [[imstb_textedit]]
|
||||
end
|
||||
if FREETYPE_GENERATION then
|
||||
headers = headers .. [[
|
||||
#include "../imgui/misc/freetype/imgui_freetype.h"
|
||||
]]
|
||||
headersT[#headersT + 1] = [[imgui_freetype]]
|
||||
end
|
||||
save_data("headers.h",headers)
|
||||
local include_cmd = COMPILER=="cl" and [[ /I ]] or [[ -I ]]
|
||||
local extra_includes = include_cmd.." ../imgui "
|
||||
local parser1 = parseImGuiHeader(extra_includes .. [[headers.h]],headersT)
|
||||
os.remove("headers.h")
|
||||
parser1:do_parse()
|
||||
|
||||
save_data("./output/overloads.txt",parser1.overloadstxt)
|
||||
cimgui_generation(parser1)
|
||||
|
||||
----------save fundefs in definitions.lua for using in bindings
|
||||
--DefsByStruct(pFP)
|
||||
set_defines(parser1.defsT)
|
||||
save_data("./output/definitions.lua",serializeTableF(parser1.defsT))
|
||||
|
||||
----------save struct and enums lua table in structs_and_enums.lua for using in bindings
|
||||
|
||||
local structs_and_enums_table = parser1:gen_structs_and_enums_table()
|
||||
|
||||
-----------------------
|
||||
local structs_and_enums_table = parser1.structs_and_enums_table
|
||||
save_data("./output/structs_and_enums.lua",serializeTableF(structs_and_enums_table))
|
||||
save_data("./output/typedefs_dict.lua",serializeTableF(parser1.typedefs_dict))
|
||||
|
||||
----------save fundefs in definitions.lua for using in bindings
|
||||
--DefsByStruct(pFP)
|
||||
set_defines(parser1.defsT)
|
||||
repair_defaults(parser1.defsT, structs_and_enums_table)
|
||||
save_data("./output/definitions.lua",serializeTableF(parser1.defsT))
|
||||
|
||||
--check every function has ov_cimguiname
|
||||
-- for k,v in pairs(parser1.defsT) do
|
||||
@@ -514,7 +446,15 @@ save_data("./output/typedefs_dict.lua",serializeTableF(parser1.typedefs_dict))
|
||||
-- end
|
||||
|
||||
--=================================Now implementations
|
||||
|
||||
local backends_folder
|
||||
local ff,err = io.open ("../imgui/examples/imgui_impl_glfw.h" ,"r")
|
||||
if ff then
|
||||
backends_folder = "../imgui/examples/"
|
||||
ff:close()
|
||||
else
|
||||
backends_folder = "../imgui/backends/"
|
||||
end
|
||||
|
||||
local parser2
|
||||
|
||||
if #implementations > 0 then
|
||||
@@ -524,7 +464,7 @@ if #implementations > 0 then
|
||||
local config = require"config_generator"
|
||||
|
||||
for i,impl in ipairs(implementations) do
|
||||
local source = [[../imgui/examples/imgui_impl_]].. impl .. ".h "
|
||||
local source = backends_folder .. [[imgui_impl_]].. impl .. ".h "
|
||||
local locati = [[imgui_impl_]].. impl
|
||||
|
||||
local define_cmd = COMPILER=="cl" and [[ /E /D]] or [[ -E -D]]
|
||||
@@ -537,40 +477,16 @@ if #implementations > 0 then
|
||||
extra_includes = extra_includes .. include_cmd .. inc .. " "
|
||||
end
|
||||
end
|
||||
|
||||
local defines = parser2:take_lines(CPRE..extra_defines..extra_includes..source, {locati}, COMPILER)
|
||||
|
||||
local pipe,err = io.popen(CPRE..extra_defines..extra_includes..source,"r")
|
||||
|
||||
if not pipe then
|
||||
error("could not get file: "..err)
|
||||
end
|
||||
|
||||
local iterator = cpp2ffi.location
|
||||
|
||||
for line,locat in iterator(pipe,{locati},{},COMPILER) do
|
||||
--local line, comment = split_comment(line)
|
||||
parser2:insert(line,locat)
|
||||
end
|
||||
pipe:close()
|
||||
end
|
||||
|
||||
parser2.separate_locations = function(self, cdefs)
|
||||
local sepcdefs = {}
|
||||
for i,impl in ipairs(implementations) do
|
||||
sepcdefs[i] = {[[imgui_impl_]].. impl,{}}
|
||||
for j,cdef in ipairs(cdefs) do
|
||||
if cdef[2]==sepcdefs[i][1] then
|
||||
table.insert(sepcdefs[i][2],cdef[1])
|
||||
end
|
||||
end
|
||||
end
|
||||
return sepcdefs
|
||||
end
|
||||
|
||||
parser2:do_parse()
|
||||
|
||||
-- save ./cimgui_impl.h
|
||||
local cfuncsstr = func_header_impl_generate(parser2)
|
||||
local cstructstr1,cstructstr2 = parser2:gen_structs_and_enums()
|
||||
local cstructstr1,cstructstr2 = parser2.structs_and_enums[1], parser2.structs_and_enums[2]
|
||||
save_data("./output/cimgui_impl.h",cstructstr1,cstructstr2,cfuncsstr)
|
||||
|
||||
----------save fundefs in impl_definitions.lua for using in bindings
|
||||
@@ -593,14 +509,16 @@ local function json_prepare(defs)
|
||||
end
|
||||
---[[
|
||||
local json = require"json"
|
||||
save_data("./output/definitions.json",json.encode(json_prepare(parser1.defsT)))
|
||||
save_data("./output/definitions.json",json.encode(json_prepare(parser1.defsT),{dict_on_empty={defaults=true}}))
|
||||
save_data("./output/structs_and_enums.json",json.encode(structs_and_enums_table))
|
||||
save_data("./output/typedefs_dict.json",json.encode(parser1.typedefs_dict))
|
||||
if parser2 then
|
||||
save_data("./output/impl_definitions.json",json.encode(json_prepare(parser2.defsT)))
|
||||
save_data("./output/impl_definitions.json",json.encode(json_prepare(parser2.defsT),{dict_on_empty={defaults=true}}))
|
||||
end
|
||||
--]]
|
||||
-------------------copy C files to repo root
|
||||
copyfile("./output/cimgui.h", "../cimgui.h")
|
||||
copyfile("./output/cimgui.cpp", "../cimgui.cpp")
|
||||
os.remove("./output/cimgui.h")
|
||||
os.remove("./output/cimgui.cpp")
|
||||
print"all done!!"
|
||||
|
@@ -13,6 +13,7 @@
|
||||
|
||||
#process files
|
||||
# arg[1] compiler name gcc, clang, or cl
|
||||
# arg[2] imgui_internal functions generation: true or false
|
||||
# arg[3..n] name of implementations to generate
|
||||
luajit ./generator.lua gcc true glfw opengl3 opengl2 sdl
|
||||
# arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation
|
||||
# examples: "" "internal" "internal freetype"
|
||||
# arg[3..n] name of implementations to generate and/or CLFLAGS (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
|
||||
luajit ./generator.lua gcc "internal" glfw opengl3 opengl2 sdl
|
||||
|
@@ -21,7 +21,10 @@
|
||||
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
-- SOFTWARE.
|
||||
--
|
||||
|
||||
--changes---------------------------------------------------------------------
|
||||
--prettify: adding carriage return, indentation, dictionaries sorted by key
|
||||
--dict_on_empty: table to json.encode to make empty table a dictionary instead of array
|
||||
------------------------------------------------------------------------------
|
||||
local json = { _version = "0.1.1" }
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
@@ -30,6 +33,7 @@ local json = { _version = "0.1.1" }
|
||||
local TAB = " "
|
||||
local rep = string.rep
|
||||
local encode
|
||||
local dict_on_empty = {}
|
||||
|
||||
local escape_char_map = {
|
||||
[ "\\" ] = "\\\\",
|
||||
@@ -90,7 +94,6 @@ local function encode_table(val, stack,level,isvalue)
|
||||
return rep(isvalue and "" or TAB,level).."[" .. inner .. "]"
|
||||
|
||||
else
|
||||
---[[
|
||||
local ordered_keys = {}
|
||||
for k,v in pairs(val) do
|
||||
table.insert(ordered_keys,k)
|
||||
@@ -99,12 +102,15 @@ local function encode_table(val, stack,level,isvalue)
|
||||
-- Treat as an object
|
||||
for _,k in ipairs(ordered_keys) do
|
||||
local v = val[k]
|
||||
--]]
|
||||
--for k, v in pairs(val) do
|
||||
|
||||
if type(k) ~= "string" then
|
||||
error("invalid table: mixed or invalid key types")
|
||||
end
|
||||
table.insert(res, encode(k, stack,level+1) .. ": " .. encode(v, stack,level+1,true))
|
||||
if type(v) == "table" and next(v) == nil and dict_on_empty[k] then
|
||||
table.insert(res, encode(k, stack,level+1) .. ": {}")
|
||||
else
|
||||
table.insert(res, encode(k, stack,level+1) .. ": " .. encode(v, stack,level+1,true))
|
||||
end
|
||||
end
|
||||
stack[val] = nil
|
||||
local inner = table.concat(res, ",\n")
|
||||
@@ -147,7 +153,8 @@ encode = function(val, stack,level,isvalue)
|
||||
end
|
||||
|
||||
|
||||
function json.encode(val)
|
||||
function json.encode(val,opts)
|
||||
dict_on_empty = opts and opts.dict_on_empty or {}
|
||||
return ( encode(val) )
|
||||
end
|
||||
|
||||
@@ -412,5 +419,4 @@ function json.decode(str)
|
||||
return res
|
||||
end
|
||||
|
||||
|
||||
return json
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,8 +1,12 @@
|
||||
typedef struct SDL_Window SDL_Window;
|
||||
typedef struct GLFWwindow GLFWwindow;
|
||||
struct GLFWwindow;struct SDL_Window;
|
||||
|
||||
struct GLFWwindow;
|
||||
|
||||
struct SDL_Window;
|
||||
typedef union SDL_Event SDL_Event;CIMGUI_API bool ImGui_ImplGlfw_InitForOpenGL(GLFWwindow* window,bool install_callbacks);
|
||||
CIMGUI_API bool ImGui_ImplGlfw_InitForVulkan(GLFWwindow* window,bool install_callbacks);
|
||||
CIMGUI_API bool ImGui_ImplGlfw_InitForOther(GLFWwindow* window,bool install_callbacks);
|
||||
CIMGUI_API void ImGui_ImplGlfw_Shutdown();
|
||||
CIMGUI_API void ImGui_ImplGlfw_NewFrame();
|
||||
CIMGUI_API void ImGui_ImplGlfw_MouseButtonCallback(GLFWwindow* window,int button,int action,int mods);
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -15,9 +15,9 @@
|
||||
"argsoriginal": "(GLFWwindow* window,unsigned int c)",
|
||||
"call_args": "(window,c)",
|
||||
"cimguiname": "ImGui_ImplGlfw_CharCallback",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_CharCallback",
|
||||
"location": "imgui_impl_glfw",
|
||||
"location": "imgui_impl_glfw:36",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_CharCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,unsigned int)",
|
||||
@@ -40,15 +40,40 @@
|
||||
"argsoriginal": "(GLFWwindow* window,bool install_callbacks)",
|
||||
"call_args": "(window,install_callbacks)",
|
||||
"cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_InitForOpenGL",
|
||||
"location": "imgui_impl_glfw",
|
||||
"location": "imgui_impl_glfw:24",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
|
||||
"ret": "bool",
|
||||
"signature": "(GLFWwindow*,bool)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_InitForOther": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,bool install_callbacks)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
},
|
||||
{
|
||||
"name": "install_callbacks",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window,bool install_callbacks)",
|
||||
"call_args": "(window,install_callbacks)",
|
||||
"cimguiname": "ImGui_ImplGlfw_InitForOther",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_InitForOther",
|
||||
"location": "imgui_impl_glfw:26",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_InitForOther",
|
||||
"ret": "bool",
|
||||
"signature": "(GLFWwindow*,bool)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_InitForVulkan": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,bool install_callbacks)",
|
||||
@@ -65,9 +90,9 @@
|
||||
"argsoriginal": "(GLFWwindow* window,bool install_callbacks)",
|
||||
"call_args": "(window,install_callbacks)",
|
||||
"cimguiname": "ImGui_ImplGlfw_InitForVulkan",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_InitForVulkan",
|
||||
"location": "imgui_impl_glfw",
|
||||
"location": "imgui_impl_glfw:25",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_InitForVulkan",
|
||||
"ret": "bool",
|
||||
"signature": "(GLFWwindow*,bool)",
|
||||
@@ -102,9 +127,9 @@
|
||||
"argsoriginal": "(GLFWwindow* window,int key,int scancode,int action,int mods)",
|
||||
"call_args": "(window,key,scancode,action,mods)",
|
||||
"cimguiname": "ImGui_ImplGlfw_KeyCallback",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_KeyCallback",
|
||||
"location": "imgui_impl_glfw",
|
||||
"location": "imgui_impl_glfw:35",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_KeyCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,int,int,int,int)",
|
||||
@@ -135,9 +160,9 @@
|
||||
"argsoriginal": "(GLFWwindow* window,int button,int action,int mods)",
|
||||
"call_args": "(window,button,action,mods)",
|
||||
"cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_MouseButtonCallback",
|
||||
"location": "imgui_impl_glfw",
|
||||
"location": "imgui_impl_glfw:33",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,int,int,int)",
|
||||
@@ -151,9 +176,9 @@
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplGlfw_NewFrame",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_NewFrame",
|
||||
"location": "imgui_impl_glfw",
|
||||
"location": "imgui_impl_glfw:28",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -180,9 +205,9 @@
|
||||
"argsoriginal": "(GLFWwindow* window,double xoffset,double yoffset)",
|
||||
"call_args": "(window,xoffset,yoffset)",
|
||||
"cimguiname": "ImGui_ImplGlfw_ScrollCallback",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_ScrollCallback",
|
||||
"location": "imgui_impl_glfw",
|
||||
"location": "imgui_impl_glfw:34",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_ScrollCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,double,double)",
|
||||
@@ -196,9 +221,9 @@
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplGlfw_Shutdown",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_Shutdown",
|
||||
"location": "imgui_impl_glfw",
|
||||
"location": "imgui_impl_glfw:27",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -212,9 +237,9 @@
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
"location": "imgui_impl_opengl2",
|
||||
"location": "imgui_impl_opengl2:30",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
@@ -228,9 +253,9 @@
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
"location": "imgui_impl_opengl2",
|
||||
"location": "imgui_impl_opengl2:28",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
@@ -244,9 +269,9 @@
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
"location": "imgui_impl_opengl2",
|
||||
"location": "imgui_impl_opengl2:31",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -260,9 +285,9 @@
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
"location": "imgui_impl_opengl2",
|
||||
"location": "imgui_impl_opengl2:29",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -276,9 +301,9 @@
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_Init",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_Init",
|
||||
"location": "imgui_impl_opengl2",
|
||||
"location": "imgui_impl_opengl2:22",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_Init",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
@@ -292,9 +317,9 @@
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_NewFrame",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_NewFrame",
|
||||
"location": "imgui_impl_opengl2",
|
||||
"location": "imgui_impl_opengl2:24",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -313,9 +338,9 @@
|
||||
"argsoriginal": "(ImDrawData* draw_data)",
|
||||
"call_args": "(draw_data)",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_RenderDrawData",
|
||||
"location": "imgui_impl_opengl2",
|
||||
"location": "imgui_impl_opengl2:25",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
|
||||
"ret": "void",
|
||||
"signature": "(ImDrawData*)",
|
||||
@@ -329,9 +354,9 @@
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_Shutdown",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_Shutdown",
|
||||
"location": "imgui_impl_opengl2",
|
||||
"location": "imgui_impl_opengl2:23",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -345,9 +370,9 @@
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
"location": "imgui_impl_opengl3",
|
||||
"location": "imgui_impl_opengl3:36",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
@@ -361,9 +386,9 @@
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
"location": "imgui_impl_opengl3",
|
||||
"location": "imgui_impl_opengl3:34",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
@@ -377,9 +402,9 @@
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
"location": "imgui_impl_opengl3",
|
||||
"location": "imgui_impl_opengl3:37",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -393,9 +418,9 @@
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
"location": "imgui_impl_opengl3",
|
||||
"location": "imgui_impl_opengl3:35",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -418,7 +443,7 @@
|
||||
"glsl_version": "((void*)0)"
|
||||
},
|
||||
"funcname": "ImGui_ImplOpenGL3_Init",
|
||||
"location": "imgui_impl_opengl3",
|
||||
"location": "imgui_impl_opengl3:28",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_Init",
|
||||
"ret": "bool",
|
||||
"signature": "(const char*)",
|
||||
@@ -432,9 +457,9 @@
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_NewFrame",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_NewFrame",
|
||||
"location": "imgui_impl_opengl3",
|
||||
"location": "imgui_impl_opengl3:30",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -453,9 +478,9 @@
|
||||
"argsoriginal": "(ImDrawData* draw_data)",
|
||||
"call_args": "(draw_data)",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_RenderDrawData",
|
||||
"location": "imgui_impl_opengl3",
|
||||
"location": "imgui_impl_opengl3:31",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
|
||||
"ret": "void",
|
||||
"signature": "(ImDrawData*)",
|
||||
@@ -469,9 +494,9 @@
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_Shutdown",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_Shutdown",
|
||||
"location": "imgui_impl_opengl3",
|
||||
"location": "imgui_impl_opengl3:29",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
@@ -490,9 +515,9 @@
|
||||
"argsoriginal": "(SDL_Window* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplSDL2_InitForD3D",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_InitForD3D",
|
||||
"location": "imgui_impl_sdl",
|
||||
"location": "imgui_impl_sdl:25",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForD3D",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*)",
|
||||
@@ -511,9 +536,9 @@
|
||||
"argsoriginal": "(SDL_Window* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplSDL2_InitForMetal",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_InitForMetal",
|
||||
"location": "imgui_impl_sdl",
|
||||
"location": "imgui_impl_sdl:26",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForMetal",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*)",
|
||||
@@ -536,9 +561,9 @@
|
||||
"argsoriginal": "(SDL_Window* window,void* sdl_gl_context)",
|
||||
"call_args": "(window,sdl_gl_context)",
|
||||
"cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_InitForOpenGL",
|
||||
"location": "imgui_impl_sdl",
|
||||
"location": "imgui_impl_sdl:23",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*,void*)",
|
||||
@@ -557,9 +582,9 @@
|
||||
"argsoriginal": "(SDL_Window* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplSDL2_InitForVulkan",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_InitForVulkan",
|
||||
"location": "imgui_impl_sdl",
|
||||
"location": "imgui_impl_sdl:24",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForVulkan",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*)",
|
||||
@@ -578,9 +603,9 @@
|
||||
"argsoriginal": "(SDL_Window* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplSDL2_NewFrame",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_NewFrame",
|
||||
"location": "imgui_impl_sdl",
|
||||
"location": "imgui_impl_sdl:28",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "(SDL_Window*)",
|
||||
@@ -599,9 +624,9 @@
|
||||
"argsoriginal": "(const SDL_Event* event)",
|
||||
"call_args": "(event)",
|
||||
"cimguiname": "ImGui_ImplSDL2_ProcessEvent",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_ProcessEvent",
|
||||
"location": "imgui_impl_sdl",
|
||||
"location": "imgui_impl_sdl:29",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_ProcessEvent",
|
||||
"ret": "bool",
|
||||
"signature": "(const SDL_Event*)",
|
||||
@@ -615,9 +640,9 @@
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplSDL2_Shutdown",
|
||||
"defaults": [],
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_Shutdown",
|
||||
"location": "imgui_impl_sdl",
|
||||
"location": "imgui_impl_sdl:27",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
|
@@ -14,7 +14,7 @@ defs["ImGui_ImplGlfw_CharCallback"][1]["call_args"] = "(window,c)"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_CharCallback"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["funcname"] = "ImGui_ImplGlfw_CharCallback"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["location"] = "imgui_impl_glfw"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["location"] = "imgui_impl_glfw:36"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_CharCallback"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["signature"] = "(GLFWwindow*,unsigned int)"
|
||||
@@ -35,12 +35,33 @@ defs["ImGui_ImplGlfw_InitForOpenGL"][1]["call_args"] = "(window,install_callback
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["cimguiname"] = "ImGui_ImplGlfw_InitForOpenGL"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["funcname"] = "ImGui_ImplGlfw_InitForOpenGL"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["location"] = "imgui_impl_glfw"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["location"] = "imgui_impl_glfw:24"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForOpenGL"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["signature"] = "(GLFWwindow*,bool)"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"]["(GLFWwindow*,bool)"] = defs["ImGui_ImplGlfw_InitForOpenGL"][1]
|
||||
defs["ImGui_ImplGlfw_InitForOther"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["args"] = "(GLFWwindow* window,bool install_callbacks)"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][2]["name"] = "install_callbacks"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][2]["type"] = "bool"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["argsoriginal"] = "(GLFWwindow* window,bool install_callbacks)"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["call_args"] = "(window,install_callbacks)"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["cimguiname"] = "ImGui_ImplGlfw_InitForOther"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["funcname"] = "ImGui_ImplGlfw_InitForOther"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["location"] = "imgui_impl_glfw:26"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForOther"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["signature"] = "(GLFWwindow*,bool)"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_InitForOther"]["(GLFWwindow*,bool)"] = defs["ImGui_ImplGlfw_InitForOther"][1]
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1] = {}
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["args"] = "(GLFWwindow* window,bool install_callbacks)"
|
||||
@@ -56,7 +77,7 @@ defs["ImGui_ImplGlfw_InitForVulkan"][1]["call_args"] = "(window,install_callback
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["cimguiname"] = "ImGui_ImplGlfw_InitForVulkan"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["funcname"] = "ImGui_ImplGlfw_InitForVulkan"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["location"] = "imgui_impl_glfw"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["location"] = "imgui_impl_glfw:25"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForVulkan"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["signature"] = "(GLFWwindow*,bool)"
|
||||
@@ -86,7 +107,7 @@ defs["ImGui_ImplGlfw_KeyCallback"][1]["call_args"] = "(window,key,scancode,actio
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_KeyCallback"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["funcname"] = "ImGui_ImplGlfw_KeyCallback"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["location"] = "imgui_impl_glfw"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["location"] = "imgui_impl_glfw:35"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_KeyCallback"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["signature"] = "(GLFWwindow*,int,int,int,int)"
|
||||
@@ -113,7 +134,7 @@ defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["call_args"] = "(window,button,act
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["funcname"] = "ImGui_ImplGlfw_MouseButtonCallback"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["location"] = "imgui_impl_glfw"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["location"] = "imgui_impl_glfw:33"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["signature"] = "(GLFWwindow*,int,int,int)"
|
||||
@@ -128,7 +149,7 @@ defs["ImGui_ImplGlfw_NewFrame"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["cimguiname"] = "ImGui_ImplGlfw_NewFrame"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["funcname"] = "ImGui_ImplGlfw_NewFrame"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["location"] = "imgui_impl_glfw"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["location"] = "imgui_impl_glfw:28"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_NewFrame"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["signature"] = "()"
|
||||
@@ -152,7 +173,7 @@ defs["ImGui_ImplGlfw_ScrollCallback"][1]["call_args"] = "(window,xoffset,yoffset
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_ScrollCallback"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["funcname"] = "ImGui_ImplGlfw_ScrollCallback"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["location"] = "imgui_impl_glfw"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["location"] = "imgui_impl_glfw:34"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_ScrollCallback"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["signature"] = "(GLFWwindow*,double,double)"
|
||||
@@ -167,7 +188,7 @@ defs["ImGui_ImplGlfw_Shutdown"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["cimguiname"] = "ImGui_ImplGlfw_Shutdown"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["funcname"] = "ImGui_ImplGlfw_Shutdown"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["location"] = "imgui_impl_glfw"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["location"] = "imgui_impl_glfw:27"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_Shutdown"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["signature"] = "()"
|
||||
@@ -182,7 +203,7 @@ defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl2"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl2:30"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["signature"] = "()"
|
||||
@@ -197,7 +218,7 @@ defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl2"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl2:28"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["signature"] = "()"
|
||||
@@ -212,7 +233,7 @@ defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl2"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl2:31"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["signature"] = "()"
|
||||
@@ -227,7 +248,7 @@ defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl2"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl2:29"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["signature"] = "()"
|
||||
@@ -242,7 +263,7 @@ defs["ImGui_ImplOpenGL2_Init"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["cimguiname"] = "ImGui_ImplOpenGL2_Init"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["funcname"] = "ImGui_ImplOpenGL2_Init"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["location"] = "imgui_impl_opengl2"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["location"] = "imgui_impl_opengl2:22"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Init"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["signature"] = "()"
|
||||
@@ -257,7 +278,7 @@ defs["ImGui_ImplOpenGL2_NewFrame"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplOpenGL2_NewFrame"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["funcname"] = "ImGui_ImplOpenGL2_NewFrame"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["location"] = "imgui_impl_opengl2"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["location"] = "imgui_impl_opengl2:24"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_NewFrame"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["signature"] = "()"
|
||||
@@ -275,7 +296,7 @@ defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["call_args"] = "(draw_data)"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["cimguiname"] = "ImGui_ImplOpenGL2_RenderDrawData"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["funcname"] = "ImGui_ImplOpenGL2_RenderDrawData"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["location"] = "imgui_impl_opengl2"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["location"] = "imgui_impl_opengl2:25"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_RenderDrawData"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
|
||||
@@ -290,7 +311,7 @@ defs["ImGui_ImplOpenGL2_Shutdown"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplOpenGL2_Shutdown"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["funcname"] = "ImGui_ImplOpenGL2_Shutdown"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["location"] = "imgui_impl_opengl2"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["location"] = "imgui_impl_opengl2:23"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Shutdown"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["signature"] = "()"
|
||||
@@ -305,7 +326,7 @@ defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl3"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl3:36"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["signature"] = "()"
|
||||
@@ -320,7 +341,7 @@ defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl3"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl3:34"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["signature"] = "()"
|
||||
@@ -335,7 +356,7 @@ defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl3"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl3:37"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["signature"] = "()"
|
||||
@@ -350,7 +371,7 @@ defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl3"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl3:35"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["signature"] = "()"
|
||||
@@ -369,7 +390,7 @@ defs["ImGui_ImplOpenGL3_Init"][1]["cimguiname"] = "ImGui_ImplOpenGL3_Init"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"]["glsl_version"] = "((void*)0)"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["funcname"] = "ImGui_ImplOpenGL3_Init"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["location"] = "imgui_impl_opengl3"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["location"] = "imgui_impl_opengl3:28"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_Init"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["signature"] = "(const char*)"
|
||||
@@ -384,7 +405,7 @@ defs["ImGui_ImplOpenGL3_NewFrame"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["cimguiname"] = "ImGui_ImplOpenGL3_NewFrame"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["funcname"] = "ImGui_ImplOpenGL3_NewFrame"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["location"] = "imgui_impl_opengl3"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["location"] = "imgui_impl_opengl3:30"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_NewFrame"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["signature"] = "()"
|
||||
@@ -402,7 +423,7 @@ defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["call_args"] = "(draw_data)"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["cimguiname"] = "ImGui_ImplOpenGL3_RenderDrawData"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["funcname"] = "ImGui_ImplOpenGL3_RenderDrawData"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["location"] = "imgui_impl_opengl3"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["location"] = "imgui_impl_opengl3:31"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_RenderDrawData"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
|
||||
@@ -417,7 +438,7 @@ defs["ImGui_ImplOpenGL3_Shutdown"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["cimguiname"] = "ImGui_ImplOpenGL3_Shutdown"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["funcname"] = "ImGui_ImplOpenGL3_Shutdown"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["location"] = "imgui_impl_opengl3"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["location"] = "imgui_impl_opengl3:29"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_Shutdown"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["signature"] = "()"
|
||||
@@ -435,7 +456,7 @@ defs["ImGui_ImplSDL2_InitForD3D"][1]["call_args"] = "(window)"
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForD3D"
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["funcname"] = "ImGui_ImplSDL2_InitForD3D"
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["location"] = "imgui_impl_sdl"
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["location"] = "imgui_impl_sdl:25"
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForD3D"
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["signature"] = "(SDL_Window*)"
|
||||
@@ -453,7 +474,7 @@ defs["ImGui_ImplSDL2_InitForMetal"][1]["call_args"] = "(window)"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForMetal"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["funcname"] = "ImGui_ImplSDL2_InitForMetal"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["location"] = "imgui_impl_sdl"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["location"] = "imgui_impl_sdl:26"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForMetal"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["signature"] = "(SDL_Window*)"
|
||||
@@ -474,7 +495,7 @@ defs["ImGui_ImplSDL2_InitForOpenGL"][1]["call_args"] = "(window,sdl_gl_context)"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["funcname"] = "ImGui_ImplSDL2_InitForOpenGL"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["location"] = "imgui_impl_sdl"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["location"] = "imgui_impl_sdl:23"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["signature"] = "(SDL_Window*,void*)"
|
||||
@@ -492,7 +513,7 @@ defs["ImGui_ImplSDL2_InitForVulkan"][1]["call_args"] = "(window)"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForVulkan"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["funcname"] = "ImGui_ImplSDL2_InitForVulkan"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["location"] = "imgui_impl_sdl"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["location"] = "imgui_impl_sdl:24"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForVulkan"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["signature"] = "(SDL_Window*)"
|
||||
@@ -510,7 +531,7 @@ defs["ImGui_ImplSDL2_NewFrame"][1]["call_args"] = "(window)"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplSDL2_NewFrame"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["funcname"] = "ImGui_ImplSDL2_NewFrame"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["location"] = "imgui_impl_sdl"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["location"] = "imgui_impl_sdl:28"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_NewFrame"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["signature"] = "(SDL_Window*)"
|
||||
@@ -528,7 +549,7 @@ defs["ImGui_ImplSDL2_ProcessEvent"][1]["call_args"] = "(event)"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["funcname"] = "ImGui_ImplSDL2_ProcessEvent"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["location"] = "imgui_impl_sdl"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["location"] = "imgui_impl_sdl:29"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["signature"] = "(const SDL_Event*)"
|
||||
@@ -543,7 +564,7 @@ defs["ImGui_ImplSDL2_Shutdown"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplSDL2_Shutdown"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["funcname"] = "ImGui_ImplSDL2_Shutdown"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["location"] = "imgui_impl_sdl"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["location"] = "imgui_impl_sdl:27"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_Shutdown"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["signature"] = "()"
|
||||
|
@@ -1,223 +1,248 @@
|
||||
----------------overloadings---------------------------
|
||||
ImVector_resize 2
|
||||
1 void ImVector_resizeNil (int)
|
||||
2 void ImVector_resizeT (int,const T)
|
||||
igSetScrollFromPosY 2
|
||||
1 void igSetScrollFromPosYFloat (float,float)
|
||||
2 void igSetScrollFromPosYWindowPtr (ImGuiWindow*,float,float)
|
||||
ImVec4_ImVec4 2
|
||||
1 nil ImVec4_ImVec4Nil ()
|
||||
2 nil ImVec4_ImVec4Float (float,float,float,float)
|
||||
igValue 4
|
||||
1 void igValueBool (const char*,bool)
|
||||
2 void igValueInt (const char*,int)
|
||||
3 void igValueUint (const char*,unsigned int)
|
||||
4 void igValueFloat (const char*,float,const char*)
|
||||
igIsRectVisible 2
|
||||
1 bool igIsRectVisibleNil (const ImVec2)
|
||||
2 bool igIsRectVisibleVec2 (const ImVec2,const ImVec2)
|
||||
igRadioButton 2
|
||||
1 bool igRadioButtonBool (const char*,bool)
|
||||
2 bool igRadioButtonIntPtr (const char*,int*,int)
|
||||
ImGuiTextRange_ImGuiTextRange 2
|
||||
1 nil ImGuiTextRange_ImGuiTextRangeNil ()
|
||||
2 nil ImGuiTextRange_ImGuiTextRangeStr (const char*,const char*)
|
||||
ImVec2_ImVec2 2
|
||||
1 nil ImVec2_ImVec2Nil ()
|
||||
2 nil ImVec2_ImVec2Float (float,float)
|
||||
ImVector_back 2
|
||||
1 T* ImVector_backNil ()
|
||||
2 const T* ImVector_back_const ()const
|
||||
igPlotHistogram 2
|
||||
1 void igPlotHistogramFloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int)
|
||||
2 void igPlotHistogramFnFloatPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
|
||||
igImAbs 2
|
||||
1 float igImAbsFloat (float)
|
||||
2 double igImAbsdouble (double)
|
||||
igGetID 3
|
||||
1 ImGuiID igGetIDStr (const char*)
|
||||
2 ImGuiID igGetIDStrStr (const char*,const char*)
|
||||
3 ImGuiID igGetIDPtr (const void*)
|
||||
ImVec1_ImVec1 2
|
||||
1 nil ImVec1_ImVec1Nil ()
|
||||
2 nil ImVec1_ImVec1Float (float)
|
||||
igImPow 2
|
||||
1 float igImPowFloat (float,float)
|
||||
2 double igImPowdouble (double,double)
|
||||
igSetWindowPos 3
|
||||
1 void igSetWindowPosVec2 (const ImVec2,ImGuiCond)
|
||||
2 void igSetWindowPosStr (const char*,const ImVec2,ImGuiCond)
|
||||
3 void igSetWindowPosWindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond)
|
||||
igBeginChild 2
|
||||
1 bool igBeginChildStr (const char*,const ImVec2,bool,ImGuiWindowFlags)
|
||||
2 bool igBeginChildID (ImGuiID,const ImVec2,bool,ImGuiWindowFlags)
|
||||
igPushID 4
|
||||
1 void igPushIDStr (const char*)
|
||||
2 void igPushIDStrStr (const char*,const char*)
|
||||
3 void igPushIDPtr (const void*)
|
||||
4 void igPushIDInt (int)
|
||||
ImRect_Contains 2
|
||||
1 bool ImRect_ContainsVec2 (const ImVec2)const
|
||||
2 bool ImRect_ContainsRect (const ImRect)const
|
||||
ImRect_Add 2
|
||||
1 void ImRect_AddVec2 (const ImVec2)
|
||||
2 void ImRect_AddRect (const ImRect)
|
||||
ImGuiStoragePair_ImGuiStoragePair 3
|
||||
1 nil ImGuiStoragePair_ImGuiStoragePairInt (ImGuiID,int)
|
||||
2 nil ImGuiStoragePair_ImGuiStoragePairFloat (ImGuiID,float)
|
||||
3 nil ImGuiStoragePair_ImGuiStoragePairPtr (ImGuiID,void*)
|
||||
igSetScrollFromPosX 2
|
||||
1 void igSetScrollFromPosXFloat (float,float)
|
||||
2 void igSetScrollFromPosXWindowPtr (ImGuiWindow*,float,float)
|
||||
igGetForegroundDrawList 2
|
||||
1 ImDrawList* igGetForegroundDrawListNil ()
|
||||
2 ImDrawList* igGetForegroundDrawListWindowPtr (ImGuiWindow*)
|
||||
igImLog 2
|
||||
1 float igImLogFloat (float)
|
||||
2 double igImLogdouble (double)
|
||||
ImVector_front 2
|
||||
1 T* ImVector_frontNil ()
|
||||
2 const T* ImVector_front_const ()const
|
||||
ImGuiWindow_GetID 3
|
||||
1 ImGuiID ImGuiWindow_GetIDStr (const char*,const char*)
|
||||
2 ImGuiID ImGuiWindow_GetIDPtr (const void*)
|
||||
3 ImGuiID ImGuiWindow_GetIDInt (int)
|
||||
igImLengthSqr 2
|
||||
1 float igImLengthSqrVec2 (const ImVec2)
|
||||
2 float igImLengthSqrVec4 (const ImVec4)
|
||||
igImFloor 2
|
||||
1 float igImFloorFloat (float)
|
||||
2 ImVec2 igImFloorVec2 (const ImVec2)
|
||||
igTreeNode 3
|
||||
1 bool igTreeNodeStr (const char*)
|
||||
2 bool igTreeNodeStrStr (const char*,const char*,...)
|
||||
3 bool igTreeNodePtr (const void*,const char*,...)
|
||||
igCombo 3
|
||||
1 bool igComboStr_arr (const char*,int*,const char* const[],int,int)
|
||||
2 bool igComboStr (const char*,int*,const char*,int)
|
||||
3 bool igComboFnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
|
||||
igSetScrollY 2
|
||||
1 void igSetScrollYFloat (float)
|
||||
2 void igSetScrollYWindowPtr (ImGuiWindow*,float)
|
||||
ImVector_erase 2
|
||||
1 T* ImVector_eraseNil (const T*)
|
||||
2 T* ImVector_eraseTPtr (const T*,const T*)
|
||||
ImDrawList_AddText 2
|
||||
1 void ImDrawList_AddTextVec2 (const ImVec2,ImU32,const char*,const char*)
|
||||
2 void ImDrawList_AddTextFontPtr (const ImFont*,float,const ImVec2,ImU32,const char*,const char*,float,const ImVec4*)
|
||||
igPushStyleVar 2
|
||||
1 void igPushStyleVarFloat (ImGuiStyleVar,float)
|
||||
2 void igPushStyleVarVec2 (ImGuiStyleVar,const ImVec2)
|
||||
igSetWindowFocus 2
|
||||
1 void igSetWindowFocusNil ()
|
||||
2 void igSetWindowFocusStr (const char*)
|
||||
igImLerp 3
|
||||
1 ImVec2 igImLerpVec2Float (const ImVec2,const ImVec2,float)
|
||||
2 ImVec2 igImLerpVec2Vec2 (const ImVec2,const ImVec2,const ImVec2)
|
||||
3 ImVec4 igImLerpVec4 (const ImVec4,const ImVec4,float)
|
||||
igItemSize 2
|
||||
1 void igItemSizeVec2 (const ImVec2,float)
|
||||
2 void igItemSizeRect (const ImRect,float)
|
||||
ImVector_end 2
|
||||
1 T* ImVector_endNil ()
|
||||
2 const T* ImVector_end_const ()const
|
||||
igMarkIniSettingsDirty 2
|
||||
1 void igMarkIniSettingsDirtyNil ()
|
||||
2 void igMarkIniSettingsDirtyWindowPtr (ImGuiWindow*)
|
||||
igSetScrollX 2
|
||||
1 void igSetScrollXFloat (float)
|
||||
2 void igSetScrollXWindowPtr (ImGuiWindow*,float)
|
||||
igSetWindowSize 3
|
||||
1 void igSetWindowSizeVec2 (const ImVec2,ImGuiCond)
|
||||
2 void igSetWindowSizeStr (const char*,const ImVec2,ImGuiCond)
|
||||
3 void igSetWindowSizeWindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond)
|
||||
igIsPopupOpen 2
|
||||
1 bool igIsPopupOpenStr (const char*,ImGuiPopupFlags)
|
||||
2 bool igIsPopupOpenID (ImGuiID,ImGuiPopupFlags)
|
||||
ImVector_ImVector 2
|
||||
1 nil ImVector_ImVectorNil ()
|
||||
2 nil ImVector_ImVectorVector (const ImVector)
|
||||
igSetWindowCollapsed 3
|
||||
1 void igSetWindowCollapsedBool (bool,ImGuiCond)
|
||||
2 void igSetWindowCollapsedStr (const char*,bool,ImGuiCond)
|
||||
3 void igSetWindowCollapsedWindowPtr (ImGuiWindow*,bool,ImGuiCond)
|
||||
igPlotLines 2
|
||||
1 void igPlotLinesFloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int)
|
||||
2 void igPlotLinesFnFloatPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
|
||||
igImSign 2
|
||||
1 float igImSignFloat (float)
|
||||
2 double igImSigndouble (double)
|
||||
igPushStyleColor 2
|
||||
1 void igPushStyleColorU32 (ImGuiCol,ImU32)
|
||||
2 void igPushStyleColorVec4 (ImGuiCol,const ImVec4)
|
||||
ImGuiWindow_GetIDNoKeepAlive 3
|
||||
1 ImGuiID ImGuiWindow_GetIDNoKeepAliveStr (const char*,const char*)
|
||||
2 ImGuiID ImGuiWindow_GetIDNoKeepAlivePtr (const void*)
|
||||
3 ImGuiID ImGuiWindow_GetIDNoKeepAliveInt (int)
|
||||
igTreeNodeExV 2
|
||||
1 bool igTreeNodeExVStr (const char*,ImGuiTreeNodeFlags,const char*,va_list)
|
||||
2 bool igTreeNodeExVPtr (const void*,ImGuiTreeNodeFlags,const char*,va_list)
|
||||
ImVec2ih_ImVec2ih 3
|
||||
1 nil ImVec2ih_ImVec2ihNil ()
|
||||
2 nil ImVec2ih_ImVec2ihshort (short,short)
|
||||
3 nil ImVec2ih_ImVec2ihVec2 (const ImVec2)
|
||||
ImGuiStyleMod_ImGuiStyleMod 3
|
||||
1 nil ImGuiStyleMod_ImGuiStyleModInt (ImGuiStyleVar,int)
|
||||
2 nil ImGuiStyleMod_ImGuiStyleModFloat (ImGuiStyleVar,float)
|
||||
3 nil ImGuiStyleMod_ImGuiStyleModVec2 (ImGuiStyleVar,ImVec2)
|
||||
ImPool_Remove 2
|
||||
1 void ImPool_RemoveTPtr (ImGuiID,const T*)
|
||||
2 void ImPool_RemovePoolIdx (ImGuiID,ImPoolIdx)
|
||||
ImRect_Expand 2
|
||||
1 void ImRect_ExpandFloat (const float)
|
||||
2 void ImRect_ExpandVec2 (const ImVec2)
|
||||
igListBox 2
|
||||
1 bool igListBoxStr_arr (const char*,int*,const char* const[],int,int)
|
||||
2 bool igListBoxFnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
|
||||
ImGuiPtrOrIndex_ImGuiPtrOrIndex 2
|
||||
1 nil ImGuiPtrOrIndex_ImGuiPtrOrIndexPtr (void*)
|
||||
2 nil ImGuiPtrOrIndex_ImGuiPtrOrIndexInt (int)
|
||||
ImRect_ImRect 4
|
||||
1 nil ImRect_ImRectNil ()
|
||||
2 nil ImRect_ImRectVec2 (const ImVec2,const ImVec2)
|
||||
3 nil ImRect_ImRectVec4 (const ImVec4)
|
||||
4 nil ImRect_ImRectFloat (float,float,float,float)
|
||||
igTreePush 2
|
||||
1 void igTreePushStr (const char*)
|
||||
2 void igTreePushPtr (const void*)
|
||||
igTreeNodeEx 3
|
||||
1 bool igTreeNodeExStr (const char*,ImGuiTreeNodeFlags)
|
||||
2 bool igTreeNodeExStrStr (const char*,ImGuiTreeNodeFlags,const char*,...)
|
||||
3 bool igTreeNodeExPtr (const void*,ImGuiTreeNodeFlags,const char*,...)
|
||||
igGetColorU32 3
|
||||
1 ImU32 igGetColorU32Col (ImGuiCol,float)
|
||||
2 ImU32 igGetColorU32Vec4 (const ImVec4)
|
||||
3 ImU32 igGetColorU32U32 (ImU32)
|
||||
ImVector_find 2
|
||||
1 T* ImVector_findNil (const T)
|
||||
2 const T* ImVector_find_const (const T)const
|
||||
ImColor_ImColor 5
|
||||
1 nil ImColor_ImColorNil ()
|
||||
2 nil ImColor_ImColorInt (int,int,int,int)
|
||||
3 nil ImColor_ImColorU32 (ImU32)
|
||||
4 nil ImColor_ImColorFloat (float,float,float,float)
|
||||
5 nil ImColor_ImColorVec4 (const ImVec4)
|
||||
ImDrawList_AddText 2
|
||||
1 void ImDrawList_AddTextVec2 (const ImVec2,ImU32,const char*,const char*)
|
||||
2 void ImDrawList_AddTextFontPtr (const ImFont*,float,const ImVec2,ImU32,const char*,const char*,float,const ImVec4*)
|
||||
ImGuiPtrOrIndex_ImGuiPtrOrIndex 2
|
||||
1 nil ImGuiPtrOrIndex_ImGuiPtrOrIndexPtr (void*)
|
||||
2 nil ImGuiPtrOrIndex_ImGuiPtrOrIndexInt (int)
|
||||
ImGuiStoragePair_ImGuiStoragePair 3
|
||||
1 nil ImGuiStoragePair_ImGuiStoragePairInt (ImGuiID,int)
|
||||
2 nil ImGuiStoragePair_ImGuiStoragePairFloat (ImGuiID,float)
|
||||
3 nil ImGuiStoragePair_ImGuiStoragePairPtr (ImGuiID,void*)
|
||||
ImGuiStyleMod_ImGuiStyleMod 3
|
||||
1 nil ImGuiStyleMod_ImGuiStyleModInt (ImGuiStyleVar,int)
|
||||
2 nil ImGuiStyleMod_ImGuiStyleModFloat (ImGuiStyleVar,float)
|
||||
3 nil ImGuiStyleMod_ImGuiStyleModVec2 (ImGuiStyleVar,ImVec2)
|
||||
ImGuiTextRange_ImGuiTextRange 2
|
||||
1 nil ImGuiTextRange_ImGuiTextRangeNil ()
|
||||
2 nil ImGuiTextRange_ImGuiTextRangeStr (const char*,const char*)
|
||||
ImGuiWindow_GetID 3
|
||||
1 ImGuiID ImGuiWindow_GetIDStr (const char*,const char*)
|
||||
2 ImGuiID ImGuiWindow_GetIDPtr (const void*)
|
||||
3 ImGuiID ImGuiWindow_GetIDInt (int)
|
||||
ImGuiWindow_GetIDNoKeepAlive 3
|
||||
1 ImGuiID ImGuiWindow_GetIDNoKeepAliveStr (const char*,const char*)
|
||||
2 ImGuiID ImGuiWindow_GetIDNoKeepAlivePtr (const void*)
|
||||
3 ImGuiID ImGuiWindow_GetIDNoKeepAliveInt (int)
|
||||
ImPool_Remove 2
|
||||
1 void ImPool_RemoveTPtr (ImGuiID,const T*)
|
||||
2 void ImPool_RemovePoolIdx (ImGuiID,ImPoolIdx)
|
||||
ImRect_Add 2
|
||||
1 void ImRect_AddVec2 (const ImVec2)
|
||||
2 void ImRect_AddRect (const ImRect)
|
||||
ImRect_Contains 2
|
||||
1 bool ImRect_ContainsVec2 (const ImVec2)const
|
||||
2 bool ImRect_ContainsRect (const ImRect)const
|
||||
ImRect_Expand 2
|
||||
1 void ImRect_ExpandFloat (const float)
|
||||
2 void ImRect_ExpandVec2 (const ImVec2)
|
||||
ImRect_ImRect 4
|
||||
1 nil ImRect_ImRectNil ()
|
||||
2 nil ImRect_ImRectVec2 (const ImVec2,const ImVec2)
|
||||
3 nil ImRect_ImRectVec4 (const ImVec4)
|
||||
4 nil ImRect_ImRectFloat (float,float,float,float)
|
||||
ImSpan_ImSpan 3
|
||||
1 nil ImSpan_ImSpanNil ()
|
||||
2 nil ImSpan_ImSpanTPtrInt (T*,int)
|
||||
3 nil ImSpan_ImSpanTPtrTPtr (T*,T*)
|
||||
ImSpan_begin 2
|
||||
1 T* ImSpan_beginNil ()
|
||||
2 const T* ImSpan_begin_const ()const
|
||||
ImSpan_end 2
|
||||
1 T* ImSpan_endNil ()
|
||||
2 const T* ImSpan_end_const ()const
|
||||
ImSpan_set 2
|
||||
1 void ImSpan_setInt (T*,int)
|
||||
2 void ImSpan_setTPtr (T*,T*)
|
||||
ImVec1_ImVec1 2
|
||||
1 nil ImVec1_ImVec1Nil ()
|
||||
2 nil ImVec1_ImVec1Float (float)
|
||||
ImVec2_ImVec2 2
|
||||
1 nil ImVec2_ImVec2Nil ()
|
||||
2 nil ImVec2_ImVec2Float (float,float)
|
||||
ImVec2ih_ImVec2ih 3
|
||||
1 nil ImVec2ih_ImVec2ihNil ()
|
||||
2 nil ImVec2ih_ImVec2ihshort (short,short)
|
||||
3 nil ImVec2ih_ImVec2ihVec2 (const ImVec2)
|
||||
ImVec4_ImVec4 2
|
||||
1 nil ImVec4_ImVec4Nil ()
|
||||
2 nil ImVec4_ImVec4Float (float,float,float,float)
|
||||
ImVector_ImVector 2
|
||||
1 nil ImVector_ImVectorNil ()
|
||||
2 nil ImVector_ImVectorVector (const ImVector)
|
||||
ImVector_back 2
|
||||
1 T* ImVector_backNil ()
|
||||
2 const T* ImVector_back_const ()const
|
||||
ImVector_begin 2
|
||||
1 T* ImVector_beginNil ()
|
||||
2 const T* ImVector_begin_const ()const
|
||||
ImVector_end 2
|
||||
1 T* ImVector_endNil ()
|
||||
2 const T* ImVector_end_const ()const
|
||||
ImVector_erase 2
|
||||
1 T* ImVector_eraseNil (const T*)
|
||||
2 T* ImVector_eraseTPtr (const T*,const T*)
|
||||
ImVector_find 2
|
||||
1 T* ImVector_findNil (const T)
|
||||
2 const T* ImVector_find_const (const T)const
|
||||
ImVector_front 2
|
||||
1 T* ImVector_frontNil ()
|
||||
2 const T* ImVector_front_const ()const
|
||||
ImVector_resize 2
|
||||
1 void ImVector_resizeNil (int)
|
||||
2 void ImVector_resizeT (int,const T)
|
||||
igBeginChild 2
|
||||
1 bool igBeginChildStr (const char*,const ImVec2,bool,ImGuiWindowFlags)
|
||||
2 bool igBeginChildID (ImGuiID,const ImVec2,bool,ImGuiWindowFlags)
|
||||
igCheckboxFlags 4
|
||||
1 bool igCheckboxFlagsIntPtr (const char*,int*,int)
|
||||
2 bool igCheckboxFlagsUintPtr (const char*,unsigned int*,unsigned int)
|
||||
3 bool igCheckboxFlagsS64Ptr (const char*,ImS64*,ImS64)
|
||||
4 bool igCheckboxFlagsU64Ptr (const char*,ImU64*,ImU64)
|
||||
igCollapsingHeader 2
|
||||
1 bool igCollapsingHeaderTreeNodeFlags (const char*,ImGuiTreeNodeFlags)
|
||||
2 bool igCollapsingHeaderBoolPtr (const char*,bool*,ImGuiTreeNodeFlags)
|
||||
igListBoxHeader 2
|
||||
1 bool igListBoxHeaderVec2 (const char*,const ImVec2)
|
||||
2 bool igListBoxHeaderInt (const char*,int,int)
|
||||
igSelectable 2
|
||||
1 bool igSelectableBool (const char*,bool,ImGuiSelectableFlags,const ImVec2)
|
||||
2 bool igSelectableBoolPtr (const char*,bool*,ImGuiSelectableFlags,const ImVec2)
|
||||
igCombo 3
|
||||
1 bool igComboStr_arr (const char*,int*,const char* const[],int,int)
|
||||
2 bool igComboStr (const char*,int*,const char*,int)
|
||||
3 bool igComboFnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
|
||||
igGetBackgroundDrawList 2
|
||||
1 ImDrawList* igGetBackgroundDrawListNil ()
|
||||
2 ImDrawList* igGetBackgroundDrawListViewportPtr (ImGuiViewport*)
|
||||
igGetColorU32 3
|
||||
1 ImU32 igGetColorU32Col (ImGuiCol,float)
|
||||
2 ImU32 igGetColorU32Vec4 (const ImVec4)
|
||||
3 ImU32 igGetColorU32U32 (ImU32)
|
||||
igGetForegroundDrawList 3
|
||||
1 ImDrawList* igGetForegroundDrawListNil ()
|
||||
2 ImDrawList* igGetForegroundDrawListWindowPtr (ImGuiWindow*)
|
||||
3 ImDrawList* igGetForegroundDrawListViewportPtr (ImGuiViewport*)
|
||||
igGetID 3
|
||||
1 ImGuiID igGetIDStr (const char*)
|
||||
2 ImGuiID igGetIDStrStr (const char*,const char*)
|
||||
3 ImGuiID igGetIDPtr (const void*)
|
||||
igImAbs 2
|
||||
1 float igImAbsFloat (float)
|
||||
2 double igImAbsdouble (double)
|
||||
igImFloor 2
|
||||
1 float igImFloorFloat (float)
|
||||
2 ImVec2 igImFloorVec2 (const ImVec2)
|
||||
igImIsPowerOfTwo 2
|
||||
1 bool igImIsPowerOfTwoInt (int)
|
||||
2 bool igImIsPowerOfTwoU64 (ImU64)
|
||||
igImLengthSqr 2
|
||||
1 float igImLengthSqrVec2 (const ImVec2)
|
||||
2 float igImLengthSqrVec4 (const ImVec4)
|
||||
igImLerp 3
|
||||
1 ImVec2 igImLerpVec2Float (const ImVec2,const ImVec2,float)
|
||||
2 ImVec2 igImLerpVec2Vec2 (const ImVec2,const ImVec2,const ImVec2)
|
||||
3 ImVec4 igImLerpVec4 (const ImVec4,const ImVec4,float)
|
||||
igImLog 2
|
||||
1 float igImLogFloat (float)
|
||||
2 double igImLogdouble (double)
|
||||
igImPow 2
|
||||
1 float igImPowFloat (float,float)
|
||||
2 double igImPowdouble (double,double)
|
||||
igImSign 2
|
||||
1 float igImSignFloat (float)
|
||||
2 double igImSigndouble (double)
|
||||
igIsPopupOpen 2
|
||||
1 bool igIsPopupOpenStr (const char*,ImGuiPopupFlags)
|
||||
2 bool igIsPopupOpenID (ImGuiID,ImGuiPopupFlags)
|
||||
igIsRectVisible 2
|
||||
1 bool igIsRectVisibleNil (const ImVec2)
|
||||
2 bool igIsRectVisibleVec2 (const ImVec2,const ImVec2)
|
||||
igItemSize 2
|
||||
1 void igItemSizeVec2 (const ImVec2,float)
|
||||
2 void igItemSizeRect (const ImRect,float)
|
||||
igListBox 2
|
||||
1 bool igListBoxStr_arr (const char*,int*,const char* const[],int,int)
|
||||
2 bool igListBoxFnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
|
||||
igMarkIniSettingsDirty 2
|
||||
1 void igMarkIniSettingsDirtyNil ()
|
||||
2 void igMarkIniSettingsDirtyWindowPtr (ImGuiWindow*)
|
||||
igMenuItem 2
|
||||
1 bool igMenuItemBool (const char*,const char*,bool,bool)
|
||||
2 bool igMenuItemBoolPtr (const char*,const char*,bool*,bool)
|
||||
igPlotHistogram 2
|
||||
1 void igPlotHistogramFloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int)
|
||||
2 void igPlotHistogramFnFloatPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
|
||||
igPlotLines 2
|
||||
1 void igPlotLinesFloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int)
|
||||
2 void igPlotLinesFnFloatPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
|
||||
igPushID 4
|
||||
1 void igPushIDStr (const char*)
|
||||
2 void igPushIDStrStr (const char*,const char*)
|
||||
3 void igPushIDPtr (const void*)
|
||||
4 void igPushIDInt (int)
|
||||
igPushStyleColor 2
|
||||
1 void igPushStyleColorU32 (ImGuiCol,ImU32)
|
||||
2 void igPushStyleColorVec4 (ImGuiCol,const ImVec4)
|
||||
igPushStyleVar 2
|
||||
1 void igPushStyleVarFloat (ImGuiStyleVar,float)
|
||||
2 void igPushStyleVarVec2 (ImGuiStyleVar,const ImVec2)
|
||||
igRadioButton 2
|
||||
1 bool igRadioButtonBool (const char*,bool)
|
||||
2 bool igRadioButtonIntPtr (const char*,int*,int)
|
||||
igSelectable 2
|
||||
1 bool igSelectableBool (const char*,bool,ImGuiSelectableFlags,const ImVec2)
|
||||
2 bool igSelectableBoolPtr (const char*,bool*,ImGuiSelectableFlags,const ImVec2)
|
||||
igSetScrollFromPosX 2
|
||||
1 void igSetScrollFromPosXFloat (float,float)
|
||||
2 void igSetScrollFromPosXWindowPtr (ImGuiWindow*,float,float)
|
||||
igSetScrollFromPosY 2
|
||||
1 void igSetScrollFromPosYFloat (float,float)
|
||||
2 void igSetScrollFromPosYWindowPtr (ImGuiWindow*,float,float)
|
||||
igSetScrollX 2
|
||||
1 void igSetScrollXFloat (float)
|
||||
2 void igSetScrollXWindowPtr (ImGuiWindow*,float)
|
||||
igSetScrollY 2
|
||||
1 void igSetScrollYFloat (float)
|
||||
2 void igSetScrollYWindowPtr (ImGuiWindow*,float)
|
||||
igSetWindowCollapsed 3
|
||||
1 void igSetWindowCollapsedBool (bool,ImGuiCond)
|
||||
2 void igSetWindowCollapsedStr (const char*,bool,ImGuiCond)
|
||||
3 void igSetWindowCollapsedWindowPtr (ImGuiWindow*,bool,ImGuiCond)
|
||||
igSetWindowFocus 2
|
||||
1 void igSetWindowFocusNil ()
|
||||
2 void igSetWindowFocusStr (const char*)
|
||||
igSetWindowPos 3
|
||||
1 void igSetWindowPosVec2 (const ImVec2,ImGuiCond)
|
||||
2 void igSetWindowPosStr (const char*,const ImVec2,ImGuiCond)
|
||||
3 void igSetWindowPosWindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond)
|
||||
igSetWindowSize 3
|
||||
1 void igSetWindowSizeVec2 (const ImVec2,ImGuiCond)
|
||||
2 void igSetWindowSizeStr (const char*,const ImVec2,ImGuiCond)
|
||||
3 void igSetWindowSizeWindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond)
|
||||
igTableGetColumnName 2
|
||||
1 const char* igTableGetColumnNameInt (int)
|
||||
2 const char* igTableGetColumnNameTablePtr (const ImGuiTable*,int)
|
||||
igTreeNode 3
|
||||
1 bool igTreeNodeStr (const char*)
|
||||
2 bool igTreeNodeStrStr (const char*,const char*,...)
|
||||
3 bool igTreeNodePtr (const void*,const char*,...)
|
||||
igTreeNodeEx 3
|
||||
1 bool igTreeNodeExStr (const char*,ImGuiTreeNodeFlags)
|
||||
2 bool igTreeNodeExStrStr (const char*,ImGuiTreeNodeFlags,const char*,...)
|
||||
3 bool igTreeNodeExPtr (const void*,ImGuiTreeNodeFlags,const char*,...)
|
||||
igTreeNodeExV 2
|
||||
1 bool igTreeNodeExVStr (const char*,ImGuiTreeNodeFlags,const char*,va_list)
|
||||
2 bool igTreeNodeExVPtr (const void*,ImGuiTreeNodeFlags,const char*,va_list)
|
||||
igTreeNodeV 2
|
||||
1 bool igTreeNodeVStr (const char*,const char*,va_list)
|
||||
2 bool igTreeNodeVPtr (const void*,const char*,va_list)
|
||||
155 overloaded
|
||||
igTreePush 2
|
||||
1 void igTreePushStr (const char*)
|
||||
2 void igTreePushPtr (const void*)
|
||||
igValue 4
|
||||
1 void igValueBool (const char*,bool)
|
||||
2 void igValueInt (const char*,int)
|
||||
3 void igValueUint (const char*,unsigned int)
|
||||
4 void igValueFloat (const char*,float,const char*)
|
||||
173 overloaded
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -4,9 +4,10 @@
|
||||
"ImDrawCallback": "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);",
|
||||
"ImDrawChannel": "struct ImDrawChannel",
|
||||
"ImDrawCmd": "struct ImDrawCmd",
|
||||
"ImDrawCornerFlags": "int",
|
||||
"ImDrawCmdHeader": "struct ImDrawCmdHeader",
|
||||
"ImDrawData": "struct ImDrawData",
|
||||
"ImDrawDataBuilder": "struct ImDrawDataBuilder",
|
||||
"ImDrawFlags": "int",
|
||||
"ImDrawIdx": "unsigned short",
|
||||
"ImDrawList": "struct ImDrawList",
|
||||
"ImDrawListFlags": "int",
|
||||
@@ -18,6 +19,7 @@
|
||||
"ImFontAtlas": "struct ImFontAtlas",
|
||||
"ImFontAtlasCustomRect": "struct ImFontAtlasCustomRect",
|
||||
"ImFontAtlasFlags": "int",
|
||||
"ImFontBuilderIO": "struct ImFontBuilderIO",
|
||||
"ImFontConfig": "struct ImFontConfig",
|
||||
"ImFontGlyph": "struct ImFontGlyph",
|
||||
"ImFontGlyphRangesBuilder": "struct ImFontGlyphRangesBuilder",
|
||||
@@ -26,18 +28,18 @@
|
||||
"ImGuiCol": "int",
|
||||
"ImGuiColorEditFlags": "int",
|
||||
"ImGuiColorMod": "struct ImGuiColorMod",
|
||||
"ImGuiColumnData": "struct ImGuiColumnData",
|
||||
"ImGuiColumns": "struct ImGuiColumns",
|
||||
"ImGuiColumnsFlags": "int",
|
||||
"ImGuiComboFlags": "int",
|
||||
"ImGuiCond": "int",
|
||||
"ImGuiConfigFlags": "int",
|
||||
"ImGuiContext": "struct ImGuiContext",
|
||||
"ImGuiContextHook": "struct ImGuiContextHook",
|
||||
"ImGuiContextHookCallback": "void(*)(ImGuiContext* ctx,ImGuiContextHook* hook);",
|
||||
"ImGuiDataType": "int",
|
||||
"ImGuiDataTypeInfo": "struct ImGuiDataTypeInfo",
|
||||
"ImGuiDataTypeTempStorage": "struct ImGuiDataTypeTempStorage",
|
||||
"ImGuiDir": "int",
|
||||
"ImGuiDragDropFlags": "int",
|
||||
"ImGuiErrorLogCallback": "void(*)(void* user_data,const char* fmt,...);",
|
||||
"ImGuiFocusedFlags": "int",
|
||||
"ImGuiGroupData": "struct ImGuiGroupData",
|
||||
"ImGuiHoveredFlags": "int",
|
||||
@@ -54,7 +56,10 @@
|
||||
"ImGuiLastItemDataBackup": "struct ImGuiLastItemDataBackup",
|
||||
"ImGuiLayoutType": "int",
|
||||
"ImGuiListClipper": "struct ImGuiListClipper",
|
||||
"ImGuiMemAllocFunc": "void*(*)(size_t sz,void* user_data);",
|
||||
"ImGuiMemFreeFunc": "void(*)(void* ptr,void* user_data);",
|
||||
"ImGuiMenuColumns": "struct ImGuiMenuColumns",
|
||||
"ImGuiMetricsConfig": "struct ImGuiMetricsConfig",
|
||||
"ImGuiMouseButton": "int",
|
||||
"ImGuiMouseCursor": "int",
|
||||
"ImGuiNavDirSourceFlags": "int",
|
||||
@@ -66,6 +71,9 @@
|
||||
"ImGuiNextItemDataFlags": "int",
|
||||
"ImGuiNextWindowData": "struct ImGuiNextWindowData",
|
||||
"ImGuiNextWindowDataFlags": "int",
|
||||
"ImGuiOldColumnData": "struct ImGuiOldColumnData",
|
||||
"ImGuiOldColumnFlags": "int",
|
||||
"ImGuiOldColumns": "struct ImGuiOldColumns",
|
||||
"ImGuiOnceUponAFrame": "struct ImGuiOnceUponAFrame",
|
||||
"ImGuiPayload": "struct ImGuiPayload",
|
||||
"ImGuiPopupData": "struct ImGuiPopupData",
|
||||
@@ -78,6 +86,8 @@
|
||||
"ImGuiSizeCallback": "void(*)(ImGuiSizeCallbackData* data);",
|
||||
"ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData",
|
||||
"ImGuiSliderFlags": "int",
|
||||
"ImGuiSortDirection": "int",
|
||||
"ImGuiStackSizes": "struct ImGuiStackSizes",
|
||||
"ImGuiStorage": "struct ImGuiStorage",
|
||||
"ImGuiStoragePair": "struct ImGuiStoragePair",
|
||||
"ImGuiStyle": "struct ImGuiStyle",
|
||||
@@ -87,12 +97,29 @@
|
||||
"ImGuiTabBarFlags": "int",
|
||||
"ImGuiTabItem": "struct ImGuiTabItem",
|
||||
"ImGuiTabItemFlags": "int",
|
||||
"ImGuiTable": "struct ImGuiTable",
|
||||
"ImGuiTableBgTarget": "int",
|
||||
"ImGuiTableCellData": "struct ImGuiTableCellData",
|
||||
"ImGuiTableColumn": "struct ImGuiTableColumn",
|
||||
"ImGuiTableColumnFlags": "int",
|
||||
"ImGuiTableColumnIdx": "ImS8",
|
||||
"ImGuiTableColumnSettings": "struct ImGuiTableColumnSettings",
|
||||
"ImGuiTableColumnSortSpecs": "struct ImGuiTableColumnSortSpecs",
|
||||
"ImGuiTableColumnsSettings": "struct ImGuiTableColumnsSettings",
|
||||
"ImGuiTableDrawChannelIdx": "ImU8",
|
||||
"ImGuiTableFlags": "int",
|
||||
"ImGuiTableRowFlags": "int",
|
||||
"ImGuiTableSettings": "struct ImGuiTableSettings",
|
||||
"ImGuiTableSortSpecs": "struct ImGuiTableSortSpecs",
|
||||
"ImGuiTextBuffer": "struct ImGuiTextBuffer",
|
||||
"ImGuiTextFilter": "struct ImGuiTextFilter",
|
||||
"ImGuiTextFlags": "int",
|
||||
"ImGuiTextRange": "struct ImGuiTextRange",
|
||||
"ImGuiTooltipFlags": "int",
|
||||
"ImGuiTreeNodeFlags": "int",
|
||||
"ImGuiViewport": "struct ImGuiViewport",
|
||||
"ImGuiViewportFlags": "int",
|
||||
"ImGuiViewportP": "struct ImGuiViewportP",
|
||||
"ImGuiWindow": "struct ImGuiWindow",
|
||||
"ImGuiWindowFlags": "int",
|
||||
"ImGuiWindowSettings": "struct ImGuiWindowSettings",
|
||||
@@ -115,6 +142,10 @@
|
||||
"ImWchar": "ImWchar16",
|
||||
"ImWchar16": "unsigned short",
|
||||
"ImWchar32": "unsigned int",
|
||||
"STB_TexteditState": "struct STB_TexteditState",
|
||||
"StbTexteditRow": "struct StbTexteditRow",
|
||||
"StbUndoRecord": "struct StbUndoRecord",
|
||||
"StbUndoState": "struct StbUndoState",
|
||||
"const_iterator": "const value_type*",
|
||||
"iterator": "value_type*",
|
||||
"value_type": "T"
|
||||
|
@@ -4,9 +4,10 @@ defs["ImColor"] = "struct ImColor"
|
||||
defs["ImDrawCallback"] = "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);"
|
||||
defs["ImDrawChannel"] = "struct ImDrawChannel"
|
||||
defs["ImDrawCmd"] = "struct ImDrawCmd"
|
||||
defs["ImDrawCornerFlags"] = "int"
|
||||
defs["ImDrawCmdHeader"] = "struct ImDrawCmdHeader"
|
||||
defs["ImDrawData"] = "struct ImDrawData"
|
||||
defs["ImDrawDataBuilder"] = "struct ImDrawDataBuilder"
|
||||
defs["ImDrawFlags"] = "int"
|
||||
defs["ImDrawIdx"] = "unsigned short"
|
||||
defs["ImDrawList"] = "struct ImDrawList"
|
||||
defs["ImDrawListFlags"] = "int"
|
||||
@@ -18,6 +19,7 @@ defs["ImFont"] = "struct ImFont"
|
||||
defs["ImFontAtlas"] = "struct ImFontAtlas"
|
||||
defs["ImFontAtlasCustomRect"] = "struct ImFontAtlasCustomRect"
|
||||
defs["ImFontAtlasFlags"] = "int"
|
||||
defs["ImFontBuilderIO"] = "struct ImFontBuilderIO"
|
||||
defs["ImFontConfig"] = "struct ImFontConfig"
|
||||
defs["ImFontGlyph"] = "struct ImFontGlyph"
|
||||
defs["ImFontGlyphRangesBuilder"] = "struct ImFontGlyphRangesBuilder"
|
||||
@@ -26,18 +28,18 @@ defs["ImGuiButtonFlags"] = "int"
|
||||
defs["ImGuiCol"] = "int"
|
||||
defs["ImGuiColorEditFlags"] = "int"
|
||||
defs["ImGuiColorMod"] = "struct ImGuiColorMod"
|
||||
defs["ImGuiColumnData"] = "struct ImGuiColumnData"
|
||||
defs["ImGuiColumns"] = "struct ImGuiColumns"
|
||||
defs["ImGuiColumnsFlags"] = "int"
|
||||
defs["ImGuiComboFlags"] = "int"
|
||||
defs["ImGuiCond"] = "int"
|
||||
defs["ImGuiConfigFlags"] = "int"
|
||||
defs["ImGuiContext"] = "struct ImGuiContext"
|
||||
defs["ImGuiContextHook"] = "struct ImGuiContextHook"
|
||||
defs["ImGuiContextHookCallback"] = "void(*)(ImGuiContext* ctx,ImGuiContextHook* hook);"
|
||||
defs["ImGuiDataType"] = "int"
|
||||
defs["ImGuiDataTypeInfo"] = "struct ImGuiDataTypeInfo"
|
||||
defs["ImGuiDataTypeTempStorage"] = "struct ImGuiDataTypeTempStorage"
|
||||
defs["ImGuiDir"] = "int"
|
||||
defs["ImGuiDragDropFlags"] = "int"
|
||||
defs["ImGuiErrorLogCallback"] = "void(*)(void* user_data,const char* fmt,...);"
|
||||
defs["ImGuiFocusedFlags"] = "int"
|
||||
defs["ImGuiGroupData"] = "struct ImGuiGroupData"
|
||||
defs["ImGuiHoveredFlags"] = "int"
|
||||
@@ -54,7 +56,10 @@ defs["ImGuiKeyModFlags"] = "int"
|
||||
defs["ImGuiLastItemDataBackup"] = "struct ImGuiLastItemDataBackup"
|
||||
defs["ImGuiLayoutType"] = "int"
|
||||
defs["ImGuiListClipper"] = "struct ImGuiListClipper"
|
||||
defs["ImGuiMemAllocFunc"] = "void*(*)(size_t sz,void* user_data);"
|
||||
defs["ImGuiMemFreeFunc"] = "void(*)(void* ptr,void* user_data);"
|
||||
defs["ImGuiMenuColumns"] = "struct ImGuiMenuColumns"
|
||||
defs["ImGuiMetricsConfig"] = "struct ImGuiMetricsConfig"
|
||||
defs["ImGuiMouseButton"] = "int"
|
||||
defs["ImGuiMouseCursor"] = "int"
|
||||
defs["ImGuiNavDirSourceFlags"] = "int"
|
||||
@@ -66,6 +71,9 @@ defs["ImGuiNextItemData"] = "struct ImGuiNextItemData"
|
||||
defs["ImGuiNextItemDataFlags"] = "int"
|
||||
defs["ImGuiNextWindowData"] = "struct ImGuiNextWindowData"
|
||||
defs["ImGuiNextWindowDataFlags"] = "int"
|
||||
defs["ImGuiOldColumnData"] = "struct ImGuiOldColumnData"
|
||||
defs["ImGuiOldColumnFlags"] = "int"
|
||||
defs["ImGuiOldColumns"] = "struct ImGuiOldColumns"
|
||||
defs["ImGuiOnceUponAFrame"] = "struct ImGuiOnceUponAFrame"
|
||||
defs["ImGuiPayload"] = "struct ImGuiPayload"
|
||||
defs["ImGuiPopupData"] = "struct ImGuiPopupData"
|
||||
@@ -78,6 +86,8 @@ defs["ImGuiShrinkWidthItem"] = "struct ImGuiShrinkWidthItem"
|
||||
defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);"
|
||||
defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData"
|
||||
defs["ImGuiSliderFlags"] = "int"
|
||||
defs["ImGuiSortDirection"] = "int"
|
||||
defs["ImGuiStackSizes"] = "struct ImGuiStackSizes"
|
||||
defs["ImGuiStorage"] = "struct ImGuiStorage"
|
||||
defs["ImGuiStoragePair"] = "struct ImGuiStoragePair"
|
||||
defs["ImGuiStyle"] = "struct ImGuiStyle"
|
||||
@@ -87,12 +97,29 @@ defs["ImGuiTabBar"] = "struct ImGuiTabBar"
|
||||
defs["ImGuiTabBarFlags"] = "int"
|
||||
defs["ImGuiTabItem"] = "struct ImGuiTabItem"
|
||||
defs["ImGuiTabItemFlags"] = "int"
|
||||
defs["ImGuiTable"] = "struct ImGuiTable"
|
||||
defs["ImGuiTableBgTarget"] = "int"
|
||||
defs["ImGuiTableCellData"] = "struct ImGuiTableCellData"
|
||||
defs["ImGuiTableColumn"] = "struct ImGuiTableColumn"
|
||||
defs["ImGuiTableColumnFlags"] = "int"
|
||||
defs["ImGuiTableColumnIdx"] = "ImS8"
|
||||
defs["ImGuiTableColumnSettings"] = "struct ImGuiTableColumnSettings"
|
||||
defs["ImGuiTableColumnSortSpecs"] = "struct ImGuiTableColumnSortSpecs"
|
||||
defs["ImGuiTableColumnsSettings"] = "struct ImGuiTableColumnsSettings"
|
||||
defs["ImGuiTableDrawChannelIdx"] = "ImU8"
|
||||
defs["ImGuiTableFlags"] = "int"
|
||||
defs["ImGuiTableRowFlags"] = "int"
|
||||
defs["ImGuiTableSettings"] = "struct ImGuiTableSettings"
|
||||
defs["ImGuiTableSortSpecs"] = "struct ImGuiTableSortSpecs"
|
||||
defs["ImGuiTextBuffer"] = "struct ImGuiTextBuffer"
|
||||
defs["ImGuiTextFilter"] = "struct ImGuiTextFilter"
|
||||
defs["ImGuiTextFlags"] = "int"
|
||||
defs["ImGuiTextRange"] = "struct ImGuiTextRange"
|
||||
defs["ImGuiTooltipFlags"] = "int"
|
||||
defs["ImGuiTreeNodeFlags"] = "int"
|
||||
defs["ImGuiViewport"] = "struct ImGuiViewport"
|
||||
defs["ImGuiViewportFlags"] = "int"
|
||||
defs["ImGuiViewportP"] = "struct ImGuiViewportP"
|
||||
defs["ImGuiWindow"] = "struct ImGuiWindow"
|
||||
defs["ImGuiWindowFlags"] = "int"
|
||||
defs["ImGuiWindowSettings"] = "struct ImGuiWindowSettings"
|
||||
@@ -115,6 +142,10 @@ defs["ImVec4"] = "struct ImVec4"
|
||||
defs["ImWchar"] = "ImWchar16"
|
||||
defs["ImWchar16"] = "unsigned short"
|
||||
defs["ImWchar32"] = "unsigned int"
|
||||
defs["STB_TexteditState"] = "struct STB_TexteditState"
|
||||
defs["StbTexteditRow"] = "struct StbTexteditRow"
|
||||
defs["StbUndoRecord"] = "struct StbUndoRecord"
|
||||
defs["StbUndoState"] = "struct StbUndoState"
|
||||
defs["const_iterator"] = "const value_type*"
|
||||
defs["iterator"] = "value_type*"
|
||||
defs["value_type"] = "T"
|
||||
|
2
imgui
2
imgui
Submodule imgui updated: 95c99aaa4b...64aab8480a
17
test/main.c
17
test/main.c
@@ -2,6 +2,14 @@
|
||||
#include <assert.h>
|
||||
#include "../cimgui.h"
|
||||
|
||||
#ifdef IMGUI_HAS_IMSTR
|
||||
#define igBegin igBegin_Strv
|
||||
#define igSliderFloat igSliderFloat_Strv
|
||||
#define igCheckbox igCheckbox_Strv
|
||||
#define igColorEdit3 igColorEdit3_Strv
|
||||
#define igButton igButton_Strv
|
||||
#endif
|
||||
|
||||
int main(void)
|
||||
{
|
||||
assert(igDebugCheckVersionAndDataLayout(igGetVersion(), sizeof(ImGuiIO), sizeof(ImGuiStyle),
|
||||
@@ -24,16 +32,19 @@ int main(void)
|
||||
io->DisplaySize = display_size;
|
||||
io->DeltaTime = 1.0f / 60.0f;
|
||||
igNewFrame();
|
||||
|
||||
|
||||
igBegin("mainwindow",NULL,ImGuiWindowFlags_NoTitleBar);
|
||||
static float f = 0.0f;
|
||||
igText("Hello World!");
|
||||
igSliderFloat("float", &f, 0.0f, 1.0f, "%.3f", 1.0f);
|
||||
igSliderFloat("float", &f, 0.0f, 1.0f, "%.3f", 0);
|
||||
igText("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / io->Framerate, io->Framerate);
|
||||
igEnd();
|
||||
igShowDemoWindow(NULL);
|
||||
|
||||
igRender();
|
||||
}
|
||||
|
||||
printf("%llu\n",ImGuiWindowFlags_NoTitleBar);
|
||||
printf("size: %d\n",sizeof(ImGuiWindowFlags_NoTitleBar));
|
||||
printf("DestroyContext()\n");
|
||||
igDestroyContext(NULL);
|
||||
|
||||
|
Reference in New Issue
Block a user