mirror of
https://github.com/cimgui/cimgui.git
synced 2025-08-11 04:18:29 +01:00
Compare commits
37 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
d9e1d9a80d | ||
![]() |
4d7a7ac09f | ||
![]() |
8096fb69fe | ||
![]() |
97cfb930e0 | ||
![]() |
549e3cc8f8 | ||
![]() |
3a7d0d46f8 | ||
![]() |
e3cbc0119e | ||
![]() |
7c405d3a38 | ||
![]() |
a310379820 | ||
![]() |
e53a7beaeb | ||
![]() |
e7c5c6b9a1 | ||
![]() |
c09dc063b0 | ||
![]() |
e3136bb882 | ||
![]() |
59583ea35a | ||
![]() |
c05aa00083 | ||
![]() |
75f2167111 | ||
![]() |
bc5f64b2c2 | ||
![]() |
7cafceccae | ||
![]() |
1c65ee2bdc | ||
![]() |
0f5aa16fe8 | ||
![]() |
cde83f9fe8 | ||
![]() |
eefd229b68 | ||
![]() |
df61f2c552 | ||
![]() |
c0d75f6f8d | ||
![]() |
14e8be9af1 | ||
![]() |
ccf494d1c3 | ||
![]() |
8c817de195 | ||
![]() |
8f3ab64917 | ||
![]() |
14251bb176 | ||
![]() |
e61825224b | ||
![]() |
94ab1adf9e | ||
![]() |
094a52e6b6 | ||
![]() |
f7520ee03d | ||
![]() |
b0c65144ab | ||
![]() |
50ded57ba3 | ||
![]() |
50ae38591a | ||
![]() |
975a735d38 |
76
.github/workflows/build.yml
vendored
Normal file
76
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push: {}
|
||||
pull_request: {}
|
||||
schedule:
|
||||
- cron: '0 9 * * 1'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, macOS-latest, windows-latest]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
|
||||
- name: Install Dependencies
|
||||
shell: bash
|
||||
env:
|
||||
GITHUB_OS: ${{ matrix.os }}
|
||||
run: |
|
||||
if [ "$GITHUB_OS" == "macOS-latest" ];
|
||||
then
|
||||
brew install luajit
|
||||
elif [ "$GITHUB_OS" == "ubuntu-latest" ];
|
||||
then
|
||||
sudo apt-get install -y luajit
|
||||
elif [ "$GITHUB_OS" == "windows-latest" ];
|
||||
then
|
||||
vcpkg install luajit
|
||||
fi
|
||||
|
||||
- name: Download Submodules
|
||||
run: |
|
||||
git submodule update --init --recursive
|
||||
if: github.event_name != 'schedule'
|
||||
|
||||
- name: Download Latest ImGui
|
||||
shell: bash
|
||||
run: |
|
||||
rm -rf imgui
|
||||
git clone https://github.com/ocornut/imgui.git
|
||||
if: github.event_name == 'schedule'
|
||||
|
||||
- name: Generate Bindings
|
||||
shell: bash
|
||||
run: |
|
||||
export PATH=$PATH:/C/vcpkg/packages/luajit_x86-windows/tools/:/C/vcpkg/packages/luajit_x86-windows/bin/
|
||||
cd ./generator
|
||||
bash ./generator.sh
|
||||
|
||||
- name: CMake
|
||||
run: |
|
||||
mkdir cmake-build
|
||||
cd cmake-build
|
||||
cmake -DCIMGUI_TEST=1 ..
|
||||
|
||||
- name: Build
|
||||
working-directory: cmake-build
|
||||
run: |
|
||||
cmake --build .
|
||||
|
||||
- name: Test
|
||||
shell: bash
|
||||
env:
|
||||
GITHUB_OS: ${{ matrix.os }}
|
||||
working-directory: cmake-build
|
||||
run: |
|
||||
if [ "$GITHUB_OS" == "windows-latest" ];
|
||||
then
|
||||
./Debug/cimgui_test.exe
|
||||
else
|
||||
./cimgui_test
|
||||
fi
|
5
.gitignore
vendored
5
.gitignore
vendored
@@ -32,7 +32,10 @@ cimgui/cimgui.sdf
|
||||
cimgui/cimgui.v12.suo
|
||||
cimgui/Release/
|
||||
.idea
|
||||
CMakeLists.txt
|
||||
cimgui/.vs/
|
||||
cimgui/cimgui.vcxproj.user
|
||||
cimgui/x64/
|
||||
|
||||
# Test / Build
|
||||
bld/
|
||||
build/
|
||||
|
23
.travis.yml
23
.travis.yml
@@ -1,11 +1,32 @@
|
||||
language: cpp
|
||||
dist: trusty
|
||||
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
- windows
|
||||
|
||||
compiler:
|
||||
- gcc
|
||||
- clang
|
||||
|
||||
env:
|
||||
- MSBUILD_PATH="c:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin"
|
||||
|
||||
script:
|
||||
make
|
||||
- mkdir bld
|
||||
- cd bld
|
||||
- cmake -D CIMGUI_TEST=1 ..
|
||||
- |
|
||||
if [ "$TRAVIS_OS_NAME" == "windows" ]; then
|
||||
export PATH=$MSBUILD_PATH:$PATH
|
||||
MSBuild.exe cimgui.sln
|
||||
else
|
||||
make
|
||||
fi
|
||||
- |
|
||||
if [ "$TRAVIS_OS_NAME" == "windows" ]; then
|
||||
./Debug/cimgui_test.exe
|
||||
else
|
||||
./cimgui_test
|
||||
fi
|
||||
|
@@ -1,20 +1,15 @@
|
||||
Project(cimgui)
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
|
||||
project(cimgui)
|
||||
|
||||
#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)
|
||||
file(GLOB IMGUI_SOURCES
|
||||
cimgui.cpp
|
||||
imgui/imgui.cpp
|
||||
imgui/imgui_draw.cpp
|
||||
imgui/imgui_demo.cpp
|
||||
imgui/imgui_widgets.cpp
|
||||
)
|
||||
|
||||
set(IMGUI_STATIC "no" CACHE STRING "Build as a static library")
|
||||
|
||||
@@ -25,12 +20,27 @@ else (IMGUI_STATIC)
|
||||
add_library(cimgui SHARED ${IMGUI_SOURCES})
|
||||
endif (IMGUI_STATIC)
|
||||
|
||||
target_link_libraries(cimgui ${IMGUI_LIBRARIES})
|
||||
target_compile_definitions(cimgui PUBLIC IMGUI_DISABLE_OBSOLETE_FUNCTIONS=1)
|
||||
if (WIN32)
|
||||
target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API="extern \"C\" __declspec\(dllexport\)")
|
||||
else (WIN32)
|
||||
target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API="extern \"C\" ")
|
||||
endif (WIN32)
|
||||
|
||||
target_include_directories(cimgui PUBLIC ${CMAKE_SOURCE_DIR})
|
||||
target_include_directories(cimgui PUBLIC ${CMAKE_SOURCE_DIR}/imgui)
|
||||
set_target_properties(cimgui PROPERTIES PREFIX "")
|
||||
|
||||
#install
|
||||
install(TARGETS cimgui
|
||||
RUNTIME DESTINATION .
|
||||
LIBRARY DESTINATION .
|
||||
ARCHIVE DESTINATION .
|
||||
)
|
||||
RUNTIME DESTINATION .
|
||||
LIBRARY DESTINATION .
|
||||
ARCHIVE DESTINATION .
|
||||
)
|
||||
|
||||
#test
|
||||
set(CIMGUI_TEST "no" CACHE STRING "Enable compilation of a test unit based on imgui null")
|
||||
|
||||
if (CIMGUI_TEST)
|
||||
add_subdirectory(test)
|
||||
endif ()
|
||||
|
2
Makefile
2
Makefile
@@ -8,7 +8,7 @@ OBJS += ./imgui/imgui_draw.o
|
||||
OBJS += ./imgui/imgui_demo.o
|
||||
OBJS += ./imgui/imgui_widgets.o
|
||||
|
||||
CXXFLAGS=-O2
|
||||
CXXFLAGS=-O2 -fno-exceptions -fno-rtti
|
||||
|
||||
UNAME_S := $(shell uname -s)
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
# cimgui [](https://travis-ci.org/sonoro1234/cimgui)
|
||||
# cimgui [](https://travis-ci.org/cimgui/cimgui)
|
||||
|
||||
|
||||
This is a thin c-api wrapper programmatically generated for the excellent C++ immediate mode gui [Dear ImGui](https://github.com/ocornut/imgui).
|
||||
@@ -11,7 +11,7 @@ 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.71 of Dear ImGui]
|
||||
* currently this wrapper is based on version [1.74 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)
|
||||
@@ -31,7 +31,7 @@ Notes:
|
||||
* 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.
|
||||
* edit `generator/generator.bat` on windows, or `generator/generator.sh` on linux, 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
|
||||
|
2194
cimgui.cpp
2194
cimgui.cpp
File diff suppressed because it is too large
Load Diff
@@ -1,8 +1,9 @@
|
||||
|
||||
#include "./imgui/imgui.h"
|
||||
#include "./imgui/imgui_internal.h"
|
||||
#include "cimgui.h"
|
||||
|
||||
#include "./imgui/imgui_internal.h"
|
||||
|
||||
|
||||
#include "auto_funcs.cpp"
|
||||
|
||||
@@ -44,6 +45,11 @@ CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create()
|
||||
return IM_NEW(ImVector<ImWchar>) ();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self)
|
||||
{
|
||||
IM_DELETE(self);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p)
|
||||
{
|
||||
IM_PLACEMENT_NEW(p) ImVector<ImWchar>();
|
||||
|
@@ -83,6 +83,7 @@ CIMGUI_API void igColorConvertRGBtoHSV(float r,float g,float b,float *out_h,floa
|
||||
CIMGUI_API void igColorConvertHSVtoRGB(float h,float s,float v,float *out_r,float *out_g,float *out_b);
|
||||
|
||||
CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create();
|
||||
CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self);
|
||||
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
|
||||
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);
|
||||
#endif //CIMGUI_INCLUDED
|
||||
|
@@ -104,7 +104,7 @@ local function strip(cad)
|
||||
return cad:gsub("^%s*(.-)%s*$","%1") --remove initial and final spaces
|
||||
end
|
||||
local function strip_end(cad)
|
||||
return cad:gsub("^(.-)%s*$","%1") --remove initial and final spaces
|
||||
return cad:gsub("^(.-)%s*$","%1") --remove final spaces
|
||||
end
|
||||
local function clean_spaces(cad)
|
||||
cad = strip(cad)
|
||||
@@ -342,7 +342,7 @@ local function parseFunction(self,stname,lineorig,namespace)
|
||||
--skip template
|
||||
if line:match("template") then return end
|
||||
|
||||
local ret = line:match("([^%(%)]+[%*%s])%s?~?[_%w]+%b()")
|
||||
local ret = line:match("([^%(%):,]+[%*%s])%s?~?[_%w]+%b()")
|
||||
--local funcname, args = line:match("(~?[_%w]+)%s*(%b())")
|
||||
local funcname, args, extraconst = line:match("(~?[_%w]+)%s*(%b())(.*)")
|
||||
extraconst = extraconst:match("const")
|
||||
@@ -630,6 +630,7 @@ end
|
||||
|
||||
--only basic ending
|
||||
local c_types = {
|
||||
["bool"]=true,
|
||||
["char"]=true,
|
||||
["int"]=true,
|
||||
["float"]=true,
|
||||
@@ -641,6 +642,7 @@ local c_types = {
|
||||
["size_t"]=true,
|
||||
["ptrdiff_t"]=true,
|
||||
}
|
||||
M.c_types = c_types
|
||||
local function check_arg_detection(fdefs,typedefs)
|
||||
print"-----------------check arg detection---------------------------"
|
||||
for k,defT in pairs(fdefs) do
|
||||
@@ -709,7 +711,7 @@ function M.Parser()
|
||||
self:parseFunctions()
|
||||
self:compute_overloads()
|
||||
self:gen_structs_and_enums()
|
||||
self:compute_templated()
|
||||
--self:compute_templated()
|
||||
ADDdestructors(self)
|
||||
end
|
||||
function par:parseItems()
|
||||
@@ -808,14 +810,18 @@ function M.Parser()
|
||||
--local ttype,template = it.item:match("([^%s,%(%)]+)%s*<(.+)>")
|
||||
local ttype,template = it.item:match"([^%s,%(%)]+)%s*<(.+)>"
|
||||
if template then
|
||||
--if template=="T" then print("T found in---------");print(stru) end
|
||||
local te = template:gsub("%s","_")
|
||||
te = te:gsub("%*","Ptr")
|
||||
self.templates[ttype] = self.templates[ttype] or {}
|
||||
self.templates[ttype][template] = te
|
||||
it2 = it2:gsub("(<[%w_%*%s]+>)([^%s])","%1 %2") --add if not present space after <>
|
||||
it2 = it2:gsub("<([%w_%*%s]+)>","_"..te)
|
||||
end
|
||||
--clean mutable
|
||||
it2 = it2:gsub("mutable","")
|
||||
--clean namespaces
|
||||
it2 = it2:gsub("%w+::","")
|
||||
--skip static variables
|
||||
if not (it.re_name == "vardef_re" and it2:match"static") then
|
||||
table.insert(outtab,it2)
|
||||
@@ -846,10 +852,26 @@ function M.Parser()
|
||||
end
|
||||
end
|
||||
end
|
||||
--get structs in namespace
|
||||
for i,it in ipairs(itemsarr) do
|
||||
if it.re_name == "namespace_re" then
|
||||
local nsp = it.item:match("%b{}"):sub(2,-2)
|
||||
local namespace = it.item:match("namespace%s+(%S+)")
|
||||
local nspparr,itemsnsp = parseItems(nsp)
|
||||
for insp,itnsp in ipairs(nspparr) do
|
||||
if itnsp.re_name == "struct_re" then --or itnsp.re_name == "functionD_re" then
|
||||
--print("in mamespace",itnsp.item,namespace)
|
||||
table.insert(outtab,itnsp.item)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
--then structs and enums
|
||||
for i,it in ipairs(itemsarr) do
|
||||
if it.re_name == "enum_re" then
|
||||
table.insert(outtab,it.item)
|
||||
local enumname, enumbody = it.item:match"^%s*enum%s+([^%s;{}]+)[%s\n\r]*(%b{})"
|
||||
--print("enum is:",enumname, enumbody)
|
||||
table.insert(outtab,"\ntypedef enum ".. enumbody..enumname..";")
|
||||
elseif it.re_name == "struct_re" then
|
||||
local cleanst,structname = self:clean_struct(it.item)
|
||||
--if not void stname or templated
|
||||
@@ -912,15 +934,44 @@ function M.Parser()
|
||||
end
|
||||
function par:gen_structs_and_enums_table()
|
||||
local outtab = {enums={},structs={}}
|
||||
local outtabpre = {}
|
||||
local typedefs_table = {}
|
||||
self.typedefs_table = {}
|
||||
self.vardefs = {}
|
||||
|
||||
self.inerstructs = {}
|
||||
self.order = {}
|
||||
|
||||
--first typedefs
|
||||
for i,it in ipairs(itemsarr) do
|
||||
if it.re_name == "typedef_re" then --or it.re_name == "functypedef_re" or it.re_name == "vardef_re" then
|
||||
local typedefdef,typedefname = it.item:match"typedef(.+)%s([^%s;]+);$"
|
||||
typedefname = strip(typedefname)
|
||||
self.typedefs_table[typedefname] = strip(typedefdef)
|
||||
self.order[typedefname] = i
|
||||
-- add typedef after struct name
|
||||
-- if it.re_name == "vardef_re" and it.item:match"struct" then
|
||||
-- local stname = it.item:match("struct%s*(%S+)%s*;")
|
||||
-- table.insert(typedefs_table,"typedef struct "..stname.." "..stname..";\n")
|
||||
-- self.typedefs_dict[stname]="struct "..stname
|
||||
-- end
|
||||
end
|
||||
end
|
||||
--vardefs
|
||||
for i,it in ipairs(itemsarr) do
|
||||
if it.re_name == "vardef_re" then
|
||||
local stname = it.item:match"struct%s(%S+)$"
|
||||
if stname then
|
||||
stname = strip(stname)
|
||||
self.vardefs[stname] = true
|
||||
self.order[stname] = i
|
||||
end
|
||||
end
|
||||
end
|
||||
--then structs and enums
|
||||
for i,it in ipairs(itemsarr) do
|
||||
if it.re_name == "enum_re" then
|
||||
local enumname = it.item:match"^%s*enum%s+([^%s;{}]+)"
|
||||
outtab.enums[enumname] = {}
|
||||
self.order[enumname] = i
|
||||
local inner = strip_end(it.item:match("%b{}"):sub(2,-2))
|
||||
local enumarr = str_split(inner,",")
|
||||
for j,line in ipairs(enumarr) do
|
||||
@@ -937,8 +988,10 @@ function M.Parser()
|
||||
elseif it.re_name == "struct_re" then
|
||||
local cleanst,structname,strtab = self:clean_struct(it.item)
|
||||
--if not void stname or templated
|
||||
--M.prtable(cleanst,structname,strtab)
|
||||
if structname and not self.typenames[structname] then
|
||||
outtab.structs[structname] = {}
|
||||
self.order[structname]=i
|
||||
for j=3,#strtab-1 do
|
||||
self:parse_struct_line(strtab[j],outtab.structs[structname])
|
||||
end
|
||||
|
File diff suppressed because it is too large
Load Diff
17
generator/generator.sh
Executable file
17
generator/generator.sh
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/usr/bin/sh
|
||||
|
||||
# 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
|
||||
|
||||
#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
|
@@ -1,646 +0,0 @@
|
||||
--------------------------------------------------------------------------
|
||||
--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!!"
|
@@ -16,7 +16,7 @@ set PATH=%PATH%;C:\luaGL;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
|
||||
luajit ./generator_old.lua gcc glfw opengl3 opengl2 sdl
|
||||
|
||||
::leave console open
|
||||
cmd /k
|
1682
generator/generator_old.lua
Normal file
1682
generator/generator_old.lua
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -30,6 +30,7 @@ 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 bool ImGui_ImplSDL2_InitForD3D(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);
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -454,6 +454,26 @@
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_InitForD3D": [
|
||||
{
|
||||
"args": "(SDL_Window* window)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "SDL_Window*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(SDL_Window* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplSDL2_InitForD3D",
|
||||
"defaults": [],
|
||||
"funcname": "ImGui_ImplSDL2_InitForD3D",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForD3D",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_InitForOpenGL": [
|
||||
{
|
||||
"args": "(SDL_Window* window,void* sdl_gl_context)",
|
||||
|
@@ -399,6 +399,23 @@ 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_InitForD3D"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1] = {}
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["args"] = "(SDL_Window* window)"
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["argsT"][1]["type"] = "SDL_Window*"
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["argsoriginal"] = "(SDL_Window* window)"
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["call_args"] = "(window)"
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForD3D"
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["funcname"] = "ImGui_ImplSDL2_InitForD3D"
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForD3D"
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["signature"] = "(SDL_Window*)"
|
||||
defs["ImGui_ImplSDL2_InitForD3D"][1]["stname"] = ""
|
||||
defs["ImGui_ImplSDL2_InitForD3D"]["(SDL_Window*)"] = defs["ImGui_ImplSDL2_InitForD3D"][1]
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1] = {}
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["args"] = "(SDL_Window* window,void* sdl_gl_context)"
|
||||
|
@@ -16,9 +16,9 @@ igIsRectVisible 2
|
||||
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)
|
||||
ImGuiTextRange_ImGuiTextRange 2
|
||||
1 nil ImGuiTextRange_ImGuiTextRange ()
|
||||
2 nil ImGuiTextRange_ImGuiTextRangeStr (const char*,const char*)
|
||||
ImVector_back 2
|
||||
1 T* ImVector_back ()
|
||||
2 const T* ImVector_back_const ()const
|
||||
@@ -40,17 +40,10 @@ igPushID 4
|
||||
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)
|
||||
ImGuiStoragePair_ImGuiStoragePair 3
|
||||
1 nil ImGuiStoragePair_ImGuiStoragePairInt (ImGuiID,int)
|
||||
2 nil ImGuiStoragePair_ImGuiStoragePairFloat (ImGuiID,float)
|
||||
3 nil ImGuiStoragePair_ImGuiStoragePairPtr (ImGuiID,void*)
|
||||
igTreeNode 3
|
||||
1 bool igTreeNodeStr (const char*)
|
||||
2 bool igTreeNodeStrStr (const char*,const char*,...)
|
||||
@@ -95,38 +88,48 @@ igTreeNodeExV 2
|
||||
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)
|
||||
ImVec2_ImVec2 2
|
||||
1 nil ImVec2_ImVec2 ()
|
||||
2 nil ImVec2_ImVec2Float (float,float)
|
||||
igCollapsingHeader 2
|
||||
1 bool igCollapsingHeader (const char*,ImGuiTreeNodeFlags)
|
||||
2 bool igCollapsingHeaderBoolPtr (const char*,bool*,ImGuiTreeNodeFlags)
|
||||
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
|
||||
igGetColorU32 3
|
||||
1 ImU32 igGetColorU32 (ImGuiCol,float)
|
||||
2 ImU32 igGetColorU32Vec4 (const ImVec4)
|
||||
3 ImU32 igGetColorU32U32 (ImU32)
|
||||
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
|
||||
ImVector_front 2
|
||||
1 T* ImVector_front ()
|
||||
2 const T* ImVector_front_const ()const
|
||||
ImVector_find 2
|
||||
1 T* ImVector_find (const T)
|
||||
2 const T* ImVector_find_const (const T)const
|
||||
igTreeNodeEx 3
|
||||
1 bool igTreeNodeExStr (const char*,ImGuiTreeNodeFlags)
|
||||
2 bool igTreeNodeExStrStr (const char*,ImGuiTreeNodeFlags,const char*,...)
|
||||
3 bool igTreeNodeExPtr (const void*,ImGuiTreeNodeFlags,const char*,...)
|
||||
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)
|
||||
igListBoxHeader 2
|
||||
1 bool igListBoxHeaderVec2 (const char*,const ImVec2)
|
||||
2 bool igListBoxHeaderInt (const char*,int,int)
|
||||
igTreeNodeV 2
|
||||
1 bool igTreeNodeVStr (const char*,const char*,va_list)
|
||||
2 bool igTreeNodeVPtr (const void*,const char*,va_list)
|
||||
91 overloaded
|
||||
93 overloaded
|
@@ -1,6 +1,11 @@
|
||||
{
|
||||
"enums": {
|
||||
"ImDrawCornerFlags_": [
|
||||
{
|
||||
"calc_value": 0,
|
||||
"name": "ImDrawCornerFlags_None",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"calc_value": 1,
|
||||
"name": "ImDrawCornerFlags_TopLeft",
|
||||
@@ -1033,38 +1038,43 @@
|
||||
},
|
||||
{
|
||||
"calc_value": 15,
|
||||
"name": "ImGuiKey_A",
|
||||
"name": "ImGuiKey_KeyPadEnter",
|
||||
"value": 15
|
||||
},
|
||||
{
|
||||
"calc_value": 16,
|
||||
"name": "ImGuiKey_C",
|
||||
"name": "ImGuiKey_A",
|
||||
"value": 16
|
||||
},
|
||||
{
|
||||
"calc_value": 17,
|
||||
"name": "ImGuiKey_V",
|
||||
"name": "ImGuiKey_C",
|
||||
"value": 17
|
||||
},
|
||||
{
|
||||
"calc_value": 18,
|
||||
"name": "ImGuiKey_X",
|
||||
"name": "ImGuiKey_V",
|
||||
"value": 18
|
||||
},
|
||||
{
|
||||
"calc_value": 19,
|
||||
"name": "ImGuiKey_Y",
|
||||
"name": "ImGuiKey_X",
|
||||
"value": 19
|
||||
},
|
||||
{
|
||||
"calc_value": 20,
|
||||
"name": "ImGuiKey_Z",
|
||||
"name": "ImGuiKey_Y",
|
||||
"value": 20
|
||||
},
|
||||
{
|
||||
"calc_value": 21,
|
||||
"name": "ImGuiKey_COUNT",
|
||||
"name": "ImGuiKey_Z",
|
||||
"value": 21
|
||||
},
|
||||
{
|
||||
"calc_value": 22,
|
||||
"name": "ImGuiKey_COUNT",
|
||||
"value": 22
|
||||
}
|
||||
],
|
||||
"ImGuiMouseCursor_": [
|
||||
@@ -1207,33 +1217,28 @@
|
||||
},
|
||||
{
|
||||
"calc_value": 17,
|
||||
"name": "ImGuiNavInput_KeyTab_",
|
||||
"name": "ImGuiNavInput_KeyLeft_",
|
||||
"value": 17
|
||||
},
|
||||
{
|
||||
"calc_value": 18,
|
||||
"name": "ImGuiNavInput_KeyLeft_",
|
||||
"name": "ImGuiNavInput_KeyRight_",
|
||||
"value": 18
|
||||
},
|
||||
{
|
||||
"calc_value": 19,
|
||||
"name": "ImGuiNavInput_KeyRight_",
|
||||
"name": "ImGuiNavInput_KeyUp_",
|
||||
"value": 19
|
||||
},
|
||||
{
|
||||
"calc_value": 20,
|
||||
"name": "ImGuiNavInput_KeyUp_",
|
||||
"name": "ImGuiNavInput_KeyDown_",
|
||||
"value": 20
|
||||
},
|
||||
{
|
||||
"calc_value": 21,
|
||||
"name": "ImGuiNavInput_KeyDown_",
|
||||
"value": 21
|
||||
},
|
||||
{
|
||||
"calc_value": 22,
|
||||
"name": "ImGuiNavInput_COUNT",
|
||||
"value": 22
|
||||
"value": 21
|
||||
},
|
||||
{
|
||||
"calc_value": 16,
|
||||
@@ -1266,6 +1271,11 @@
|
||||
"calc_value": 8,
|
||||
"name": "ImGuiSelectableFlags_Disabled",
|
||||
"value": "1 << 3"
|
||||
},
|
||||
{
|
||||
"calc_value": 16,
|
||||
"name": "ImGuiSelectableFlags_AllowItemOverlap",
|
||||
"value": "1 << 4"
|
||||
}
|
||||
],
|
||||
"ImGuiStyleVar_": [
|
||||
@@ -1535,6 +1545,16 @@
|
||||
"name": "ImGuiTreeNodeFlags_FramePadding",
|
||||
"value": "1 << 10"
|
||||
},
|
||||
{
|
||||
"calc_value": 2048,
|
||||
"name": "ImGuiTreeNodeFlags_SpanAvailWidth",
|
||||
"value": "1 << 11"
|
||||
},
|
||||
{
|
||||
"calc_value": 4096,
|
||||
"name": "ImGuiTreeNodeFlags_SpanFullWidth",
|
||||
"value": "1 << 12"
|
||||
},
|
||||
{
|
||||
"calc_value": 8192,
|
||||
"name": "ImGuiTreeNodeFlags_NavLeftJumpsBackHere",
|
||||
@@ -1700,40 +1720,6 @@
|
||||
]
|
||||
},
|
||||
"structs": {
|
||||
"CustomRect": [
|
||||
{
|
||||
"name": "ID",
|
||||
"type": "unsigned int"
|
||||
},
|
||||
{
|
||||
"name": "Width",
|
||||
"type": "unsigned short"
|
||||
},
|
||||
{
|
||||
"name": "Height",
|
||||
"type": "unsigned short"
|
||||
},
|
||||
{
|
||||
"name": "X",
|
||||
"type": "unsigned short"
|
||||
},
|
||||
{
|
||||
"name": "Y",
|
||||
"type": "unsigned short"
|
||||
},
|
||||
{
|
||||
"name": "GlyphAdvanceX",
|
||||
"type": "float"
|
||||
},
|
||||
{
|
||||
"name": "GlyphOffset",
|
||||
"type": "ImVec2"
|
||||
},
|
||||
{
|
||||
"name": "Font",
|
||||
"type": "ImFont*"
|
||||
}
|
||||
],
|
||||
"ImColor": [
|
||||
{
|
||||
"name": "Value",
|
||||
@@ -1957,6 +1943,10 @@
|
||||
"name": "FallbackChar",
|
||||
"type": "ImWchar"
|
||||
},
|
||||
{
|
||||
"name": "EllipsisChar",
|
||||
"type": "ImWchar"
|
||||
},
|
||||
{
|
||||
"name": "Scale",
|
||||
"type": "float"
|
||||
@@ -2030,8 +2020,8 @@
|
||||
},
|
||||
{
|
||||
"name": "CustomRects",
|
||||
"template_type": "CustomRect",
|
||||
"type": "ImVector_CustomRect"
|
||||
"template_type": "ImFontAtlasCustomRect",
|
||||
"type": "ImVector_ImFontAtlasCustomRect"
|
||||
},
|
||||
{
|
||||
"name": "ConfigData",
|
||||
@@ -2044,6 +2034,40 @@
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"ImFontAtlasCustomRect": [
|
||||
{
|
||||
"name": "ID",
|
||||
"type": "unsigned int"
|
||||
},
|
||||
{
|
||||
"name": "Width",
|
||||
"type": "unsigned short"
|
||||
},
|
||||
{
|
||||
"name": "Height",
|
||||
"type": "unsigned short"
|
||||
},
|
||||
{
|
||||
"name": "X",
|
||||
"type": "unsigned short"
|
||||
},
|
||||
{
|
||||
"name": "Y",
|
||||
"type": "unsigned short"
|
||||
},
|
||||
{
|
||||
"name": "GlyphAdvanceX",
|
||||
"type": "float"
|
||||
},
|
||||
{
|
||||
"name": "GlyphOffset",
|
||||
"type": "ImVec2"
|
||||
},
|
||||
{
|
||||
"name": "Font",
|
||||
"type": "ImFont*"
|
||||
}
|
||||
],
|
||||
"ImFontConfig": [
|
||||
{
|
||||
"name": "FontData",
|
||||
@@ -2109,6 +2133,10 @@
|
||||
"name": "RasterizerMultiply",
|
||||
"type": "float"
|
||||
},
|
||||
{
|
||||
"name": "EllipsisChar",
|
||||
"type": "ImWchar"
|
||||
},
|
||||
{
|
||||
"name": "Name[40]",
|
||||
"size": 40,
|
||||
@@ -2211,7 +2239,7 @@
|
||||
},
|
||||
{
|
||||
"name": "KeyMap[ImGuiKey_COUNT]",
|
||||
"size": 21,
|
||||
"size": 22,
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
@@ -2266,6 +2294,10 @@
|
||||
"name": "ConfigWindowsMoveFromTitleBarOnly",
|
||||
"type": "bool"
|
||||
},
|
||||
{
|
||||
"name": "ConfigWindowsMemoryCompactTimer",
|
||||
"type": "float"
|
||||
},
|
||||
{
|
||||
"name": "BackendPlatformName",
|
||||
"type": "const char*"
|
||||
@@ -2350,7 +2382,7 @@
|
||||
},
|
||||
{
|
||||
"name": "NavInputs[ImGuiNavInput_COUNT]",
|
||||
"size": 22,
|
||||
"size": 21,
|
||||
"type": "float"
|
||||
},
|
||||
{
|
||||
@@ -2480,12 +2512,12 @@
|
||||
},
|
||||
{
|
||||
"name": "NavInputsDownDuration[ImGuiNavInput_COUNT]",
|
||||
"size": 22,
|
||||
"size": 21,
|
||||
"type": "float"
|
||||
},
|
||||
{
|
||||
"name": "NavInputsDownDurationPrev[ImGuiNavInput_COUNT]",
|
||||
"size": 22,
|
||||
"size": 21,
|
||||
"type": "float"
|
||||
},
|
||||
{
|
||||
@@ -2632,8 +2664,18 @@
|
||||
"ImGuiStorage": [
|
||||
{
|
||||
"name": "Data",
|
||||
"template_type": "Pair",
|
||||
"type": "ImVector_Pair"
|
||||
"template_type": "ImGuiStoragePair",
|
||||
"type": "ImVector_ImGuiStoragePair"
|
||||
}
|
||||
],
|
||||
"ImGuiStoragePair": [
|
||||
{
|
||||
"name": "key",
|
||||
"type": "ImGuiID"
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"type": "union { int val_i; float val_f; void* val_p;}"
|
||||
}
|
||||
],
|
||||
"ImGuiStyle": [
|
||||
@@ -2737,6 +2779,10 @@
|
||||
"name": "TabBorderSize",
|
||||
"type": "float"
|
||||
},
|
||||
{
|
||||
"name": "ColorButtonPosition",
|
||||
"type": "ImGuiDir"
|
||||
},
|
||||
{
|
||||
"name": "ButtonTextAlign",
|
||||
"type": "ImVec2"
|
||||
@@ -2790,14 +2836,24 @@
|
||||
},
|
||||
{
|
||||
"name": "Filters",
|
||||
"template_type": "TextRange",
|
||||
"type": "ImVector_TextRange"
|
||||
"template_type": "ImGuiTextRange",
|
||||
"type": "ImVector_ImGuiTextRange"
|
||||
},
|
||||
{
|
||||
"name": "CountGrep",
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"ImGuiTextRange": [
|
||||
{
|
||||
"name": "b",
|
||||
"type": "const char*"
|
||||
},
|
||||
{
|
||||
"name": "e",
|
||||
"type": "const char*"
|
||||
}
|
||||
],
|
||||
"ImVec2": [
|
||||
{
|
||||
"name": "x",
|
||||
@@ -2825,26 +2881,6 @@
|
||||
"name": "w",
|
||||
"type": "float"
|
||||
}
|
||||
],
|
||||
"Pair": [
|
||||
{
|
||||
"name": "key",
|
||||
"type": "ImGuiID"
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"type": "union { int val_i; float val_f; void* val_p;}"
|
||||
}
|
||||
],
|
||||
"TextRange": [
|
||||
{
|
||||
"name": "b",
|
||||
"type": "const char*"
|
||||
},
|
||||
{
|
||||
"name": "e",
|
||||
"type": "const char*"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@@ -2,41 +2,45 @@ local defs = {}
|
||||
defs["enums"] = {}
|
||||
defs["enums"]["ImDrawCornerFlags_"] = {}
|
||||
defs["enums"]["ImDrawCornerFlags_"][1] = {}
|
||||
defs["enums"]["ImDrawCornerFlags_"][1]["calc_value"] = 1
|
||||
defs["enums"]["ImDrawCornerFlags_"][1]["name"] = "ImDrawCornerFlags_TopLeft"
|
||||
defs["enums"]["ImDrawCornerFlags_"][1]["value"] = "1 << 0"
|
||||
defs["enums"]["ImDrawCornerFlags_"][1]["calc_value"] = 0
|
||||
defs["enums"]["ImDrawCornerFlags_"][1]["name"] = "ImDrawCornerFlags_None"
|
||||
defs["enums"]["ImDrawCornerFlags_"][1]["value"] = "0"
|
||||
defs["enums"]["ImDrawCornerFlags_"][2] = {}
|
||||
defs["enums"]["ImDrawCornerFlags_"][2]["calc_value"] = 2
|
||||
defs["enums"]["ImDrawCornerFlags_"][2]["name"] = "ImDrawCornerFlags_TopRight"
|
||||
defs["enums"]["ImDrawCornerFlags_"][2]["value"] = "1 << 1"
|
||||
defs["enums"]["ImDrawCornerFlags_"][2]["calc_value"] = 1
|
||||
defs["enums"]["ImDrawCornerFlags_"][2]["name"] = "ImDrawCornerFlags_TopLeft"
|
||||
defs["enums"]["ImDrawCornerFlags_"][2]["value"] = "1 << 0"
|
||||
defs["enums"]["ImDrawCornerFlags_"][3] = {}
|
||||
defs["enums"]["ImDrawCornerFlags_"][3]["calc_value"] = 4
|
||||
defs["enums"]["ImDrawCornerFlags_"][3]["name"] = "ImDrawCornerFlags_BotLeft"
|
||||
defs["enums"]["ImDrawCornerFlags_"][3]["value"] = "1 << 2"
|
||||
defs["enums"]["ImDrawCornerFlags_"][3]["calc_value"] = 2
|
||||
defs["enums"]["ImDrawCornerFlags_"][3]["name"] = "ImDrawCornerFlags_TopRight"
|
||||
defs["enums"]["ImDrawCornerFlags_"][3]["value"] = "1 << 1"
|
||||
defs["enums"]["ImDrawCornerFlags_"][4] = {}
|
||||
defs["enums"]["ImDrawCornerFlags_"][4]["calc_value"] = 8
|
||||
defs["enums"]["ImDrawCornerFlags_"][4]["name"] = "ImDrawCornerFlags_BotRight"
|
||||
defs["enums"]["ImDrawCornerFlags_"][4]["value"] = "1 << 3"
|
||||
defs["enums"]["ImDrawCornerFlags_"][4]["calc_value"] = 4
|
||||
defs["enums"]["ImDrawCornerFlags_"][4]["name"] = "ImDrawCornerFlags_BotLeft"
|
||||
defs["enums"]["ImDrawCornerFlags_"][4]["value"] = "1 << 2"
|
||||
defs["enums"]["ImDrawCornerFlags_"][5] = {}
|
||||
defs["enums"]["ImDrawCornerFlags_"][5]["calc_value"] = 3
|
||||
defs["enums"]["ImDrawCornerFlags_"][5]["name"] = "ImDrawCornerFlags_Top"
|
||||
defs["enums"]["ImDrawCornerFlags_"][5]["value"] = "ImDrawCornerFlags_TopLeft | ImDrawCornerFlags_TopRight"
|
||||
defs["enums"]["ImDrawCornerFlags_"][5]["calc_value"] = 8
|
||||
defs["enums"]["ImDrawCornerFlags_"][5]["name"] = "ImDrawCornerFlags_BotRight"
|
||||
defs["enums"]["ImDrawCornerFlags_"][5]["value"] = "1 << 3"
|
||||
defs["enums"]["ImDrawCornerFlags_"][6] = {}
|
||||
defs["enums"]["ImDrawCornerFlags_"][6]["calc_value"] = 12
|
||||
defs["enums"]["ImDrawCornerFlags_"][6]["name"] = "ImDrawCornerFlags_Bot"
|
||||
defs["enums"]["ImDrawCornerFlags_"][6]["value"] = "ImDrawCornerFlags_BotLeft | ImDrawCornerFlags_BotRight"
|
||||
defs["enums"]["ImDrawCornerFlags_"][6]["calc_value"] = 3
|
||||
defs["enums"]["ImDrawCornerFlags_"][6]["name"] = "ImDrawCornerFlags_Top"
|
||||
defs["enums"]["ImDrawCornerFlags_"][6]["value"] = "ImDrawCornerFlags_TopLeft | ImDrawCornerFlags_TopRight"
|
||||
defs["enums"]["ImDrawCornerFlags_"][7] = {}
|
||||
defs["enums"]["ImDrawCornerFlags_"][7]["calc_value"] = 5
|
||||
defs["enums"]["ImDrawCornerFlags_"][7]["name"] = "ImDrawCornerFlags_Left"
|
||||
defs["enums"]["ImDrawCornerFlags_"][7]["value"] = "ImDrawCornerFlags_TopLeft | ImDrawCornerFlags_BotLeft"
|
||||
defs["enums"]["ImDrawCornerFlags_"][7]["calc_value"] = 12
|
||||
defs["enums"]["ImDrawCornerFlags_"][7]["name"] = "ImDrawCornerFlags_Bot"
|
||||
defs["enums"]["ImDrawCornerFlags_"][7]["value"] = "ImDrawCornerFlags_BotLeft | ImDrawCornerFlags_BotRight"
|
||||
defs["enums"]["ImDrawCornerFlags_"][8] = {}
|
||||
defs["enums"]["ImDrawCornerFlags_"][8]["calc_value"] = 10
|
||||
defs["enums"]["ImDrawCornerFlags_"][8]["name"] = "ImDrawCornerFlags_Right"
|
||||
defs["enums"]["ImDrawCornerFlags_"][8]["value"] = "ImDrawCornerFlags_TopRight | ImDrawCornerFlags_BotRight"
|
||||
defs["enums"]["ImDrawCornerFlags_"][8]["calc_value"] = 5
|
||||
defs["enums"]["ImDrawCornerFlags_"][8]["name"] = "ImDrawCornerFlags_Left"
|
||||
defs["enums"]["ImDrawCornerFlags_"][8]["value"] = "ImDrawCornerFlags_TopLeft | ImDrawCornerFlags_BotLeft"
|
||||
defs["enums"]["ImDrawCornerFlags_"][9] = {}
|
||||
defs["enums"]["ImDrawCornerFlags_"][9]["calc_value"] = 15
|
||||
defs["enums"]["ImDrawCornerFlags_"][9]["name"] = "ImDrawCornerFlags_All"
|
||||
defs["enums"]["ImDrawCornerFlags_"][9]["value"] = "0xF"
|
||||
defs["enums"]["ImDrawCornerFlags_"][9]["calc_value"] = 10
|
||||
defs["enums"]["ImDrawCornerFlags_"][9]["name"] = "ImDrawCornerFlags_Right"
|
||||
defs["enums"]["ImDrawCornerFlags_"][9]["value"] = "ImDrawCornerFlags_TopRight | ImDrawCornerFlags_BotRight"
|
||||
defs["enums"]["ImDrawCornerFlags_"][10] = {}
|
||||
defs["enums"]["ImDrawCornerFlags_"][10]["calc_value"] = 15
|
||||
defs["enums"]["ImDrawCornerFlags_"][10]["name"] = "ImDrawCornerFlags_All"
|
||||
defs["enums"]["ImDrawCornerFlags_"][10]["value"] = "0xF"
|
||||
defs["enums"]["ImDrawListFlags_"] = {}
|
||||
defs["enums"]["ImDrawListFlags_"][1] = {}
|
||||
defs["enums"]["ImDrawListFlags_"][1]["calc_value"] = 0
|
||||
@@ -818,32 +822,36 @@ defs["enums"]["ImGuiKey_"][15]["name"] = "ImGuiKey_Escape"
|
||||
defs["enums"]["ImGuiKey_"][15]["value"] = 14
|
||||
defs["enums"]["ImGuiKey_"][16] = {}
|
||||
defs["enums"]["ImGuiKey_"][16]["calc_value"] = 15
|
||||
defs["enums"]["ImGuiKey_"][16]["name"] = "ImGuiKey_A"
|
||||
defs["enums"]["ImGuiKey_"][16]["name"] = "ImGuiKey_KeyPadEnter"
|
||||
defs["enums"]["ImGuiKey_"][16]["value"] = 15
|
||||
defs["enums"]["ImGuiKey_"][17] = {}
|
||||
defs["enums"]["ImGuiKey_"][17]["calc_value"] = 16
|
||||
defs["enums"]["ImGuiKey_"][17]["name"] = "ImGuiKey_C"
|
||||
defs["enums"]["ImGuiKey_"][17]["name"] = "ImGuiKey_A"
|
||||
defs["enums"]["ImGuiKey_"][17]["value"] = 16
|
||||
defs["enums"]["ImGuiKey_"][18] = {}
|
||||
defs["enums"]["ImGuiKey_"][18]["calc_value"] = 17
|
||||
defs["enums"]["ImGuiKey_"][18]["name"] = "ImGuiKey_V"
|
||||
defs["enums"]["ImGuiKey_"][18]["name"] = "ImGuiKey_C"
|
||||
defs["enums"]["ImGuiKey_"][18]["value"] = 17
|
||||
defs["enums"]["ImGuiKey_"][19] = {}
|
||||
defs["enums"]["ImGuiKey_"][19]["calc_value"] = 18
|
||||
defs["enums"]["ImGuiKey_"][19]["name"] = "ImGuiKey_X"
|
||||
defs["enums"]["ImGuiKey_"][19]["name"] = "ImGuiKey_V"
|
||||
defs["enums"]["ImGuiKey_"][19]["value"] = 18
|
||||
defs["enums"]["ImGuiKey_"][20] = {}
|
||||
defs["enums"]["ImGuiKey_"][20]["calc_value"] = 19
|
||||
defs["enums"]["ImGuiKey_"][20]["name"] = "ImGuiKey_Y"
|
||||
defs["enums"]["ImGuiKey_"][20]["name"] = "ImGuiKey_X"
|
||||
defs["enums"]["ImGuiKey_"][20]["value"] = 19
|
||||
defs["enums"]["ImGuiKey_"][21] = {}
|
||||
defs["enums"]["ImGuiKey_"][21]["calc_value"] = 20
|
||||
defs["enums"]["ImGuiKey_"][21]["name"] = "ImGuiKey_Z"
|
||||
defs["enums"]["ImGuiKey_"][21]["name"] = "ImGuiKey_Y"
|
||||
defs["enums"]["ImGuiKey_"][21]["value"] = 20
|
||||
defs["enums"]["ImGuiKey_"][22] = {}
|
||||
defs["enums"]["ImGuiKey_"][22]["calc_value"] = 21
|
||||
defs["enums"]["ImGuiKey_"][22]["name"] = "ImGuiKey_COUNT"
|
||||
defs["enums"]["ImGuiKey_"][22]["name"] = "ImGuiKey_Z"
|
||||
defs["enums"]["ImGuiKey_"][22]["value"] = 21
|
||||
defs["enums"]["ImGuiKey_"][23] = {}
|
||||
defs["enums"]["ImGuiKey_"][23]["calc_value"] = 22
|
||||
defs["enums"]["ImGuiKey_"][23]["name"] = "ImGuiKey_COUNT"
|
||||
defs["enums"]["ImGuiKey_"][23]["value"] = 22
|
||||
defs["enums"]["ImGuiMouseCursor_"] = {}
|
||||
defs["enums"]["ImGuiMouseCursor_"][1] = {}
|
||||
defs["enums"]["ImGuiMouseCursor_"][1]["calc_value"] = -1
|
||||
@@ -956,32 +964,28 @@ defs["enums"]["ImGuiNavInput_"][17]["name"] = "ImGuiNavInput_KeyMenu_"
|
||||
defs["enums"]["ImGuiNavInput_"][17]["value"] = 16
|
||||
defs["enums"]["ImGuiNavInput_"][18] = {}
|
||||
defs["enums"]["ImGuiNavInput_"][18]["calc_value"] = 17
|
||||
defs["enums"]["ImGuiNavInput_"][18]["name"] = "ImGuiNavInput_KeyTab_"
|
||||
defs["enums"]["ImGuiNavInput_"][18]["name"] = "ImGuiNavInput_KeyLeft_"
|
||||
defs["enums"]["ImGuiNavInput_"][18]["value"] = 17
|
||||
defs["enums"]["ImGuiNavInput_"][19] = {}
|
||||
defs["enums"]["ImGuiNavInput_"][19]["calc_value"] = 18
|
||||
defs["enums"]["ImGuiNavInput_"][19]["name"] = "ImGuiNavInput_KeyLeft_"
|
||||
defs["enums"]["ImGuiNavInput_"][19]["name"] = "ImGuiNavInput_KeyRight_"
|
||||
defs["enums"]["ImGuiNavInput_"][19]["value"] = 18
|
||||
defs["enums"]["ImGuiNavInput_"][20] = {}
|
||||
defs["enums"]["ImGuiNavInput_"][20]["calc_value"] = 19
|
||||
defs["enums"]["ImGuiNavInput_"][20]["name"] = "ImGuiNavInput_KeyRight_"
|
||||
defs["enums"]["ImGuiNavInput_"][20]["name"] = "ImGuiNavInput_KeyUp_"
|
||||
defs["enums"]["ImGuiNavInput_"][20]["value"] = 19
|
||||
defs["enums"]["ImGuiNavInput_"][21] = {}
|
||||
defs["enums"]["ImGuiNavInput_"][21]["calc_value"] = 20
|
||||
defs["enums"]["ImGuiNavInput_"][21]["name"] = "ImGuiNavInput_KeyUp_"
|
||||
defs["enums"]["ImGuiNavInput_"][21]["name"] = "ImGuiNavInput_KeyDown_"
|
||||
defs["enums"]["ImGuiNavInput_"][21]["value"] = 20
|
||||
defs["enums"]["ImGuiNavInput_"][22] = {}
|
||||
defs["enums"]["ImGuiNavInput_"][22]["calc_value"] = 21
|
||||
defs["enums"]["ImGuiNavInput_"][22]["name"] = "ImGuiNavInput_KeyDown_"
|
||||
defs["enums"]["ImGuiNavInput_"][22]["name"] = "ImGuiNavInput_COUNT"
|
||||
defs["enums"]["ImGuiNavInput_"][22]["value"] = 21
|
||||
defs["enums"]["ImGuiNavInput_"][23] = {}
|
||||
defs["enums"]["ImGuiNavInput_"][23]["calc_value"] = 22
|
||||
defs["enums"]["ImGuiNavInput_"][23]["name"] = "ImGuiNavInput_COUNT"
|
||||
defs["enums"]["ImGuiNavInput_"][23]["value"] = 22
|
||||
defs["enums"]["ImGuiNavInput_"][24] = {}
|
||||
defs["enums"]["ImGuiNavInput_"][24]["calc_value"] = 16
|
||||
defs["enums"]["ImGuiNavInput_"][24]["name"] = "ImGuiNavInput_InternalStart_"
|
||||
defs["enums"]["ImGuiNavInput_"][24]["value"] = "ImGuiNavInput_KeyMenu_"
|
||||
defs["enums"]["ImGuiNavInput_"][23]["calc_value"] = 16
|
||||
defs["enums"]["ImGuiNavInput_"][23]["name"] = "ImGuiNavInput_InternalStart_"
|
||||
defs["enums"]["ImGuiNavInput_"][23]["value"] = "ImGuiNavInput_KeyMenu_"
|
||||
defs["enums"]["ImGuiSelectableFlags_"] = {}
|
||||
defs["enums"]["ImGuiSelectableFlags_"][1] = {}
|
||||
defs["enums"]["ImGuiSelectableFlags_"][1]["calc_value"] = 0
|
||||
@@ -1003,6 +1007,10 @@ defs["enums"]["ImGuiSelectableFlags_"][5] = {}
|
||||
defs["enums"]["ImGuiSelectableFlags_"][5]["calc_value"] = 8
|
||||
defs["enums"]["ImGuiSelectableFlags_"][5]["name"] = "ImGuiSelectableFlags_Disabled"
|
||||
defs["enums"]["ImGuiSelectableFlags_"][5]["value"] = "1 << 3"
|
||||
defs["enums"]["ImGuiSelectableFlags_"][6] = {}
|
||||
defs["enums"]["ImGuiSelectableFlags_"][6]["calc_value"] = 16
|
||||
defs["enums"]["ImGuiSelectableFlags_"][6]["name"] = "ImGuiSelectableFlags_AllowItemOverlap"
|
||||
defs["enums"]["ImGuiSelectableFlags_"][6]["value"] = "1 << 4"
|
||||
defs["enums"]["ImGuiStyleVar_"] = {}
|
||||
defs["enums"]["ImGuiStyleVar_"][1] = {}
|
||||
defs["enums"]["ImGuiStyleVar_"][1]["calc_value"] = 0
|
||||
@@ -1216,13 +1224,21 @@ defs["enums"]["ImGuiTreeNodeFlags_"][12]["calc_value"] = 1024
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][12]["name"] = "ImGuiTreeNodeFlags_FramePadding"
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][12]["value"] = "1 << 10"
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][13] = {}
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][13]["calc_value"] = 8192
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][13]["name"] = "ImGuiTreeNodeFlags_NavLeftJumpsBackHere"
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][13]["value"] = "1 << 13"
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][13]["calc_value"] = 2048
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][13]["name"] = "ImGuiTreeNodeFlags_SpanAvailWidth"
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][13]["value"] = "1 << 11"
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][14] = {}
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][14]["calc_value"] = 26
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][14]["name"] = "ImGuiTreeNodeFlags_CollapsingHeader"
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][14]["value"] = "ImGuiTreeNodeFlags_Framed | ImGuiTreeNodeFlags_NoTreePushOnOpen | ImGuiTreeNodeFlags_NoAutoOpenOnLog"
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][14]["calc_value"] = 4096
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][14]["name"] = "ImGuiTreeNodeFlags_SpanFullWidth"
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][14]["value"] = "1 << 12"
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][15] = {}
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][15]["calc_value"] = 8192
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][15]["name"] = "ImGuiTreeNodeFlags_NavLeftJumpsBackHere"
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][15]["value"] = "1 << 13"
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][16] = {}
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][16]["calc_value"] = 26
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][16]["name"] = "ImGuiTreeNodeFlags_CollapsingHeader"
|
||||
defs["enums"]["ImGuiTreeNodeFlags_"][16]["value"] = "ImGuiTreeNodeFlags_Framed | ImGuiTreeNodeFlags_NoTreePushOnOpen | ImGuiTreeNodeFlags_NoAutoOpenOnLog"
|
||||
defs["enums"]["ImGuiWindowFlags_"] = {}
|
||||
defs["enums"]["ImGuiWindowFlags_"][1] = {}
|
||||
defs["enums"]["ImGuiWindowFlags_"][1]["calc_value"] = 0
|
||||
@@ -1345,31 +1361,6 @@ defs["enums"]["ImGuiWindowFlags_"][30]["calc_value"] = 268435456
|
||||
defs["enums"]["ImGuiWindowFlags_"][30]["name"] = "ImGuiWindowFlags_ChildMenu"
|
||||
defs["enums"]["ImGuiWindowFlags_"][30]["value"] = "1 << 28"
|
||||
defs["structs"] = {}
|
||||
defs["structs"]["CustomRect"] = {}
|
||||
defs["structs"]["CustomRect"][1] = {}
|
||||
defs["structs"]["CustomRect"][1]["name"] = "ID"
|
||||
defs["structs"]["CustomRect"][1]["type"] = "unsigned int"
|
||||
defs["structs"]["CustomRect"][2] = {}
|
||||
defs["structs"]["CustomRect"][2]["name"] = "Width"
|
||||
defs["structs"]["CustomRect"][2]["type"] = "unsigned short"
|
||||
defs["structs"]["CustomRect"][3] = {}
|
||||
defs["structs"]["CustomRect"][3]["name"] = "Height"
|
||||
defs["structs"]["CustomRect"][3]["type"] = "unsigned short"
|
||||
defs["structs"]["CustomRect"][4] = {}
|
||||
defs["structs"]["CustomRect"][4]["name"] = "X"
|
||||
defs["structs"]["CustomRect"][4]["type"] = "unsigned short"
|
||||
defs["structs"]["CustomRect"][5] = {}
|
||||
defs["structs"]["CustomRect"][5]["name"] = "Y"
|
||||
defs["structs"]["CustomRect"][5]["type"] = "unsigned short"
|
||||
defs["structs"]["CustomRect"][6] = {}
|
||||
defs["structs"]["CustomRect"][6]["name"] = "GlyphAdvanceX"
|
||||
defs["structs"]["CustomRect"][6]["type"] = "float"
|
||||
defs["structs"]["CustomRect"][7] = {}
|
||||
defs["structs"]["CustomRect"][7]["name"] = "GlyphOffset"
|
||||
defs["structs"]["CustomRect"][7]["type"] = "ImVec2"
|
||||
defs["structs"]["CustomRect"][8] = {}
|
||||
defs["structs"]["CustomRect"][8]["name"] = "Font"
|
||||
defs["structs"]["CustomRect"][8]["type"] = "ImFont*"
|
||||
defs["structs"]["ImColor"] = {}
|
||||
defs["structs"]["ImColor"][1] = {}
|
||||
defs["structs"]["ImColor"][1]["name"] = "Value"
|
||||
@@ -1538,20 +1529,23 @@ defs["structs"]["ImFont"][11] = {}
|
||||
defs["structs"]["ImFont"][11]["name"] = "FallbackChar"
|
||||
defs["structs"]["ImFont"][11]["type"] = "ImWchar"
|
||||
defs["structs"]["ImFont"][12] = {}
|
||||
defs["structs"]["ImFont"][12]["name"] = "Scale"
|
||||
defs["structs"]["ImFont"][12]["type"] = "float"
|
||||
defs["structs"]["ImFont"][12]["name"] = "EllipsisChar"
|
||||
defs["structs"]["ImFont"][12]["type"] = "ImWchar"
|
||||
defs["structs"]["ImFont"][13] = {}
|
||||
defs["structs"]["ImFont"][13]["name"] = "Ascent"
|
||||
defs["structs"]["ImFont"][13]["name"] = "Scale"
|
||||
defs["structs"]["ImFont"][13]["type"] = "float"
|
||||
defs["structs"]["ImFont"][14] = {}
|
||||
defs["structs"]["ImFont"][14]["name"] = "Descent"
|
||||
defs["structs"]["ImFont"][14]["name"] = "Ascent"
|
||||
defs["structs"]["ImFont"][14]["type"] = "float"
|
||||
defs["structs"]["ImFont"][15] = {}
|
||||
defs["structs"]["ImFont"][15]["name"] = "MetricsTotalSurface"
|
||||
defs["structs"]["ImFont"][15]["type"] = "int"
|
||||
defs["structs"]["ImFont"][15]["name"] = "Descent"
|
||||
defs["structs"]["ImFont"][15]["type"] = "float"
|
||||
defs["structs"]["ImFont"][16] = {}
|
||||
defs["structs"]["ImFont"][16]["name"] = "DirtyLookupTables"
|
||||
defs["structs"]["ImFont"][16]["type"] = "bool"
|
||||
defs["structs"]["ImFont"][16]["name"] = "MetricsTotalSurface"
|
||||
defs["structs"]["ImFont"][16]["type"] = "int"
|
||||
defs["structs"]["ImFont"][17] = {}
|
||||
defs["structs"]["ImFont"][17]["name"] = "DirtyLookupTables"
|
||||
defs["structs"]["ImFont"][17]["type"] = "bool"
|
||||
defs["structs"]["ImFontAtlas"] = {}
|
||||
defs["structs"]["ImFontAtlas"][1] = {}
|
||||
defs["structs"]["ImFontAtlas"][1]["name"] = "Locked"
|
||||
@@ -1592,8 +1586,8 @@ defs["structs"]["ImFontAtlas"][12]["template_type"] = "ImFont*"
|
||||
defs["structs"]["ImFontAtlas"][12]["type"] = "ImVector_ImFontPtr"
|
||||
defs["structs"]["ImFontAtlas"][13] = {}
|
||||
defs["structs"]["ImFontAtlas"][13]["name"] = "CustomRects"
|
||||
defs["structs"]["ImFontAtlas"][13]["template_type"] = "CustomRect"
|
||||
defs["structs"]["ImFontAtlas"][13]["type"] = "ImVector_CustomRect"
|
||||
defs["structs"]["ImFontAtlas"][13]["template_type"] = "ImFontAtlasCustomRect"
|
||||
defs["structs"]["ImFontAtlas"][13]["type"] = "ImVector_ImFontAtlasCustomRect"
|
||||
defs["structs"]["ImFontAtlas"][14] = {}
|
||||
defs["structs"]["ImFontAtlas"][14]["name"] = "ConfigData"
|
||||
defs["structs"]["ImFontAtlas"][14]["template_type"] = "ImFontConfig"
|
||||
@@ -1602,6 +1596,31 @@ defs["structs"]["ImFontAtlas"][15] = {}
|
||||
defs["structs"]["ImFontAtlas"][15]["name"] = "CustomRectIds[1]"
|
||||
defs["structs"]["ImFontAtlas"][15]["size"] = 1
|
||||
defs["structs"]["ImFontAtlas"][15]["type"] = "int"
|
||||
defs["structs"]["ImFontAtlasCustomRect"] = {}
|
||||
defs["structs"]["ImFontAtlasCustomRect"][1] = {}
|
||||
defs["structs"]["ImFontAtlasCustomRect"][1]["name"] = "ID"
|
||||
defs["structs"]["ImFontAtlasCustomRect"][1]["type"] = "unsigned int"
|
||||
defs["structs"]["ImFontAtlasCustomRect"][2] = {}
|
||||
defs["structs"]["ImFontAtlasCustomRect"][2]["name"] = "Width"
|
||||
defs["structs"]["ImFontAtlasCustomRect"][2]["type"] = "unsigned short"
|
||||
defs["structs"]["ImFontAtlasCustomRect"][3] = {}
|
||||
defs["structs"]["ImFontAtlasCustomRect"][3]["name"] = "Height"
|
||||
defs["structs"]["ImFontAtlasCustomRect"][3]["type"] = "unsigned short"
|
||||
defs["structs"]["ImFontAtlasCustomRect"][4] = {}
|
||||
defs["structs"]["ImFontAtlasCustomRect"][4]["name"] = "X"
|
||||
defs["structs"]["ImFontAtlasCustomRect"][4]["type"] = "unsigned short"
|
||||
defs["structs"]["ImFontAtlasCustomRect"][5] = {}
|
||||
defs["structs"]["ImFontAtlasCustomRect"][5]["name"] = "Y"
|
||||
defs["structs"]["ImFontAtlasCustomRect"][5]["type"] = "unsigned short"
|
||||
defs["structs"]["ImFontAtlasCustomRect"][6] = {}
|
||||
defs["structs"]["ImFontAtlasCustomRect"][6]["name"] = "GlyphAdvanceX"
|
||||
defs["structs"]["ImFontAtlasCustomRect"][6]["type"] = "float"
|
||||
defs["structs"]["ImFontAtlasCustomRect"][7] = {}
|
||||
defs["structs"]["ImFontAtlasCustomRect"][7]["name"] = "GlyphOffset"
|
||||
defs["structs"]["ImFontAtlasCustomRect"][7]["type"] = "ImVec2"
|
||||
defs["structs"]["ImFontAtlasCustomRect"][8] = {}
|
||||
defs["structs"]["ImFontAtlasCustomRect"][8]["name"] = "Font"
|
||||
defs["structs"]["ImFontAtlasCustomRect"][8]["type"] = "ImFont*"
|
||||
defs["structs"]["ImFontConfig"] = {}
|
||||
defs["structs"]["ImFontConfig"][1] = {}
|
||||
defs["structs"]["ImFontConfig"][1]["name"] = "FontData"
|
||||
@@ -1652,12 +1671,15 @@ defs["structs"]["ImFontConfig"][16] = {}
|
||||
defs["structs"]["ImFontConfig"][16]["name"] = "RasterizerMultiply"
|
||||
defs["structs"]["ImFontConfig"][16]["type"] = "float"
|
||||
defs["structs"]["ImFontConfig"][17] = {}
|
||||
defs["structs"]["ImFontConfig"][17]["name"] = "Name[40]"
|
||||
defs["structs"]["ImFontConfig"][17]["size"] = 40
|
||||
defs["structs"]["ImFontConfig"][17]["type"] = "char"
|
||||
defs["structs"]["ImFontConfig"][17]["name"] = "EllipsisChar"
|
||||
defs["structs"]["ImFontConfig"][17]["type"] = "ImWchar"
|
||||
defs["structs"]["ImFontConfig"][18] = {}
|
||||
defs["structs"]["ImFontConfig"][18]["name"] = "DstFont"
|
||||
defs["structs"]["ImFontConfig"][18]["type"] = "ImFont*"
|
||||
defs["structs"]["ImFontConfig"][18]["name"] = "Name[40]"
|
||||
defs["structs"]["ImFontConfig"][18]["size"] = 40
|
||||
defs["structs"]["ImFontConfig"][18]["type"] = "char"
|
||||
defs["structs"]["ImFontConfig"][19] = {}
|
||||
defs["structs"]["ImFontConfig"][19]["name"] = "DstFont"
|
||||
defs["structs"]["ImFontConfig"][19]["type"] = "ImFont*"
|
||||
defs["structs"]["ImFontGlyph"] = {}
|
||||
defs["structs"]["ImFontGlyph"][1] = {}
|
||||
defs["structs"]["ImFontGlyph"][1]["name"] = "Codepoint"
|
||||
@@ -1727,7 +1749,7 @@ defs["structs"]["ImGuiIO"][10]["name"] = "MouseDragThreshold"
|
||||
defs["structs"]["ImGuiIO"][10]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][11] = {}
|
||||
defs["structs"]["ImGuiIO"][11]["name"] = "KeyMap[ImGuiKey_COUNT]"
|
||||
defs["structs"]["ImGuiIO"][11]["size"] = 21
|
||||
defs["structs"]["ImGuiIO"][11]["size"] = 22
|
||||
defs["structs"]["ImGuiIO"][11]["type"] = "int"
|
||||
defs["structs"]["ImGuiIO"][12] = {}
|
||||
defs["structs"]["ImGuiIO"][12]["name"] = "KeyRepeatDelay"
|
||||
@@ -1769,180 +1791,183 @@ defs["structs"]["ImGuiIO"][24] = {}
|
||||
defs["structs"]["ImGuiIO"][24]["name"] = "ConfigWindowsMoveFromTitleBarOnly"
|
||||
defs["structs"]["ImGuiIO"][24]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][25] = {}
|
||||
defs["structs"]["ImGuiIO"][25]["name"] = "BackendPlatformName"
|
||||
defs["structs"]["ImGuiIO"][25]["type"] = "const char*"
|
||||
defs["structs"]["ImGuiIO"][25]["name"] = "ConfigWindowsMemoryCompactTimer"
|
||||
defs["structs"]["ImGuiIO"][25]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][26] = {}
|
||||
defs["structs"]["ImGuiIO"][26]["name"] = "BackendRendererName"
|
||||
defs["structs"]["ImGuiIO"][26]["name"] = "BackendPlatformName"
|
||||
defs["structs"]["ImGuiIO"][26]["type"] = "const char*"
|
||||
defs["structs"]["ImGuiIO"][27] = {}
|
||||
defs["structs"]["ImGuiIO"][27]["name"] = "BackendPlatformUserData"
|
||||
defs["structs"]["ImGuiIO"][27]["type"] = "void*"
|
||||
defs["structs"]["ImGuiIO"][27]["name"] = "BackendRendererName"
|
||||
defs["structs"]["ImGuiIO"][27]["type"] = "const char*"
|
||||
defs["structs"]["ImGuiIO"][28] = {}
|
||||
defs["structs"]["ImGuiIO"][28]["name"] = "BackendRendererUserData"
|
||||
defs["structs"]["ImGuiIO"][28]["name"] = "BackendPlatformUserData"
|
||||
defs["structs"]["ImGuiIO"][28]["type"] = "void*"
|
||||
defs["structs"]["ImGuiIO"][29] = {}
|
||||
defs["structs"]["ImGuiIO"][29]["name"] = "BackendLanguageUserData"
|
||||
defs["structs"]["ImGuiIO"][29]["name"] = "BackendRendererUserData"
|
||||
defs["structs"]["ImGuiIO"][29]["type"] = "void*"
|
||||
defs["structs"]["ImGuiIO"][30] = {}
|
||||
defs["structs"]["ImGuiIO"][30]["name"] = "GetClipboardTextFn"
|
||||
defs["structs"]["ImGuiIO"][30]["type"] = "const char*(*)(void* user_data)"
|
||||
defs["structs"]["ImGuiIO"][30]["name"] = "BackendLanguageUserData"
|
||||
defs["structs"]["ImGuiIO"][30]["type"] = "void*"
|
||||
defs["structs"]["ImGuiIO"][31] = {}
|
||||
defs["structs"]["ImGuiIO"][31]["name"] = "SetClipboardTextFn"
|
||||
defs["structs"]["ImGuiIO"][31]["type"] = "void(*)(void* user_data,const char* text)"
|
||||
defs["structs"]["ImGuiIO"][31]["name"] = "GetClipboardTextFn"
|
||||
defs["structs"]["ImGuiIO"][31]["type"] = "const char*(*)(void* user_data)"
|
||||
defs["structs"]["ImGuiIO"][32] = {}
|
||||
defs["structs"]["ImGuiIO"][32]["name"] = "ClipboardUserData"
|
||||
defs["structs"]["ImGuiIO"][32]["type"] = "void*"
|
||||
defs["structs"]["ImGuiIO"][32]["name"] = "SetClipboardTextFn"
|
||||
defs["structs"]["ImGuiIO"][32]["type"] = "void(*)(void* user_data,const char* text)"
|
||||
defs["structs"]["ImGuiIO"][33] = {}
|
||||
defs["structs"]["ImGuiIO"][33]["name"] = "ImeSetInputScreenPosFn"
|
||||
defs["structs"]["ImGuiIO"][33]["type"] = "void(*)(int x,int y)"
|
||||
defs["structs"]["ImGuiIO"][33]["name"] = "ClipboardUserData"
|
||||
defs["structs"]["ImGuiIO"][33]["type"] = "void*"
|
||||
defs["structs"]["ImGuiIO"][34] = {}
|
||||
defs["structs"]["ImGuiIO"][34]["name"] = "ImeWindowHandle"
|
||||
defs["structs"]["ImGuiIO"][34]["type"] = "void*"
|
||||
defs["structs"]["ImGuiIO"][34]["name"] = "ImeSetInputScreenPosFn"
|
||||
defs["structs"]["ImGuiIO"][34]["type"] = "void(*)(int x,int y)"
|
||||
defs["structs"]["ImGuiIO"][35] = {}
|
||||
defs["structs"]["ImGuiIO"][35]["name"] = "RenderDrawListsFnUnused"
|
||||
defs["structs"]["ImGuiIO"][35]["name"] = "ImeWindowHandle"
|
||||
defs["structs"]["ImGuiIO"][35]["type"] = "void*"
|
||||
defs["structs"]["ImGuiIO"][36] = {}
|
||||
defs["structs"]["ImGuiIO"][36]["name"] = "MousePos"
|
||||
defs["structs"]["ImGuiIO"][36]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiIO"][36]["name"] = "RenderDrawListsFnUnused"
|
||||
defs["structs"]["ImGuiIO"][36]["type"] = "void*"
|
||||
defs["structs"]["ImGuiIO"][37] = {}
|
||||
defs["structs"]["ImGuiIO"][37]["name"] = "MouseDown[5]"
|
||||
defs["structs"]["ImGuiIO"][37]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][37]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][37]["name"] = "MousePos"
|
||||
defs["structs"]["ImGuiIO"][37]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiIO"][38] = {}
|
||||
defs["structs"]["ImGuiIO"][38]["name"] = "MouseWheel"
|
||||
defs["structs"]["ImGuiIO"][38]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][38]["name"] = "MouseDown[5]"
|
||||
defs["structs"]["ImGuiIO"][38]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][38]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][39] = {}
|
||||
defs["structs"]["ImGuiIO"][39]["name"] = "MouseWheelH"
|
||||
defs["structs"]["ImGuiIO"][39]["name"] = "MouseWheel"
|
||||
defs["structs"]["ImGuiIO"][39]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][40] = {}
|
||||
defs["structs"]["ImGuiIO"][40]["name"] = "KeyCtrl"
|
||||
defs["structs"]["ImGuiIO"][40]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][40]["name"] = "MouseWheelH"
|
||||
defs["structs"]["ImGuiIO"][40]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][41] = {}
|
||||
defs["structs"]["ImGuiIO"][41]["name"] = "KeyShift"
|
||||
defs["structs"]["ImGuiIO"][41]["name"] = "KeyCtrl"
|
||||
defs["structs"]["ImGuiIO"][41]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][42] = {}
|
||||
defs["structs"]["ImGuiIO"][42]["name"] = "KeyAlt"
|
||||
defs["structs"]["ImGuiIO"][42]["name"] = "KeyShift"
|
||||
defs["structs"]["ImGuiIO"][42]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][43] = {}
|
||||
defs["structs"]["ImGuiIO"][43]["name"] = "KeySuper"
|
||||
defs["structs"]["ImGuiIO"][43]["name"] = "KeyAlt"
|
||||
defs["structs"]["ImGuiIO"][43]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][44] = {}
|
||||
defs["structs"]["ImGuiIO"][44]["name"] = "KeysDown[512]"
|
||||
defs["structs"]["ImGuiIO"][44]["size"] = 512
|
||||
defs["structs"]["ImGuiIO"][44]["name"] = "KeySuper"
|
||||
defs["structs"]["ImGuiIO"][44]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][45] = {}
|
||||
defs["structs"]["ImGuiIO"][45]["name"] = "NavInputs[ImGuiNavInput_COUNT]"
|
||||
defs["structs"]["ImGuiIO"][45]["size"] = 22
|
||||
defs["structs"]["ImGuiIO"][45]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][45]["name"] = "KeysDown[512]"
|
||||
defs["structs"]["ImGuiIO"][45]["size"] = 512
|
||||
defs["structs"]["ImGuiIO"][45]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][46] = {}
|
||||
defs["structs"]["ImGuiIO"][46]["name"] = "WantCaptureMouse"
|
||||
defs["structs"]["ImGuiIO"][46]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][46]["name"] = "NavInputs[ImGuiNavInput_COUNT]"
|
||||
defs["structs"]["ImGuiIO"][46]["size"] = 21
|
||||
defs["structs"]["ImGuiIO"][46]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][47] = {}
|
||||
defs["structs"]["ImGuiIO"][47]["name"] = "WantCaptureKeyboard"
|
||||
defs["structs"]["ImGuiIO"][47]["name"] = "WantCaptureMouse"
|
||||
defs["structs"]["ImGuiIO"][47]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][48] = {}
|
||||
defs["structs"]["ImGuiIO"][48]["name"] = "WantTextInput"
|
||||
defs["structs"]["ImGuiIO"][48]["name"] = "WantCaptureKeyboard"
|
||||
defs["structs"]["ImGuiIO"][48]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][49] = {}
|
||||
defs["structs"]["ImGuiIO"][49]["name"] = "WantSetMousePos"
|
||||
defs["structs"]["ImGuiIO"][49]["name"] = "WantTextInput"
|
||||
defs["structs"]["ImGuiIO"][49]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][50] = {}
|
||||
defs["structs"]["ImGuiIO"][50]["name"] = "WantSaveIniSettings"
|
||||
defs["structs"]["ImGuiIO"][50]["name"] = "WantSetMousePos"
|
||||
defs["structs"]["ImGuiIO"][50]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][51] = {}
|
||||
defs["structs"]["ImGuiIO"][51]["name"] = "NavActive"
|
||||
defs["structs"]["ImGuiIO"][51]["name"] = "WantSaveIniSettings"
|
||||
defs["structs"]["ImGuiIO"][51]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][52] = {}
|
||||
defs["structs"]["ImGuiIO"][52]["name"] = "NavVisible"
|
||||
defs["structs"]["ImGuiIO"][52]["name"] = "NavActive"
|
||||
defs["structs"]["ImGuiIO"][52]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][53] = {}
|
||||
defs["structs"]["ImGuiIO"][53]["name"] = "Framerate"
|
||||
defs["structs"]["ImGuiIO"][53]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][53]["name"] = "NavVisible"
|
||||
defs["structs"]["ImGuiIO"][53]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][54] = {}
|
||||
defs["structs"]["ImGuiIO"][54]["name"] = "MetricsRenderVertices"
|
||||
defs["structs"]["ImGuiIO"][54]["type"] = "int"
|
||||
defs["structs"]["ImGuiIO"][54]["name"] = "Framerate"
|
||||
defs["structs"]["ImGuiIO"][54]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][55] = {}
|
||||
defs["structs"]["ImGuiIO"][55]["name"] = "MetricsRenderIndices"
|
||||
defs["structs"]["ImGuiIO"][55]["name"] = "MetricsRenderVertices"
|
||||
defs["structs"]["ImGuiIO"][55]["type"] = "int"
|
||||
defs["structs"]["ImGuiIO"][56] = {}
|
||||
defs["structs"]["ImGuiIO"][56]["name"] = "MetricsRenderWindows"
|
||||
defs["structs"]["ImGuiIO"][56]["name"] = "MetricsRenderIndices"
|
||||
defs["structs"]["ImGuiIO"][56]["type"] = "int"
|
||||
defs["structs"]["ImGuiIO"][57] = {}
|
||||
defs["structs"]["ImGuiIO"][57]["name"] = "MetricsActiveWindows"
|
||||
defs["structs"]["ImGuiIO"][57]["name"] = "MetricsRenderWindows"
|
||||
defs["structs"]["ImGuiIO"][57]["type"] = "int"
|
||||
defs["structs"]["ImGuiIO"][58] = {}
|
||||
defs["structs"]["ImGuiIO"][58]["name"] = "MetricsActiveAllocations"
|
||||
defs["structs"]["ImGuiIO"][58]["name"] = "MetricsActiveWindows"
|
||||
defs["structs"]["ImGuiIO"][58]["type"] = "int"
|
||||
defs["structs"]["ImGuiIO"][59] = {}
|
||||
defs["structs"]["ImGuiIO"][59]["name"] = "MouseDelta"
|
||||
defs["structs"]["ImGuiIO"][59]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiIO"][59]["name"] = "MetricsActiveAllocations"
|
||||
defs["structs"]["ImGuiIO"][59]["type"] = "int"
|
||||
defs["structs"]["ImGuiIO"][60] = {}
|
||||
defs["structs"]["ImGuiIO"][60]["name"] = "MousePosPrev"
|
||||
defs["structs"]["ImGuiIO"][60]["name"] = "MouseDelta"
|
||||
defs["structs"]["ImGuiIO"][60]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiIO"][61] = {}
|
||||
defs["structs"]["ImGuiIO"][61]["name"] = "MouseClickedPos[5]"
|
||||
defs["structs"]["ImGuiIO"][61]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][61]["name"] = "MousePosPrev"
|
||||
defs["structs"]["ImGuiIO"][61]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiIO"][62] = {}
|
||||
defs["structs"]["ImGuiIO"][62]["name"] = "MouseClickedTime[5]"
|
||||
defs["structs"]["ImGuiIO"][62]["name"] = "MouseClickedPos[5]"
|
||||
defs["structs"]["ImGuiIO"][62]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][62]["type"] = "double"
|
||||
defs["structs"]["ImGuiIO"][62]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiIO"][63] = {}
|
||||
defs["structs"]["ImGuiIO"][63]["name"] = "MouseClicked[5]"
|
||||
defs["structs"]["ImGuiIO"][63]["name"] = "MouseClickedTime[5]"
|
||||
defs["structs"]["ImGuiIO"][63]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][63]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][63]["type"] = "double"
|
||||
defs["structs"]["ImGuiIO"][64] = {}
|
||||
defs["structs"]["ImGuiIO"][64]["name"] = "MouseDoubleClicked[5]"
|
||||
defs["structs"]["ImGuiIO"][64]["name"] = "MouseClicked[5]"
|
||||
defs["structs"]["ImGuiIO"][64]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][64]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][65] = {}
|
||||
defs["structs"]["ImGuiIO"][65]["name"] = "MouseReleased[5]"
|
||||
defs["structs"]["ImGuiIO"][65]["name"] = "MouseDoubleClicked[5]"
|
||||
defs["structs"]["ImGuiIO"][65]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][65]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][66] = {}
|
||||
defs["structs"]["ImGuiIO"][66]["name"] = "MouseDownOwned[5]"
|
||||
defs["structs"]["ImGuiIO"][66]["name"] = "MouseReleased[5]"
|
||||
defs["structs"]["ImGuiIO"][66]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][66]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][67] = {}
|
||||
defs["structs"]["ImGuiIO"][67]["name"] = "MouseDownWasDoubleClick[5]"
|
||||
defs["structs"]["ImGuiIO"][67]["name"] = "MouseDownOwned[5]"
|
||||
defs["structs"]["ImGuiIO"][67]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][67]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][68] = {}
|
||||
defs["structs"]["ImGuiIO"][68]["name"] = "MouseDownDuration[5]"
|
||||
defs["structs"]["ImGuiIO"][68]["name"] = "MouseDownWasDoubleClick[5]"
|
||||
defs["structs"]["ImGuiIO"][68]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][68]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][68]["type"] = "bool"
|
||||
defs["structs"]["ImGuiIO"][69] = {}
|
||||
defs["structs"]["ImGuiIO"][69]["name"] = "MouseDownDurationPrev[5]"
|
||||
defs["structs"]["ImGuiIO"][69]["name"] = "MouseDownDuration[5]"
|
||||
defs["structs"]["ImGuiIO"][69]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][69]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][70] = {}
|
||||
defs["structs"]["ImGuiIO"][70]["name"] = "MouseDragMaxDistanceAbs[5]"
|
||||
defs["structs"]["ImGuiIO"][70]["name"] = "MouseDownDurationPrev[5]"
|
||||
defs["structs"]["ImGuiIO"][70]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][70]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiIO"][70]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][71] = {}
|
||||
defs["structs"]["ImGuiIO"][71]["name"] = "MouseDragMaxDistanceSqr[5]"
|
||||
defs["structs"]["ImGuiIO"][71]["name"] = "MouseDragMaxDistanceAbs[5]"
|
||||
defs["structs"]["ImGuiIO"][71]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][71]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][71]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiIO"][72] = {}
|
||||
defs["structs"]["ImGuiIO"][72]["name"] = "KeysDownDuration[512]"
|
||||
defs["structs"]["ImGuiIO"][72]["size"] = 512
|
||||
defs["structs"]["ImGuiIO"][72]["name"] = "MouseDragMaxDistanceSqr[5]"
|
||||
defs["structs"]["ImGuiIO"][72]["size"] = 5
|
||||
defs["structs"]["ImGuiIO"][72]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][73] = {}
|
||||
defs["structs"]["ImGuiIO"][73]["name"] = "KeysDownDurationPrev[512]"
|
||||
defs["structs"]["ImGuiIO"][73]["name"] = "KeysDownDuration[512]"
|
||||
defs["structs"]["ImGuiIO"][73]["size"] = 512
|
||||
defs["structs"]["ImGuiIO"][73]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][74] = {}
|
||||
defs["structs"]["ImGuiIO"][74]["name"] = "NavInputsDownDuration[ImGuiNavInput_COUNT]"
|
||||
defs["structs"]["ImGuiIO"][74]["size"] = 22
|
||||
defs["structs"]["ImGuiIO"][74]["name"] = "KeysDownDurationPrev[512]"
|
||||
defs["structs"]["ImGuiIO"][74]["size"] = 512
|
||||
defs["structs"]["ImGuiIO"][74]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][75] = {}
|
||||
defs["structs"]["ImGuiIO"][75]["name"] = "NavInputsDownDurationPrev[ImGuiNavInput_COUNT]"
|
||||
defs["structs"]["ImGuiIO"][75]["size"] = 22
|
||||
defs["structs"]["ImGuiIO"][75]["name"] = "NavInputsDownDuration[ImGuiNavInput_COUNT]"
|
||||
defs["structs"]["ImGuiIO"][75]["size"] = 21
|
||||
defs["structs"]["ImGuiIO"][75]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][76] = {}
|
||||
defs["structs"]["ImGuiIO"][76]["name"] = "InputQueueCharacters"
|
||||
defs["structs"]["ImGuiIO"][76]["template_type"] = "ImWchar"
|
||||
defs["structs"]["ImGuiIO"][76]["type"] = "ImVector_ImWchar"
|
||||
defs["structs"]["ImGuiIO"][76]["name"] = "NavInputsDownDurationPrev[ImGuiNavInput_COUNT]"
|
||||
defs["structs"]["ImGuiIO"][76]["size"] = 21
|
||||
defs["structs"]["ImGuiIO"][76]["type"] = "float"
|
||||
defs["structs"]["ImGuiIO"][77] = {}
|
||||
defs["structs"]["ImGuiIO"][77]["name"] = "InputQueueCharacters"
|
||||
defs["structs"]["ImGuiIO"][77]["template_type"] = "ImWchar"
|
||||
defs["structs"]["ImGuiIO"][77]["type"] = "ImVector_ImWchar"
|
||||
defs["structs"]["ImGuiInputTextCallbackData"] = {}
|
||||
defs["structs"]["ImGuiInputTextCallbackData"][1] = {}
|
||||
defs["structs"]["ImGuiInputTextCallbackData"][1]["name"] = "EventFlag"
|
||||
@@ -2045,8 +2070,15 @@ defs["structs"]["ImGuiSizeCallbackData"][4]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiStorage"] = {}
|
||||
defs["structs"]["ImGuiStorage"][1] = {}
|
||||
defs["structs"]["ImGuiStorage"][1]["name"] = "Data"
|
||||
defs["structs"]["ImGuiStorage"][1]["template_type"] = "Pair"
|
||||
defs["structs"]["ImGuiStorage"][1]["type"] = "ImVector_Pair"
|
||||
defs["structs"]["ImGuiStorage"][1]["template_type"] = "ImGuiStoragePair"
|
||||
defs["structs"]["ImGuiStorage"][1]["type"] = "ImVector_ImGuiStoragePair"
|
||||
defs["structs"]["ImGuiStoragePair"] = {}
|
||||
defs["structs"]["ImGuiStoragePair"][1] = {}
|
||||
defs["structs"]["ImGuiStoragePair"][1]["name"] = "key"
|
||||
defs["structs"]["ImGuiStoragePair"][1]["type"] = "ImGuiID"
|
||||
defs["structs"]["ImGuiStoragePair"][2] = {}
|
||||
defs["structs"]["ImGuiStoragePair"][2]["name"] = ""
|
||||
defs["structs"]["ImGuiStoragePair"][2]["type"] = "union { int val_i; float val_f; void* val_p;}"
|
||||
defs["structs"]["ImGuiStyle"] = {}
|
||||
defs["structs"]["ImGuiStyle"][1] = {}
|
||||
defs["structs"]["ImGuiStyle"][1]["name"] = "Alpha"
|
||||
@@ -2124,33 +2156,36 @@ defs["structs"]["ImGuiStyle"][25] = {}
|
||||
defs["structs"]["ImGuiStyle"][25]["name"] = "TabBorderSize"
|
||||
defs["structs"]["ImGuiStyle"][25]["type"] = "float"
|
||||
defs["structs"]["ImGuiStyle"][26] = {}
|
||||
defs["structs"]["ImGuiStyle"][26]["name"] = "ButtonTextAlign"
|
||||
defs["structs"]["ImGuiStyle"][26]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiStyle"][26]["name"] = "ColorButtonPosition"
|
||||
defs["structs"]["ImGuiStyle"][26]["type"] = "ImGuiDir"
|
||||
defs["structs"]["ImGuiStyle"][27] = {}
|
||||
defs["structs"]["ImGuiStyle"][27]["name"] = "SelectableTextAlign"
|
||||
defs["structs"]["ImGuiStyle"][27]["name"] = "ButtonTextAlign"
|
||||
defs["structs"]["ImGuiStyle"][27]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiStyle"][28] = {}
|
||||
defs["structs"]["ImGuiStyle"][28]["name"] = "DisplayWindowPadding"
|
||||
defs["structs"]["ImGuiStyle"][28]["name"] = "SelectableTextAlign"
|
||||
defs["structs"]["ImGuiStyle"][28]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiStyle"][29] = {}
|
||||
defs["structs"]["ImGuiStyle"][29]["name"] = "DisplaySafeAreaPadding"
|
||||
defs["structs"]["ImGuiStyle"][29]["name"] = "DisplayWindowPadding"
|
||||
defs["structs"]["ImGuiStyle"][29]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiStyle"][30] = {}
|
||||
defs["structs"]["ImGuiStyle"][30]["name"] = "MouseCursorScale"
|
||||
defs["structs"]["ImGuiStyle"][30]["type"] = "float"
|
||||
defs["structs"]["ImGuiStyle"][30]["name"] = "DisplaySafeAreaPadding"
|
||||
defs["structs"]["ImGuiStyle"][30]["type"] = "ImVec2"
|
||||
defs["structs"]["ImGuiStyle"][31] = {}
|
||||
defs["structs"]["ImGuiStyle"][31]["name"] = "AntiAliasedLines"
|
||||
defs["structs"]["ImGuiStyle"][31]["type"] = "bool"
|
||||
defs["structs"]["ImGuiStyle"][31]["name"] = "MouseCursorScale"
|
||||
defs["structs"]["ImGuiStyle"][31]["type"] = "float"
|
||||
defs["structs"]["ImGuiStyle"][32] = {}
|
||||
defs["structs"]["ImGuiStyle"][32]["name"] = "AntiAliasedFill"
|
||||
defs["structs"]["ImGuiStyle"][32]["name"] = "AntiAliasedLines"
|
||||
defs["structs"]["ImGuiStyle"][32]["type"] = "bool"
|
||||
defs["structs"]["ImGuiStyle"][33] = {}
|
||||
defs["structs"]["ImGuiStyle"][33]["name"] = "CurveTessellationTol"
|
||||
defs["structs"]["ImGuiStyle"][33]["type"] = "float"
|
||||
defs["structs"]["ImGuiStyle"][33]["name"] = "AntiAliasedFill"
|
||||
defs["structs"]["ImGuiStyle"][33]["type"] = "bool"
|
||||
defs["structs"]["ImGuiStyle"][34] = {}
|
||||
defs["structs"]["ImGuiStyle"][34]["name"] = "Colors[ImGuiCol_COUNT]"
|
||||
defs["structs"]["ImGuiStyle"][34]["size"] = 48
|
||||
defs["structs"]["ImGuiStyle"][34]["type"] = "ImVec4"
|
||||
defs["structs"]["ImGuiStyle"][34]["name"] = "CurveTessellationTol"
|
||||
defs["structs"]["ImGuiStyle"][34]["type"] = "float"
|
||||
defs["structs"]["ImGuiStyle"][35] = {}
|
||||
defs["structs"]["ImGuiStyle"][35]["name"] = "Colors[ImGuiCol_COUNT]"
|
||||
defs["structs"]["ImGuiStyle"][35]["size"] = 48
|
||||
defs["structs"]["ImGuiStyle"][35]["type"] = "ImVec4"
|
||||
defs["structs"]["ImGuiTextBuffer"] = {}
|
||||
defs["structs"]["ImGuiTextBuffer"][1] = {}
|
||||
defs["structs"]["ImGuiTextBuffer"][1]["name"] = "Buf"
|
||||
@@ -2163,11 +2198,18 @@ defs["structs"]["ImGuiTextFilter"][1]["size"] = 256
|
||||
defs["structs"]["ImGuiTextFilter"][1]["type"] = "char"
|
||||
defs["structs"]["ImGuiTextFilter"][2] = {}
|
||||
defs["structs"]["ImGuiTextFilter"][2]["name"] = "Filters"
|
||||
defs["structs"]["ImGuiTextFilter"][2]["template_type"] = "TextRange"
|
||||
defs["structs"]["ImGuiTextFilter"][2]["type"] = "ImVector_TextRange"
|
||||
defs["structs"]["ImGuiTextFilter"][2]["template_type"] = "ImGuiTextRange"
|
||||
defs["structs"]["ImGuiTextFilter"][2]["type"] = "ImVector_ImGuiTextRange"
|
||||
defs["structs"]["ImGuiTextFilter"][3] = {}
|
||||
defs["structs"]["ImGuiTextFilter"][3]["name"] = "CountGrep"
|
||||
defs["structs"]["ImGuiTextFilter"][3]["type"] = "int"
|
||||
defs["structs"]["ImGuiTextRange"] = {}
|
||||
defs["structs"]["ImGuiTextRange"][1] = {}
|
||||
defs["structs"]["ImGuiTextRange"][1]["name"] = "b"
|
||||
defs["structs"]["ImGuiTextRange"][1]["type"] = "const char*"
|
||||
defs["structs"]["ImGuiTextRange"][2] = {}
|
||||
defs["structs"]["ImGuiTextRange"][2]["name"] = "e"
|
||||
defs["structs"]["ImGuiTextRange"][2]["type"] = "const char*"
|
||||
defs["structs"]["ImVec2"] = {}
|
||||
defs["structs"]["ImVec2"][1] = {}
|
||||
defs["structs"]["ImVec2"][1]["name"] = "x"
|
||||
@@ -2188,19 +2230,5 @@ defs["structs"]["ImVec4"][3]["type"] = "float"
|
||||
defs["structs"]["ImVec4"][4] = {}
|
||||
defs["structs"]["ImVec4"][4]["name"] = "w"
|
||||
defs["structs"]["ImVec4"][4]["type"] = "float"
|
||||
defs["structs"]["Pair"] = {}
|
||||
defs["structs"]["Pair"][1] = {}
|
||||
defs["structs"]["Pair"][1]["name"] = "key"
|
||||
defs["structs"]["Pair"][1]["type"] = "ImGuiID"
|
||||
defs["structs"]["Pair"][2] = {}
|
||||
defs["structs"]["Pair"][2]["name"] = ""
|
||||
defs["structs"]["Pair"][2]["type"] = "union { int val_i; float val_f; void* val_p;}"
|
||||
defs["structs"]["TextRange"] = {}
|
||||
defs["structs"]["TextRange"][1] = {}
|
||||
defs["structs"]["TextRange"][1]["name"] = "b"
|
||||
defs["structs"]["TextRange"][1]["type"] = "const char*"
|
||||
defs["structs"]["TextRange"][2] = {}
|
||||
defs["structs"]["TextRange"][2]["name"] = "e"
|
||||
defs["structs"]["TextRange"][2]["type"] = "const char*"
|
||||
|
||||
return defs
|
@@ -1,5 +1,4 @@
|
||||
{
|
||||
"CustomRect": "struct CustomRect",
|
||||
"ImColor": "struct ImColor",
|
||||
"ImDrawCallback": "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);",
|
||||
"ImDrawChannel": "struct ImDrawChannel",
|
||||
@@ -14,6 +13,7 @@
|
||||
"ImDrawVert": "struct ImDrawVert",
|
||||
"ImFont": "struct ImFont",
|
||||
"ImFontAtlas": "struct ImFontAtlas",
|
||||
"ImFontAtlasCustomRect": "struct ImFontAtlasCustomRect",
|
||||
"ImFontAtlasFlags": "int",
|
||||
"ImFontConfig": "struct ImFontConfig",
|
||||
"ImFontGlyph": "struct ImFontGlyph",
|
||||
@@ -21,7 +21,6 @@
|
||||
"ImGuiBackendFlags": "int",
|
||||
"ImGuiCol": "int",
|
||||
"ImGuiColorEditFlags": "int",
|
||||
"ImGuiColumnsFlags": "int",
|
||||
"ImGuiComboFlags": "int",
|
||||
"ImGuiCond": "int",
|
||||
"ImGuiConfigFlags": "int",
|
||||
@@ -46,12 +45,14 @@
|
||||
"ImGuiSizeCallback": "void(*)(ImGuiSizeCallbackData* data);",
|
||||
"ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData",
|
||||
"ImGuiStorage": "struct ImGuiStorage",
|
||||
"ImGuiStoragePair": "struct ImGuiStoragePair",
|
||||
"ImGuiStyle": "struct ImGuiStyle",
|
||||
"ImGuiStyleVar": "int",
|
||||
"ImGuiTabBarFlags": "int",
|
||||
"ImGuiTabItemFlags": "int",
|
||||
"ImGuiTextBuffer": "struct ImGuiTextBuffer",
|
||||
"ImGuiTextFilter": "struct ImGuiTextFilter",
|
||||
"ImGuiTextRange": "struct ImGuiTextRange",
|
||||
"ImGuiTreeNodeFlags": "int",
|
||||
"ImGuiWindowFlags": "int",
|
||||
"ImS16": "signed short",
|
||||
@@ -66,8 +67,6 @@
|
||||
"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"
|
||||
|
@@ -1,5 +1,4 @@
|
||||
local defs = {}
|
||||
defs["CustomRect"] = "struct CustomRect"
|
||||
defs["ImColor"] = "struct ImColor"
|
||||
defs["ImDrawCallback"] = "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);"
|
||||
defs["ImDrawChannel"] = "struct ImDrawChannel"
|
||||
@@ -14,6 +13,7 @@ defs["ImDrawListSplitter"] = "struct ImDrawListSplitter"
|
||||
defs["ImDrawVert"] = "struct ImDrawVert"
|
||||
defs["ImFont"] = "struct ImFont"
|
||||
defs["ImFontAtlas"] = "struct ImFontAtlas"
|
||||
defs["ImFontAtlasCustomRect"] = "struct ImFontAtlasCustomRect"
|
||||
defs["ImFontAtlasFlags"] = "int"
|
||||
defs["ImFontConfig"] = "struct ImFontConfig"
|
||||
defs["ImFontGlyph"] = "struct ImFontGlyph"
|
||||
@@ -21,7 +21,6 @@ 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"
|
||||
@@ -46,12 +45,14 @@ defs["ImGuiSelectableFlags"] = "int"
|
||||
defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);"
|
||||
defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData"
|
||||
defs["ImGuiStorage"] = "struct ImGuiStorage"
|
||||
defs["ImGuiStoragePair"] = "struct ImGuiStoragePair"
|
||||
defs["ImGuiStyle"] = "struct ImGuiStyle"
|
||||
defs["ImGuiStyleVar"] = "int"
|
||||
defs["ImGuiTabBarFlags"] = "int"
|
||||
defs["ImGuiTabItemFlags"] = "int"
|
||||
defs["ImGuiTextBuffer"] = "struct ImGuiTextBuffer"
|
||||
defs["ImGuiTextFilter"] = "struct ImGuiTextFilter"
|
||||
defs["ImGuiTextRange"] = "struct ImGuiTextRange"
|
||||
defs["ImGuiTreeNodeFlags"] = "int"
|
||||
defs["ImGuiWindowFlags"] = "int"
|
||||
defs["ImS16"] = "signed short"
|
||||
@@ -66,8 +67,6 @@ 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"
|
||||
|
2
imgui
2
imgui
Submodule imgui updated: 2da1c66d15...a8092085b1
11
test/CMakeLists.txt
Normal file
11
test/CMakeLists.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
file(GLOB CIMGUI_TEST_SOURCES
|
||||
main.c
|
||||
)
|
||||
|
||||
add_executable(cimgui_test ${CIMGUI_TEST_SOURCES})
|
||||
|
||||
set_target_properties(cimgui_test PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
set_property(TARGET cimgui_test PROPERTY C_STANDARD 99)
|
||||
|
||||
target_compile_definitions(cimgui_test PRIVATE CIMGUI_DEFINE_ENUMS_AND_STRUCTS=1)
|
||||
target_link_libraries(cimgui_test PRIVATE cimgui)
|
41
test/main.c
Normal file
41
test/main.c
Normal file
@@ -0,0 +1,41 @@
|
||||
#include <stdio.h>
|
||||
#include <assert.h>
|
||||
#include "../cimgui.h"
|
||||
|
||||
int main(void)
|
||||
{
|
||||
assert(igDebugCheckVersionAndDataLayout(igGetVersion(), sizeof(ImGuiIO), sizeof(ImGuiStyle),
|
||||
sizeof(ImVec2), sizeof(ImVec4), sizeof(ImDrawVert),
|
||||
sizeof(ImDrawIdx)));
|
||||
printf("CreateContext() - v%s\n", igGetVersion());
|
||||
igCreateContext(NULL);
|
||||
ImGuiIO *io = igGetIO();
|
||||
|
||||
unsigned char *text_pixels = NULL;
|
||||
int text_w, text_h;
|
||||
ImFontAtlas_GetTexDataAsRGBA32(io->Fonts, &text_pixels, &text_w, &text_h, NULL);
|
||||
|
||||
for (int n = 0; n < 20; n++) {
|
||||
printf("NewFrame() %d\n", n);
|
||||
|
||||
ImVec2 display_size;
|
||||
display_size.x = 1920;
|
||||
display_size.y = 1080;
|
||||
io->DisplaySize = display_size;
|
||||
io->DeltaTime = 1.0f / 60.0f;
|
||||
igNewFrame();
|
||||
|
||||
static float f = 0.0f;
|
||||
igText("Hello World!");
|
||||
igSliderFloat("float", &f, 0.0f, 1.0f, "%.3f", 1.0f);
|
||||
igText("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / io->Framerate, io->Framerate);
|
||||
igShowDemoWindow(NULL);
|
||||
|
||||
igRender();
|
||||
}
|
||||
|
||||
printf("DestroyContext()\n");
|
||||
igDestroyContext(NULL);
|
||||
|
||||
return 0;
|
||||
}
|
@@ -1,6 +0,0 @@
|
||||
:: 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
|
@@ -1,6 +0,0 @@
|
||||
#include "../cimgui.h"
|
||||
|
||||
int main(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
@@ -1,13 +0,0 @@
|
||||
::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