mirror of
https://github.com/cimgui/cimgui.git
synced 2025-08-10 20:08:31 +01:00
Compare commits
278 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
2b03f434d4 | ||
![]() |
37c52332f4 | ||
![]() |
84932b4830 | ||
![]() |
022f60320f | ||
![]() |
1aeb9ad132 | ||
![]() |
648cf587c9 | ||
![]() |
aa99302d24 | ||
![]() |
4fca16eada | ||
![]() |
ff404142f4 | ||
![]() |
4be0522d9f | ||
![]() |
bc6f6e664e | ||
![]() |
343a8e4ea5 | ||
![]() |
0d4fa8b8bc | ||
![]() |
666a687e0f | ||
![]() |
806ff124a1 | ||
![]() |
186ebd8f06 | ||
![]() |
d331453422 | ||
![]() |
e125f405e3 | ||
![]() |
498f9802d1 | ||
![]() |
6c9a018705 | ||
![]() |
347d8d58b0 | ||
![]() |
161385607d | ||
![]() |
23f2a1f026 | ||
![]() |
490effa341 | ||
![]() |
0d864f94bd | ||
![]() |
55f1afa2db | ||
![]() |
71a9410ce6 | ||
![]() |
036d2c1f9e | ||
![]() |
b5c7ed5862 | ||
![]() |
d2ee8fc7dd | ||
![]() |
593867e320 | ||
![]() |
907c2fddce | ||
![]() |
67f3b097a5 | ||
![]() |
fd0199809d | ||
![]() |
d174a02a0f | ||
![]() |
291922f72c | ||
![]() |
7d963113c9 | ||
![]() |
8cbdca3344 | ||
![]() |
204f2828bb | ||
![]() |
2c10d47b9a | ||
![]() |
df00156746 | ||
![]() |
553364f7d8 | ||
![]() |
14cd6715d2 | ||
![]() |
76935a7d83 | ||
![]() |
4397e9a3f1 | ||
![]() |
d44c05cbbd | ||
![]() |
ed6212bb34 | ||
![]() |
8911a5a992 | ||
![]() |
4397288459 | ||
![]() |
354f316b89 | ||
![]() |
f6fdec9d98 | ||
![]() |
3da4350671 | ||
![]() |
fe1d9d081b | ||
![]() |
f531be148d | ||
![]() |
eac028b1f3 | ||
![]() |
eb81995978 | ||
![]() |
b600ea9fab | ||
![]() |
5656bf7c73 | ||
![]() |
d33da701aa | ||
![]() |
95d65fdf49 | ||
![]() |
0b7bd49de5 | ||
![]() |
1643bbf284 | ||
![]() |
80f82b6ed8 | ||
![]() |
f4df31de6e | ||
![]() |
1789ec81fe | ||
![]() |
aca412fe7a | ||
![]() |
7a54d1276d | ||
![]() |
97113ef7ad | ||
![]() |
2a4dcaf2a2 | ||
![]() |
5a9a20d139 | ||
![]() |
7ee838ae2d | ||
![]() |
3091435042 | ||
![]() |
804acdcecd | ||
![]() |
51f02dca4d | ||
![]() |
84a9656889 | ||
![]() |
553df3da32 | ||
![]() |
04d4a19beb | ||
![]() |
3b9c53b2a2 | ||
![]() |
6f9e3db1d1 | ||
![]() |
d3eb876266 | ||
![]() |
3efb1001aa | ||
![]() |
a91c611bca | ||
![]() |
5b7abe8b4d | ||
![]() |
812af400f1 | ||
![]() |
2d3cf59b21 | ||
![]() |
e7eb9c511b | ||
![]() |
2759a8ed4d | ||
![]() |
073f438467 | ||
![]() |
f7856b27b0 | ||
![]() |
99c7d7cfdf | ||
![]() |
31871f9975 | ||
![]() |
c487b0266e | ||
![]() |
3b386799e4 | ||
![]() |
52a693a96c | ||
![]() |
a0cb8aff23 | ||
![]() |
d704b33196 | ||
![]() |
9738a5816e | ||
![]() |
327e3236ae | ||
![]() |
259dc4afc8 | ||
![]() |
54118273ff | ||
![]() |
e8ac6079b5 | ||
![]() |
a2c1665e31 | ||
![]() |
bba07596a6 | ||
![]() |
e99f8dc918 | ||
![]() |
6ceba86ff6 | ||
![]() |
2023d29fc9 | ||
![]() |
552a5f5cf2 | ||
![]() |
f1b55d57e5 | ||
![]() |
d7e8b142d0 | ||
![]() |
9ae5a207f6 | ||
![]() |
9846ee640f | ||
![]() |
1bf9256998 | ||
![]() |
c8ff56e0b0 | ||
![]() |
1c88ef9c37 | ||
![]() |
cf82b3a356 | ||
![]() |
56d6cbfd38 | ||
![]() |
d863cbe3b4 | ||
![]() |
4a0e927c23 | ||
![]() |
3d232c5369 | ||
![]() |
e721909a97 | ||
![]() |
15c711e4f4 | ||
![]() |
96f24d52a5 | ||
![]() |
f0dd5bc5f8 | ||
![]() |
c06facb80a | ||
![]() |
9e6f792b74 | ||
![]() |
f323beede6 | ||
![]() |
8508f7b0ff | ||
![]() |
23b51b499a | ||
![]() |
60b7ab90ff | ||
![]() |
69ac20dd7c | ||
![]() |
44d1d8c190 | ||
![]() |
006fc575fa | ||
![]() |
c0a30cff81 | ||
![]() |
cd98bfd9b4 | ||
![]() |
5f9a7b58bf | ||
![]() |
1bb1d061be | ||
![]() |
6bce915abb | ||
![]() |
a0eab2686f | ||
![]() |
d45f3594ce | ||
![]() |
7afdf07cbb | ||
![]() |
d47cbcb44a | ||
![]() |
fc01fa6486 | ||
![]() |
b5150cc1ac | ||
![]() |
07d6c6897a | ||
![]() |
444b30c2cb | ||
![]() |
a190ec10f4 | ||
![]() |
f4a4369392 | ||
![]() |
395ab5108e | ||
![]() |
af67beb082 | ||
![]() |
4b1ae5a6c5 | ||
![]() |
1a5752271c | ||
![]() |
960c4daa70 | ||
![]() |
031bfe5dcc | ||
![]() |
963e5fcf82 | ||
![]() |
edf209e09e | ||
![]() |
ac4a2f13c0 | ||
![]() |
1c61237dbf | ||
![]() |
726816cb6a | ||
![]() |
ed4e178a85 | ||
![]() |
70eb52f582 | ||
![]() |
9694c710b7 | ||
![]() |
ce4ac9dfcf | ||
![]() |
d2d0688883 | ||
![]() |
56f84c1859 | ||
![]() |
3da315ea5c | ||
![]() |
91363f465a | ||
![]() |
1e5ce71257 | ||
![]() |
1ee766c0e1 | ||
![]() |
d2304cdab9 | ||
![]() |
73a6da9451 | ||
![]() |
ac0aaba306 | ||
![]() |
eec9519bfd | ||
![]() |
213eb53557 | ||
![]() |
532feb55ff | ||
![]() |
686e062749 | ||
![]() |
f3f2370918 | ||
![]() |
2a422f797c | ||
![]() |
5df4f3a42a | ||
![]() |
4be6a54634 | ||
![]() |
77cf5fc1e3 | ||
![]() |
a4b061f8c7 | ||
![]() |
83390d92b8 | ||
![]() |
41e975cf55 | ||
![]() |
946a568a99 | ||
![]() |
567261806c | ||
![]() |
edafa5eea8 | ||
![]() |
fc79a88b35 | ||
![]() |
33489bbd79 | ||
![]() |
102fb84147 | ||
![]() |
017b935afd | ||
![]() |
fa5d113cdb | ||
![]() |
e559e1eab8 | ||
![]() |
a6fdb24ff5 | ||
![]() |
78b1813461 | ||
![]() |
1761822733 | ||
![]() |
7b03588b3a | ||
![]() |
06a5331b9c | ||
![]() |
ceb93fdbb5 | ||
![]() |
851df218da | ||
![]() |
c735efe55a | ||
![]() |
7f688bf409 | ||
![]() |
e773ab146a | ||
![]() |
423fc1c532 | ||
![]() |
1a5e261a8e | ||
![]() |
488125ed14 | ||
![]() |
49a6430ee2 | ||
![]() |
fedd6ae495 | ||
![]() |
527fc6a7be | ||
![]() |
9b0b571506 | ||
![]() |
baebcfcfaf | ||
![]() |
90f62f1fc9 | ||
![]() |
b0cc7a2275 | ||
![]() |
0781f92135 | ||
![]() |
3f0014b569 | ||
![]() |
49d62d30cf | ||
![]() |
2ea2b91ee1 | ||
![]() |
e75eaa7239 | ||
![]() |
fa1b93bea9 | ||
![]() |
511218914b | ||
![]() |
f60eb9a510 | ||
![]() |
9e52e73e9b | ||
![]() |
6a31578c1e | ||
![]() |
50bce34b67 | ||
![]() |
14b2c5cc58 | ||
![]() |
f12e74c20f | ||
![]() |
01578cb1bd | ||
![]() |
33679d6957 | ||
![]() |
b9cd7f2d83 | ||
![]() |
1df319b232 | ||
![]() |
516547dcd9 | ||
![]() |
dbbac62a84 | ||
![]() |
389c1f1ad1 | ||
![]() |
76001ce58c | ||
![]() |
38c89cf203 | ||
![]() |
c888da1c96 | ||
![]() |
2195a6f0dd | ||
![]() |
13ce2e0abc | ||
![]() |
64d2efaf70 | ||
![]() |
169eab1128 | ||
![]() |
51002084f8 | ||
![]() |
c7fcdace6c | ||
![]() |
98f480cc28 | ||
![]() |
09a51f162e | ||
![]() |
366754fc57 | ||
![]() |
fb044c4b6a | ||
![]() |
ffc80c11c7 | ||
![]() |
8591a0be77 | ||
![]() |
9274ef995f | ||
![]() |
3a215a0268 | ||
![]() |
b99ed85fb9 | ||
![]() |
b647142cf5 | ||
![]() |
00a9d14f34 | ||
![]() |
f4c0403f12 | ||
![]() |
1a57048f62 | ||
![]() |
9a7e7a2d28 | ||
![]() |
106686a212 | ||
![]() |
4d7868529d | ||
![]() |
d358ce52f2 | ||
![]() |
a5b4dc8ba9 | ||
![]() |
2de7e50511 | ||
![]() |
8642306672 | ||
![]() |
26892981b9 | ||
![]() |
af11bb9aa2 | ||
![]() |
b936bb3369 | ||
![]() |
713d9f587c | ||
![]() |
59218e28d0 | ||
![]() |
32b310e31f | ||
![]() |
5fe328beae | ||
![]() |
5d061e7db7 | ||
![]() |
d02ce16125 | ||
![]() |
7d8b0cbf36 | ||
![]() |
fb80cc0cfe | ||
![]() |
4db3562350 | ||
![]() |
56b5017b50 | ||
![]() |
1cc171ce4c | ||
![]() |
92ef16ff00 | ||
![]() |
f61292e533 | ||
![]() |
d548e489cd |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -33,3 +33,6 @@ cimgui/cimgui.v12.suo
|
||||
cimgui/Release/
|
||||
.idea
|
||||
CMakeLists.txt
|
||||
cimgui/.vs/
|
||||
cimgui/cimgui.vcxproj.user
|
||||
cimgui/x64/
|
||||
|
@@ -7,5 +7,5 @@ compiler:
|
||||
- gcc
|
||||
- clang
|
||||
|
||||
script:
|
||||
- make -C cimgui
|
||||
script:
|
||||
make
|
||||
|
36
CMakeLists.txt
Normal file
36
CMakeLists.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
Project(cimgui)
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
#general settings
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
set(IMGUI_STATIC "no" CACHE STRING "Build as a static library")
|
||||
|
||||
#add library and link
|
||||
if (IMGUI_STATIC)
|
||||
add_library(cimgui STATIC ${IMGUI_SOURCES})
|
||||
else (IMGUI_STATIC)
|
||||
add_library(cimgui SHARED ${IMGUI_SOURCES})
|
||||
endif (IMGUI_STATIC)
|
||||
|
||||
target_link_libraries(cimgui ${IMGUI_LIBRARIES})
|
||||
set_target_properties(cimgui PROPERTIES PREFIX "")
|
||||
|
||||
#install
|
||||
install(TARGETS cimgui
|
||||
RUNTIME DESTINATION .
|
||||
LIBRARY DESTINATION .
|
||||
ARCHIVE DESTINATION .
|
||||
)
|
63
Makefile
Normal file
63
Makefile
Normal file
@@ -0,0 +1,63 @@
|
||||
#
|
||||
# Cross Platform Makefile
|
||||
# Compatible with Ubuntu 14.04.1 and macOS
|
||||
|
||||
OBJS = cimgui.o
|
||||
OBJS += ./imgui/imgui.o
|
||||
OBJS += ./imgui/imgui_draw.o
|
||||
OBJS += ./imgui/imgui_demo.o
|
||||
OBJS += ./imgui/imgui_widgets.o
|
||||
|
||||
CXXFLAGS=-O2
|
||||
|
||||
UNAME_S := $(shell uname -s)
|
||||
|
||||
ifeq ($(UNAME_S), Linux) #LINUX
|
||||
ECHO_MESSAGE = "Linux"
|
||||
|
||||
OUTPUTNAME = cimgui.so
|
||||
CXXFLAGS += -I./imgui/
|
||||
CXXFLAGS += -Wall
|
||||
CXXFLAGS += -shared -fPIC
|
||||
CFLAGS = $(CXXFLAGS)
|
||||
endif
|
||||
|
||||
ifeq ($(UNAME_S), Darwin) #APPLE
|
||||
ECHO_MESSAGE = "macOS"
|
||||
|
||||
OUTPUTNAME = cimgui.dylib
|
||||
CXXFLAGS += -I/usr/local/include
|
||||
CXXFLAGS += -Wall
|
||||
LINKFLAGS = -dynamiclib
|
||||
CFLAGS = $(CXXFLAGS)
|
||||
endif
|
||||
|
||||
ifeq ($(OS), Windows_NT)
|
||||
ECHO_MESSAGE = "Windows"
|
||||
|
||||
OUTPUTNAME = cimgui.dll
|
||||
CXXFLAGS += -I./imgui/
|
||||
CXXFLAGS += -Wall
|
||||
CXXFLAGS += -shared
|
||||
LINKFLAGS = -limm32
|
||||
CFLAGS = $(CXXFLAGS)
|
||||
endif
|
||||
|
||||
.cpp.o:
|
||||
$(CXX) $(CXXFLAGS) -c -o $@ $<
|
||||
|
||||
all:$(OUTPUTNAME)
|
||||
@echo Build complete for $(ECHO_MESSAGE)
|
||||
|
||||
$(OUTPUTNAME):$(OBJS)
|
||||
$(CXX) -o $(OUTPUTNAME) $(OBJS) $(CXXFLAGS) $(LINKFLAGS)
|
||||
|
||||
clean:
|
||||
rm -f $(OBJS)
|
||||
|
||||
fclean: clean
|
||||
rm -f $(OUTPUTNAME)
|
||||
|
||||
re: fclean all
|
||||
|
||||
.PHONY: all clean fclean re
|
90
README.md
90
README.md
@@ -1,19 +1,87 @@
|
||||
# cimgui [](https://travis-ci.org/Extrawurst/cimgui)
|
||||
# cimgui [](https://travis-ci.org/sonoro1234/cimgui)
|
||||
|
||||

|
||||

|
||||
|
||||
This is a thin c-api wrapper for the excellent C++ intermediate gui [imgui](https://github.com/ocornut/imgui).
|
||||
Most of the functions have wrapper counterparts now, missing stuff is added on a as-needed basis (PR welcome).
|
||||
This library is intended as a intermediate layer to be able to use imgui from other languages that can interface with C (like D - see [D-binding](https://github.com/Extrawurst/DerelictImgui))
|
||||
This is a thin c-api wrapper programmatically generated for the excellent C++ immediate mode gui [Dear ImGui](https://github.com/ocornut/imgui).
|
||||
All imgui.h functions are programmatically wrapped.
|
||||
Generated files are: `cimgui.cpp`, `cimgui.h` for C compilation. Also for helping in bindings creation, `definitions.lua` with function definition information and `structs_and_enums.lua`.
|
||||
This library is intended as a intermediate layer to be able to use Dear ImGui from other languages that can interface with C (like D - see [D-binding](https://github.com/Extrawurst/DerelictImgui))
|
||||
|
||||
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.41 of imgui](https://github.com/ocornut/imgui/releases/tag/v1.41)
|
||||
* does not compile with pure C compiler yet (for writing bindings in languages that are able to use C-ABI it is enough though, see D-bindings)
|
||||
* currently this wrapper is based on version [1.71 of Dear ImGui]
|
||||
* only functions, structs and enums from imgui.h are wrapped.
|
||||
* if you are interested in imgui implementations you should look LuaJIT-ImGui project.
|
||||
* overloaded function names try to be the most compatible with traditional cimgui names. So all naming is algorithmic except for those names that were in conflict with widely used cimgui names and were thus coded in a table (https://github.com/cimgui/cimgui/blob/master/generator/generator.lua#L58). 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
|
||||
* compile
|
||||
* using makefile on linux/macOS/mingw (Or use CMake to generate project)
|
||||
* or as in https://github.com/sonoro1234/LuaJIT-ImGui/tree/master_auto_implementations/build
|
||||
|
||||
# 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 can use also a C++ compiler for doing preprocessing: gcc (In windows MinGW-W64-builds for example), clang or cl (MSVC) or not use a compiler (experimental nocompiler option) at all. (this repo was done with gcc)
|
||||
* update `imgui` folder to the version you desire.
|
||||
* edit `generator/generator2.bat` (or make a .sh version and please PR) to choose between gcc, clang, cl or nocompiler. Run it with gcc, clang or cl and LuaJIT on your PATH.
|
||||
* as a result some files are generated: `cimgui.cpp` and `cimgui.h` for compiling and some lua/json files with information about the binding: `definitions.json` with function info, `structs_and_enums.json` with struct and enum info, `impl_definitions.json` with functions from the implementations info.
|
||||
|
||||
# generate binding
|
||||
* C interface is exposed by cimgui.h when you define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
* with your prefered language you can use the lua or json files generated as in:
|
||||
* https://github.com/sonoro1234/LuaJIT-ImGui/blob/master_auto_implementations/lua/build.bat (with lua code generation in https://github.com/sonoro1234/LuaJIT-ImGui/blob/master_auto_implementations/lua/class_gen.lua)
|
||||
* https://github.com/mellinoe/ImGui.NET/tree/autogen/src/CodeGenerator
|
||||
### definitions description
|
||||
* It is a collection in which key is the cimgui name that would result without overloadings and the value is an array of overloadings (may be only one overloading)
|
||||
* Each overloading is a collection. Some relevant keys and values are:
|
||||
* stname : the name of the struct the function belongs to (will be "" if it is top level in ImGui namespace)
|
||||
* ov_cimguiname : the overloaded cimgui name (if absent it would be taken from cimguiname)
|
||||
* cimguiname : the name without overloading (this should be used if there is not ov_cimguiname)
|
||||
* ret : the return type
|
||||
* retref : is setted if original return type is a reference. (will be a pointer in cimgui)
|
||||
* argsT : an array of collections (each one with type: argument type and name: the argument name)
|
||||
* args : a string of argsT concatenated and separated by commas
|
||||
* 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)
|
||||
* isvararg : is setted if some argument is a vararg
|
||||
* constructor : is setted if the function is a constructor for a class
|
||||
* destructor : is setted if the function is a destructor for a class
|
||||
* templated : is setted if the function belongs to a templated class (ImVector)
|
||||
* templatedgen: is setted if the function belongs to a struct generated from template (ImVector_ImWchar)
|
||||
* nonUDT : if present can be 1 or 2 (explained meaning in usage) if return type was a user defined type
|
||||
### structs_and_enums description
|
||||
* Is is a collection with two items:
|
||||
* under key enums we get the enums collection in which each key is the enum tagname and the value is an array of the ordered values represented as a collection with keys
|
||||
* name : the name of this enum value
|
||||
* value : the C string
|
||||
* calc_value : the numeric value corresponding to value
|
||||
* under key structs we get the structs collection in which the key is the struct name and the value is an array of the struct members. Each one given as a collection with keys
|
||||
* type : the type of the struct member
|
||||
* template_type : if type has a template argument (as ImVector) here will be
|
||||
* name : the name of the struct member
|
||||
# usage
|
||||
|
||||
* clone
|
||||
* make using makefile on linux/osx (linux makefile not tested)
|
||||
* 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_`
|
||||
* 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`
|
||||
* methods have the same parameter list and return values (where possible)
|
||||
* 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 another function with the name `function_name_nonUDT` is generated accepting a pointer to the UDT type as the first argument.
|
||||
* also is generated `function_name_nonUDT2` which instead of returning the UDT type returns a simple version (without functions) called `UDTType_Simple` (`ImVec2_Simple` for `ImVec2`)
|
||||
|
||||
# example bindings based on cimgui
|
||||
|
||||
* [DerelictImgui](https://github.com/Extrawurst/DerelictImgui)
|
||||
* [ImGui.NET](https://github.com/mellinoe/ImGui.NET)
|
||||
* [ImGuiCS](https://github.com/conatuscreative/ImGuiCS)
|
||||
* [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)
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 65 KiB |
4518
cimgui.cpp
Normal file
4518
cimgui.cpp
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,43 +0,0 @@
|
||||
#
|
||||
# Cross Platform Makefile
|
||||
# Compatible with Ubuntu 14.04.1 and Mac OS X
|
||||
|
||||
OBJS = cimgui.o
|
||||
OBJS += fontAtlas.o
|
||||
OBJS += drawList.o
|
||||
#OBJS += test.o
|
||||
OBJS += ../imgui/imgui.o
|
||||
|
||||
UNAME_S := $(shell uname -s)
|
||||
|
||||
ifeq ($(UNAME_S), Linux) #LINUX
|
||||
ECHO_MESSAGE = "Linux"
|
||||
|
||||
OUTPUTNAME = cimgui.so
|
||||
CXXFLAGS = -I../../
|
||||
CXXFLAGS += -Wall
|
||||
CXXFLAGS += -shared -fPIC
|
||||
CFLAGS = $(CXXFLAGS)
|
||||
endif
|
||||
|
||||
ifeq ($(UNAME_S), Darwin) #APPLE
|
||||
ECHO_MESSAGE = "Mac OS X"
|
||||
|
||||
OUTPUTNAME = cimgui.dylib
|
||||
CXXFLAGS = -I/usr/local/include
|
||||
CXXFLAGS += -Wall
|
||||
LINKFLAGS = -dynamiclib
|
||||
CFLAGS = $(CXXFLAGS)
|
||||
endif
|
||||
|
||||
.cpp.o:
|
||||
$(CXX) $(CXXFLAGS) -c -o $@ $<
|
||||
|
||||
all:imgui_example
|
||||
@echo Build complete for $(ECHO_MESSAGE)
|
||||
|
||||
imgui_example:$(OBJS)
|
||||
$(CXX) -o $(OUTPUTNAME) $(OBJS) $(CXXFLAGS) $(LINKFLAGS)
|
||||
|
||||
clean:
|
||||
rm $(OBJS)
|
1360
cimgui/cimgui.cpp
1360
cimgui/cimgui.cpp
File diff suppressed because it is too large
Load Diff
338
cimgui/cimgui.h
338
cimgui/cimgui.h
@@ -1,338 +0,0 @@
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#if defined _WIN32 || defined __CYGWIN__
|
||||
#define API __declspec(dllexport)
|
||||
#define snprintf sprintf_s
|
||||
#else
|
||||
#define API
|
||||
#endif
|
||||
|
||||
#if defined __cplusplus
|
||||
#define EXTERN extern "C"
|
||||
#else
|
||||
#include <stdarg.h>
|
||||
#include <stdbool.h>
|
||||
#define EXTERN extern
|
||||
#endif
|
||||
|
||||
#define CIMGUI_API EXTERN API
|
||||
#define CONST const
|
||||
|
||||
typedef int ImGuiWindowFlags;
|
||||
typedef int ImGuiSetCond;
|
||||
typedef int ImGuiColorEditMode;
|
||||
|
||||
CIMGUI_API ImGuiIO* ig_GetIO();
|
||||
CIMGUI_API ImGuiStyle* ig_GetStyle();
|
||||
CIMGUI_API void ig_NewFrame();
|
||||
CIMGUI_API void ig_Render();
|
||||
CIMGUI_API void ig_Shutdown();
|
||||
CIMGUI_API void ig_ShowUserGuide();
|
||||
CIMGUI_API void ig_ShowStyleEditor(ImGuiStyle* ref);
|
||||
CIMGUI_API void ig_ShowTestWindow(bool* opened);
|
||||
CIMGUI_API void ig_ShowMetricsWindow(bool* opened);
|
||||
|
||||
// Window
|
||||
CIMGUI_API bool ig_Begin(CONST char* name, bool* p_opened, ImGuiWindowFlags flags);
|
||||
CIMGUI_API bool ig_Begin2(CONST char* name, bool* p_opened, CONST struct ImVec2 size_on_first_use, float bg_alpha, ImGuiWindowFlags flags);
|
||||
CIMGUI_API void ig_End();
|
||||
CIMGUI_API bool ig_BeginChild(CONST char* str_id, CONST struct ImVec2 size, bool border, ImGuiWindowFlags extra_flags);
|
||||
CIMGUI_API bool ig_BeginChildEx(ImGuiID id, CONST struct ImVec2 size, bool border, ImGuiWindowFlags extra_flags);
|
||||
CIMGUI_API void ig_EndChild();
|
||||
CIMGUI_API void ig_GetContentRegionMax(struct ImVec2* out);
|
||||
CIMGUI_API void ig_GetWindowContentRegionMin(struct ImVec2* out);
|
||||
CIMGUI_API void ig_GetWindowContentRegionMax(struct ImVec2* out);
|
||||
CIMGUI_API ImDrawList* ig_GetWindowDrawList();
|
||||
CIMGUI_API ImFont* ig_GetWindowFont();
|
||||
CIMGUI_API float ig_GetWindowFontSize();
|
||||
CIMGUI_API void ig_SetWindowFontScale(float scale);
|
||||
CIMGUI_API void ig_GetWindowPos(struct ImVec2* out);
|
||||
CIMGUI_API void ig_GetWindowSize(struct ImVec2* out);
|
||||
CIMGUI_API float ig_GetWindowWidth();
|
||||
CIMGUI_API bool ig_IsWindowCollapsed();
|
||||
|
||||
CIMGUI_API void ig_SetNextWindowPos(CONST struct ImVec2 pos, ImGuiSetCond cond);
|
||||
CIMGUI_API void ig_SetNextWindowPosCenter(ImGuiSetCond cond);
|
||||
CIMGUI_API void ig_SetNextWindowSize(CONST struct ImVec2 size, ImGuiSetCond cond);
|
||||
CIMGUI_API void ig_SetNextWindowCollapsed(bool collapsed, ImGuiSetCond cond);
|
||||
CIMGUI_API void ig_SetNextWindowFocus();
|
||||
CIMGUI_API void ig_SetWindowPos(CONST struct ImVec2 pos, ImGuiSetCond cond);
|
||||
CIMGUI_API void ig_SetWindowSize(CONST struct ImVec2 size, ImGuiSetCond cond);
|
||||
CIMGUI_API void ig_SetWindowCollapsed(bool collapsed, ImGuiSetCond cond);
|
||||
CIMGUI_API void ig_SetWindowFocus();
|
||||
CIMGUI_API void ig_SetWindowPosByName(CONST char* name, CONST struct ImVec2 pos, ImGuiSetCond cond);
|
||||
CIMGUI_API void ig_SetWindowSize2(CONST char* name, CONST struct ImVec2 size, ImGuiSetCond cond);
|
||||
CIMGUI_API void ig_SetWindowCollapsed2(CONST char* name, bool collapsed, ImGuiSetCond cond);
|
||||
CIMGUI_API void ig_SetWindowFocus2(CONST char* name);
|
||||
|
||||
CIMGUI_API float ig_GetScrollY();
|
||||
CIMGUI_API float ig_GetScrollMaxY();
|
||||
CIMGUI_API void ig_SetScrollY(float scroll_y);
|
||||
CIMGUI_API void ig_SetScrollHere(float center_y_ratio = 0.5f);
|
||||
CIMGUI_API void ig_SetScrollFromPosY(float pos_y, float center_y_ratio = 0.5f);
|
||||
CIMGUI_API void ig_SetKeyboardFocusHere(int offset);
|
||||
CIMGUI_API void ig_SetStateStorage(ImGuiStorage* tree);
|
||||
CIMGUI_API ImGuiStorage* ig_GetStateStorage();
|
||||
|
||||
// Parameters stacks (shared)
|
||||
CIMGUI_API void ig_PushFont(ImFont* font);
|
||||
CIMGUI_API void ig_PopFont();
|
||||
CIMGUI_API void ig_PushStyleColor(ImGuiCol idx, CONST struct ImVec4 col);
|
||||
CIMGUI_API void ig_PopStyleColor(int count);
|
||||
CIMGUI_API void ig_PushStyleVar(ImGuiStyleVar idx, float val);
|
||||
CIMGUI_API void ig_PushStyleVarVec(ImGuiStyleVar idx, CONST struct ImVec2 val);
|
||||
CIMGUI_API void ig_PopStyleVar(int count);
|
||||
|
||||
// Parameters stacks (current window)
|
||||
CIMGUI_API void ig_PushItemWidth(float item_width);
|
||||
CIMGUI_API void ig_PopItemWidth();
|
||||
CIMGUI_API float ig_CalcItemWidth();
|
||||
CIMGUI_API void ig_PushAllowKeyboardFocus(bool v);
|
||||
CIMGUI_API void ig_PopAllowKeyboardFocus();
|
||||
CIMGUI_API void ig_PushTextWrapPos(float wrap_pos_x);
|
||||
CIMGUI_API void ig_PopTextWrapPos();
|
||||
CIMGUI_API void ig_PushButtonRepeat(bool repeat);
|
||||
CIMGUI_API void ig_PopButtonRepeat();
|
||||
|
||||
// Layout
|
||||
CIMGUI_API void ig_BeginGroup();
|
||||
CIMGUI_API void ig_EndGroup();
|
||||
CIMGUI_API void ig_Separator();
|
||||
CIMGUI_API void ig_SameLine(int column_x, int spacing_w);
|
||||
CIMGUI_API void ig_Spacing();
|
||||
CIMGUI_API void ig_Dummy(CONST ImVec2* size);
|
||||
CIMGUI_API void ig_Indent();
|
||||
CIMGUI_API void ig_Unindent();
|
||||
CIMGUI_API void ig_Columns(int count, CONST char* id, bool border);
|
||||
CIMGUI_API void ig_NextColumn();
|
||||
CIMGUI_API int ig_GetColumnIndex();
|
||||
CIMGUI_API float ig_GetColumnOffset(int column_index);
|
||||
CIMGUI_API void ig_SetColumnOffset(int column_index, float offset_x);
|
||||
CIMGUI_API float ig_GetColumnWidth(int column_index);
|
||||
CIMGUI_API int ig_GetColumnsCount();
|
||||
CIMGUI_API void ig_GetCursorPos(struct ImVec2* pOut);
|
||||
CIMGUI_API float ig_GetCursorPosX();
|
||||
CIMGUI_API float ig_GetCursorPosY();
|
||||
CIMGUI_API void ig_SetCursorPos(CONST struct ImVec2 pos);
|
||||
CIMGUI_API void ig_SetCursorPosX(float x);
|
||||
CIMGUI_API void ig_SetCursorPosY(float y);
|
||||
CIMGUI_API void ig_GetCursorStartPos(struct ImVec2* pOut);
|
||||
CIMGUI_API void ig_GetCursorScreenPos(struct ImVec2* pOut);
|
||||
CIMGUI_API void ig_SetCursorScreenPos(CONST struct ImVec2 pos);
|
||||
CIMGUI_API void ig_AlignFirstTextHeightToWidgets();
|
||||
CIMGUI_API float ig_GetTextLineHeight();
|
||||
CIMGUI_API float ig_GetTextLineHeightWithSpacing();
|
||||
CIMGUI_API float ig_GetItemsLineHeightWithSpacing();
|
||||
|
||||
// ID scopes
|
||||
// If you are creating widgets in a loop you most likely want to push a unique identifier so ImGui can differentiate them
|
||||
// You can also use "##extra" within your widget name to distinguish them from each others (see 'Programmer Guide')
|
||||
CIMGUI_API void ig_PushIdStr(CONST char* str_id);
|
||||
CIMGUI_API void ig_PushIdStrRange(CONST char* str_begin, CONST char* str_end);
|
||||
CIMGUI_API void ig_PushIdPtr(CONST void* ptr_id);
|
||||
CIMGUI_API void ig_PushIdInt(CONST int int_id);
|
||||
CIMGUI_API void ig_PopId();
|
||||
CIMGUI_API ImGuiID ig_GetIdStr(CONST char* str_id);
|
||||
CIMGUI_API ImGuiID ig_GetIdStrRange(CONST char* str_begin,CONST char* str_end);
|
||||
CIMGUI_API ImGuiID ig_GetIdPtr(CONST void* ptr_id);
|
||||
|
||||
// Widgets
|
||||
CIMGUI_API void ig_Text(CONST char* fmt, ...);
|
||||
CIMGUI_API void ig_TextV(CONST char* fmt, va_list args);
|
||||
CIMGUI_API void ig_TextColored(CONST struct ImVec4 col, CONST char* fmt, ...);
|
||||
CIMGUI_API void ig_TextColoredV(CONST struct ImVec4 col, CONST char* fmt, va_list args);
|
||||
CIMGUI_API void ig_TextDisabled(CONST char* fmt, ...);
|
||||
CIMGUI_API void ig_TextDisabledV(CONST char* fmt, va_list args);
|
||||
CIMGUI_API void ig_TextWrapped(CONST char* fmt, ...);
|
||||
CIMGUI_API void ig_TextWrappedV(CONST char* fmt, va_list args);
|
||||
CIMGUI_API void ig_TextUnformatted(CONST char* text, CONST char* text_end);
|
||||
CIMGUI_API void ig_LabelText(CONST char* label, CONST char* fmt, ...);
|
||||
CIMGUI_API void ig_LabelTextV(CONST char* label, CONST char* fmt, va_list args);
|
||||
CIMGUI_API void ig_Bullet();
|
||||
CIMGUI_API void ig_BulletText(CONST char* fmt, ...);
|
||||
CIMGUI_API void ig_BulletTextV(CONST char* fmt, va_list args);
|
||||
CIMGUI_API bool ig_Button(CONST char* label, CONST struct ImVec2 size);
|
||||
CIMGUI_API bool ig_SmallButton(CONST char* label);
|
||||
CIMGUI_API bool ig_InvisibleButton(CONST char* str_id, CONST struct ImVec2 size);
|
||||
CIMGUI_API void ig_Image(ImTextureID user_texture_id, CONST struct ImVec2 size, CONST struct ImVec2 uv0, CONST struct ImVec2 uv1, CONST struct ImVec4 tint_col, CONST struct ImVec4 border_col);
|
||||
CIMGUI_API bool ig_ImageButton(ImTextureID user_texture_id, CONST struct ImVec2 size, CONST struct ImVec2 uv0, CONST struct ImVec2 uv1, int frame_padding, CONST struct ImVec4 bg_col, CONST struct ImVec4 tint_col);
|
||||
CIMGUI_API bool ig_CollapsingHeader(CONST char* label, CONST char* str_id, bool display_frame, bool default_open);
|
||||
CIMGUI_API bool ig_Checkbox(CONST char* label, bool* v);
|
||||
CIMGUI_API bool ig_CheckboxFlags(CONST char* label, unsigned int* flags, unsigned int flags_value);
|
||||
CIMGUI_API bool ig_RadioButtonBool(CONST char* label, bool active);
|
||||
CIMGUI_API bool ig_RadioButton(CONST char* label, int* v, int v_button);
|
||||
CIMGUI_API bool ig_Combo(CONST char* label, int* current_item, CONST char** items, int items_count, int height_in_items);
|
||||
CIMGUI_API bool ig_Combo2(CONST char* label, int* current_item, CONST char* items_separated_by_zeros, int height_in_items);
|
||||
CIMGUI_API bool ig_Combo3(CONST char* label, int* current_item, bool(*items_getter)(void* data, int idx, CONST char** out_text), void* data, int items_count, int height_in_items);
|
||||
CIMGUI_API bool ig_ColorButton(CONST struct ImVec4 col, bool small_height, bool outline_border);
|
||||
CIMGUI_API bool ig_ColorEdit3(CONST char* label, float col[3]);
|
||||
CIMGUI_API bool ig_ColorEdit4(CONST char* label, float col[4], bool show_alpha);
|
||||
CIMGUI_API void ig_ColorEditMode(ImGuiColorEditMode mode);
|
||||
CIMGUI_API void ig_PlotLines(CONST char* label, CONST float* values, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, struct ImVec2 graph_size, int stride);
|
||||
CIMGUI_API void ig_PlotLines2(CONST char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, struct ImVec2 graph_size);
|
||||
CIMGUI_API void ig_PlotHistogram(CONST char* label, CONST float* values, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, struct ImVec2 graph_size, int stride);
|
||||
CIMGUI_API void ig_PlotHistogram2(CONST char* label, float(*values_getter)(void* data, int idx), void* data, int values_count, int values_offset, CONST char* overlay_text, float scale_min, float scale_max, struct ImVec2 graph_size);
|
||||
|
||||
// Widgets: Sliders (tip: ctrl+click on a slider to input text)
|
||||
CIMGUI_API bool ig_SliderFloat(CONST char* label, float* v, float v_min, float v_max, CONST char* display_format, float power);
|
||||
CIMGUI_API bool ig_SliderFloat2(CONST char* label, float v[2], float v_min, float v_max, CONST char* display_format, float power);
|
||||
CIMGUI_API bool ig_SliderFloat3(CONST char* label, float v[3], float v_min, float v_max, CONST char* display_format, float power);
|
||||
CIMGUI_API bool ig_SliderFloat4(CONST char* label, float v[4], float v_min, float v_max, CONST char* display_format, float power);
|
||||
CIMGUI_API bool ig_SliderAngle(CONST char* label, float* v_rad, float v_degrees_min, float v_degrees_max);
|
||||
CIMGUI_API bool ig_SliderInt(CONST char* label, int* v, int v_min, int v_max, CONST char* display_format);
|
||||
CIMGUI_API bool ig_SliderInt2(CONST char* label, int v[2], int v_min, int v_max, CONST char* display_format);
|
||||
CIMGUI_API bool ig_SliderInt3(CONST char* label, int v[3], int v_min, int v_max, CONST char* display_format);
|
||||
CIMGUI_API bool ig_SliderInt4(CONST char* label, int v[4], int v_min, int v_max, CONST char* display_format);
|
||||
CIMGUI_API bool ig_VSliderFloat(CONST char* label, CONST struct ImVec2 size, float* v, float v_min, float v_max, CONST char* display_format, float power);
|
||||
CIMGUI_API bool ig_VSliderInt(CONST char* label, CONST struct ImVec2 size, int* v, int v_min, int v_max, CONST char* display_format);
|
||||
|
||||
// Widgets: Drags (tip: ctrl+click on a drag box to input text)
|
||||
CIMGUI_API bool ig_DragFloat(CONST char* label, float* v, float v_speed, float v_min, float v_max, CONST char* display_format, float power); // If v_max >= v_max we have no bound
|
||||
CIMGUI_API bool ig_DragFloat2(CONST char* label, float v[2], float v_speed, float v_min, float v_max, CONST char* display_format, float power);
|
||||
CIMGUI_API bool ig_DragFloat3(CONST char* label, float v[3], float v_speed, float v_min, float v_max, CONST char* display_format, float power);
|
||||
CIMGUI_API bool ig_DragFloat4(CONST char* label, float v[4], float v_speed, float v_min, float v_max, CONST char* display_format, float power);
|
||||
CIMGUI_API bool ig_DragFloatRange2(const char* label, float* v_current_min, float* v_current_max, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const char* display_format = "%.3f", const char* display_format_max = NULL, float power = 1.0f);
|
||||
CIMGUI_API bool ig_DragInt(CONST char* label, int* v, float v_speed, int v_min, int v_max, CONST char* display_format); // If v_max >= v_max we have no bound
|
||||
CIMGUI_API bool ig_DragInt2(CONST char* label, int v[2], float v_speed, int v_min, int v_max, CONST char* display_format);
|
||||
CIMGUI_API bool ig_DragInt3(CONST char* label, int v[3], float v_speed, int v_min, int v_max, CONST char* display_format);
|
||||
CIMGUI_API bool ig_DragInt4(CONST char* label, int v[4], float v_speed, int v_min, int v_max, CONST char* display_format);
|
||||
CIMGUI_API bool ig_DragIntRange2(const char* label, int* v_current_min, int* v_current_max, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const char* display_format = "%.0f", const char* display_format_max = NULL);
|
||||
|
||||
|
||||
// Widgets: Input
|
||||
CIMGUI_API bool ig_InputText(CONST char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback, void* user_data);
|
||||
CIMGUI_API bool ig_InputTextMultiline(CONST char* label, char* buf, size_t buf_size, CONST ImVec2 size, ImGuiInputTextFlags flags, ImGuiTextEditCallback callback, void* user_data);
|
||||
CIMGUI_API bool ig_InputFloat(CONST char* label, float* v, float step, float step_fast, int decimal_precision, ImGuiInputTextFlags extra_flags);
|
||||
CIMGUI_API bool ig_InputFloat2(CONST char* label, float v[2], int decimal_precision, ImGuiInputTextFlags extra_flags);
|
||||
CIMGUI_API bool ig_InputFloat3(CONST char* label, float v[3], int decimal_precision, ImGuiInputTextFlags extra_flags);
|
||||
CIMGUI_API bool ig_InputFloat4(CONST char* label, float v[4], int decimal_precision, ImGuiInputTextFlags extra_flags);
|
||||
CIMGUI_API bool ig_InputInt(CONST char* label, int* v, int step, int step_fast, ImGuiInputTextFlags extra_flags);
|
||||
CIMGUI_API bool ig_InputInt2(CONST char* label, int v[2], ImGuiInputTextFlags extra_flags);
|
||||
CIMGUI_API bool ig_InputInt3(CONST char* label, int v[3], ImGuiInputTextFlags extra_flags);
|
||||
CIMGUI_API bool ig_InputInt4(CONST char* label, int v[4], ImGuiInputTextFlags extra_flags);
|
||||
|
||||
// Widgets: Trees
|
||||
CIMGUI_API bool ig_TreeNode(CONST char* str_label_id);
|
||||
CIMGUI_API bool ig_TreeNodeStr(CONST char* str_id, CONST char* fmt, ...);
|
||||
CIMGUI_API bool ig_TreeNodePtr(CONST void* ptr_id, CONST char* fmt, ...);
|
||||
CIMGUI_API bool ig_TreeNodeStrV(CONST char* str_id, CONST char* fmt, va_list args);
|
||||
CIMGUI_API bool ig_TreeNodePtrV(CONST void* ptr_id, CONST char* fmt, va_list args);
|
||||
CIMGUI_API void ig_TreePushStr(CONST char* str_id);
|
||||
CIMGUI_API void ig_TreePushPtr(CONST void* ptr_id);
|
||||
CIMGUI_API void ig_TreePop();
|
||||
CIMGUI_API void ig_SetNextTreeNodeOpened(bool opened, ImGuiSetCond cond);
|
||||
|
||||
// Widgets: Selectable / Lists
|
||||
CIMGUI_API bool ig_Selectable(CONST char* label, bool selected, ImGuiSelectableFlags flags, CONST ImVec2 size);
|
||||
CIMGUI_API bool ig_SelectableEx(CONST char* label, bool* p_selected, ImGuiSelectableFlags flags, CONST ImVec2 size);
|
||||
CIMGUI_API bool ig_ListBox(CONST char* label, int* current_item, CONST char** items, int items_count, int height_in_items);
|
||||
CIMGUI_API bool ig_ListBox2(CONST char* label, int* current_item, bool(*items_getter)(void* data, int idx, CONST char** out_text), void* data, int items_count, int height_in_items);
|
||||
CIMGUI_API bool ig_ListBoxHeader(CONST char* label, CONST struct ImVec2 size);
|
||||
CIMGUI_API bool ig_ListBoxHeader2(CONST char* label, int items_count, int height_in_items);
|
||||
CIMGUI_API void ig_ListBoxFooter();
|
||||
|
||||
// Widgets: Value() Helpers. Output single value in "name: value" format (tip: freely declare your own within the ImGui namespace!)
|
||||
CIMGUI_API void ig_ValueBool(CONST char* prefix, bool b);
|
||||
CIMGUI_API void ig_ValueInt(CONST char* prefix, int v);
|
||||
CIMGUI_API void ig_ValueUInt(CONST char* prefix, unsigned int v);
|
||||
CIMGUI_API void ig_ValueFloat(CONST char* prefix, float v, CONST char* float_format);
|
||||
CIMGUI_API void ig_Color(CONST char* prefix, CONST struct ImVec4 v);
|
||||
CIMGUI_API void ig_Color2(CONST char* prefix, unsigned int v);
|
||||
|
||||
// Tooltip
|
||||
CIMGUI_API void ig_SetTooltip(CONST char* fmt, ...);
|
||||
CIMGUI_API void ig_SetTooltipV(CONST char* fmt, va_list args);
|
||||
CIMGUI_API void ig_BeginTooltip();
|
||||
CIMGUI_API void ig_EndTooltip();
|
||||
|
||||
// Widgets: Menus
|
||||
CIMGUI_API bool ig_BeginMainMenuBar();
|
||||
CIMGUI_API void ig_EndMainMenuBar();
|
||||
CIMGUI_API bool ig_BeginMenuBar();
|
||||
CIMGUI_API void ig_EndMenuBar();
|
||||
CIMGUI_API bool ig_BeginMenu(CONST char* label, bool enabled);
|
||||
CIMGUI_API void ig_EndMenu();
|
||||
CIMGUI_API bool ig_MenuItem(CONST char* label, CONST char* shortcut, bool selected, bool enabled);
|
||||
CIMGUI_API bool ig_MenuItemPtr(CONST char* label, CONST char* shortcut, bool* p_selected, bool enabled);
|
||||
|
||||
// Popup
|
||||
CIMGUI_API void ig_OpenPopup(CONST char* str_id);
|
||||
CIMGUI_API bool ig_BeginPopup(CONST char* str_id);
|
||||
CIMGUI_API bool ig_BeginPopupModal(CONST char* name, bool* p_opened, ImGuiWindowFlags extra_flags);
|
||||
CIMGUI_API bool ig_BeginPopupContextItem(CONST char* str_id, int mouse_button);
|
||||
CIMGUI_API bool ig_BeginPopupContextWindow(bool also_over_items, CONST char* str_id, int mouse_button);
|
||||
CIMGUI_API bool ig_BeginPopupContextVoid(CONST char* str_id, int mouse_button);
|
||||
CIMGUI_API void ig_EndPopup();
|
||||
CIMGUI_API void ig_CloseCurrentPopup();
|
||||
|
||||
// Logging: all text output from interface is redirected to tty/file/clipboard. Tree nodes are automatically opened.
|
||||
CIMGUI_API void ig_LogToTTY(int max_depth);
|
||||
CIMGUI_API void ig_LogToFile(int max_depth, CONST char* filename);
|
||||
CIMGUI_API void ig_LogToClipboard(int max_depth);
|
||||
CIMGUI_API void ig_LogFinish();
|
||||
CIMGUI_API void ig_LogButtons();
|
||||
CIMGUI_API void ig_LogText(CONST char* fmt, ...);
|
||||
|
||||
// Utilities
|
||||
CIMGUI_API bool ig_IsItemHovered();
|
||||
CIMGUI_API bool ig_IsItemHoveredRect();
|
||||
CIMGUI_API bool ig_IsItemActive();
|
||||
CIMGUI_API bool ig_IsItemVisible();
|
||||
CIMGUI_API bool ig_IsAnyItemHovered();
|
||||
CIMGUI_API bool ig_IsAnyItemActive();
|
||||
CIMGUI_API void ig_GetItemRectMin(struct ImVec2* pOut);
|
||||
CIMGUI_API void ig_GetItemRectMax(struct ImVec2* pOut);
|
||||
CIMGUI_API void ig_GetItemRectSize(struct ImVec2* pOut);
|
||||
CIMGUI_API bool ig_IsWindowHovered();
|
||||
CIMGUI_API bool ig_IsWindowFocused();
|
||||
CIMGUI_API bool ig_IsRootWindowFocused();
|
||||
CIMGUI_API bool ig_IsRootWindowOrAnyChildFocused();
|
||||
CIMGUI_API bool ig_IsRectVisible(CONST struct ImVec2 item_size);
|
||||
CIMGUI_API bool ig_IsPosHoveringAnyWindow(CONST struct ImVec2 pos);
|
||||
CIMGUI_API float ig_GetTime();
|
||||
CIMGUI_API int ig_GetFrameCount();
|
||||
CIMGUI_API CONST char* ig_GetStyleColName(ImGuiCol idx);
|
||||
CIMGUI_API void ig_CalcItemRectClosestPoint(struct ImVec2* pOut, CONST struct ImVec2 pos, bool on_edge, float outward);
|
||||
CIMGUI_API void ig_CalcTextSize(struct ImVec2* pOut, CONST char* text, CONST char* text_end, bool hide_text_after_double_hash, float wrap_width);
|
||||
CIMGUI_API void ig_CalcListClipping(int items_count, float items_height, int* out_items_display_start, int* out_items_display_end);
|
||||
|
||||
CIMGUI_API bool ig_BeginChildFrame(ImGuiID id, CONST struct ImVec2 size);
|
||||
CIMGUI_API void ig_EndChildFrame();
|
||||
|
||||
CIMGUI_API ImU32 ig_ColorConvertFloat4ToU32(CONST struct ImVec4 in);
|
||||
CIMGUI_API void ig_ColorConvertRGBtoHSV(float r, float g, float b, float* out_h, float* out_s, float* out_v);
|
||||
CIMGUI_API void ig_ColorConvertHSVtoRGB(float h, float s, float v, float* out_r, float* out_g, float* out_b);
|
||||
|
||||
CIMGUI_API bool ig_IsKeyDown(int key_index);
|
||||
CIMGUI_API bool ig_IsKeyPressed(int key_index, bool repeat);
|
||||
CIMGUI_API bool ig_IsKeyReleased(int key_index);
|
||||
CIMGUI_API bool ig_IsMouseDown(int button);
|
||||
CIMGUI_API bool ig_IsMouseClicked(int button, bool repeat);
|
||||
CIMGUI_API bool ig_IsMouseDoubleClicked(int button);
|
||||
CIMGUI_API bool ig_IsMouseReleased(int button);
|
||||
CIMGUI_API bool ig_IsMouseHoveringWindow();
|
||||
CIMGUI_API bool ig_IsMouseHoveringAnyWindow();
|
||||
CIMGUI_API bool ig_IsMouseHoveringRect(CONST struct ImVec2 rect_min, CONST struct ImVec2 rect_max);
|
||||
CIMGUI_API bool ig_IsMouseDragging(int button, float lock_threshold);
|
||||
CIMGUI_API void ig_GetMousePos(struct ImVec2* pOut);
|
||||
CIMGUI_API void ig_GetMouseDragDelta(struct ImVec2* pOut, int button, float lock_threshold);
|
||||
CIMGUI_API void ig_ResetMouseDragDelta(int button);
|
||||
CIMGUI_API ImGuiMouseCursor ig_GetMouseCursor();
|
||||
CIMGUI_API void ig_SetMouseCursor(ImGuiMouseCursor type);
|
||||
|
||||
// Internal state access - if you want to share ImGui state between modules (e.g. DLL) or allocate it yourself
|
||||
CIMGUI_API CONST char* ig_GetVersion();
|
||||
CIMGUI_API void* ig_GetInternalState();
|
||||
CIMGUI_API size_t ig_GetInternalStateSize();
|
||||
CIMGUI_API void ig_SetInternalState(void* state, bool construct);
|
||||
|
||||
CIMGUI_API void ImFontAtlas_GetTexDataAsRGBA32(ImFontAtlas* atlas, unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel);
|
||||
CIMGUI_API void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* atlas, unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel);
|
||||
CIMGUI_API void ImFontAtlas_SetTexID(ImFontAtlas* atlas, void* tex);
|
||||
CIMGUI_API ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* atlas);
|
||||
CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* atlas, CONST char* filename, float size_pixels, CONST ImWchar* glyph_ranges, int font_no);
|
||||
CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryTTF(ImFontAtlas* atlas, void* ttf_data, int ttf_size, float size_pixels, CONST ImWchar* glyph_ranges, int font_no);
|
||||
CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF(ImFontAtlas* atlas, CONST void* compressed_ttf_data, int compressed_ttf_size, float size_pixels, CONST ImWchar* glyph_ranges, int font_no);
|
||||
CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* atlas);
|
||||
CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* atlas);
|
@@ -1,22 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2013
|
||||
VisualStudioVersion = 12.0.31101.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cimgui", "cimgui.vcxproj", "{EDE48926-0595-4488-B1A0-32CA71397271}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Release|Win32 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{EDE48926-0595-4488-B1A0-32CA71397271}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{EDE48926-0595-4488-B1A0-32CA71397271}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{EDE48926-0595-4488-B1A0-32CA71397271}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{EDE48926-0595-4488-B1A0-32CA71397271}.Release|Win32.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
@@ -1,90 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{EDE48926-0595-4488-B1A0-32CA71397271}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>cimgui</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v120</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;CIMGUI_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CIMGUI_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\imgui\imgui.cpp" />
|
||||
<ClCompile Include="cimgui.cpp" />
|
||||
<ClCompile Include="drawList.cpp" />
|
||||
<ClCompile Include="fontAtlas.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="cimgui.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="cimgui.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\imgui\imgui.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="fontAtlas.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="drawList.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="cimgui.h">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
@@ -1,23 +0,0 @@
|
||||
|
||||
#include "../imgui/imgui.h"
|
||||
#include "cimgui.h"
|
||||
|
||||
EXTERN API int ImDrawList_GetVertexBufferSize(ImDrawList* list)
|
||||
{
|
||||
return list->vtx_buffer.size();
|
||||
}
|
||||
|
||||
EXTERN API ImDrawVert* ImDrawList_GetVertexPtr(ImDrawList* list, int n)
|
||||
{
|
||||
return &list->vtx_buffer[n];
|
||||
}
|
||||
|
||||
EXTERN API int ImDrawList_GetCmdSize(ImDrawList* list)
|
||||
{
|
||||
return list->commands.size();
|
||||
}
|
||||
|
||||
EXTERN API ImDrawCmd* ImDrawList_GetCmdPtr(ImDrawList* list, int n)
|
||||
{
|
||||
return &list->commands[n];
|
||||
}
|
@@ -1,48 +0,0 @@
|
||||
|
||||
#include "../imgui/imgui.h"
|
||||
#include "cimgui.h"
|
||||
|
||||
CIMGUI_API void ImFontAtlas_GetTexDataAsRGBA32(ImFontAtlas* atlas, unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel)
|
||||
{
|
||||
atlas->GetTexDataAsRGBA32(out_pixels, out_width, out_height, out_bytes_per_pixel);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* atlas, unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel)
|
||||
{
|
||||
atlas->GetTexDataAsAlpha8(out_pixels, out_width, out_height, out_bytes_per_pixel);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFontAtlas_SetTexID(ImFontAtlas* atlas, void* tex)
|
||||
{
|
||||
atlas->TexID = tex;
|
||||
}
|
||||
|
||||
CIMGUI_API ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->AddFontDefault();
|
||||
}
|
||||
|
||||
CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* atlas,CONST char* filename, float size_pixels, CONST ImWchar* glyph_ranges, int font_no)
|
||||
{
|
||||
return atlas->AddFontFromFileTTF(filename, size_pixels, glyph_ranges, font_no);
|
||||
}
|
||||
|
||||
CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryTTF(ImFontAtlas* atlas, void* ttf_data, int ttf_size, float size_pixels, CONST ImWchar* glyph_ranges, int font_no)
|
||||
{
|
||||
return atlas->AddFontFromMemoryTTF(ttf_data, ttf_size, size_pixels, glyph_ranges, font_no);
|
||||
}
|
||||
|
||||
CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF(ImFontAtlas* atlas, CONST void* compressed_ttf_data, int compressed_ttf_size, float size_pixels, CONST ImWchar* glyph_ranges, int font_no)
|
||||
{
|
||||
return atlas->AddFontFromMemoryCompressedTTF(compressed_ttf_data, compressed_ttf_size, size_pixels, glyph_ranges, font_no);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->ClearTexData();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->Clear();
|
||||
}
|
@@ -1,2 +0,0 @@
|
||||
|
||||
#include "cimgui.h"
|
55
generator/cimgui_template.cpp
Normal file
55
generator/cimgui_template.cpp
Normal file
@@ -0,0 +1,55 @@
|
||||
|
||||
#include "./imgui/imgui.h"
|
||||
#include "cimgui.h"
|
||||
|
||||
#include "./imgui/imgui_internal.h"
|
||||
|
||||
#include "auto_funcs.cpp"
|
||||
|
||||
|
||||
/////////////////////////////manual written functions
|
||||
CIMGUI_API void igLogText(CONST char *fmt, ...)
|
||||
{
|
||||
char buffer[256];
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
vsnprintf(buffer, 256, fmt, args);
|
||||
va_end(args);
|
||||
|
||||
ImGui::LogText("%s", buffer);
|
||||
}
|
||||
CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
buffer->appendfv(fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
CIMGUI_API float igGET_FLT_MAX()
|
||||
{
|
||||
return FLT_MAX;
|
||||
}
|
||||
CIMGUI_API void igColorConvertRGBtoHSV(float r,float g,float b,float *out_h,float *out_s,float *out_v)
|
||||
{
|
||||
ImGui::ColorConvertRGBtoHSV(r,g,b,*out_h,*out_s,*out_v);
|
||||
}
|
||||
CIMGUI_API void igColorConvertHSVtoRGB(float h,float s,float v,float *out_r,float *out_g,float *out_b)
|
||||
{
|
||||
ImGui::ColorConvertHSVtoRGB(h,s,v,*out_r,*out_g,*out_b);
|
||||
}
|
||||
|
||||
CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create()
|
||||
{
|
||||
return IM_NEW(ImVector<ImWchar>) ();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p)
|
||||
{
|
||||
IM_PLACEMENT_NEW(p) ImVector<ImWchar>();
|
||||
}
|
||||
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p)
|
||||
{
|
||||
p->~ImVector<ImWchar>();
|
||||
}
|
||||
|
92
generator/cimgui_template.h
Normal file
92
generator/cimgui_template.h
Normal file
@@ -0,0 +1,92 @@
|
||||
#ifndef CIMGUI_INCLUDED
|
||||
#define CIMGUI_INCLUDED
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#if defined _WIN32 || defined __CYGWIN__
|
||||
#ifdef CIMGUI_NO_EXPORT
|
||||
#define API
|
||||
#else
|
||||
#define API __declspec(dllexport)
|
||||
#endif
|
||||
#ifndef __GNUC__
|
||||
#define snprintf sprintf_s
|
||||
#endif
|
||||
#else
|
||||
#define API
|
||||
#endif
|
||||
|
||||
#if defined __cplusplus
|
||||
#define EXTERN extern "C"
|
||||
#else
|
||||
#include <stdarg.h>
|
||||
#include <stdbool.h>
|
||||
#define EXTERN extern
|
||||
#endif
|
||||
|
||||
#define CIMGUI_API EXTERN API
|
||||
#define CONST const
|
||||
|
||||
|
||||
#ifdef _MSC_VER
|
||||
typedef unsigned __int64 ImU64;
|
||||
#else
|
||||
//typedef unsigned long long ImU64;
|
||||
#endif
|
||||
|
||||
//UDT stuff
|
||||
typedef struct ImVec2_Simple { float x; float y; } ImVec2_Simple;
|
||||
typedef struct ImVec4_Simple { float x; float y; float z; float w;} ImVec4_Simple;
|
||||
typedef struct ImColor_Simple { ImVec4_Simple Value;} ImColor_Simple;
|
||||
|
||||
|
||||
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
#include "imgui_structs.h"
|
||||
#else
|
||||
struct GLFWwindow;
|
||||
struct SDL_Window;
|
||||
typedef union SDL_Event SDL_Event;
|
||||
inline ImVec2_Simple ImVec2ToSimple(ImVec2 vec)
|
||||
{
|
||||
ImVec2_Simple result;
|
||||
result.x = vec.x;
|
||||
result.y = vec.y;
|
||||
return result;
|
||||
}
|
||||
inline ImVec4_Simple ImVec4ToSimple(ImVec4 vec)
|
||||
{
|
||||
ImVec4_Simple result;
|
||||
result.x = vec.x;
|
||||
result.y = vec.y;
|
||||
result.z = vec.z;
|
||||
result.w = vec.w;
|
||||
return result;
|
||||
}
|
||||
inline ImColor_Simple ImColorToSimple(ImColor col)
|
||||
{
|
||||
ImColor_Simple result;
|
||||
result.Value = ImVec4ToSimple(col.Value);
|
||||
return result;
|
||||
}
|
||||
#endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
|
||||
#include "auto_funcs.h"
|
||||
|
||||
/////////////////////////hand written functions
|
||||
//no LogTextV
|
||||
CIMGUI_API void igLogText(CONST char *fmt, ...);
|
||||
//no appendfV
|
||||
CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...);
|
||||
//for getting FLT_MAX in bindings
|
||||
CIMGUI_API float igGET_FLT_MAX();
|
||||
//not const args from & to *
|
||||
CIMGUI_API void igColorConvertRGBtoHSV(float r,float g,float b,float *out_h,float *out_s,float *out_v);
|
||||
CIMGUI_API void igColorConvertHSVtoRGB(float h,float s,float v,float *out_r,float *out_g,float *out_b);
|
||||
|
||||
CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create();
|
||||
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
|
||||
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);
|
||||
#endif //CIMGUI_INCLUDED
|
||||
|
||||
|
||||
|
||||
|
1320
generator/cpp2ffi.lua
Normal file
1320
generator/cpp2ffi.lua
Normal file
File diff suppressed because it is too large
Load Diff
23
generator/generator.bat
Normal file
23
generator/generator.bat
Normal file
@@ -0,0 +1,23 @@
|
||||
:: this script must be executed in this directory
|
||||
:: all the output goes to generator/output folder
|
||||
:: .cpp and .h files:
|
||||
:: cimgui.h and cimgui.cpp with gcc preprocess
|
||||
:: cimgui_nopreprocess.h and cimgui_nopreprocess.cpp generated without preprocess
|
||||
:: cimgui_impl.h with implementation function cdefs
|
||||
:: lua and json files:
|
||||
:: definitions.lua for function definitions
|
||||
:: structs_and_enums.lua with struct and enum information-definitions
|
||||
:: impl_definitions.lua for implementation function definitions
|
||||
|
||||
:: set your PATH if necessary for LuaJIT or Lua5.1 or luajit with: (for example)
|
||||
set PATH=%PATH%;C:\luaGL;C:\mingw32\bin;
|
||||
:: set PATH=%PATH%;C:\luaGL;C:\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\mingw32\bin;
|
||||
:: set PATH=%PATH%;C:\luaGL\sources\luajit-master\luajit-master\bin\mingw32;C:\mingw32\bin;
|
||||
::process files
|
||||
:: arg[1] compiler name gcc, clang, cl or nocompiler
|
||||
:: arg[2..n] name of implementations to generate
|
||||
luajit ./generator.lua gcc glfw opengl3 opengl2 sdl
|
||||
|
||||
::leave console open
|
||||
cmd /k
|
||||
|
1682
generator/generator.lua
Normal file
1682
generator/generator.lua
Normal file
File diff suppressed because it is too large
Load Diff
23
generator/generator2.bat
Normal file
23
generator/generator2.bat
Normal file
@@ -0,0 +1,23 @@
|
||||
:: this script must be executed in this directory
|
||||
:: all the output goes to generator/output folder
|
||||
:: .cpp and .h files:
|
||||
:: cimgui.h and cimgui.cpp with gcc preprocess
|
||||
:: cimgui_nopreprocess.h and cimgui_nopreprocess.cpp generated without preprocess
|
||||
:: cimgui_impl.h with implementation function cdefs
|
||||
:: lua and json files:
|
||||
:: definitions.lua for function definitions
|
||||
:: structs_and_enums.lua with struct and enum information-definitions
|
||||
:: impl_definitions.lua for implementation function definitions
|
||||
|
||||
:: set your PATH if necessary for LuaJIT or Lua5.1 or luajit with: (for example)
|
||||
set PATH=%PATH%;C:\luaGL;C:\mingw32\bin;
|
||||
:: set PATH=%PATH%;C:\luaGL;C:\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\mingw32\bin;
|
||||
:: set PATH=%PATH%;C:\luaGL\sources\luajit-master\luajit-master\bin\mingw32;C:\mingw32\bin;
|
||||
::process files
|
||||
:: arg[1] compiler name gcc, clang, cl or nocompiler
|
||||
:: arg[2..n] name of implementations to generate
|
||||
luajit ./generator2.lua gcc glfw opengl3 opengl2 sdl
|
||||
|
||||
::leave console open
|
||||
cmd /k
|
||||
|
646
generator/generator2.lua
Normal file
646
generator/generator2.lua
Normal file
@@ -0,0 +1,646 @@
|
||||
--------------------------------------------------------------------------
|
||||
--script for auto_funcs.h and auto_funcs.cpp generation
|
||||
--expects LuaJIT
|
||||
--------------------------------------------------------------------------
|
||||
assert(_VERSION=='Lua 5.1',"Must use LuaJIT")
|
||||
assert(bit,"Must use LuaJIT")
|
||||
local script_args = {...}
|
||||
local COMPILER = script_args[1]
|
||||
local CPRE,CTEST
|
||||
if COMPILER == "gcc" or COMPILER == "clang" then
|
||||
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]]
|
||||
CTEST = COMPILER.." --version"
|
||||
elseif COMPILER == "cl" then
|
||||
CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_API="" /DIMGUI_IMPL_API="" ]]
|
||||
CTEST = COMPILER
|
||||
else
|
||||
print("Working without compiler ")
|
||||
end
|
||||
--test compiler present
|
||||
local HAVE_COMPILER = false
|
||||
if CTEST then
|
||||
local pipe,err = io.popen(CTEST,"r")
|
||||
if pipe then
|
||||
local str = pipe:read"*a"
|
||||
print(str)
|
||||
pipe:close()
|
||||
if str=="" then
|
||||
HAVE_COMPILER = false
|
||||
else
|
||||
HAVE_COMPILER = true
|
||||
end
|
||||
else
|
||||
HAVE_COMPILER = false
|
||||
print(err)
|
||||
end
|
||||
assert(HAVE_COMPILER,"gcc, clang or cl needed to run script")
|
||||
end --CTEST
|
||||
|
||||
print("HAVE_COMPILER",HAVE_COMPILER)
|
||||
--get implementations
|
||||
local implementations = {}
|
||||
for i=2,#script_args do table.insert(implementations,script_args[i]) end
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
--this table has the functions to be skipped in generation
|
||||
--------------------------------------------------------------------------
|
||||
local cimgui_manuals = {
|
||||
igLogText = true,
|
||||
ImGuiTextBuffer_appendf = true,
|
||||
igColorConvertRGBtoHSV = true,
|
||||
igColorConvertHSVtoRGB = true
|
||||
}
|
||||
--------------------------------------------------------------------------
|
||||
--this table is a dictionary to force a naming of function overloading (instead of algorythmic generated)
|
||||
--first level is cimguiname without postfix, second level is the signature of the function, value is the
|
||||
--desired name
|
||||
---------------------------------------------------------------------------
|
||||
local cimgui_overloads = {
|
||||
igPushID = {
|
||||
--["(const char*)"] = "igPushIDStr",
|
||||
["(const char*,const char*)"] = "igPushIDRange",
|
||||
--["(const void*)"] = "igPushIDPtr",
|
||||
--["(int)"] = "igPushIDInt"
|
||||
},
|
||||
igGetID = {
|
||||
["(const char*,const char*)"] = "igGetIDRange",
|
||||
},
|
||||
ImDrawList_AddText = {
|
||||
["(const ImVec2,ImU32,const char*,const char*)"] = "ImDrawList_AddText",
|
||||
},
|
||||
igGetColorU32 = {
|
||||
["(ImGuiCol,float)"] = "igGetColorU32",
|
||||
},
|
||||
igCollapsingHeader = {
|
||||
["(const char*,ImGuiTreeNodeFlags)"] = "igCollapsingHeader",
|
||||
},
|
||||
igCombo = {
|
||||
["(const char*,int*,const char* const[],int,int)"] = "igCombo",
|
||||
},
|
||||
igPlotLines = {
|
||||
["(const char*,const float*,int,int,const char*,float,float,ImVec2,int)"] = "igPlotLines",
|
||||
},
|
||||
igBeginChild = {
|
||||
["(const char*,const ImVec2,bool,ImGuiWindowFlags)"] = "igBeginChild",
|
||||
},
|
||||
igSelectable = {
|
||||
["(const char*,bool,ImGuiSelectableFlags,const ImVec2)"] = "igSelectable"
|
||||
},
|
||||
igPushStyleColor = {
|
||||
["(ImGuiCol,const ImVec4)"] = "igPushStyleColor"
|
||||
}
|
||||
}
|
||||
|
||||
--------------------------header definitions
|
||||
local cimgui_header =
|
||||
[[//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
|
||||
//based on imgui.h file version XXX from Dear ImGui https://github.com/ocornut/imgui
|
||||
]]
|
||||
local gdefines = {} --for FLT_MAX and others
|
||||
--------------------------------------------------------------------------
|
||||
--helper functions
|
||||
|
||||
|
||||
---------------------------minimal preprocessor without compiler for ImGui.h
|
||||
local function filelines(file,locats)
|
||||
local split_comment = require"cpp2ffi".split_comment
|
||||
local iflevels = {}
|
||||
--generated known prepros
|
||||
local prepro = {
|
||||
["#if"]={
|
||||
[ "defined(__clang__) || defined(__GNUC__)" ]=false,
|
||||
[ "defined(__clang__)" ]=false,
|
||||
[ "defined(_MSC_VER) && !defined(__clang__)" ]=false,
|
||||
[ "!defined(IMGUI_DISABLE_INCLUDE_IMCONFIG_H) || defined(IMGUI_INCLUDE_IMCONFIG_H)" ]=false,
|
||||
[ "!defined(IMGUI_IMPL_OPENGL_LOADER_GL3W) \\" ]=false,
|
||||
},
|
||||
["#elif"]={
|
||||
[ "defined(__GNUC__) && __GNUC__ >= 8" ]=false,
|
||||
[ "(defined(__clang__) || defined(__GNUC__)) && (__cplusplus < 201100)" ]=false,
|
||||
},
|
||||
["#ifdef"]={
|
||||
[ "IM_VEC4_CLASS_EXTRA" ]=false,
|
||||
[ "IMGUI_USER_CONFIG" ]=false,
|
||||
[ "IMGUI_INCLUDE_IMGUI_USER_H" ]=false,
|
||||
[ "IMGUI_USE_BGRA_PACKED_COLOR" ]=false,
|
||||
[ "IM_VEC2_CLASS_EXTRA" ]=false,
|
||||
},
|
||||
["#ifndef"]={
|
||||
[ "IMGUI_API" ]=false,
|
||||
[ "IMGUI_IMPL_API" ]=false,
|
||||
[ "IMGUI_OVERRIDE_DRAWVERT_STRUCT_LAYOUT" ]=true,
|
||||
[ "IM_ASSERT" ]=false,
|
||||
[ "ImTextureID" ]=true,
|
||||
[ "ImDrawIdx" ]=true,
|
||||
[ "IMGUI_DISABLE_OBSOLETE_FUNCTIONS" ]=false,
|
||||
},
|
||||
}
|
||||
|
||||
local function prepro_boolif(pre,cond)
|
||||
local conds = prepro[pre]
|
||||
assert(conds,pre.." has no conds-----------------------------")
|
||||
local res = conds[cond]
|
||||
--assert(type(res)~="nil",cond.." not found")
|
||||
if type(res)=="nil" then
|
||||
print(pre,cond,"not found in precompiler database, returning false.")
|
||||
res = false
|
||||
end
|
||||
return res
|
||||
end
|
||||
local function location_it()
|
||||
repeat
|
||||
local line = file:read"*l"
|
||||
|
||||
if not line then return nil end
|
||||
line,_ = split_comment(line)
|
||||
--if line:sub(1,1) == "#" then
|
||||
if line:match("^%s*#") then
|
||||
|
||||
local pre,cond = line:match("^%s*(#%S*)%s+(.*)%s*$")
|
||||
if line:match("#if") then
|
||||
iflevels[#iflevels +1 ] = prepro_boolif(pre,cond)
|
||||
elseif line:match("#endif") then
|
||||
iflevels[#iflevels] = nil
|
||||
elseif line:match("#elif") then
|
||||
if not iflevels[#iflevels] then
|
||||
iflevels[#iflevels] = prepro_boolif(pre,cond)
|
||||
else --was true
|
||||
iflevels[#iflevels] = false
|
||||
end
|
||||
elseif line:match("#else") then
|
||||
iflevels[#iflevels] = not iflevels[#iflevels]
|
||||
else
|
||||
if not (pre:match("#define") or pre:match"#include" or pre:match"#pragma") then
|
||||
print("not expected preprocessor directive ",pre)
|
||||
end
|
||||
end
|
||||
-- skip
|
||||
elseif #iflevels == 0 or iflevels[#iflevels] then
|
||||
-- drop IMGUI_APIX
|
||||
line = line:gsub("IMGUI_IMPL_API","")
|
||||
-- drop IMGUI_API
|
||||
line = line:gsub("IMGUI_API","")
|
||||
return line,locats[1]
|
||||
end
|
||||
until false
|
||||
end
|
||||
return location_it
|
||||
end
|
||||
|
||||
|
||||
--------------------------------functions for C generation
|
||||
local function func_header_impl_generate(FP)
|
||||
|
||||
local outtab = {}
|
||||
|
||||
for _,t in ipairs(FP.funcdefs) do
|
||||
if t.cimguiname then
|
||||
local cimf = FP.defsT[t.cimguiname]
|
||||
local def = cimf[t.signature]
|
||||
if def.ret then --not constructor
|
||||
local addcoment = def.comment or ""
|
||||
if def.stname == "" then --ImGui namespace or top level
|
||||
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname..def.args..";"..addcoment.."\n")
|
||||
else
|
||||
error("class function in implementations")
|
||||
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 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
|
||||
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")
|
||||
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 = ImGui::"..def.funcname.."V"..call_args..";\n")
|
||||
else
|
||||
table.insert(outtab," ImGui::"..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 = ImGui::"..def.funcname..def.call_args..";\n")
|
||||
else --nonUDT==2
|
||||
table.insert(outtab," "..def.retorig.." ret = ImGui::"..def.funcname..def.call_args..";\n")
|
||||
table.insert(outtab," "..def.ret.." ret2 = "..def.retorig.."ToSimple(ret);\n")
|
||||
table.insert(outtab," return ret2;\n")
|
||||
end
|
||||
else --standard ImGui
|
||||
table.insert(outtab," return "..ptret.."ImGui::"..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")
|
||||
else --nonUDT==2
|
||||
table.insert(outtab," "..def.retorig.." ret = self->"..def.funcname..def.call_args..";\n")
|
||||
table.insert(outtab," "..def.ret.." ret2 = "..def.retorig.."ToSimple(ret);\n")
|
||||
table.insert(outtab," return ret2;\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")
|
||||
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
|
||||
--print(line)
|
||||
else
|
||||
defines[key]=value
|
||||
end
|
||||
end
|
||||
pipe:close()
|
||||
--require"anima.utils"
|
||||
--prtable(defines)
|
||||
--FLT_MAX
|
||||
local ret = {}
|
||||
for i,v in ipairs(t) do
|
||||
local aa = defines[v]
|
||||
while true do
|
||||
local tmp = defines[aa]
|
||||
if not tmp then
|
||||
break
|
||||
else
|
||||
aa = tmp
|
||||
end
|
||||
end
|
||||
ret[v] = aa
|
||||
end
|
||||
return ret
|
||||
end
|
||||
--subtitution of FLT_MAX value for FLT_MAX
|
||||
local function set_defines(fdefs)
|
||||
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"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
--this creates defsBystruct in case you need to list by struct container
|
||||
local function DefsByStruct(FP)
|
||||
local structs = {}
|
||||
for fun,defs in pairs(FP.defsT) do
|
||||
local stname = defs[1].stname
|
||||
structs[stname] = structs[stname] or {}
|
||||
table.insert(structs[stname],defs)--fun)
|
||||
end
|
||||
FP.defsBystruct = structs
|
||||
end
|
||||
|
||||
|
||||
--load parser module
|
||||
local cpp2ffi = require"cpp2ffi"
|
||||
local read_data = cpp2ffi.read_data
|
||||
local save_data = cpp2ffi.save_data
|
||||
local copyfile = cpp2ffi.copyfile
|
||||
local serializeTableF = cpp2ffi.serializeTableF
|
||||
|
||||
----------custom ImVector templates
|
||||
local function generate_templates(code,templates)
|
||||
table.insert(code,[[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")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
--generate cimgui.cpp cimgui.h
|
||||
local function cimgui_generation(parser)
|
||||
cpp2ffi.prtable(parser.templates)
|
||||
cpp2ffi.prtable(parser.typenames)
|
||||
-- clean ImVector:contains() for not applicable types
|
||||
local clean_f = {}
|
||||
for k,v in pairs(parser.defsT) do
|
||||
if k:match"ImVector" and k:match"contains" then
|
||||
--cpp2ffi.prtable(k,v)
|
||||
local stname = v[1].stname
|
||||
if not(stname:match"float" or stname:match"int" or stname:match"char") then
|
||||
parser.defsT[k] = nil
|
||||
--delete also from funcdefs
|
||||
for i,t in ipairs(parser.funcdefs) do
|
||||
if t.cimguiname == k then
|
||||
table.remove(parser.funcdefs, i)
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--------------------------------------------------
|
||||
local hstrfile = read_data"./cimgui_template.h"
|
||||
|
||||
local outpre,outpost = parser:gen_structs_and_enums()
|
||||
--parser.templates get completely defined here
|
||||
--cpp2ffi.prtable(parser.templates)
|
||||
|
||||
local outtab = {}
|
||||
generate_templates(outtab,parser.templates)
|
||||
local cstructsstr = outpre..table.concat(outtab,"")..outpost
|
||||
|
||||
hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr)
|
||||
local cfuncsstr = func_header_generate(parser)
|
||||
hstrfile = hstrfile:gsub([[#include "auto_funcs%.h"]],cfuncsstr)
|
||||
save_data("./output/cimgui.h",cimgui_header,hstrfile)
|
||||
|
||||
--merge it in cimgui_template.cpp to cimgui.cpp
|
||||
local cimplem = func_implementation(parser)
|
||||
|
||||
local hstrfile = read_data"./cimgui_template.cpp"
|
||||
|
||||
hstrfile = hstrfile:gsub([[#include "auto_funcs%.cpp"]],cimplem)
|
||||
save_data("./output/cimgui.cpp",cimgui_header,hstrfile)
|
||||
|
||||
end
|
||||
--------------------------------------------------------
|
||||
-----------------------------do it----------------------
|
||||
--------------------------------------------------------
|
||||
--get imgui.h version--------------------------
|
||||
local pipe,err = io.open("../imgui/imgui.h","r")
|
||||
if not pipe then
|
||||
error("could not open file:"..err)
|
||||
end
|
||||
local imgui_version
|
||||
while true do
|
||||
local line = pipe:read"*l"
|
||||
imgui_version = line:match([[#define%s+IMGUI_VERSION%s+(".+")]])
|
||||
if imgui_version then break end
|
||||
end
|
||||
pipe:close()
|
||||
cimgui_header = cimgui_header:gsub("XXX",imgui_version)
|
||||
print("IMGUI_VERSION",imgui_version)
|
||||
--get some defines----------------------------
|
||||
if HAVE_COMPILER then
|
||||
gdefines = get_defines{"IMGUI_VERSION","FLT_MAX"}
|
||||
end
|
||||
|
||||
--generation
|
||||
print("------------------generation with "..COMPILER.."------------------------")
|
||||
local typedefs_dict2
|
||||
--prepare parser
|
||||
local parser1 = cpp2ffi.Parser()
|
||||
parser1.getCname = function(stname,funcname)
|
||||
local pre = (stname == "") and "ig" or stname.."_"
|
||||
return pre..funcname
|
||||
end
|
||||
parser1.cname_overloads = cimgui_overloads
|
||||
parser1.manuals = cimgui_manuals
|
||||
parser1.UDTs = {"ImVec2","ImVec4","ImColor"}
|
||||
|
||||
local pipe,err
|
||||
if HAVE_COMPILER then
|
||||
pipe,err = io.popen(CPRE..[[../imgui/imgui.h]],"r")
|
||||
else
|
||||
pipe,err = io.open([[../imgui/imgui.h]],"r")
|
||||
end
|
||||
|
||||
if not pipe then
|
||||
error("could not execute gcc "..err)
|
||||
end
|
||||
|
||||
--local file,err = io.open("output_compiler.txt","w")
|
||||
--if not file then error(err) end
|
||||
|
||||
local iterator = (HAVE_COMPILER and cpp2ffi.location) or filelines
|
||||
|
||||
for line in iterator(pipe,{"imgui"},{}) do
|
||||
parser1:insert(line)
|
||||
--file:write(line)
|
||||
end
|
||||
--file:close()
|
||||
pipe:close()
|
||||
|
||||
parser1:do_parse()
|
||||
--table.sort(parser1.funcdefs, function(a,b) return a.cimguiname < b.cimguiname end)
|
||||
--parser1:dump_alltypes()
|
||||
--parser1:printItems()
|
||||
|
||||
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()
|
||||
--correct Pair union member
|
||||
structs_and_enums_table["structs"]["Pair"][2]["name"] = ""
|
||||
structs_and_enums_table["structs"]["Pair"][2]["type"] = structs_and_enums_table["structs"]["Pair"][2]["type"] .. "}"
|
||||
-----------------------
|
||||
save_data("./output/structs_and_enums.lua",serializeTableF(structs_and_enums_table))
|
||||
save_data("./output/typedefs_dict.lua",serializeTableF(parser1.typedefs_dict))
|
||||
|
||||
--check every function has ov_cimguiname
|
||||
-- for k,v in pairs(parser1.defsT) do
|
||||
-- for _,def in ipairs(v) do
|
||||
-- assert(def.ov_cimguiname)
|
||||
-- end
|
||||
-- end
|
||||
--=================================Now implementations
|
||||
|
||||
local parser2
|
||||
|
||||
if #implementations > 0 then
|
||||
|
||||
parser2 = cpp2ffi.Parser()
|
||||
|
||||
|
||||
for i,impl in ipairs(implementations) do
|
||||
local source = [[../imgui/examples/imgui_impl_]].. impl .. ".h "
|
||||
local locati = [[imgui_impl_]].. impl
|
||||
local pipe,err
|
||||
if HAVE_COMPILER then
|
||||
pipe,err = io.popen(CPRE..source,"r")
|
||||
else
|
||||
pipe,err = io.open(source,"r")
|
||||
end
|
||||
if not pipe then
|
||||
error("could not get file: "..err)
|
||||
end
|
||||
|
||||
local iterator = (HAVE_COMPILER and cpp2ffi.location) or filelines
|
||||
|
||||
for line,locat in iterator(pipe,{locati},{}) do
|
||||
--local line, comment = split_comment(line)
|
||||
parser2:insert(line)
|
||||
end
|
||||
pipe:close()
|
||||
end
|
||||
parser2:do_parse()
|
||||
|
||||
-- save ./cimgui_impl.h
|
||||
local cfuncsstr = func_header_impl_generate(parser2)
|
||||
local cstructstr1,cstructstr2 = parser2:gen_structs_and_enums()
|
||||
save_data("./output/cimgui_impl.h",cstructstr1,cstructstr2,cfuncsstr)
|
||||
|
||||
----------save fundefs in impl_definitions.lua for using in bindings
|
||||
save_data("./output/impl_definitions.lua",serializeTableF(parser2.defsT))
|
||||
|
||||
end -- #implementations > 0 then
|
||||
|
||||
-------------------------------json saving
|
||||
--avoid mixed tables (with string and integer keys)
|
||||
local function json_prepare(defs)
|
||||
--delete signatures in function
|
||||
for k,def in pairs(defs) do
|
||||
for k2,v in pairs(def) do
|
||||
if type(k2)=="string" then
|
||||
def[k2] = nil
|
||||
end
|
||||
end
|
||||
end
|
||||
return defs
|
||||
end
|
||||
---[[
|
||||
local json = require"json"
|
||||
save_data("./output/definitions.json",json.encode(json_prepare(parser1.defsT)))
|
||||
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)))
|
||||
end
|
||||
--]]
|
||||
-------------------copy C files to repo root
|
||||
copyfile("./output/cimgui.h", "../cimgui.h")
|
||||
copyfile("./output/cimgui.cpp", "../cimgui.cpp")
|
||||
print"all done!!"
|
416
generator/json.lua
Normal file
416
generator/json.lua
Normal file
@@ -0,0 +1,416 @@
|
||||
--
|
||||
-- json.lua
|
||||
--
|
||||
-- Copyright (c) 2018 rxi
|
||||
--
|
||||
-- Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
-- this software and associated documentation files (the "Software"), to deal in
|
||||
-- the Software without restriction, including without limitation the rights to
|
||||
-- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
-- of the Software, and to permit persons to whom the Software is furnished to do
|
||||
-- so, subject to the following conditions:
|
||||
--
|
||||
-- The above copyright notice and this permission notice shall be included in all
|
||||
-- copies or substantial portions of the Software.
|
||||
--
|
||||
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
-- SOFTWARE.
|
||||
--
|
||||
|
||||
local json = { _version = "0.1.1" }
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
-- Encode
|
||||
-------------------------------------------------------------------------------
|
||||
local TAB = " "
|
||||
local rep = string.rep
|
||||
local encode
|
||||
|
||||
local escape_char_map = {
|
||||
[ "\\" ] = "\\\\",
|
||||
[ "\"" ] = "\\\"",
|
||||
[ "\b" ] = "\\b",
|
||||
[ "\f" ] = "\\f",
|
||||
[ "\n" ] = "\\n",
|
||||
[ "\r" ] = "\\r",
|
||||
[ "\t" ] = "\\t",
|
||||
}
|
||||
|
||||
local escape_char_map_inv = { [ "\\/" ] = "/" }
|
||||
for k, v in pairs(escape_char_map) do
|
||||
escape_char_map_inv[v] = k
|
||||
end
|
||||
|
||||
|
||||
local function escape_char(c)
|
||||
return escape_char_map[c] or string.format("\\u%04x", c:byte())
|
||||
end
|
||||
|
||||
|
||||
local function encode_nil(val)
|
||||
return "null"
|
||||
end
|
||||
|
||||
|
||||
local function encode_table(val, stack,level,isvalue)
|
||||
local res = {}
|
||||
stack = stack or {}
|
||||
level = level or 0
|
||||
-- Circular reference?
|
||||
if stack[val] then error("circular reference") end
|
||||
|
||||
stack[val] = true
|
||||
|
||||
if val[1] ~= nil or next(val) == nil then
|
||||
-- Treat as array -- check keys are valid and it is not sparse
|
||||
local n = 0
|
||||
for k in pairs(val) do
|
||||
if type(k) ~= "number" then
|
||||
error("invalid table: mixed or invalid key types")
|
||||
end
|
||||
n = n + 1
|
||||
end
|
||||
if n ~= #val then
|
||||
error("invalid table: sparse array")
|
||||
end
|
||||
|
||||
-- Encode
|
||||
for i, v in ipairs(val) do
|
||||
table.insert(res, encode(v, stack,level+1))
|
||||
end
|
||||
|
||||
stack[val] = nil
|
||||
local inner = table.concat(res, ",\n")
|
||||
if #inner > 0 then inner = "\n"..inner.."\n"..rep(TAB,level) end
|
||||
return rep(isvalue and "" or TAB,level).."[" .. inner .. "]"
|
||||
|
||||
else
|
||||
---[[
|
||||
local ordered_keys = {}
|
||||
for k,v in pairs(val) do
|
||||
table.insert(ordered_keys,k)
|
||||
end
|
||||
table.sort(ordered_keys)
|
||||
-- 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))
|
||||
end
|
||||
stack[val] = nil
|
||||
local inner = table.concat(res, ",\n")
|
||||
if #inner > 0 then inner = "\n"..inner.."\n"..rep(TAB,level) end
|
||||
return rep(isvalue and "" or TAB,level).."{" .. inner .. "}"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local function encode_string(val,stack,level,isvalue)
|
||||
return rep(isvalue and "" or TAB,level)..'"' .. val:gsub('[%z\1-\31\\"]', escape_char) .. '"'
|
||||
end
|
||||
|
||||
|
||||
local function encode_number(val,stack,level,isvalue)
|
||||
-- Check for NaN, -inf and inf
|
||||
if val ~= val or val <= -math.huge or val >= math.huge then
|
||||
error("unexpected number value '" .. tostring(val) .. "'")
|
||||
end
|
||||
return rep(isvalue and "" or TAB,level)..string.format("%.14g", val)
|
||||
end
|
||||
|
||||
|
||||
local type_func_map = {
|
||||
[ "nil" ] = encode_nil,
|
||||
[ "table" ] = encode_table,
|
||||
[ "string" ] = encode_string,
|
||||
[ "number" ] = encode_number,
|
||||
[ "boolean" ] = tostring,
|
||||
}
|
||||
|
||||
|
||||
encode = function(val, stack,level,isvalue)
|
||||
local t = type(val)
|
||||
local f = type_func_map[t]
|
||||
if f then
|
||||
return f(val, stack,level,isvalue)
|
||||
end
|
||||
error("unexpected type '" .. t .. "'")
|
||||
end
|
||||
|
||||
|
||||
function json.encode(val)
|
||||
return ( encode(val) )
|
||||
end
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
-- Decode
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
local parse
|
||||
|
||||
local function create_set(...)
|
||||
local res = {}
|
||||
for i = 1, select("#", ...) do
|
||||
res[ select(i, ...) ] = true
|
||||
end
|
||||
return res
|
||||
end
|
||||
|
||||
local space_chars = create_set(" ", "\t", "\r", "\n")
|
||||
local delim_chars = create_set(" ", "\t", "\r", "\n", "]", "}", ",")
|
||||
local escape_chars = create_set("\\", "/", '"', "b", "f", "n", "r", "t", "u")
|
||||
local literals = create_set("true", "false", "null")
|
||||
|
||||
local literal_map = {
|
||||
[ "true" ] = true,
|
||||
[ "false" ] = false,
|
||||
[ "null" ] = nil,
|
||||
}
|
||||
|
||||
|
||||
local function next_char(str, idx, set, negate)
|
||||
for i = idx, #str do
|
||||
if set[str:sub(i, i)] ~= negate then
|
||||
return i
|
||||
end
|
||||
end
|
||||
return #str + 1
|
||||
end
|
||||
|
||||
|
||||
local function decode_error(str, idx, msg)
|
||||
local line_count = 1
|
||||
local col_count = 1
|
||||
for i = 1, idx - 1 do
|
||||
col_count = col_count + 1
|
||||
if str:sub(i, i) == "\n" then
|
||||
line_count = line_count + 1
|
||||
col_count = 1
|
||||
end
|
||||
end
|
||||
error( string.format("%s at line %d col %d", msg, line_count, col_count) )
|
||||
end
|
||||
|
||||
|
||||
local function codepoint_to_utf8(n)
|
||||
-- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=iws-appendixa
|
||||
local f = math.floor
|
||||
if n <= 0x7f then
|
||||
return string.char(n)
|
||||
elseif n <= 0x7ff then
|
||||
return string.char(f(n / 64) + 192, n % 64 + 128)
|
||||
elseif n <= 0xffff then
|
||||
return string.char(f(n / 4096) + 224, f(n % 4096 / 64) + 128, n % 64 + 128)
|
||||
elseif n <= 0x10ffff then
|
||||
return string.char(f(n / 262144) + 240, f(n % 262144 / 4096) + 128,
|
||||
f(n % 4096 / 64) + 128, n % 64 + 128)
|
||||
end
|
||||
error( string.format("invalid unicode codepoint '%x'", n) )
|
||||
end
|
||||
|
||||
|
||||
local function parse_unicode_escape(s)
|
||||
local n1 = tonumber( s:sub(3, 6), 16 )
|
||||
local n2 = tonumber( s:sub(9, 12), 16 )
|
||||
-- Surrogate pair?
|
||||
if n2 then
|
||||
return codepoint_to_utf8((n1 - 0xd800) * 0x400 + (n2 - 0xdc00) + 0x10000)
|
||||
else
|
||||
return codepoint_to_utf8(n1)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local function parse_string(str, i)
|
||||
local has_unicode_escape = false
|
||||
local has_surrogate_escape = false
|
||||
local has_escape = false
|
||||
local last
|
||||
for j = i + 1, #str do
|
||||
local x = str:byte(j)
|
||||
|
||||
if x < 32 then
|
||||
decode_error(str, j, "control character in string")
|
||||
end
|
||||
|
||||
if last == 92 then -- "\\" (escape char)
|
||||
if x == 117 then -- "u" (unicode escape sequence)
|
||||
local hex = str:sub(j + 1, j + 5)
|
||||
if not hex:find("%x%x%x%x") then
|
||||
decode_error(str, j, "invalid unicode escape in string")
|
||||
end
|
||||
if hex:find("^[dD][89aAbB]") then
|
||||
has_surrogate_escape = true
|
||||
else
|
||||
has_unicode_escape = true
|
||||
end
|
||||
else
|
||||
local c = string.char(x)
|
||||
if not escape_chars[c] then
|
||||
decode_error(str, j, "invalid escape char '" .. c .. "' in string")
|
||||
end
|
||||
has_escape = true
|
||||
end
|
||||
last = nil
|
||||
|
||||
elseif x == 34 then -- '"' (end of string)
|
||||
local s = str:sub(i + 1, j - 1)
|
||||
if has_surrogate_escape then
|
||||
s = s:gsub("\\u[dD][89aAbB]..\\u....", parse_unicode_escape)
|
||||
end
|
||||
if has_unicode_escape then
|
||||
s = s:gsub("\\u....", parse_unicode_escape)
|
||||
end
|
||||
if has_escape then
|
||||
s = s:gsub("\\.", escape_char_map_inv)
|
||||
end
|
||||
return s, j + 1
|
||||
|
||||
else
|
||||
last = x
|
||||
end
|
||||
end
|
||||
decode_error(str, i, "expected closing quote for string")
|
||||
end
|
||||
|
||||
|
||||
local function parse_number(str, i)
|
||||
local x = next_char(str, i, delim_chars)
|
||||
local s = str:sub(i, x - 1)
|
||||
local n = tonumber(s)
|
||||
if not n then
|
||||
decode_error(str, i, "invalid number '" .. s .. "'")
|
||||
end
|
||||
return n, x
|
||||
end
|
||||
|
||||
|
||||
local function parse_literal(str, i)
|
||||
local x = next_char(str, i, delim_chars)
|
||||
local word = str:sub(i, x - 1)
|
||||
if not literals[word] then
|
||||
decode_error(str, i, "invalid literal '" .. word .. "'")
|
||||
end
|
||||
return literal_map[word], x
|
||||
end
|
||||
|
||||
|
||||
local function parse_array(str, i)
|
||||
local res = {}
|
||||
local n = 1
|
||||
i = i + 1
|
||||
while 1 do
|
||||
local x
|
||||
i = next_char(str, i, space_chars, true)
|
||||
-- Empty / end of array?
|
||||
if str:sub(i, i) == "]" then
|
||||
i = i + 1
|
||||
break
|
||||
end
|
||||
-- Read token
|
||||
x, i = parse(str, i)
|
||||
res[n] = x
|
||||
n = n + 1
|
||||
-- Next token
|
||||
i = next_char(str, i, space_chars, true)
|
||||
local chr = str:sub(i, i)
|
||||
i = i + 1
|
||||
if chr == "]" then break end
|
||||
if chr ~= "," then decode_error(str, i, "expected ']' or ','") end
|
||||
end
|
||||
return res, i
|
||||
end
|
||||
|
||||
|
||||
local function parse_object(str, i)
|
||||
local res = {}
|
||||
i = i + 1
|
||||
while 1 do
|
||||
local key, val
|
||||
i = next_char(str, i, space_chars, true)
|
||||
-- Empty / end of object?
|
||||
if str:sub(i, i) == "}" then
|
||||
i = i + 1
|
||||
break
|
||||
end
|
||||
-- Read key
|
||||
if str:sub(i, i) ~= '"' then
|
||||
decode_error(str, i, "expected string for key")
|
||||
end
|
||||
key, i = parse(str, i)
|
||||
-- Read ':' delimiter
|
||||
i = next_char(str, i, space_chars, true)
|
||||
if str:sub(i, i) ~= ":" then
|
||||
decode_error(str, i, "expected ':' after key")
|
||||
end
|
||||
i = next_char(str, i + 1, space_chars, true)
|
||||
-- Read value
|
||||
val, i = parse(str, i)
|
||||
-- Set
|
||||
res[key] = val
|
||||
-- Next token
|
||||
i = next_char(str, i, space_chars, true)
|
||||
local chr = str:sub(i, i)
|
||||
i = i + 1
|
||||
if chr == "}" then break end
|
||||
if chr ~= "," then decode_error(str, i, "expected '}' or ','") end
|
||||
end
|
||||
return res, i
|
||||
end
|
||||
|
||||
|
||||
local char_func_map = {
|
||||
[ '"' ] = parse_string,
|
||||
[ "0" ] = parse_number,
|
||||
[ "1" ] = parse_number,
|
||||
[ "2" ] = parse_number,
|
||||
[ "3" ] = parse_number,
|
||||
[ "4" ] = parse_number,
|
||||
[ "5" ] = parse_number,
|
||||
[ "6" ] = parse_number,
|
||||
[ "7" ] = parse_number,
|
||||
[ "8" ] = parse_number,
|
||||
[ "9" ] = parse_number,
|
||||
[ "-" ] = parse_number,
|
||||
[ "t" ] = parse_literal,
|
||||
[ "f" ] = parse_literal,
|
||||
[ "n" ] = parse_literal,
|
||||
[ "[" ] = parse_array,
|
||||
[ "{" ] = parse_object,
|
||||
}
|
||||
|
||||
|
||||
parse = function(str, idx)
|
||||
local chr = str:sub(idx, idx)
|
||||
local f = char_func_map[chr]
|
||||
if f then
|
||||
return f(str, idx)
|
||||
end
|
||||
decode_error(str, idx, "unexpected character '" .. chr .. "'")
|
||||
end
|
||||
|
||||
|
||||
function json.decode(str)
|
||||
if type(str) ~= "string" then
|
||||
error("expected argument of type string, got " .. type(str))
|
||||
end
|
||||
local res, idx = parse(str, next_char(str, 1, space_chars, true))
|
||||
idx = next_char(str, idx, space_chars, true)
|
||||
if idx <= #str then
|
||||
decode_error(str, idx, "trailing garbage")
|
||||
end
|
||||
return res
|
||||
end
|
||||
|
||||
|
||||
return json
|
4518
generator/output/cimgui.cpp
Normal file
4518
generator/output/cimgui.cpp
Normal file
File diff suppressed because it is too large
Load Diff
2051
generator/output/cimgui.h
Normal file
2051
generator/output/cimgui.h
Normal file
File diff suppressed because it is too large
Load Diff
35
generator/output/cimgui_impl.h
Normal file
35
generator/output/cimgui_impl.h
Normal file
@@ -0,0 +1,35 @@
|
||||
typedef struct SDL_Window SDL_Window;
|
||||
typedef struct GLFWwindow GLFWwindow;
|
||||
|
||||
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 void ImGui_ImplGlfw_Shutdown();
|
||||
CIMGUI_API void ImGui_ImplGlfw_NewFrame();
|
||||
CIMGUI_API void ImGui_ImplGlfw_MouseButtonCallback(GLFWwindow* window,int button,int action,int mods);
|
||||
CIMGUI_API void ImGui_ImplGlfw_ScrollCallback(GLFWwindow* window,double xoffset,double yoffset);
|
||||
CIMGUI_API void ImGui_ImplGlfw_KeyCallback(GLFWwindow* window,int key,int scancode,int action,int mods);
|
||||
CIMGUI_API void ImGui_ImplGlfw_CharCallback(GLFWwindow* window,unsigned int c);
|
||||
CIMGUI_API bool ImGui_ImplOpenGL3_Init(const char* glsl_version);
|
||||
CIMGUI_API void ImGui_ImplOpenGL3_Shutdown();
|
||||
CIMGUI_API void ImGui_ImplOpenGL3_NewFrame();
|
||||
CIMGUI_API void ImGui_ImplOpenGL3_RenderDrawData(ImDrawData* draw_data);
|
||||
CIMGUI_API bool ImGui_ImplOpenGL3_CreateFontsTexture();
|
||||
CIMGUI_API void ImGui_ImplOpenGL3_DestroyFontsTexture();
|
||||
CIMGUI_API bool ImGui_ImplOpenGL3_CreateDeviceObjects();
|
||||
CIMGUI_API void ImGui_ImplOpenGL3_DestroyDeviceObjects();
|
||||
CIMGUI_API bool ImGui_ImplOpenGL2_Init();
|
||||
CIMGUI_API void ImGui_ImplOpenGL2_Shutdown();
|
||||
CIMGUI_API void ImGui_ImplOpenGL2_NewFrame();
|
||||
CIMGUI_API void ImGui_ImplOpenGL2_RenderDrawData(ImDrawData* draw_data);
|
||||
CIMGUI_API bool ImGui_ImplOpenGL2_CreateFontsTexture();
|
||||
CIMGUI_API void ImGui_ImplOpenGL2_DestroyFontsTexture();
|
||||
CIMGUI_API bool ImGui_ImplOpenGL2_CreateDeviceObjects();
|
||||
CIMGUI_API void ImGui_ImplOpenGL2_DestroyDeviceObjects();
|
||||
CIMGUI_API bool ImGui_ImplSDL2_InitForOpenGL(SDL_Window* window,void* sdl_gl_context);
|
||||
CIMGUI_API bool ImGui_ImplSDL2_InitForVulkan(SDL_Window* window);
|
||||
CIMGUI_API void ImGui_ImplSDL2_Shutdown();
|
||||
CIMGUI_API void ImGui_ImplSDL2_NewFrame(SDL_Window* window);
|
||||
CIMGUI_API bool ImGui_ImplSDL2_ProcessEvent(const SDL_Event* event);
|
26787
generator/output/definitions.json
Normal file
26787
generator/output/definitions.json
Normal file
File diff suppressed because it is too large
Load Diff
22636
generator/output/definitions.lua
Normal file
22636
generator/output/definitions.lua
Normal file
File diff suppressed because it is too large
Load Diff
556
generator/output/impl_definitions.json
Normal file
556
generator/output/impl_definitions.json
Normal file
@@ -0,0 +1,556 @@
|
||||
{
|
||||
"ImGui_ImplGlfw_CharCallback": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,unsigned int c)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
},
|
||||
{
|
||||
"name": "c",
|
||||
"type": "unsigned int"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window,unsigned int c)",
|
||||
"call_args": "(window,c)",
|
||||
"cimguiname": "ImGui_ImplGlfw_CharCallback",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplGlfw_CharCallback",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_CharCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,unsigned int)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_InitForOpenGL": [
|
||||
{
|
||||
"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_InitForOpenGL",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplGlfw_InitForOpenGL",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
|
||||
"ret": "bool",
|
||||
"signature": "(GLFWwindow*,bool)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_InitForVulkan": [
|
||||
{
|
||||
"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_InitForVulkan",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplGlfw_InitForVulkan",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_InitForVulkan",
|
||||
"ret": "bool",
|
||||
"signature": "(GLFWwindow*,bool)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_KeyCallback": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,int key,int scancode,int action,int mods)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
},
|
||||
{
|
||||
"name": "key",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "scancode",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "action",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "mods",
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window,int key,int scancode,int action,int mods)",
|
||||
"call_args": "(window,key,scancode,action,mods)",
|
||||
"cimguiname": "ImGui_ImplGlfw_KeyCallback",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplGlfw_KeyCallback",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_KeyCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,int,int,int,int)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_MouseButtonCallback": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,int button,int action,int mods)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
},
|
||||
{
|
||||
"name": "button",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "action",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "mods",
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window,int button,int action,int mods)",
|
||||
"call_args": "(window,button,action,mods)",
|
||||
"cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplGlfw_MouseButtonCallback",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,int,int,int)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_NewFrame": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplGlfw_NewFrame",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplGlfw_NewFrame",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_ScrollCallback": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,double xoffset,double yoffset)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
},
|
||||
{
|
||||
"name": "xoffset",
|
||||
"type": "double"
|
||||
},
|
||||
{
|
||||
"name": "yoffset",
|
||||
"type": "double"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window,double xoffset,double yoffset)",
|
||||
"call_args": "(window,xoffset,yoffset)",
|
||||
"cimguiname": "ImGui_ImplGlfw_ScrollCallback",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplGlfw_ScrollCallback",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_ScrollCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,double,double)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_Shutdown": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplGlfw_Shutdown",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplGlfw_Shutdown",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_CreateDeviceObjects": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_CreateFontsTexture": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_DestroyDeviceObjects": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_DestroyFontsTexture": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_Init": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_Init",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplOpenGL2_Init",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_Init",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_NewFrame": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_NewFrame",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplOpenGL2_NewFrame",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_RenderDrawData": [
|
||||
{
|
||||
"args": "(ImDrawData* draw_data)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "draw_data",
|
||||
"type": "ImDrawData*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(ImDrawData* draw_data)",
|
||||
"call_args": "(draw_data)",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplOpenGL2_RenderDrawData",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
|
||||
"ret": "void",
|
||||
"signature": "(ImDrawData*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_Shutdown": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_Shutdown",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplOpenGL2_Shutdown",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_CreateDeviceObjects": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_CreateFontsTexture": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_DestroyDeviceObjects": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_DestroyFontsTexture": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_Init": [
|
||||
{
|
||||
"args": "(const char* glsl_version)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "glsl_version",
|
||||
"type": "const char*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(const char* glsl_version=NULL)",
|
||||
"call_args": "(glsl_version)",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_Init",
|
||||
"defaults": {
|
||||
"glsl_version": "NULL"
|
||||
},
|
||||
"funcname": "ImGui_ImplOpenGL3_Init",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_Init",
|
||||
"ret": "bool",
|
||||
"signature": "(const char*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_NewFrame": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_NewFrame",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplOpenGL3_NewFrame",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_RenderDrawData": [
|
||||
{
|
||||
"args": "(ImDrawData* draw_data)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "draw_data",
|
||||
"type": "ImDrawData*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(ImDrawData* draw_data)",
|
||||
"call_args": "(draw_data)",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplOpenGL3_RenderDrawData",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
|
||||
"ret": "void",
|
||||
"signature": "(ImDrawData*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_Shutdown": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_Shutdown",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplOpenGL3_Shutdown",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_InitForOpenGL": [
|
||||
{
|
||||
"args": "(SDL_Window* window,void* sdl_gl_context)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "SDL_Window*"
|
||||
},
|
||||
{
|
||||
"name": "sdl_gl_context",
|
||||
"type": "void*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(SDL_Window* window,void* sdl_gl_context)",
|
||||
"call_args": "(window,sdl_gl_context)",
|
||||
"cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplSDL2_InitForOpenGL",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*,void*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_InitForVulkan": [
|
||||
{
|
||||
"args": "(SDL_Window* window)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "SDL_Window*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(SDL_Window* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplSDL2_InitForVulkan",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplSDL2_InitForVulkan",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForVulkan",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_NewFrame": [
|
||||
{
|
||||
"args": "(SDL_Window* window)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "SDL_Window*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(SDL_Window* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplSDL2_NewFrame",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplSDL2_NewFrame",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "(SDL_Window*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_ProcessEvent": [
|
||||
{
|
||||
"args": "(const SDL_Event* event)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "event",
|
||||
"type": "const SDL_Event*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(const SDL_Event* event)",
|
||||
"call_args": "(event)",
|
||||
"cimguiname": "ImGui_ImplSDL2_ProcessEvent",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplSDL2_ProcessEvent",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_ProcessEvent",
|
||||
"ret": "bool",
|
||||
"signature": "(const SDL_Event*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_Shutdown": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplSDL2_Shutdown",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplSDL2_Shutdown",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
]
|
||||
}
|
488
generator/output/impl_definitions.lua
Normal file
488
generator/output/impl_definitions.lua
Normal file
@@ -0,0 +1,488 @@
|
||||
local defs = {}
|
||||
defs["ImGui_ImplGlfw_CharCallback"] = {}
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1] = {}
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["args"] = "(GLFWwindow* window,unsigned int c)"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][2]["name"] = "c"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][2]["type"] = "unsigned int"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["argsoriginal"] = "(GLFWwindow* window,unsigned int c)"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplGlfw_CharCallback"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["signature"] = "(GLFWwindow*,unsigned int)"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_CharCallback"]["(GLFWwindow*,unsigned int)"] = defs["ImGui_ImplGlfw_CharCallback"][1]
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["args"] = "(GLFWwindow* window,bool install_callbacks)"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][2]["name"] = "install_callbacks"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][2]["type"] = "bool"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsoriginal"] = "(GLFWwindow* window,bool install_callbacks)"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["call_args"] = "(window,install_callbacks)"
|
||||
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]["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_InitForVulkan"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1] = {}
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["args"] = "(GLFWwindow* window,bool install_callbacks)"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][2]["name"] = "install_callbacks"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][2]["type"] = "bool"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsoriginal"] = "(GLFWwindow* window,bool install_callbacks)"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["call_args"] = "(window,install_callbacks)"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForVulkan"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["signature"] = "(GLFWwindow*,bool)"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"]["(GLFWwindow*,bool)"] = defs["ImGui_ImplGlfw_InitForVulkan"][1]
|
||||
defs["ImGui_ImplGlfw_KeyCallback"] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["args"] = "(GLFWwindow* window,int key,int scancode,int action,int mods)"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][2]["name"] = "key"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][2]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][3] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][3]["name"] = "scancode"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][3]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][4] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][4]["name"] = "action"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][4]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][5] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][5]["name"] = "mods"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][5]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsoriginal"] = "(GLFWwindow* window,int key,int scancode,int action,int mods)"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["call_args"] = "(window,key,scancode,action,mods)"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplGlfw_KeyCallback"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["signature"] = "(GLFWwindow*,int,int,int,int)"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_KeyCallback"]["(GLFWwindow*,int,int,int,int)"] = defs["ImGui_ImplGlfw_KeyCallback"][1]
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"] = {}
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1] = {}
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["args"] = "(GLFWwindow* window,int button,int action,int mods)"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][2]["name"] = "button"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][2]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][3] = {}
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][3]["name"] = "action"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][3]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][4] = {}
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][4]["name"] = "mods"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][4]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsoriginal"] = "(GLFWwindow* window,int button,int action,int mods)"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["call_args"] = "(window,button,action,mods)"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["signature"] = "(GLFWwindow*,int,int,int)"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"]["(GLFWwindow*,int,int,int)"] = defs["ImGui_ImplGlfw_MouseButtonCallback"][1]
|
||||
defs["ImGui_ImplGlfw_NewFrame"] = {}
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1] = {}
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["args"] = "()"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["argsoriginal"] = "()"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplGlfw_NewFrame"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_NewFrame"]["()"] = defs["ImGui_ImplGlfw_NewFrame"][1]
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"] = {}
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1] = {}
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["args"] = "(GLFWwindow* window,double xoffset,double yoffset)"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][2]["name"] = "xoffset"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][2]["type"] = "double"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][3] = {}
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][3]["name"] = "yoffset"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][3]["type"] = "double"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsoriginal"] = "(GLFWwindow* window,double xoffset,double yoffset)"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplGlfw_ScrollCallback"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["signature"] = "(GLFWwindow*,double,double)"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"]["(GLFWwindow*,double,double)"] = defs["ImGui_ImplGlfw_ScrollCallback"][1]
|
||||
defs["ImGui_ImplGlfw_Shutdown"] = {}
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1] = {}
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["args"] = "()"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["argsoriginal"] = "()"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplGlfw_Shutdown"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_Shutdown"]["()"] = defs["ImGui_ImplGlfw_Shutdown"][1]
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"] = {}
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["argsoriginal"] = "()"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"]["()"] = defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"] = {}
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["argsoriginal"] = "()"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"]["()"] = defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"] = {}
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["argsoriginal"] = "()"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"]["()"] = defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"] = {}
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["argsoriginal"] = "()"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"]["()"] = defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]
|
||||
defs["ImGui_ImplOpenGL2_Init"] = {}
|
||||
defs["ImGui_ImplOpenGL2_Init"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["argsoriginal"] = "()"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Init"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL2_Init"]["()"] = defs["ImGui_ImplOpenGL2_Init"][1]
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"] = {}
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["argsoriginal"] = "()"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplOpenGL2_NewFrame"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"]["()"] = defs["ImGui_ImplOpenGL2_NewFrame"][1]
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"] = {}
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["args"] = "(ImDrawData* draw_data)"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsT"][1]["name"] = "draw_data"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsT"][1]["type"] = "ImDrawData*"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsoriginal"] = "(ImDrawData* draw_data)"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplOpenGL2_RenderDrawData"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"]["(ImDrawData*)"] = defs["ImGui_ImplOpenGL2_RenderDrawData"][1]
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"] = {}
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["argsoriginal"] = "()"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Shutdown"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"]["()"] = defs["ImGui_ImplOpenGL2_Shutdown"][1]
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"] = {}
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["argsoriginal"] = "()"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"]["()"] = defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"] = {}
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["argsoriginal"] = "()"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"]["()"] = defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"] = {}
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["argsoriginal"] = "()"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"]["()"] = defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"] = {}
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["argsoriginal"] = "()"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"]["()"] = defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]
|
||||
defs["ImGui_ImplOpenGL3_Init"] = {}
|
||||
defs["ImGui_ImplOpenGL3_Init"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["args"] = "(const char* glsl_version)"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["argsT"][1]["name"] = "glsl_version"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["argsT"][1]["type"] = "const char*"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["argsoriginal"] = "(const char* glsl_version=NULL)"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["call_args"] = "(glsl_version)"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["cimguiname"] = "ImGui_ImplOpenGL3_Init"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"]["glsl_version"] = "NULL"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["funcname"] = "ImGui_ImplOpenGL3_Init"
|
||||
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*)"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL3_Init"]["(const char*)"] = defs["ImGui_ImplOpenGL3_Init"][1]
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"] = {}
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["argsoriginal"] = "()"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplOpenGL3_NewFrame"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"]["()"] = defs["ImGui_ImplOpenGL3_NewFrame"][1]
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"] = {}
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["args"] = "(ImDrawData* draw_data)"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsT"][1]["name"] = "draw_data"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsT"][1]["type"] = "ImDrawData*"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsoriginal"] = "(ImDrawData* draw_data)"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplOpenGL3_RenderDrawData"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"]["(ImDrawData*)"] = defs["ImGui_ImplOpenGL3_RenderDrawData"][1]
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"] = {}
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["argsoriginal"] = "()"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplOpenGL3_Shutdown"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"]["()"] = defs["ImGui_ImplOpenGL3_Shutdown"][1]
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1] = {}
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["args"] = "(SDL_Window* window,void* sdl_gl_context)"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][1]["type"] = "SDL_Window*"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][2]["name"] = "sdl_gl_context"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][2]["type"] = "void*"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsoriginal"] = "(SDL_Window* window,void* sdl_gl_context)"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["signature"] = "(SDL_Window*,void*)"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["stname"] = ""
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"]["(SDL_Window*,void*)"] = defs["ImGui_ImplSDL2_InitForOpenGL"][1]
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1] = {}
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["args"] = "(SDL_Window* window)"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsT"][1]["type"] = "SDL_Window*"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsoriginal"] = "(SDL_Window* window)"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForVulkan"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["signature"] = "(SDL_Window*)"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["stname"] = ""
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"]["(SDL_Window*)"] = defs["ImGui_ImplSDL2_InitForVulkan"][1]
|
||||
defs["ImGui_ImplSDL2_NewFrame"] = {}
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1] = {}
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["args"] = "(SDL_Window* window)"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"][1]["type"] = "SDL_Window*"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["argsoriginal"] = "(SDL_Window* window)"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplSDL2_NewFrame"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["signature"] = "(SDL_Window*)"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["stname"] = ""
|
||||
defs["ImGui_ImplSDL2_NewFrame"]["(SDL_Window*)"] = defs["ImGui_ImplSDL2_NewFrame"][1]
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"] = {}
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1] = {}
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["args"] = "(const SDL_Event* event)"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsT"][1]["name"] = "event"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsT"][1]["type"] = "const SDL_Event*"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsoriginal"] = "(const SDL_Event* event)"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["signature"] = "(const SDL_Event*)"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["stname"] = ""
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"]["(const SDL_Event*)"] = defs["ImGui_ImplSDL2_ProcessEvent"][1]
|
||||
defs["ImGui_ImplSDL2_Shutdown"] = {}
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1] = {}
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["args"] = "()"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["argsoriginal"] = "()"
|
||||
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]["ov_cimguiname"] = "ImGui_ImplSDL2_Shutdown"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["stname"] = ""
|
||||
defs["ImGui_ImplSDL2_Shutdown"]["()"] = defs["ImGui_ImplSDL2_Shutdown"][1]
|
||||
|
||||
return defs
|
132
generator/output/overloads.txt
Normal file
132
generator/output/overloads.txt
Normal file
@@ -0,0 +1,132 @@
|
||||
----------------overloadings---------------------------
|
||||
ImVector_resize 2
|
||||
1 void ImVector_resize (int)
|
||||
2 void ImVector_resizeT (int,const T)
|
||||
ImVec4_ImVec4 2
|
||||
1 nil ImVec4_ImVec4 ()
|
||||
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 igIsRectVisible (const ImVec2)
|
||||
2 bool igIsRectVisibleVec2 (const ImVec2,const ImVec2)
|
||||
igRadioButton 2
|
||||
1 bool igRadioButtonBool (const char*,bool)
|
||||
2 bool igRadioButtonIntPtr (const char*,int*,int)
|
||||
ImVec2_ImVec2 2
|
||||
1 nil ImVec2_ImVec2 ()
|
||||
2 nil ImVec2_ImVec2Float (float,float)
|
||||
ImVector_back 2
|
||||
1 T* ImVector_back ()
|
||||
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 igPlotHistogramFnPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
|
||||
igGetID 3
|
||||
1 ImGuiID igGetIDStr (const char*)
|
||||
2 ImGuiID igGetIDRange (const char*,const char*)
|
||||
3 ImGuiID igGetIDPtr (const void*)
|
||||
igSetWindowPos 2
|
||||
1 void igSetWindowPosVec2 (const ImVec2,ImGuiCond)
|
||||
2 void igSetWindowPosStr (const char*,const ImVec2,ImGuiCond)
|
||||
igBeginChild 2
|
||||
1 bool igBeginChild (const char*,const ImVec2,bool,ImGuiWindowFlags)
|
||||
2 bool igBeginChildID (ImGuiID,const ImVec2,bool,ImGuiWindowFlags)
|
||||
igPushID 4
|
||||
1 void igPushIDStr (const char*)
|
||||
2 void igPushIDRange (const char*,const char*)
|
||||
3 void igPushIDPtr (const void*)
|
||||
4 void igPushIDInt (int)
|
||||
Pair_Pair 3
|
||||
1 nil Pair_PairInt (ImGuiID,int)
|
||||
2 nil Pair_PairFloat (ImGuiID,float)
|
||||
3 nil Pair_PairPtr (ImGuiID,void*)
|
||||
TextRange_TextRange 2
|
||||
1 nil TextRange_TextRange ()
|
||||
2 nil TextRange_TextRangeStr (const char*,const char*)
|
||||
igGetColorU32 3
|
||||
1 ImU32 igGetColorU32 (ImGuiCol,float)
|
||||
2 ImU32 igGetColorU32Vec4 (const ImVec4)
|
||||
3 ImU32 igGetColorU32U32 (ImU32)
|
||||
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 igCombo (const char*,int*,const char* const[],int,int)
|
||||
2 bool igComboStr (const char*,int*,const char*,int)
|
||||
3 bool igComboFnPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
|
||||
ImVector_erase 2
|
||||
1 T* ImVector_erase (const T*)
|
||||
2 T* ImVector_eraseTPtr (const T*,const T*)
|
||||
ImDrawList_AddText 2
|
||||
1 void ImDrawList_AddText (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 igSetWindowFocus ()
|
||||
2 void igSetWindowFocusStr (const char*)
|
||||
ImVector_end 2
|
||||
1 T* ImVector_end ()
|
||||
2 const T* ImVector_end_const ()const
|
||||
igSetWindowSize 2
|
||||
1 void igSetWindowSizeVec2 (const ImVec2,ImGuiCond)
|
||||
2 void igSetWindowSizeStr (const char*,const ImVec2,ImGuiCond)
|
||||
ImVector_ImVector 2
|
||||
1 nil ImVector_ImVector ()
|
||||
2 nil ImVector_ImVectorVector (const ImVector)
|
||||
igSetWindowCollapsed 2
|
||||
1 void igSetWindowCollapsedBool (bool,ImGuiCond)
|
||||
2 void igSetWindowCollapsedStr (const char*,bool,ImGuiCond)
|
||||
igPlotLines 2
|
||||
1 void igPlotLines (const char*,const float*,int,int,const char*,float,float,ImVec2,int)
|
||||
2 void igPlotLinesFnPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
|
||||
igPushStyleColor 2
|
||||
1 void igPushStyleColorU32 (ImGuiCol,ImU32)
|
||||
2 void igPushStyleColor (ImGuiCol,const ImVec4)
|
||||
igTreeNodeExV 2
|
||||
1 bool igTreeNodeExVStr (const char*,ImGuiTreeNodeFlags,const char*,va_list)
|
||||
2 bool igTreeNodeExVPtr (const void*,ImGuiTreeNodeFlags,const char*,va_list)
|
||||
igListBox 2
|
||||
1 bool igListBoxStr_arr (const char*,int*,const char* const[],int,int)
|
||||
2 bool igListBoxFnPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
|
||||
igTreePush 2
|
||||
1 void igTreePushStr (const char*)
|
||||
2 void igTreePushPtr (const void*)
|
||||
igListBoxHeader 2
|
||||
1 bool igListBoxHeaderVec2 (const char*,const ImVec2)
|
||||
2 bool igListBoxHeaderInt (const char*,int,int)
|
||||
igTreeNodeEx 3
|
||||
1 bool igTreeNodeExStr (const char*,ImGuiTreeNodeFlags)
|
||||
2 bool igTreeNodeExStrStr (const char*,ImGuiTreeNodeFlags,const char*,...)
|
||||
3 bool igTreeNodeExPtr (const void*,ImGuiTreeNodeFlags,const char*,...)
|
||||
ImVector_front 2
|
||||
1 T* ImVector_front ()
|
||||
2 const T* ImVector_front_const ()const
|
||||
ImColor_ImColor 5
|
||||
1 nil ImColor_ImColor ()
|
||||
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)
|
||||
igCollapsingHeader 2
|
||||
1 bool igCollapsingHeader (const char*,ImGuiTreeNodeFlags)
|
||||
2 bool igCollapsingHeaderBoolPtr (const char*,bool*,ImGuiTreeNodeFlags)
|
||||
ImVector_begin 2
|
||||
1 T* ImVector_begin ()
|
||||
2 const T* ImVector_begin_const ()const
|
||||
igSelectable 2
|
||||
1 bool igSelectable (const char*,bool,ImGuiSelectableFlags,const ImVec2)
|
||||
2 bool igSelectableBoolPtr (const char*,bool*,ImGuiSelectableFlags,const ImVec2)
|
||||
igMenuItem 2
|
||||
1 bool igMenuItemBool (const char*,const char*,bool,bool)
|
||||
2 bool igMenuItemBoolPtr (const char*,const char*,bool*,bool)
|
||||
igTreeNodeV 2
|
||||
1 bool igTreeNodeVStr (const char*,const char*,va_list)
|
||||
2 bool igTreeNodeVPtr (const void*,const char*,va_list)
|
||||
91 overloaded
|
2850
generator/output/structs_and_enums.json
Normal file
2850
generator/output/structs_and_enums.json
Normal file
File diff suppressed because it is too large
Load Diff
2206
generator/output/structs_and_enums.lua
Normal file
2206
generator/output/structs_and_enums.lua
Normal file
File diff suppressed because it is too large
Load Diff
74
generator/output/typedefs_dict.json
Normal file
74
generator/output/typedefs_dict.json
Normal file
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"CustomRect": "struct CustomRect",
|
||||
"ImColor": "struct ImColor",
|
||||
"ImDrawCallback": "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);",
|
||||
"ImDrawChannel": "struct ImDrawChannel",
|
||||
"ImDrawCmd": "struct ImDrawCmd",
|
||||
"ImDrawCornerFlags": "int",
|
||||
"ImDrawData": "struct ImDrawData",
|
||||
"ImDrawIdx": "unsigned short",
|
||||
"ImDrawList": "struct ImDrawList",
|
||||
"ImDrawListFlags": "int",
|
||||
"ImDrawListSharedData": "struct ImDrawListSharedData",
|
||||
"ImDrawListSplitter": "struct ImDrawListSplitter",
|
||||
"ImDrawVert": "struct ImDrawVert",
|
||||
"ImFont": "struct ImFont",
|
||||
"ImFontAtlas": "struct ImFontAtlas",
|
||||
"ImFontAtlasFlags": "int",
|
||||
"ImFontConfig": "struct ImFontConfig",
|
||||
"ImFontGlyph": "struct ImFontGlyph",
|
||||
"ImFontGlyphRangesBuilder": "struct ImFontGlyphRangesBuilder",
|
||||
"ImGuiBackendFlags": "int",
|
||||
"ImGuiCol": "int",
|
||||
"ImGuiColorEditFlags": "int",
|
||||
"ImGuiColumnsFlags": "int",
|
||||
"ImGuiComboFlags": "int",
|
||||
"ImGuiCond": "int",
|
||||
"ImGuiConfigFlags": "int",
|
||||
"ImGuiContext": "struct ImGuiContext",
|
||||
"ImGuiDataType": "int",
|
||||
"ImGuiDir": "int",
|
||||
"ImGuiDragDropFlags": "int",
|
||||
"ImGuiFocusedFlags": "int",
|
||||
"ImGuiHoveredFlags": "int",
|
||||
"ImGuiID": "unsigned int",
|
||||
"ImGuiIO": "struct ImGuiIO",
|
||||
"ImGuiInputTextCallback": "int(*)(ImGuiInputTextCallbackData *data);",
|
||||
"ImGuiInputTextCallbackData": "struct ImGuiInputTextCallbackData",
|
||||
"ImGuiInputTextFlags": "int",
|
||||
"ImGuiKey": "int",
|
||||
"ImGuiListClipper": "struct ImGuiListClipper",
|
||||
"ImGuiMouseCursor": "int",
|
||||
"ImGuiNavInput": "int",
|
||||
"ImGuiOnceUponAFrame": "struct ImGuiOnceUponAFrame",
|
||||
"ImGuiPayload": "struct ImGuiPayload",
|
||||
"ImGuiSelectableFlags": "int",
|
||||
"ImGuiSizeCallback": "void(*)(ImGuiSizeCallbackData* data);",
|
||||
"ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData",
|
||||
"ImGuiStorage": "struct ImGuiStorage",
|
||||
"ImGuiStyle": "struct ImGuiStyle",
|
||||
"ImGuiStyleVar": "int",
|
||||
"ImGuiTabBarFlags": "int",
|
||||
"ImGuiTabItemFlags": "int",
|
||||
"ImGuiTextBuffer": "struct ImGuiTextBuffer",
|
||||
"ImGuiTextFilter": "struct ImGuiTextFilter",
|
||||
"ImGuiTreeNodeFlags": "int",
|
||||
"ImGuiWindowFlags": "int",
|
||||
"ImS16": "signed short",
|
||||
"ImS32": "signed int",
|
||||
"ImS64": "int64_t",
|
||||
"ImS8": "signed char",
|
||||
"ImTextureID": "void*",
|
||||
"ImU16": "unsigned short",
|
||||
"ImU32": "unsigned int",
|
||||
"ImU64": "uint64_t",
|
||||
"ImU8": "unsigned char",
|
||||
"ImVec2": "struct ImVec2",
|
||||
"ImVec4": "struct ImVec4",
|
||||
"ImWchar": "unsigned short",
|
||||
"Pair": "struct Pair",
|
||||
"TextRange": "struct TextRange",
|
||||
"const_iterator": "const value_type*",
|
||||
"iterator": "value_type*",
|
||||
"value_type": "T"
|
||||
}
|
75
generator/output/typedefs_dict.lua
Normal file
75
generator/output/typedefs_dict.lua
Normal file
@@ -0,0 +1,75 @@
|
||||
local defs = {}
|
||||
defs["CustomRect"] = "struct CustomRect"
|
||||
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["ImDrawData"] = "struct ImDrawData"
|
||||
defs["ImDrawIdx"] = "unsigned short"
|
||||
defs["ImDrawList"] = "struct ImDrawList"
|
||||
defs["ImDrawListFlags"] = "int"
|
||||
defs["ImDrawListSharedData"] = "struct ImDrawListSharedData"
|
||||
defs["ImDrawListSplitter"] = "struct ImDrawListSplitter"
|
||||
defs["ImDrawVert"] = "struct ImDrawVert"
|
||||
defs["ImFont"] = "struct ImFont"
|
||||
defs["ImFontAtlas"] = "struct ImFontAtlas"
|
||||
defs["ImFontAtlasFlags"] = "int"
|
||||
defs["ImFontConfig"] = "struct ImFontConfig"
|
||||
defs["ImFontGlyph"] = "struct ImFontGlyph"
|
||||
defs["ImFontGlyphRangesBuilder"] = "struct ImFontGlyphRangesBuilder"
|
||||
defs["ImGuiBackendFlags"] = "int"
|
||||
defs["ImGuiCol"] = "int"
|
||||
defs["ImGuiColorEditFlags"] = "int"
|
||||
defs["ImGuiColumnsFlags"] = "int"
|
||||
defs["ImGuiComboFlags"] = "int"
|
||||
defs["ImGuiCond"] = "int"
|
||||
defs["ImGuiConfigFlags"] = "int"
|
||||
defs["ImGuiContext"] = "struct ImGuiContext"
|
||||
defs["ImGuiDataType"] = "int"
|
||||
defs["ImGuiDir"] = "int"
|
||||
defs["ImGuiDragDropFlags"] = "int"
|
||||
defs["ImGuiFocusedFlags"] = "int"
|
||||
defs["ImGuiHoveredFlags"] = "int"
|
||||
defs["ImGuiID"] = "unsigned int"
|
||||
defs["ImGuiIO"] = "struct ImGuiIO"
|
||||
defs["ImGuiInputTextCallback"] = "int(*)(ImGuiInputTextCallbackData *data);"
|
||||
defs["ImGuiInputTextCallbackData"] = "struct ImGuiInputTextCallbackData"
|
||||
defs["ImGuiInputTextFlags"] = "int"
|
||||
defs["ImGuiKey"] = "int"
|
||||
defs["ImGuiListClipper"] = "struct ImGuiListClipper"
|
||||
defs["ImGuiMouseCursor"] = "int"
|
||||
defs["ImGuiNavInput"] = "int"
|
||||
defs["ImGuiOnceUponAFrame"] = "struct ImGuiOnceUponAFrame"
|
||||
defs["ImGuiPayload"] = "struct ImGuiPayload"
|
||||
defs["ImGuiSelectableFlags"] = "int"
|
||||
defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);"
|
||||
defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData"
|
||||
defs["ImGuiStorage"] = "struct ImGuiStorage"
|
||||
defs["ImGuiStyle"] = "struct ImGuiStyle"
|
||||
defs["ImGuiStyleVar"] = "int"
|
||||
defs["ImGuiTabBarFlags"] = "int"
|
||||
defs["ImGuiTabItemFlags"] = "int"
|
||||
defs["ImGuiTextBuffer"] = "struct ImGuiTextBuffer"
|
||||
defs["ImGuiTextFilter"] = "struct ImGuiTextFilter"
|
||||
defs["ImGuiTreeNodeFlags"] = "int"
|
||||
defs["ImGuiWindowFlags"] = "int"
|
||||
defs["ImS16"] = "signed short"
|
||||
defs["ImS32"] = "signed int"
|
||||
defs["ImS64"] = "int64_t"
|
||||
defs["ImS8"] = "signed char"
|
||||
defs["ImTextureID"] = "void*"
|
||||
defs["ImU16"] = "unsigned short"
|
||||
defs["ImU32"] = "unsigned int"
|
||||
defs["ImU64"] = "uint64_t"
|
||||
defs["ImU8"] = "unsigned char"
|
||||
defs["ImVec2"] = "struct ImVec2"
|
||||
defs["ImVec4"] = "struct ImVec4"
|
||||
defs["ImWchar"] = "unsigned short"
|
||||
defs["Pair"] = "struct Pair"
|
||||
defs["TextRange"] = "struct TextRange"
|
||||
defs["const_iterator"] = "const value_type*"
|
||||
defs["iterator"] = "value_type*"
|
||||
defs["value_type"] = "T"
|
||||
|
||||
return defs
|
2
imgui
2
imgui
Submodule imgui updated: e5bea65582...2da1c66d15
BIN
menus-api.gif
BIN
menus-api.gif
Binary file not shown.
Before Width: | Height: | Size: 195 KiB |
6
testbuildc/build.bat
Normal file
6
testbuildc/build.bat
Normal file
@@ -0,0 +1,6 @@
|
||||
:: set PATH=%PATH%;C:\mingw32\bin;
|
||||
set PATH=%PATH%;C:\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\mingw32\bin;
|
||||
::gcc -std=c99 -DCIMGUI_DEFINE_ENUMS_AND_STRUCTS cimgui.h
|
||||
::gcc -DCIMGUI_DEFINE_ENUMS_AND_STRUCTS cimgui.h
|
||||
gcc -std=c99 -Wall -Wpedantic -DCIMGUI_DEFINE_ENUMS_AND_STRUCTS cimguitest.c
|
||||
cmd /k
|
6
testbuildc/cimguitest.c
Normal file
6
testbuildc/cimguitest.c
Normal file
@@ -0,0 +1,6 @@
|
||||
#include "../cimgui.h"
|
||||
|
||||
int main(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
13
testbuildc/testcl.bat
Normal file
13
testbuildc/testcl.bat
Normal file
@@ -0,0 +1,13 @@
|
||||
::set PATH=%PATH%;C:\luaGL;C:\mingw32\bin;
|
||||
::gcc -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ../imgui/imgui.h > 11.txt
|
||||
|
||||
::set PATH=%PATH%;C:\luaGL;
|
||||
::set PATH=%PATH%;C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\bin\Hostx64\x64;
|
||||
|
||||
::ejecutar en cmd esto
|
||||
::"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
|
||||
|
||||
::cl /P /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_API="" /DIMGUI_IMPL_API="" ../imgui/imgui.h
|
||||
:: > clout.txt
|
||||
cl /P /DCIMGUI_DEFINE_ENUMS_AND_STRUCTS cimguitest.c
|
||||
cmd /k
|
Reference in New Issue
Block a user