mirror of
https://github.com/cimgui/cimgui.git
synced 2025-08-10 11:58:30 +01:00
Compare commits
698 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
0348715500 | ||
![]() |
68483775b3 | ||
![]() |
0369ceb1b4 | ||
![]() |
4f089273b1 | ||
![]() |
b0649485e9 | ||
![]() |
a0a7ca3ca2 | ||
![]() |
3e823cd2ee | ||
![]() |
6a2b18fa65 | ||
![]() |
75ec483e75 | ||
![]() |
08f24307b8 | ||
![]() |
a9a9fa4e9e | ||
![]() |
ce3b504e11 | ||
![]() |
4230a5566e | ||
![]() |
9ce2c32dad | ||
![]() |
3d676ffb8b | ||
![]() |
b9ebd289e0 | ||
![]() |
9da5c5fe7c | ||
![]() |
3d50615659 | ||
![]() |
938d146a41 | ||
![]() |
7225c4ae3c | ||
![]() |
feb7829edc | ||
![]() |
6eb85e7d5c | ||
![]() |
068e91970d | ||
![]() |
b5cce9f1a5 | ||
![]() |
ea5b077fbe | ||
![]() |
a44ce77641 | ||
![]() |
15e4f5015d | ||
![]() |
9b7d045962 | ||
![]() |
44b388121a | ||
![]() |
13c4f47172 | ||
![]() |
d1f60f24e1 | ||
![]() |
4c1fd9fc0a | ||
![]() |
1616776d77 | ||
![]() |
eccb961bc7 | ||
![]() |
e3d115bce2 | ||
![]() |
82b8c66f59 | ||
![]() |
08d5ad7f93 | ||
![]() |
8e625e95fd | ||
![]() |
b5d0aba261 | ||
![]() |
0b8015191d | ||
![]() |
433cccd795 | ||
![]() |
633fe954bf | ||
![]() |
a66528f9b1 | ||
![]() |
439bae8107 | ||
![]() |
261250f88f | ||
![]() |
069b850526 | ||
![]() |
9a87a0d5f6 | ||
![]() |
987cf98e9c | ||
![]() |
618ca008ea | ||
![]() |
881777a2fc | ||
![]() |
cf04541b41 | ||
![]() |
aef3787bb1 | ||
![]() |
94e632a253 | ||
![]() |
bd5a043957 | ||
![]() |
4492660bb9 | ||
![]() |
88e0bc9a9a | ||
![]() |
1afd93dd45 | ||
![]() |
dac713c763 | ||
![]() |
938f8ccf87 | ||
![]() |
e6705a8522 | ||
![]() |
fdc9511bd7 | ||
![]() |
fe4dff78bd | ||
![]() |
07ceedf37b | ||
![]() |
0be2b20a16 | ||
![]() |
b5f5a03851 | ||
![]() |
a51a8f7a86 | ||
![]() |
de25c00ddd | ||
![]() |
678887ee99 | ||
![]() |
b0cfee6183 | ||
![]() |
d0bcf4551b | ||
![]() |
49d45008e0 | ||
![]() |
ad929978e9 | ||
![]() |
b949d47c8b | ||
![]() |
d359d907af | ||
![]() |
52bbaf1117 | ||
![]() |
d5f713caa1 | ||
![]() |
afce852875 | ||
![]() |
a21aa1d613 | ||
![]() |
e938d7e0f5 | ||
![]() |
ff3bb81b34 | ||
![]() |
05d7db048c | ||
![]() |
ae00a9b604 | ||
![]() |
b679737444 | ||
![]() |
d9916720aa | ||
![]() |
66e28665da | ||
![]() |
9768b42785 | ||
![]() |
ec64ca94cc | ||
![]() |
e1ccdc1764 | ||
![]() |
00946c45e4 | ||
![]() |
9ac28a2d94 | ||
![]() |
d0e4aaa2c0 | ||
![]() |
7362cca7ec | ||
![]() |
17ffa736d3 | ||
![]() |
873c03c367 | ||
![]() |
f16cdc74aa | ||
![]() |
27c328b506 | ||
![]() |
42873df6e3 | ||
![]() |
6a98f4bbed | ||
![]() |
76d3b9f8b6 | ||
![]() |
9945968ac5 | ||
![]() |
a6b16c6da5 | ||
![]() |
6c5d782738 | ||
![]() |
67dd6be572 | ||
![]() |
39f9aba460 | ||
![]() |
e7ca10279a | ||
![]() |
b918627f0b | ||
![]() |
ea9720b412 | ||
![]() |
01d3d13846 | ||
![]() |
2951194915 | ||
![]() |
ab7578ed1f | ||
![]() |
83f729b093 | ||
![]() |
34a48996e6 | ||
![]() |
ccdae842e4 | ||
![]() |
c401f71eea | ||
![]() |
c22606a7f0 | ||
![]() |
6552b43aae | ||
![]() |
3d4277be4d | ||
![]() |
1ffc9e53c5 | ||
![]() |
13aac22a35 | ||
![]() |
ceda975a5b | ||
![]() |
aa0baa777c | ||
![]() |
25aa25bd83 | ||
![]() |
41b397020a | ||
![]() |
c1890d4c00 | ||
![]() |
7756c4f53f | ||
![]() |
ba9ec30e64 | ||
![]() |
2638737f2c | ||
![]() |
6aa3f1decd | ||
![]() |
bc708a092d | ||
![]() |
9ac7cd93e1 | ||
![]() |
2838c0317a | ||
![]() |
c57efd953f | ||
![]() |
a48009b062 | ||
![]() |
383ebf3a7a | ||
![]() |
afdbb6b799 | ||
![]() |
a64de2e303 | ||
![]() |
a9928295db | ||
![]() |
ce239ed53f | ||
![]() |
6791a95f79 | ||
![]() |
86112e0b45 | ||
![]() |
c4d1f5423e | ||
![]() |
36e0d7a41e | ||
![]() |
1bdfc0964e | ||
![]() |
7b9f0c7499 | ||
![]() |
0d96f60b80 | ||
![]() |
3eec69f133 | ||
![]() |
ab67137994 | ||
![]() |
7d5f753a9d | ||
![]() |
3b563153fd | ||
![]() |
7f4ca76e37 | ||
![]() |
6047c638c4 | ||
![]() |
414ad3f8f4 | ||
![]() |
a21c31f123 | ||
![]() |
99611664b7 | ||
![]() |
45aada6ecb | ||
![]() |
98bfe43755 | ||
![]() |
4a4c804ad9 | ||
![]() |
48c97106cc | ||
![]() |
e417e3500b | ||
![]() |
ee5534d7cd | ||
![]() |
54cfcabdde | ||
![]() |
e0279fa53d | ||
![]() |
43bfbe227d | ||
![]() |
2a6970b50b | ||
![]() |
507e19bc7e | ||
![]() |
3f2e6f40df | ||
![]() |
be7bb9a72e | ||
![]() |
fc677cb849 | ||
![]() |
aa1b438f7f | ||
![]() |
9828871a89 | ||
![]() |
236c296049 | ||
![]() |
3b01e79d6d | ||
![]() |
ebfa448e25 | ||
![]() |
0704912579 | ||
![]() |
06f3c006c3 | ||
![]() |
5c469cca4e | ||
![]() |
7d6fdb66bb | ||
![]() |
e1ea75be6e | ||
![]() |
c46a2eded6 | ||
![]() |
756ce6330a | ||
![]() |
4e5d12e86e | ||
![]() |
bb0cb8090a | ||
![]() |
9cb4b4f63c | ||
![]() |
a97c90ec4f | ||
![]() |
b50e8c0d85 | ||
![]() |
ad5580b5d7 | ||
![]() |
a1f2cef9d3 | ||
![]() |
75a27d5e34 | ||
![]() |
59e4829b4b | ||
![]() |
7aa18d11a1 | ||
![]() |
b26f477c20 | ||
![]() |
33fb5eb309 | ||
![]() |
3700abd326 | ||
![]() |
16609ed627 | ||
![]() |
87158fa6b4 | ||
![]() |
7ce241d5d8 | ||
![]() |
44af224530 | ||
![]() |
213086639f | ||
![]() |
5bd8981f19 | ||
![]() |
bd89e83f70 | ||
![]() |
1f5590c0b0 | ||
![]() |
8eff25b5ee | ||
![]() |
31bc8389d3 | ||
![]() |
64ed803093 | ||
![]() |
e58ac87fba | ||
![]() |
c1a4efeb10 | ||
![]() |
9b6769e810 | ||
![]() |
5a5ac45e55 | ||
![]() |
c0d36ab1d6 | ||
![]() |
c5a3820d02 | ||
![]() |
d32282504c | ||
![]() |
ddc93fb07f | ||
![]() |
e35d99e432 | ||
![]() |
a3ad64dbfa | ||
![]() |
78ed715f21 | ||
![]() |
711940a064 | ||
![]() |
d6be58f33f | ||
![]() |
0842366596 | ||
![]() |
708787b8f0 | ||
![]() |
2280cfa91b | ||
![]() |
d813613997 | ||
![]() |
0e46431ad7 | ||
![]() |
0c877db449 | ||
![]() |
0e408d392e | ||
![]() |
cbed1120b1 | ||
![]() |
8c6dbf6de7 | ||
![]() |
3f0f7d2ba5 | ||
![]() |
246c0e580f | ||
![]() |
e748e6bc95 | ||
![]() |
d2de965b2a | ||
![]() |
2bb45e2d77 | ||
![]() |
c64cef9b8c | ||
![]() |
3fd24c568d | ||
![]() |
416b4f017b | ||
![]() |
c2bd39271b | ||
![]() |
5f4aa99a3c | ||
![]() |
aa5d3646be | ||
![]() |
a898224cdc | ||
![]() |
10c52cc266 | ||
![]() |
350a316439 | ||
![]() |
02834e8480 | ||
![]() |
d52d267351 | ||
![]() |
c37df4d0b8 | ||
![]() |
31b598af72 | ||
![]() |
7685bab86f | ||
![]() |
abe5b56fd6 | ||
![]() |
3270e6b0f2 | ||
![]() |
9339b62303 | ||
![]() |
81e7df17c9 | ||
![]() |
59e6a69d88 | ||
![]() |
6ee1d4c3fc | ||
![]() |
b14352b9ef | ||
![]() |
277e37f4ef | ||
![]() |
54e64ba9c4 | ||
![]() |
060df0f4eb | ||
![]() |
9edbc20e89 | ||
![]() |
67c49ea1fd | ||
![]() |
101631d3c8 | ||
![]() |
b230afa909 | ||
![]() |
d59448763f | ||
![]() |
d9b50e696f | ||
![]() |
1ed28e5a0e | ||
![]() |
db6d57f899 | ||
![]() |
6fbdf5ce62 | ||
![]() |
7bbb7c79b7 | ||
![]() |
e6540f7682 | ||
![]() |
4c1d18802f | ||
![]() |
3b73c15805 | ||
![]() |
aa75ad3e99 | ||
![]() |
bcad423dc7 | ||
![]() |
dbcc6d1529 | ||
![]() |
477f60f822 | ||
![]() |
53156c32c6 | ||
![]() |
1109a79367 | ||
![]() |
a91865dc27 | ||
![]() |
d766b79138 | ||
![]() |
bb0dd1ac93 | ||
![]() |
596f3008f6 | ||
![]() |
59e49145e8 | ||
![]() |
512efb3505 | ||
![]() |
75c05adbcb | ||
![]() |
22728d5470 | ||
![]() |
aeac366ece | ||
![]() |
678ae8b32b | ||
![]() |
2b0058b61e | ||
![]() |
3d997ffdae | ||
![]() |
95d626aef9 | ||
![]() |
3c30c86405 | ||
![]() |
41ea43b13f | ||
![]() |
670965cbe5 | ||
![]() |
18af68901e | ||
![]() |
ebc4b3548a | ||
![]() |
c6c733bac4 | ||
![]() |
bf98608d4f | ||
![]() |
83b5cc19a0 | ||
![]() |
e9fa5cb5e2 | ||
![]() |
66ae832d05 | ||
![]() |
1d7ef93de9 | ||
![]() |
d08bad2477 | ||
![]() |
2afe1f5beb | ||
![]() |
7b6e549e9c | ||
![]() |
f635eb28c5 | ||
![]() |
710ff2ae12 | ||
![]() |
a7ba601962 | ||
![]() |
6d112735ee | ||
![]() |
ea1e5a3ab8 | ||
![]() |
46f51395eb | ||
![]() |
8fee1a6fe7 | ||
![]() |
8ba8ced1f5 | ||
![]() |
13aafdee96 | ||
![]() |
18745e0713 | ||
![]() |
5f1243c42c | ||
![]() |
cfdfe11c10 | ||
![]() |
a0056887df | ||
![]() |
804b0c0bab | ||
![]() |
4630f434ea | ||
![]() |
a486f2999a | ||
![]() |
a68f4a93ae | ||
![]() |
7cf1592256 | ||
![]() |
b6bc895d01 | ||
![]() |
f4e1cc4135 | ||
![]() |
e105d9f793 | ||
![]() |
e328a55f4c | ||
![]() |
df229d94ac | ||
![]() |
f66c7e1cf8 | ||
![]() |
debf951581 | ||
![]() |
0ae7a19bbd | ||
![]() |
c99cf02537 | ||
![]() |
a4cf018ba8 | ||
![]() |
fb2c0816db | ||
![]() |
9abc3207aa | ||
![]() |
2fa6d06a67 | ||
![]() |
2d8b3fb731 | ||
![]() |
47fbe806a2 | ||
![]() |
050d68a614 | ||
![]() |
cdd1fbb2df | ||
![]() |
e2c64a1808 | ||
![]() |
c9921e9e0f | ||
![]() |
90ddbc37b0 | ||
![]() |
c04ed4fa16 | ||
![]() |
c31750d25e | ||
![]() |
76eaf80082 | ||
![]() |
fe65bbf5cd | ||
![]() |
8668cb268c | ||
![]() |
5ee318e21e | ||
![]() |
d335744253 | ||
![]() |
6ddccdc1de | ||
![]() |
45c3de9423 | ||
![]() |
f41dd1cf2e | ||
![]() |
fba064065d | ||
![]() |
b875a545b2 | ||
![]() |
38a744674e | ||
![]() |
2f4c2c03db | ||
![]() |
c1f0030b20 | ||
![]() |
4645c082fa | ||
![]() |
8c5bda8548 | ||
![]() |
92a029f678 | ||
![]() |
bc3bc4583d | ||
![]() |
13ad240b74 | ||
![]() |
74ca33d026 | ||
![]() |
ab53af765f | ||
![]() |
bb54fa5e20 | ||
![]() |
38bcc91220 | ||
![]() |
36522778d0 | ||
![]() |
4e160d8017 | ||
![]() |
8b4ebff2e2 | ||
![]() |
a27b5236db | ||
![]() |
19e41cf8e9 | ||
![]() |
f69b042105 | ||
![]() |
1efb54810c | ||
![]() |
4edb09f7c4 | ||
![]() |
0f2a41e273 | ||
![]() |
61784f32f9 | ||
![]() |
981eafaa3e | ||
![]() |
250169feb7 | ||
![]() |
16846a206b | ||
![]() |
09bd080a0c | ||
![]() |
217e55b5b3 | ||
![]() |
6e52c26817 | ||
![]() |
f30441fd5d | ||
![]() |
78c1ef224d | ||
![]() |
787939bebc | ||
![]() |
9f99062c6f | ||
![]() |
da72704aa1 | ||
![]() |
b861387d21 | ||
![]() |
be187bcdc4 | ||
![]() |
98e6ff7051 | ||
![]() |
39efe04d04 | ||
![]() |
925f656646 | ||
![]() |
95d494d91d | ||
![]() |
3e6ef21864 | ||
![]() |
39983d8970 | ||
![]() |
4a63c7e2ae | ||
![]() |
acf490ffd6 | ||
![]() |
df7c5d1b5d | ||
![]() |
7224084284 | ||
![]() |
a99713a8ba | ||
![]() |
ce302529e4 | ||
![]() |
400b7d76dd | ||
![]() |
c0c050ce1e | ||
![]() |
52fbd3f694 | ||
![]() |
f84d9c4301 | ||
![]() |
4197d9f7e5 | ||
![]() |
ef683bf14a | ||
![]() |
b1a9eb3c21 | ||
![]() |
27f4d3c3c4 | ||
![]() |
672f1bab04 | ||
![]() |
16ab55b72a | ||
![]() |
18297589a5 | ||
![]() |
760662ecea | ||
![]() |
0e16e0aedc | ||
![]() |
6033d331f9 | ||
![]() |
7a6c714351 | ||
![]() |
5451260291 | ||
![]() |
e2347c174d | ||
![]() |
e7a883d9f3 | ||
![]() |
906fd09e67 | ||
![]() |
d1ac207b45 | ||
![]() |
956ddf4033 | ||
![]() |
056c340d25 | ||
![]() |
ab3699df27 | ||
![]() |
8ee704c485 | ||
![]() |
901c705518 | ||
![]() |
77ee4fad38 | ||
![]() |
830b4580d0 | ||
![]() |
f8eb990407 | ||
![]() |
5f15425a02 | ||
![]() |
8be6ddd980 | ||
![]() |
7dc6dbe77e | ||
![]() |
0cbc6bf55f | ||
![]() |
02677f9691 | ||
![]() |
e2c14f1b41 | ||
![]() |
55dc243358 | ||
![]() |
16bcad7933 | ||
![]() |
db0243a6f0 | ||
![]() |
9bed5f29a9 | ||
![]() |
39336d9843 | ||
![]() |
f350e7b7a7 | ||
![]() |
c5eea0b2db | ||
![]() |
4e00f55cc8 | ||
![]() |
6740445cbc | ||
![]() |
677678af07 | ||
![]() |
fa9538889b | ||
![]() |
3bd9469a30 | ||
![]() |
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 | ||
![]() |
2b03f434d4 | ||
![]() |
37c52332f4 | ||
![]() |
84932b4830 | ||
![]() |
022f60320f | ||
![]() |
1aeb9ad132 | ||
![]() |
648cf587c9 | ||
![]() |
aa99302d24 | ||
![]() |
4fca16eada | ||
![]() |
ff404142f4 | ||
![]() |
4be0522d9f | ||
![]() |
bc6f6e664e | ||
![]() |
343a8e4ea5 | ||
![]() |
0d4fa8b8bc | ||
![]() |
666a687e0f | ||
![]() |
806ff124a1 | ||
![]() |
186ebd8f06 | ||
![]() |
d331453422 | ||
![]() |
e125f405e3 | ||
![]() |
498f9802d1 | ||
![]() |
6c9a018705 | ||
![]() |
347d8d58b0 | ||
![]() |
161385607d | ||
![]() |
23f2a1f026 | ||
![]() |
490effa341 | ||
![]() |
0d864f94bd | ||
![]() |
55f1afa2db | ||
![]() |
71a9410ce6 | ||
![]() |
036d2c1f9e | ||
![]() |
b5c7ed5862 | ||
![]() |
d2ee8fc7dd | ||
![]() |
593867e320 | ||
![]() |
907c2fddce | ||
![]() |
67f3b097a5 | ||
![]() |
fd0199809d | ||
![]() |
d174a02a0f | ||
![]() |
291922f72c | ||
![]() |
7d963113c9 | ||
![]() |
8cbdca3344 | ||
![]() |
204f2828bb | ||
![]() |
2c10d47b9a | ||
![]() |
df00156746 | ||
![]() |
553364f7d8 | ||
![]() |
14cd6715d2 | ||
![]() |
76935a7d83 | ||
![]() |
4397e9a3f1 | ||
![]() |
d44c05cbbd | ||
![]() |
ed6212bb34 | ||
![]() |
8911a5a992 | ||
![]() |
4397288459 | ||
![]() |
354f316b89 | ||
![]() |
f6fdec9d98 | ||
![]() |
3da4350671 | ||
![]() |
fe1d9d081b | ||
![]() |
f531be148d | ||
![]() |
eac028b1f3 | ||
![]() |
eb81995978 | ||
![]() |
b600ea9fab | ||
![]() |
5656bf7c73 | ||
![]() |
d33da701aa | ||
![]() |
95d65fdf49 | ||
![]() |
0b7bd49de5 | ||
![]() |
1643bbf284 | ||
![]() |
80f82b6ed8 | ||
![]() |
f4df31de6e | ||
![]() |
1789ec81fe | ||
![]() |
aca412fe7a | ||
![]() |
7a54d1276d | ||
![]() |
97113ef7ad | ||
![]() |
2a4dcaf2a2 | ||
![]() |
5a9a20d139 | ||
![]() |
7ee838ae2d | ||
![]() |
3091435042 | ||
![]() |
804acdcecd | ||
![]() |
51f02dca4d | ||
![]() |
84a9656889 | ||
![]() |
553df3da32 | ||
![]() |
04d4a19beb | ||
![]() |
3b9c53b2a2 | ||
![]() |
6f9e3db1d1 | ||
![]() |
d3eb876266 | ||
![]() |
3efb1001aa | ||
![]() |
a91c611bca | ||
![]() |
5b7abe8b4d | ||
![]() |
812af400f1 | ||
![]() |
2d3cf59b21 | ||
![]() |
e7eb9c511b | ||
![]() |
2759a8ed4d | ||
![]() |
073f438467 | ||
![]() |
f7856b27b0 | ||
![]() |
99c7d7cfdf | ||
![]() |
31871f9975 | ||
![]() |
c487b0266e | ||
![]() |
3b386799e4 | ||
![]() |
52a693a96c | ||
![]() |
a0cb8aff23 | ||
![]() |
d704b33196 | ||
![]() |
9738a5816e | ||
![]() |
327e3236ae | ||
![]() |
259dc4afc8 | ||
![]() |
54118273ff | ||
![]() |
e8ac6079b5 | ||
![]() |
a2c1665e31 | ||
![]() |
bba07596a6 | ||
![]() |
e99f8dc918 | ||
![]() |
6ceba86ff6 | ||
![]() |
2023d29fc9 | ||
![]() |
552a5f5cf2 | ||
![]() |
f1b55d57e5 | ||
![]() |
d7e8b142d0 | ||
![]() |
9ae5a207f6 | ||
![]() |
9846ee640f | ||
![]() |
1bf9256998 | ||
![]() |
c8ff56e0b0 | ||
![]() |
1c88ef9c37 | ||
![]() |
cf82b3a356 | ||
![]() |
56d6cbfd38 | ||
![]() |
d863cbe3b4 | ||
![]() |
4a0e927c23 | ||
![]() |
3d232c5369 | ||
![]() |
e721909a97 | ||
![]() |
15c711e4f4 | ||
![]() |
96f24d52a5 | ||
![]() |
f0dd5bc5f8 | ||
![]() |
c06facb80a | ||
![]() |
9e6f792b74 | ||
![]() |
f323beede6 | ||
![]() |
8508f7b0ff | ||
![]() |
23b51b499a | ||
![]() |
60b7ab90ff | ||
![]() |
69ac20dd7c | ||
![]() |
44d1d8c190 | ||
![]() |
006fc575fa | ||
![]() |
c0a30cff81 | ||
![]() |
cd98bfd9b4 | ||
![]() |
5f9a7b58bf | ||
![]() |
1bb1d061be | ||
![]() |
6bce915abb | ||
![]() |
a0eab2686f | ||
![]() |
d45f3594ce | ||
![]() |
7afdf07cbb | ||
![]() |
d47cbcb44a | ||
![]() |
fc01fa6486 | ||
![]() |
b5150cc1ac | ||
![]() |
07d6c6897a | ||
![]() |
444b30c2cb | ||
![]() |
a190ec10f4 | ||
![]() |
f4a4369392 | ||
![]() |
395ab5108e | ||
![]() |
af67beb082 | ||
![]() |
4b1ae5a6c5 | ||
![]() |
1a5752271c | ||
![]() |
960c4daa70 | ||
![]() |
031bfe5dcc | ||
![]() |
963e5fcf82 | ||
![]() |
edf209e09e | ||
![]() |
ac4a2f13c0 | ||
![]() |
1c61237dbf | ||
![]() |
726816cb6a | ||
![]() |
ed4e178a85 | ||
![]() |
70eb52f582 | ||
![]() |
9694c710b7 | ||
![]() |
ce4ac9dfcf | ||
![]() |
d2d0688883 | ||
![]() |
56f84c1859 | ||
![]() |
3da315ea5c | ||
![]() |
91363f465a | ||
![]() |
1e5ce71257 | ||
![]() |
1ee766c0e1 | ||
![]() |
d2304cdab9 | ||
![]() |
73a6da9451 | ||
![]() |
ac0aaba306 | ||
![]() |
eec9519bfd | ||
![]() |
213eb53557 | ||
![]() |
532feb55ff | ||
![]() |
686e062749 | ||
![]() |
f3f2370918 | ||
![]() |
2a422f797c | ||
![]() |
5df4f3a42a | ||
![]() |
4be6a54634 | ||
![]() |
77cf5fc1e3 | ||
![]() |
a4b061f8c7 | ||
![]() |
83390d92b8 | ||
![]() |
41e975cf55 | ||
![]() |
946a568a99 | ||
![]() |
567261806c | ||
![]() |
edafa5eea8 | ||
![]() |
fc79a88b35 | ||
![]() |
33489bbd79 | ||
![]() |
102fb84147 | ||
![]() |
017b935afd | ||
![]() |
fa5d113cdb | ||
![]() |
e559e1eab8 | ||
![]() |
a6fdb24ff5 | ||
![]() |
78b1813461 | ||
![]() |
1761822733 | ||
![]() |
7b03588b3a | ||
![]() |
06a5331b9c | ||
![]() |
ceb93fdbb5 | ||
![]() |
851df218da | ||
![]() |
c735efe55a | ||
![]() |
7f688bf409 | ||
![]() |
e773ab146a | ||
![]() |
423fc1c532 | ||
![]() |
1a5e261a8e | ||
![]() |
488125ed14 | ||
![]() |
49a6430ee2 | ||
![]() |
fedd6ae495 | ||
![]() |
527fc6a7be | ||
![]() |
9b0b571506 | ||
![]() |
baebcfcfaf | ||
![]() |
90f62f1fc9 | ||
![]() |
b0cc7a2275 | ||
![]() |
0781f92135 | ||
![]() |
3f0014b569 | ||
![]() |
49d62d30cf | ||
![]() |
2ea2b91ee1 | ||
![]() |
e75eaa7239 |
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/
|
||||
|
1
.gitmodules
vendored
1
.gitmodules
vendored
@@ -1,3 +1,4 @@
|
||||
[submodule "imgui"]
|
||||
path = imgui
|
||||
url = https://github.com/ocornut/imgui.git
|
||||
branch = docking
|
||||
|
15
.travis.yml
15
.travis.yml
@@ -1,12 +1,23 @@
|
||||
language: cpp
|
||||
dist: focal
|
||||
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
- windows
|
||||
|
||||
compiler:
|
||||
- gcc
|
||||
- clang
|
||||
|
||||
script:
|
||||
- make -C cimgui
|
||||
- $CC cimgui/cimgui.h # Make sure we can include in a plain C compiler
|
||||
- mkdir bld
|
||||
- cd bld
|
||||
- cmake -D CIMGUI_TEST=1 ..
|
||||
- cmake --build .
|
||||
- |
|
||||
if [ "$TRAVIS_OS_NAME" == "windows" ]; then
|
||||
./Debug/cimgui_test.exe
|
||||
else
|
||||
./cimgui_test
|
||||
fi
|
||||
|
67
CMakeLists.txt
Normal file
67
CMakeLists.txt
Normal file
@@ -0,0 +1,67 @@
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
|
||||
project(cimgui)
|
||||
|
||||
set (CMAKE_CXX_STANDARD 11)
|
||||
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/imgui/imgui_tables.cpp)
|
||||
set(TABLES_SOURCE "imgui/imgui_tables.cpp")
|
||||
else()
|
||||
set(TABLES_SOURCE "")
|
||||
endif()
|
||||
|
||||
|
||||
#general settings
|
||||
file(GLOB IMGUI_SOURCES
|
||||
cimgui.cpp
|
||||
imgui/imgui.cpp
|
||||
imgui/imgui_draw.cpp
|
||||
imgui/imgui_demo.cpp
|
||||
imgui/imgui_widgets.cpp
|
||||
${TABLES_SOURCE}
|
||||
)
|
||||
|
||||
set(IMGUI_STATIC "no" CACHE STRING "Build as a static library")
|
||||
set(IMGUI_FREETYPE "no" CACHE STRING "Build with freetype library")
|
||||
set(IMGUI_LIBRARIES )
|
||||
|
||||
if(IMGUI_FREETYPE)
|
||||
FIND_PACKAGE(freetype REQUIRED PATHS ${FREETYPE_PATH})
|
||||
list(APPEND IMGUI_LIBRARIES freetype)
|
||||
list(APPEND IMGUI_SOURCES imgui/misc/freetype/imgui_freetype.cpp)
|
||||
add_definitions("-DCIMGUI_FREETYPE=1")
|
||||
endif(IMGUI_FREETYPE)
|
||||
|
||||
#add library and link
|
||||
if (IMGUI_STATIC)
|
||||
add_library(cimgui STATIC ${IMGUI_SOURCES})
|
||||
else (IMGUI_STATIC)
|
||||
add_library(cimgui SHARED ${IMGUI_SOURCES})
|
||||
endif (IMGUI_STATIC)
|
||||
|
||||
target_compile_definitions(cimgui PUBLIC IMGUI_DISABLE_OBSOLETE_FUNCTIONS=1)
|
||||
if (WIN32)
|
||||
target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t__declspec\(dllexport\))
|
||||
list(APPEND IMGUI_LIBRARIES imm32)
|
||||
else (WIN32)
|
||||
target_compile_definitions(cimgui PUBLIC IMGUI_IMPL_API=extern\t\"C\"\t)
|
||||
endif (WIN32)
|
||||
|
||||
target_include_directories(cimgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_include_directories(cimgui PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/imgui)
|
||||
set_target_properties(cimgui PROPERTIES PREFIX "")
|
||||
target_link_libraries(cimgui ${IMGUI_LIBRARIES})
|
||||
|
||||
#install
|
||||
install(TARGETS cimgui
|
||||
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 ()
|
@@ -1,33 +1,35 @@
|
||||
#
|
||||
# Cross Platform Makefile
|
||||
# Compatible with Ubuntu 14.04.1 and Mac OS X
|
||||
# Compatible with Ubuntu 14.04.1 and macOS
|
||||
|
||||
OBJS = cimgui.o
|
||||
OBJS += fontAtlas.o
|
||||
OBJS += drawList.o
|
||||
OBJS += listClipper.o
|
||||
#OBJS += test.o
|
||||
OBJS += ../imgui/imgui.o
|
||||
OBJS += ../imgui/imgui_draw.o
|
||||
OBJS += ../imgui/imgui_demo.o
|
||||
OBJS += ./imgui/imgui.o
|
||||
OBJS += ./imgui/imgui_draw.o
|
||||
OBJS += ./imgui/imgui_demo.o
|
||||
OBJS += ./imgui/imgui_tables.o
|
||||
OBJS += ./imgui/imgui_widgets.o
|
||||
|
||||
CXXFLAGS=-O2 -fno-exceptions -fno-rtti
|
||||
|
||||
UNAME_S := $(shell uname -s)
|
||||
|
||||
AR := ar -rc
|
||||
|
||||
ifeq ($(UNAME_S), Linux) #LINUX
|
||||
ECHO_MESSAGE = "Linux"
|
||||
|
||||
OUTPUTNAME = cimgui.so
|
||||
CXXFLAGS = -I../../
|
||||
CXXFLAGS += -I./imgui/
|
||||
CXXFLAGS += -Wall
|
||||
CXXFLAGS += -shared -fPIC
|
||||
CFLAGS = $(CXXFLAGS)
|
||||
endif
|
||||
|
||||
ifeq ($(UNAME_S), Darwin) #APPLE
|
||||
ECHO_MESSAGE = "Mac OS X"
|
||||
ECHO_MESSAGE = "macOS"
|
||||
|
||||
OUTPUTNAME = cimgui.dylib
|
||||
CXXFLAGS = -I/usr/local/include
|
||||
CXXFLAGS += -I/usr/local/include
|
||||
CXXFLAGS += -Wall
|
||||
LINKFLAGS = -dynamiclib
|
||||
CFLAGS = $(CXXFLAGS)
|
||||
@@ -37,7 +39,7 @@ ifeq ($(OS), Windows_NT)
|
||||
ECHO_MESSAGE = "Windows"
|
||||
|
||||
OUTPUTNAME = cimgui.dll
|
||||
CXXFLAGS = -I../../
|
||||
CXXFLAGS += -I./imgui/
|
||||
CXXFLAGS += -Wall
|
||||
CXXFLAGS += -shared
|
||||
LINKFLAGS = -limm32
|
||||
@@ -47,11 +49,21 @@ endif
|
||||
.cpp.o:
|
||||
$(CXX) $(CXXFLAGS) -c -o $@ $<
|
||||
|
||||
all:imgui_example
|
||||
all:$(OUTPUTNAME)
|
||||
@echo Build complete for $(ECHO_MESSAGE)
|
||||
|
||||
imgui_example:$(OBJS)
|
||||
static:$(OBJS)
|
||||
$(AR) libcimgui.a $(OBJS)
|
||||
|
||||
$(OUTPUTNAME):$(OBJS)
|
||||
$(CXX) -o $(OUTPUTNAME) $(OBJS) $(CXXFLAGS) $(LINKFLAGS)
|
||||
|
||||
clean:
|
||||
rm $(OBJS)
|
||||
rm -f $(OBJS)
|
||||
|
||||
fclean: clean
|
||||
rm -f $(OUTPUTNAME)
|
||||
|
||||
re: fclean all
|
||||
|
||||
.PHONY: all clean fclean re static
|
114
README.md
114
README.md
@@ -1,26 +1,118 @@
|
||||
# cimgui [](https://travis-ci.org/Extrawurst/cimgui)
|
||||
# cimgui [](https://travis-ci.org/cimgui/cimgui)
|
||||
|
||||

|
||||
|
||||
This is a thin c-api wrapper for the excellent C++ intermediate gui [imgui](https://github.com/ocornut/imgui).
|
||||
Most of the functions have wrapper counterparts now, missing stuff is added on a as-needed basis (PR welcome).
|
||||
This library is intended as a intermediate layer to be able to use imgui from other languages that can interface with C (like D - see [D-binding](https://github.com/Extrawurst/DerelictImgui))
|
||||
This is a thin c-api wrapper programmatically generated for the excellent C++ immediate mode gui [Dear ImGui](https://github.com/ocornut/imgui).
|
||||
All imgui.h functions are programmatically wrapped.
|
||||
Generated files are: `cimgui.cpp`, `cimgui.h` for C compilation. Also for helping in bindings creation, `definitions.lua` with function definition information and `structs_and_enums.lua`.
|
||||
This library is intended as a intermediate layer to be able to use Dear ImGui from other languages that can interface with C (like D - see [D-binding](https://github.com/Extrawurst/DerelictImgui))
|
||||
|
||||
History:
|
||||
|
||||
Initially cimgui was developed by Stephan Dilly as hand-written code but lately turned into an auto-generated version by sonoro1234 in order to keep up with imgui more easily (letting the user select the desired branch and commit)
|
||||
|
||||
Notes:
|
||||
* currently this wrapper is based on version [1.52 of imgui](https://github.com/ocornut/imgui/releases/tag/v1.52)
|
||||
* does not compile with pure C compiler yet (for writing bindings in languages that are able to use C-ABI it is enough though, see D-bindings)
|
||||
* currently this wrapper is based on version [1.89.1 of Dear ImGui with internal api]
|
||||
* only functions, structs and enums from imgui.h (an optionally imgui_internal.h) are wrapped.
|
||||
* if you are interested in imgui backends you should look [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui) project.
|
||||
* All naming is algorithmic except for those names that were coded in cimgui_overloads table (https://github.com/cimgui/cimgui/blob/master/generator/generator.lua#L60). In the official version this table is empty.
|
||||
* Current overloaded function names can be found in (https://github.com/cimgui/cimgui/blob/master/generator/output/overloads.txt)
|
||||
|
||||
# compilation
|
||||
|
||||
* clone
|
||||
* `git clone --recursive https://github.com/cimgui/cimgui.git`
|
||||
* `git submodule update --init --recursive` (If already cloned)
|
||||
* compile
|
||||
* using makefile on linux/macOS/mingw (Or use CMake to generate project)
|
||||
* cmake options are IMGUI_STATIC (compiling as static library), IMGUI_FREETYPE (for using Freetype2) and FREETYPE_PATH (Freetype2 cmake install location) (only if cimgui is generated with freetype option)
|
||||
* or as in https://github.com/sonoro1234/LuaJIT-ImGui/tree/master/build
|
||||
|
||||
For compiling with backends there are now examples with SDL2 and opengl3/vulkan in folder backend_test.
|
||||
They'll generate a cimgui_sdl module and a test_sdl executable.
|
||||
|
||||
# using generator
|
||||
|
||||
|
||||
* this is only needed (before compilation) if you want an imgui version different from the one provided, otherwise generation is already done.
|
||||
* you will need LuaJIT (https://github.com/LuaJIT/LuaJIT.git better 2.1 branch) or precompiled for linux/macOS/windows in https://luapower.com/luajit/download
|
||||
* you need to use also a C++ compiler for doing preprocessing: gcc (In windows MinGW-W64-builds for example), clang or cl (MSVC). (this repo was done with gcc)
|
||||
* update `imgui` folder to the version you desire.
|
||||
* edit `generator/generator.bat` on windows, or `generator/generator.sh` on linux, to choose between gcc, clang, or cl and to choose desired backends and whether imgui_internal is generated or not, Freetype2 is used or not and comments are generated or not
|
||||
* the defaults of generator are gcc as compiler, imgui_internal included and sdl, glfw, vulkan, opengl2 and opengl3 as backends.
|
||||
* edit config_generator.lua for adding includes needed by your chosen backends (vulkan needs that).
|
||||
* Run generator.bat or generator.sh with gcc, clang or cl and LuaJIT on your PATH.
|
||||
* as a result some files are generated: `cimgui.cpp`, `cimgui.h` and `cimgui_impl.h` for compiling and some lua/json files with information about the binding: `definitions.json` with function info, `structs_and_enums.json` with struct and enum info, `impl_definitions.json` with functions from the backends info.
|
||||
* You can pass compiler flags to generator.sh or generator.bat at the end of the call to further specify the compiler behavior. (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
|
||||
|
||||
# generate binding
|
||||
* C interface is exposed by cimgui.h when you define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
* with your prefered language you can use the lua or json files generated as in:
|
||||
* https://github.com/sonoro1234/LuaJIT-ImGui/blob/master/lua/build.bat (with lua code generation in https://github.com/sonoro1234/LuaJIT-ImGui/blob/master/lua/class_gen.lua)
|
||||
* https://github.com/mellinoe/ImGui.NET/tree/autogen/src/CodeGenerator
|
||||
### definitions description
|
||||
* It is a collection in which key is the cimgui name that would result without overloadings and the value is an array of overloadings (may be only one overloading)
|
||||
* Each overloading is a collection. Some relevant keys and values are:
|
||||
* stname : the name of the struct the function belongs to (will be "" if it is top level in ImGui namespace)
|
||||
* ov_cimguiname : the overloaded cimgui name (if absent it would be taken from cimguiname)
|
||||
* cimguiname : the name without overloading (this should be used if there is not ov_cimguiname)
|
||||
* ret : the return type
|
||||
* retref : is set if original return type is a reference. (will be a pointer in cimgui)
|
||||
* argsT : an array of collections (each one with type: argument type and name: the argument name, when the argument is a function pointer also ret: return type and signature: the function signature)
|
||||
* args : a string of argsT concatenated and separated by commas
|
||||
* call_args : a string with the argument names separated by commas for calling imgui function
|
||||
* defaults : a collection in which key is argument name and value is the default value.
|
||||
* manual : will be true if this function is hand-written (not generated)
|
||||
* skipped : will be true if this function is not generated (and not hand-written)
|
||||
* isvararg : is set if some argument is a vararg
|
||||
* constructor : is set if the function is a constructor for a class.
|
||||
* destructor : is set if the function is a destructor for a class but not just a default destructor.
|
||||
* realdestructor : is set if the function is a destructor for a class
|
||||
* templated : is set if the function belongs to a templated class (ImVector)
|
||||
* templatedgen: is set if the function belongs to a struct generated from template (ImVector_ImWchar)
|
||||
* nonUDT : if present the original function was returning a user defined type so that signature has been changed to accept a pointer to the UDT as first argument.
|
||||
* location : name of the header file and linenumber this function comes from. (imgui:000, internal:123, imgui_impl_xxx:123)
|
||||
* is_static_function : is setted when it is an struct static function.
|
||||
### structs_and_enums description
|
||||
* Is is a collection with three items:
|
||||
* under key enums we get the enums collection in which each key is the enum tagname and the value is an array of the ordered values represented as a collection with keys
|
||||
* name : the name of this enum value
|
||||
* value : the C string
|
||||
* calc_value : the numeric value corresponding to value
|
||||
* under key structs we get the structs collection in which the key is the struct name and the value is an array of the struct members. Each one given as a collection with keys
|
||||
* type : the type of the struct member
|
||||
* template_type : if type has a template argument (as ImVector) here will be
|
||||
* name : the name of the struct member
|
||||
* size : the number of array elements (when it is an array)
|
||||
* bitfield : the bitfield width (in case it is a bitfield)
|
||||
* under key locations we get the locations collection in which each key is the enum tagname or the struct name and the value is the name of the header file and line number this comes from.
|
||||
# usage
|
||||
|
||||
* clone
|
||||
* make using makefile on linux/osx
|
||||
* use whatever method is in ImGui c++ namespace in the original [imgui.h](https://github.com/ocornut/imgui/blob/master/imgui.h) by prepending `ig`
|
||||
* methods have the same parameter list and return values (where possible)
|
||||
* functions that belong to a struct have an extra first argument with a pointer to the struct.
|
||||
* where a function returns UDT (user defined type) by value some compilers complain so the function is generated accepting a pointer to the UDT type as the first argument (or second if belongs to a struct).
|
||||
|
||||
# usage with backends
|
||||
|
||||
* look at backend_test folder for a cmake module building with SDL and opengl3.
|
||||
|
||||
# example bindings based on cimgui
|
||||
|
||||
* [DerelictImgui](https://github.com/Extrawurst/DerelictImgui)
|
||||
* [LuaJIT-ImGui](https://github.com/sonoro1234/LuaJIT-ImGui)
|
||||
* [ImGui.NET](https://github.com/mellinoe/ImGui.NET)
|
||||
* [nimgl/imgui](https://github.com/nimgl/imgui)
|
||||
* [kotlin-imgui](https://github.com/Dominaezzz/kotlin-imgui)
|
||||
* [CImGui.jl](https://github.com/Gnimuc/CImGui.jl)
|
||||
* [odin-imgui](https://github.com/ThisDrunkDane/odin-imgui)
|
||||
* [DerelictImgui](https://github.com/Extrawurst/DerelictImgui)
|
||||
* [BindBC-CimGui](https://github.com/MrcSnm/bindbc-cimgui)
|
||||
* [imgui-rs](https://github.com/Gekkio/imgui-rs)
|
||||
* [imgui-pas](https://github.com/dpethes/imgui-pas)
|
||||
* [odin-dear_imgui](https://github.com/ThisDrunkDane/odin-dear_imgui)
|
||||
* [crystal-imgui](https://github.com/oprypin/crystal-imgui)
|
||||
|
||||
# C examples based on cimgui
|
||||
|
||||
* [sdl2_opengl3](https://github.com/cimgui/cimgui/tree/docking_inter/backend_test)
|
||||
* [sdl2-cimgui-demo](https://github.com/haxpor/sdl2-cimgui-demo)
|
||||
* [cimgui_c_sdl2_example](https://github.com/canoi12/cimgui_c_sdl2_example/)
|
||||
* [cimgui-c-example](https://github.com/peko/cimgui-c-example) with GLFW
|
||||
|
5
TODO.txt
Normal file
5
TODO.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
|
||||
|
||||
- Being able to use a prefix for structs and enums. Could be a manual dictionary or an option to take parent namespace and struct (https://github.com/rokups/ImNodes/pull/20#issuecomment-719713982)
|
||||
|
||||
- Being able to generate separate headers for imgui and imgui_internal. (https://github.com/cimgui/cimgui/pull/126#issuecomment-735674105)
|
103
backend_test/example_glfw_opengl3/CMakeLists.txt
Normal file
103
backend_test/example_glfw_opengl3/CMakeLists.txt
Normal file
@@ -0,0 +1,103 @@
|
||||
Project(cimgui_glfw)
|
||||
cmake_minimum_required(VERSION 3.11)
|
||||
if(WIN32) # to mingw work as all the others
|
||||
set(CMAKE_SHARED_LIBRARY_PREFIX "")
|
||||
endif(WIN32)
|
||||
|
||||
set (CMAKE_CXX_STANDARD 11)
|
||||
|
||||
# general settings
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../imgui/backends)
|
||||
set(BAKENDS_FOLDER "../../imgui/backends/")
|
||||
else()
|
||||
set(BAKENDS_FOLDER "../../imgui/examples/")
|
||||
endif()
|
||||
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../imgui/imgui_tables.cpp)
|
||||
set(TABLES_SOURCE "../../imgui/imgui_tables.cpp")
|
||||
else()
|
||||
set(TABLES_SOURCE "")
|
||||
endif()
|
||||
|
||||
include_directories(../../imgui)
|
||||
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
|
||||
|
||||
include_directories(../../)
|
||||
set(IMGUI_SOURCES
|
||||
../../cimgui.cpp
|
||||
../../imgui/imgui.cpp
|
||||
../../imgui/imgui_draw.cpp
|
||||
../../imgui/imgui_demo.cpp
|
||||
../../imgui/imgui_widgets.cpp
|
||||
${TABLES_SOURCE}
|
||||
)
|
||||
|
||||
set(IMGUI_SOURCES_sdl)
|
||||
set(IMGUI_LIBRARIES )
|
||||
|
||||
if (WIN32)
|
||||
add_definitions("-DIMGUI_IMPL_API=extern \"C\" __declspec\(dllexport\)")
|
||||
else(WIN32)
|
||||
add_definitions("-DIMGUI_IMPL_API=extern \"C\" ")
|
||||
endif(WIN32)
|
||||
|
||||
add_compile_definitions("IMGUI_IMPL_OPENGL_LOADER_GL3W")
|
||||
|
||||
# optional adding freetype
|
||||
option(IMGUI_FREETYPE "add Freetype2" OFF)
|
||||
|
||||
if(IMGUI_FREETYPE)
|
||||
FIND_PACKAGE(freetype REQUIRED PATHS ${FREETYPE_PATH})
|
||||
list(APPEND IMGUI_LIBRARIES freetype)
|
||||
list(APPEND IMGUI_SOURCES ../../imgui/misc/freetype/imgui_freetype.cpp)
|
||||
add_definitions("-DCIMGUI_FREETYPE=1")
|
||||
endif(IMGUI_FREETYPE)
|
||||
|
||||
# opengl3
|
||||
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_opengl3.cpp)
|
||||
include_directories(../../imgui/examples/libs/gl3w)
|
||||
if(WIN32)
|
||||
list(APPEND IMGUI_LIBRARIES opengl32)
|
||||
else(WIN32) # Unix
|
||||
list(APPEND IMGUI_LIBRARIES GL)
|
||||
endif(WIN32)
|
||||
|
||||
# GLFW
|
||||
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_glfw.cpp)
|
||||
|
||||
set(GLFW_VERSION 3.3.8)
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
glfw
|
||||
URL https://github.com/glfw/glfw/archive/refs/tags/${GLFW_VERSION}.tar.gz)
|
||||
|
||||
FetchContent_GetProperties(glfw)
|
||||
if (NOT glfw_POPULATED)
|
||||
set(FETCHCONTENT_QUIET NO)
|
||||
FetchContent_Populate(glfw)
|
||||
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
||||
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
||||
add_subdirectory(${glfw_SOURCE_DIR} ${glfw_BINARY_DIR})
|
||||
endif()
|
||||
|
||||
|
||||
# glfw/imgui gets confused if it is not statically built.
|
||||
IF (WIN32)
|
||||
add_library(cimgui STATIC ${IMGUI_SOURCES})
|
||||
ELSE()
|
||||
add_library(cimgui SHARED ${IMGUI_SOURCES})
|
||||
ENDIF()
|
||||
|
||||
target_link_libraries(cimgui ${IMGUI_LIBRARIES} glfw)
|
||||
|
||||
|
||||
# using library
|
||||
include_directories(../../generator/output/)
|
||||
add_executable(${PROJECT_NAME} main.c)
|
||||
target_compile_definitions(${PROJECT_NAME} PUBLIC -DCIMGUI_USE_OPENGL3 -DCIMGUI_USE_GLFW)
|
||||
if (MINGW)
|
||||
target_link_options(${PROJECT_NAME} PRIVATE "-mconsole")
|
||||
endif()
|
||||
target_link_libraries(${PROJECT_NAME} ${IMGUI_SDL_LIBRARY} cimgui)
|
||||
|
||||
|
169
backend_test/example_glfw_opengl3/main.c
Normal file
169
backend_test/example_glfw_opengl3/main.c
Normal file
@@ -0,0 +1,169 @@
|
||||
#define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
#include "cimgui.h"
|
||||
#include "cimgui_impl.h"
|
||||
#include <GLFW/glfw3.h>
|
||||
#include <stdio.h>
|
||||
#ifdef _MSC_VER
|
||||
#include <windows.h>
|
||||
#endif
|
||||
#include <GL/gl.h>
|
||||
|
||||
|
||||
#ifdef IMGUI_HAS_IMSTR
|
||||
#define igBegin igBegin_Str
|
||||
#define igSliderFloat igSliderFloat_Str
|
||||
#define igCheckbox igCheckbox_Str
|
||||
#define igColorEdit3 igColorEdit3_Str
|
||||
#define igButton igButton_Str
|
||||
#endif
|
||||
|
||||
GLFWwindow *window;
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
|
||||
if (!glfwInit())
|
||||
return -1;
|
||||
|
||||
// Decide GL+GLSL versions
|
||||
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GLFW_TRUE);
|
||||
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
|
||||
|
||||
#if __APPLE__
|
||||
// GL 3.2 Core + GLSL 150
|
||||
const char *glsl_version = "#version 150";
|
||||
#else
|
||||
// GL 3.2 + GLSL 130
|
||||
const char *glsl_version = "#version 130";
|
||||
#endif
|
||||
|
||||
// just an extra window hint for resize
|
||||
glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE);
|
||||
|
||||
window = glfwCreateWindow(1024, 768, "Hello World!", NULL, NULL);
|
||||
if (!window)
|
||||
{
|
||||
printf("Failed to create window! Terminating!\n");
|
||||
glfwTerminate();
|
||||
return -1;
|
||||
}
|
||||
|
||||
glfwMakeContextCurrent(window);
|
||||
|
||||
// enable vsync
|
||||
glfwSwapInterval(1);
|
||||
|
||||
// check opengl version sdl uses
|
||||
printf("opengl version: %s\n", (char *)glGetString(GL_VERSION));
|
||||
|
||||
// setup imgui
|
||||
igCreateContext(NULL);
|
||||
|
||||
// set docking
|
||||
ImGuiIO *ioptr = igGetIO();
|
||||
ioptr->ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; // Enable Keyboard Controls
|
||||
//ioptr->ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad; // Enable Gamepad Controls
|
||||
#ifdef IMGUI_HAS_DOCK
|
||||
ioptr->ConfigFlags |= ImGuiConfigFlags_DockingEnable; // Enable Docking
|
||||
ioptr->ConfigFlags |= ImGuiConfigFlags_ViewportsEnable; // Enable Multi-Viewport / Platform Windows
|
||||
#endif
|
||||
|
||||
ImGui_ImplGlfw_InitForOpenGL(window, true);
|
||||
ImGui_ImplOpenGL3_Init(glsl_version);
|
||||
|
||||
igStyleColorsDark(NULL);
|
||||
// ImFontAtlas_AddFontDefault(io.Fonts, NULL);
|
||||
|
||||
bool showDemoWindow = true;
|
||||
bool showAnotherWindow = false;
|
||||
ImVec4 clearColor;
|
||||
clearColor.x = 0.45f;
|
||||
clearColor.y = 0.55f;
|
||||
clearColor.z = 0.60f;
|
||||
clearColor.w = 1.00f;
|
||||
|
||||
// main event loop
|
||||
bool quit = false;
|
||||
while (!glfwWindowShouldClose(window))
|
||||
{
|
||||
|
||||
glfwPollEvents();
|
||||
|
||||
// start imgui frame
|
||||
ImGui_ImplOpenGL3_NewFrame();
|
||||
ImGui_ImplGlfw_NewFrame();
|
||||
igNewFrame();
|
||||
|
||||
if (showDemoWindow)
|
||||
igShowDemoWindow(&showDemoWindow);
|
||||
|
||||
// show a simple window that we created ourselves.
|
||||
{
|
||||
static float f = 0.0f;
|
||||
static int counter = 0;
|
||||
|
||||
igBegin("Hello, world!", NULL, 0);
|
||||
igText("This is some useful text");
|
||||
igCheckbox("Demo window", &showDemoWindow);
|
||||
igCheckbox("Another window", &showAnotherWindow);
|
||||
|
||||
igSliderFloat("Float", &f, 0.0f, 1.0f, "%.3f", 0);
|
||||
igColorEdit3("clear color", (float *)&clearColor, 0);
|
||||
|
||||
ImVec2 buttonSize;
|
||||
buttonSize.x = 0;
|
||||
buttonSize.y = 0;
|
||||
if (igButton("Button", buttonSize))
|
||||
counter++;
|
||||
igSameLine(0.0f, -1.0f);
|
||||
igText("counter = %d", counter);
|
||||
|
||||
igText("Application average %.3f ms/frame (%.1f FPS)",
|
||||
1000.0f / igGetIO()->Framerate, igGetIO()->Framerate);
|
||||
igEnd();
|
||||
}
|
||||
|
||||
if (showAnotherWindow)
|
||||
{
|
||||
igBegin("imgui Another Window", &showAnotherWindow, 0);
|
||||
igText("Hello from imgui");
|
||||
ImVec2 buttonSize;
|
||||
buttonSize.x = 0;
|
||||
buttonSize.y = 0;
|
||||
if (igButton("Close me", buttonSize)) {
|
||||
showAnotherWindow = false;
|
||||
}
|
||||
igEnd();
|
||||
}
|
||||
|
||||
// render
|
||||
igRender();
|
||||
glfwMakeContextCurrent(window);
|
||||
glViewport(0, 0, (int)ioptr->DisplaySize.x, (int)ioptr->DisplaySize.y);
|
||||
glClearColor(clearColor.x, clearColor.y, clearColor.z, clearColor.w);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
ImGui_ImplOpenGL3_RenderDrawData(igGetDrawData());
|
||||
#ifdef IMGUI_HAS_DOCK
|
||||
if (ioptr->ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
|
||||
{
|
||||
GLFWwindow *backup_current_window = glfwGetCurrentContext();
|
||||
igUpdatePlatformWindows();
|
||||
igRenderPlatformWindowsDefault(NULL, NULL);
|
||||
glfwMakeContextCurrent(backup_current_window);
|
||||
}
|
||||
#endif
|
||||
glfwSwapBuffers(window);
|
||||
}
|
||||
|
||||
// clean up
|
||||
ImGui_ImplOpenGL3_Shutdown();
|
||||
ImGui_ImplGlfw_Shutdown();
|
||||
igDestroyContext(NULL);
|
||||
|
||||
glfwDestroyWindow(window);
|
||||
glfwTerminate();
|
||||
|
||||
return 0;
|
||||
}
|
111
backend_test/example_sdl_opengl3/CMakeLists.txt
Normal file
111
backend_test/example_sdl_opengl3/CMakeLists.txt
Normal file
@@ -0,0 +1,111 @@
|
||||
Project(cimgui_sdl)
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
if(WIN32) #to mingw work as all the others
|
||||
set(CMAKE_SHARED_LIBRARY_PREFIX "")
|
||||
endif(WIN32)
|
||||
|
||||
set (CMAKE_CXX_STANDARD 11)
|
||||
|
||||
#general settings
|
||||
|
||||
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../imgui/backends)
|
||||
set(BAKENDS_FOLDER "../../imgui/backends/")
|
||||
else()
|
||||
set(BAKENDS_FOLDER "../../imgui/examples/")
|
||||
endif()
|
||||
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../imgui/imgui_tables.cpp)
|
||||
set(TABLES_SOURCE "../../imgui/imgui_tables.cpp")
|
||||
else()
|
||||
set(TABLES_SOURCE "")
|
||||
endif()
|
||||
|
||||
include_directories(../../imgui)
|
||||
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
|
||||
|
||||
include_directories(../../)
|
||||
set(IMGUI_SOURCES
|
||||
../../cimgui.cpp
|
||||
../../imgui/imgui.cpp
|
||||
../../imgui/imgui_draw.cpp
|
||||
../../imgui/imgui_demo.cpp
|
||||
../../imgui/imgui_widgets.cpp
|
||||
${TABLES_SOURCE}
|
||||
)
|
||||
|
||||
set(IMGUI_SOURCES_sdl)
|
||||
set(IMGUI_LIBRARIES )
|
||||
|
||||
if (WIN32)
|
||||
add_definitions("-DIMGUI_IMPL_API=extern \"C\" __declspec\(dllexport\)")
|
||||
else(WIN32)
|
||||
add_definitions("-DIMGUI_IMPL_API=extern \"C\" ")
|
||||
endif(WIN32)
|
||||
|
||||
add_compile_definitions("IMGUI_IMPL_OPENGL_LOADER_GL3W")
|
||||
|
||||
#optional adding freetype
|
||||
option(IMGUI_FREETYPE "add Freetype2" OFF)
|
||||
|
||||
if(IMGUI_FREETYPE)
|
||||
FIND_PACKAGE(freetype REQUIRED PATHS ${FREETYPE_PATH})
|
||||
list(APPEND IMGUI_LIBRARIES freetype)
|
||||
list(APPEND IMGUI_SOURCES ../../imgui/misc/freetype/imgui_freetype.cpp)
|
||||
add_definitions("-DCIMGUI_FREETYPE=1")
|
||||
endif(IMGUI_FREETYPE)
|
||||
|
||||
#opengl3
|
||||
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_opengl3.cpp)
|
||||
include_directories(../../imgui/examples/libs/gl3w)
|
||||
if(WIN32)
|
||||
list(APPEND IMGUI_LIBRARIES opengl32)
|
||||
else(WIN32)#Unix
|
||||
list(APPEND IMGUI_LIBRARIES GL)
|
||||
endif(WIN32)
|
||||
|
||||
|
||||
#sdl2
|
||||
list(APPEND IMGUI_SOURCES ${BAKENDS_FOLDER}imgui_impl_sdl.cpp)
|
||||
if(DEFINED SDL_PATH)
|
||||
message(STATUS "SDL_PATH defined as " ${SDL_PATH})
|
||||
FIND_PACKAGE(SDL2 PATHS ${SDL_PATH})
|
||||
else(DEFINED SDL_PATH)
|
||||
# If SDL_PATH is not set, fallback and attempt to find SDL cmake script at a default location
|
||||
find_package(SDL2)
|
||||
endif(DEFINED SDL_PATH)
|
||||
|
||||
if(SDL2_FOUND)
|
||||
get_target_property(SDL_INCLUDE SDL2::SDL2 INTERFACE_INCLUDE_DIRECTORIES)
|
||||
message(STATUS "sdlinclude is " ${SDL_INCLUDE})
|
||||
if ("${SDL_INCLUDE}" STREQUAL "" OR "${SDL_INCLUDE}" STREQUAL "SDL_INCLUDE-NOTFOUND") #if not found latest SDL2 cmake config use older
|
||||
message(STATUS "sdlinclude2 is " ${SDL2_INCLUDE_DIRS})
|
||||
include_directories(${SDL2_INCLUDE_DIRS})
|
||||
set(IMGUI_SDL_LIBRARY ${SDL2_LIBRARIES})
|
||||
message(STATUS IMGUI_SDL_LIBRARY ${SDL2_LIBRARIES})
|
||||
else()#use new one SDL2 config
|
||||
include_directories(${SDL_INCLUDE})
|
||||
set(IMGUI_SDL_LIBRARY SDL2::SDL2)
|
||||
set(SDL_MAIN SDL2::SDL2main)
|
||||
message(STATUS ${SDL_MAIN} ${IMGUI_SDL_LIBRARY})
|
||||
endif()
|
||||
else(SDL2_FOUND)
|
||||
if(DEFINED SDL_PATH)
|
||||
message(FATAL_ERROR "Cannot find SDL at SDL_PATH")
|
||||
else(DEFINED SDL_PATH)
|
||||
message(FATAL_ERROR "Cannot find SDL. Maybe try specifying SDL_PATH?")
|
||||
endif(DEFINED SDL_PATH)
|
||||
endif(SDL2_FOUND)
|
||||
|
||||
add_library(cimgui_sdl SHARED ${IMGUI_SOURCES})
|
||||
target_link_libraries(cimgui_sdl ${IMGUI_LIBRARIES} ${IMGUI_SDL_LIBRARY})
|
||||
|
||||
#using library
|
||||
include_directories(../../generator/output/)
|
||||
add_executable(test_sdl main.c)
|
||||
target_compile_definitions(test_sdl PUBLIC -DCIMGUI_USE_OPENGL3 -DCIMGUI_USE_SDL)
|
||||
if (MINGW)
|
||||
target_link_options(test_sdl PRIVATE "-mconsole")
|
||||
endif()
|
||||
target_link_libraries(test_sdl ${IMGUI_SDL_LIBRARY} cimgui_sdl)
|
||||
|
195
backend_test/example_sdl_opengl3/main.c
Normal file
195
backend_test/example_sdl_opengl3/main.c
Normal file
@@ -0,0 +1,195 @@
|
||||
#define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
#include "cimgui.h"
|
||||
#include "cimgui_impl.h"
|
||||
#include <stdio.h>
|
||||
#define SDL_MAIN_HANDLED
|
||||
#include <SDL.h>
|
||||
#ifdef _MSC_VER
|
||||
#include <windows.h>
|
||||
#endif
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glu.h>
|
||||
|
||||
#ifdef IMGUI_HAS_IMSTR
|
||||
#define igBegin igBegin_Str
|
||||
#define igSliderFloat igSliderFloat_Str
|
||||
#define igCheckbox igCheckbox_Str
|
||||
#define igColorEdit3 igColorEdit3_Str
|
||||
#define igButton igButton_Str
|
||||
#endif
|
||||
|
||||
SDL_Window *window = NULL;
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
|
||||
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
|
||||
SDL_Log("failed to init: %s", SDL_GetError());
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Decide GL+GLSL versions
|
||||
#if __APPLE__
|
||||
// GL 3.2 Core + GLSL 150
|
||||
const char* glsl_version = "#version 150";
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG); // Always required on Mac
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2);
|
||||
#else
|
||||
// GL 3.0 + GLSL 130
|
||||
const char* glsl_version = "#version 130";
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, 0);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
|
||||
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0);
|
||||
#endif
|
||||
|
||||
// and prepare OpenGL stuff
|
||||
SDL_SetHint(SDL_HINT_RENDER_DRIVER, "opengl");
|
||||
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
|
||||
SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE, 8);
|
||||
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
|
||||
SDL_DisplayMode current;
|
||||
SDL_GetCurrentDisplayMode(0, ¤t);
|
||||
|
||||
window = SDL_CreateWindow(
|
||||
"Hello", 0, 0, 1024, 768,
|
||||
SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE
|
||||
);
|
||||
if (window == NULL) {
|
||||
SDL_Log("Failed to create window: %s", SDL_GetError());
|
||||
return -1;
|
||||
}
|
||||
|
||||
SDL_GLContext gl_context = SDL_GL_CreateContext(window);
|
||||
SDL_GL_SetSwapInterval(1); // enable vsync
|
||||
|
||||
|
||||
// check opengl version sdl uses
|
||||
SDL_Log("opengl version: %s", (char*)glGetString(GL_VERSION));
|
||||
|
||||
// setup imgui
|
||||
igCreateContext(NULL);
|
||||
|
||||
//set docking
|
||||
ImGuiIO* ioptr = igGetIO();
|
||||
ioptr->ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; // Enable Keyboard Controls
|
||||
//ioptr->ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad; // Enable Gamepad Controls
|
||||
#ifdef IMGUI_HAS_DOCK
|
||||
ioptr->ConfigFlags |= ImGuiConfigFlags_DockingEnable; // Enable Docking
|
||||
ioptr->ConfigFlags |= ImGuiConfigFlags_ViewportsEnable; // Enable Multi-Viewport / Platform Windows
|
||||
#endif
|
||||
|
||||
ImGui_ImplSDL2_InitForOpenGL(window, gl_context);
|
||||
ImGui_ImplOpenGL3_Init(glsl_version);
|
||||
|
||||
igStyleColorsDark(NULL);
|
||||
//ImFontAtlas_AddFontDefault(io.Fonts, NULL);
|
||||
|
||||
|
||||
bool showDemoWindow = true;
|
||||
bool showAnotherWindow = false;
|
||||
ImVec4 clearColor;
|
||||
clearColor.x = 0.45f;
|
||||
clearColor.y = 0.55f;
|
||||
clearColor.z = 0.60f;
|
||||
clearColor.w = 1.00f;
|
||||
|
||||
bool quit = false;
|
||||
while (!quit)
|
||||
{
|
||||
SDL_Event e;
|
||||
|
||||
// we need to call SDL_PollEvent to let window rendered, otherwise
|
||||
// no window will be shown
|
||||
while (SDL_PollEvent(&e) != 0)
|
||||
{
|
||||
ImGui_ImplSDL2_ProcessEvent(&e);
|
||||
if (e.type == SDL_QUIT)
|
||||
quit = true;
|
||||
if (e.type == SDL_WINDOWEVENT && e.window.event == SDL_WINDOWEVENT_CLOSE && e.window.windowID == SDL_GetWindowID(window))
|
||||
quit = true;
|
||||
}
|
||||
|
||||
// start imgui frame
|
||||
ImGui_ImplOpenGL3_NewFrame();
|
||||
ImGui_ImplSDL2_NewFrame();
|
||||
igNewFrame();
|
||||
|
||||
if (showDemoWindow)
|
||||
igShowDemoWindow(&showDemoWindow);
|
||||
|
||||
// show a simple window that we created ourselves.
|
||||
{
|
||||
static float f = 0.0f;
|
||||
static int counter = 0;
|
||||
|
||||
igBegin("Hello, world!", NULL, 0);
|
||||
igText("This is some useful text");
|
||||
igCheckbox("Demo window", &showDemoWindow);
|
||||
igCheckbox("Another window", &showAnotherWindow);
|
||||
|
||||
igSliderFloat("Float", &f, 0.0f, 1.0f, "%.3f", 0);
|
||||
igColorEdit3("clear color", (float*)&clearColor, 0);
|
||||
|
||||
ImVec2 buttonSize;
|
||||
buttonSize.x = 0;
|
||||
buttonSize.y = 0;
|
||||
if (igButton("Button", buttonSize))
|
||||
counter++;
|
||||
igSameLine(0.0f, -1.0f);
|
||||
igText("counter = %d", counter);
|
||||
|
||||
igText("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / igGetIO()->Framerate, igGetIO()->Framerate);
|
||||
igEnd();
|
||||
}
|
||||
|
||||
if (showAnotherWindow)
|
||||
{
|
||||
igBegin("imgui Another Window", &showAnotherWindow, 0);
|
||||
igText("Hello from imgui");
|
||||
ImVec2 buttonSize;
|
||||
buttonSize.x = 0; buttonSize.y = 0;
|
||||
if (igButton("Close me", buttonSize))
|
||||
{
|
||||
showAnotherWindow = false;
|
||||
}
|
||||
igEnd();
|
||||
}
|
||||
|
||||
// render
|
||||
igRender();
|
||||
SDL_GL_MakeCurrent(window, gl_context);
|
||||
glViewport(0, 0, (int)ioptr->DisplaySize.x, (int)ioptr->DisplaySize.y);
|
||||
glClearColor(clearColor.x, clearColor.y, clearColor.z, clearColor.w);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
ImGui_ImplOpenGL3_RenderDrawData(igGetDrawData());
|
||||
#ifdef IMGUI_HAS_DOCK
|
||||
if (ioptr->ConfigFlags & ImGuiConfigFlags_ViewportsEnable)
|
||||
{
|
||||
SDL_Window* backup_current_window = SDL_GL_GetCurrentWindow();
|
||||
SDL_GLContext backup_current_context = SDL_GL_GetCurrentContext();
|
||||
igUpdatePlatformWindows();
|
||||
igRenderPlatformWindowsDefault(NULL,NULL);
|
||||
SDL_GL_MakeCurrent(backup_current_window, backup_current_context);
|
||||
}
|
||||
#endif
|
||||
SDL_GL_SwapWindow(window);
|
||||
}
|
||||
|
||||
// clean up
|
||||
ImGui_ImplOpenGL3_Shutdown();
|
||||
ImGui_ImplSDL2_Shutdown();
|
||||
igDestroyContext(NULL);
|
||||
|
||||
SDL_GL_DeleteContext(gl_context);
|
||||
if (window != NULL)
|
||||
{
|
||||
SDL_DestroyWindow(window);
|
||||
window = NULL;
|
||||
}
|
||||
SDL_Quit();
|
||||
|
||||
return 0;
|
||||
}
|
100
backend_test/example_sdl_vulkan/CMakeLists.txt
Normal file
100
backend_test/example_sdl_vulkan/CMakeLists.txt
Normal file
@@ -0,0 +1,100 @@
|
||||
Project(cimgui_sdl_vk)
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
if(WIN32) # to make mingw work as all the others
|
||||
set(CMAKE_SHARED_LIBRARY_PREFIX "")
|
||||
endif(WIN32)
|
||||
# general settings
|
||||
|
||||
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../imgui/backends)
|
||||
set(BACKENDS_FOLDER "../../imgui/backends/")
|
||||
else()
|
||||
set(BACKENDS_FOLDER "../../imgui/examples/")
|
||||
endif()
|
||||
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../imgui/imgui_tables.cpp)
|
||||
set(TABLES_SOURCE "../../imgui/imgui_tables.cpp")
|
||||
else()
|
||||
set(TABLES_SOURCE "")
|
||||
endif()
|
||||
|
||||
include_directories(../../imgui)
|
||||
add_definitions("-DIMGUI_DISABLE_OBSOLETE_FUNCTIONS=1")
|
||||
|
||||
include_directories(../../)
|
||||
set(IMGUI_SOURCES ../../cimgui.cpp
|
||||
../../imgui/imgui.cpp
|
||||
../../imgui/imgui_draw.cpp
|
||||
../../imgui/imgui_demo.cpp
|
||||
../../imgui/imgui_widgets.cpp
|
||||
${TABLES_SOURCE}
|
||||
)
|
||||
|
||||
set(IMGUI_SOURCES_sdl)
|
||||
set(IMGUI_LIBRARIES )
|
||||
|
||||
if (WIN32)
|
||||
add_definitions("-DIMGUI_IMPL_API=extern \"C\" __declspec\(dllexport\)")
|
||||
else(WIN32)
|
||||
add_definitions("-DIMGUI_IMPL_API=extern \"C\" ")
|
||||
endif(WIN32)
|
||||
|
||||
#optional adding freetype
|
||||
option(IMGUI_FREETYPE "add Freetype2" OFF)
|
||||
|
||||
if(IMGUI_FREETYPE)
|
||||
FIND_PACKAGE(freetype REQUIRED PATHS ${FREETYPE_PATH})
|
||||
list(APPEND IMGUI_LIBRARIES freetype)
|
||||
list(APPEND IMGUI_SOURCES ../../imgui/misc/freetype/imgui_freetype.cpp)
|
||||
add_definitions("-DCIMGUI_FREETYPE=1")
|
||||
endif(IMGUI_FREETYPE)
|
||||
|
||||
# vulkan
|
||||
find_package(Vulkan REQUIRED FATAL_ERROR)
|
||||
list(APPEND IMGUI_LIBRARIES Vulkan::Vulkan)
|
||||
list(APPEND IMGUI_SOURCES ${BACKENDS_FOLDER}imgui_impl_vulkan.cpp)
|
||||
|
||||
#sdl2
|
||||
list(APPEND IMGUI_SOURCES ${BACKENDS_FOLDER}imgui_impl_sdl.cpp)
|
||||
if(DEFINED SDL_PATH)
|
||||
message(STATUS "SDL_PATH defined as " ${SDL_PATH})
|
||||
FIND_PACKAGE(SDL2 PATHS ${SDL_PATH})
|
||||
else(DEFINED SDL_PATH)
|
||||
# If SDL_PATH is not set, fallback and attempt to find SDL cmake script at a default location
|
||||
find_package(SDL2)
|
||||
endif(DEFINED SDL_PATH)
|
||||
|
||||
if(SDL2_FOUND)
|
||||
get_target_property(SDL_INCLUDE SDL2::SDL2 INTERFACE_INCLUDE_DIRECTORIES)
|
||||
message(STATUS "sdlinclude is " ${SDL_INCLUDE})
|
||||
if ("${SDL_INCLUDE}" STREQUAL "" OR "${SDL_INCLUDE}" STREQUAL "SDL_INCLUDE-NOTFOUND") #if not found latest SDL2 cmake config use older
|
||||
message(STATUS "sdlinclude2 is " ${SDL2_INCLUDE_DIRS})
|
||||
include_directories(${SDL2_INCLUDE_DIRS})
|
||||
set(IMGUI_SDL_LIBRARY ${SDL2_LIBRARIES})
|
||||
message(STATUS IMGUI_SDL_LIBRARY ${SDL2_LIBRARIES})
|
||||
else()#use new one SDL2 config
|
||||
include_directories(${SDL_INCLUDE})
|
||||
set(IMGUI_SDL_LIBRARY SDL2::SDL2)
|
||||
set(SDL_MAIN SDL2::SDL2main)
|
||||
message(STATUS ${SDL_MAIN} ${IMGUI_SDL_LIBRARY})
|
||||
endif()
|
||||
else(SDL2_FOUND)
|
||||
if(DEFINED SDL_PATH)
|
||||
message(FATAL_ERROR "Cannot find SDL at SDL_PATH")
|
||||
else(DEFINED SDL_PATH)
|
||||
message(FATAL_ERROR "Cannot find SDL. Maybe try specifying SDL_PATH?")
|
||||
endif(DEFINED SDL_PATH)
|
||||
endif(SDL2_FOUND)
|
||||
|
||||
add_library(cimgui_sdl SHARED ${IMGUI_SOURCES})
|
||||
target_link_libraries(cimgui_sdl ${IMGUI_LIBRARIES} ${IMGUI_SDL_LIBRARY})
|
||||
|
||||
#using library
|
||||
include_directories(../../generator/output/)
|
||||
add_executable(test_sdl main.c)
|
||||
target_compile_definitions(test_sdl PUBLIC -DCIMGUI_USE_VULKAN -DCIMGUI_USE_SDL)
|
||||
if (MINGW)
|
||||
target_link_options(test_sdl PRIVATE "-mconsole")
|
||||
endif()
|
||||
target_link_libraries(test_sdl ${IMGUI_SDL_LIBRARY} cimgui_sdl)
|
||||
|
571
backend_test/example_sdl_vulkan/main.c
Normal file
571
backend_test/example_sdl_vulkan/main.c
Normal file
@@ -0,0 +1,571 @@
|
||||
#include <stdio.h>
|
||||
#include <assert.h>
|
||||
#define SDL_MAIN_HANDLED
|
||||
#include <SDL.h>
|
||||
#include <SDL_vulkan.h>
|
||||
#include <vulkan/vulkan.h>
|
||||
#ifdef _MSC_VER
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#define CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
#include "cimgui.h"
|
||||
#include "cimgui_impl.h"
|
||||
|
||||
#ifdef IMGUI_HAS_IMSTR
|
||||
#define igBegin igBegin_Str
|
||||
#define igSliderFloat igSliderFloat_Str
|
||||
#define igCheckbox igCheckbox_Str
|
||||
#define igColorEdit3 igColorEdit3_Str
|
||||
#define igButton igButton_Str
|
||||
#endif
|
||||
|
||||
#define IM_UNUSED(_VAR) ((void)(_VAR))
|
||||
#define IM_ASSERT(_EXPR) assert(_EXPR)
|
||||
#define IM_ARRAYSIZE(_ARR) ((int)(sizeof(_ARR) / sizeof(*(_ARR))))
|
||||
|
||||
static VkAllocationCallbacks* g_Allocator = NULL;
|
||||
static VkInstance g_Instance = VK_NULL_HANDLE;
|
||||
static VkPhysicalDevice g_PhysicalDevice = VK_NULL_HANDLE;
|
||||
static VkDevice g_Device = VK_NULL_HANDLE;
|
||||
static uint32_t g_QueueFamily = (uint32_t)-1;
|
||||
static VkQueue g_Queue = VK_NULL_HANDLE;
|
||||
static VkDebugReportCallbackEXT g_DebugReport = VK_NULL_HANDLE;
|
||||
static VkPipelineCache g_PipelineCache = VK_NULL_HANDLE;
|
||||
static VkDescriptorPool g_DescriptorPool = VK_NULL_HANDLE;
|
||||
|
||||
static ImGui_ImplVulkanH_Window g_MainWindowData;
|
||||
static uint32_t g_MinImageCount = 2;
|
||||
static bool g_SwapChainRebuild = false;
|
||||
|
||||
static void check_vk_result(VkResult err)
|
||||
{
|
||||
if (err == 0)
|
||||
return;
|
||||
fprintf(stderr, "[vulkan] Error: VkResult = %d\n", err);
|
||||
if (err < 0)
|
||||
abort();
|
||||
}
|
||||
|
||||
#ifdef IMGUI_VULKAN_DEBUG_REPORT
|
||||
static VKAPI_ATTR VkBool32 VKAPI_CALL debug_report(VkDebugReportFlagsEXT flags,
|
||||
VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location,
|
||||
int32_t messageCode, const char* pLayerPrefix, const char* pMessage, void* pUserData)
|
||||
{
|
||||
(void)flags; (void)object; (void)location; (void)messageCode;
|
||||
(void)pUserData; (void)pLayerPrefix; // Unused arguments
|
||||
fprintf(stderr, "[vulkan] Debug report from ObjectType: %i\nMessage: %s\n\n",
|
||||
objectType, pMessage);
|
||||
return VK_FALSE;
|
||||
}
|
||||
#endif // IMGUI_VULKAN_DEBUG_REPORT
|
||||
|
||||
static void SetupVulkan(const char** extensions, uint32_t extensions_count)
|
||||
{
|
||||
VkResult err;
|
||||
|
||||
// Create Vulkan Instance
|
||||
VkInstanceCreateInfo inst_create_info = {
|
||||
.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO,
|
||||
.enabledExtensionCount = extensions_count,
|
||||
.ppEnabledExtensionNames = extensions,
|
||||
};
|
||||
#ifdef IMGUI_VULKAN_DEBUG_REPORT
|
||||
// Enabling validation layers
|
||||
const char* layers[] = { "VK_LAYER_KHRONOS_validation" };
|
||||
inst_create_info.enabledLayerCount = 1;
|
||||
inst_create_info.ppEnabledLayerNames = layers;
|
||||
|
||||
// Enable debug report extension (we need additional storage, so we duplicate the user array to add our new extension to it)
|
||||
const char** extensions_ext = (const char**)malloc(
|
||||
sizeof(const char*) * (extensions_count + 1));
|
||||
memcpy(extensions_ext, extensions, extensions_count * sizeof(const char*));
|
||||
extensions_ext[extensions_count] = "VK_EXT_debug_report";
|
||||
inst_create_info.enabledExtensionCount = extensions_count + 1;
|
||||
inst_create_info.ppEnabledExtensionNames = extensions_ext;
|
||||
|
||||
// Create Vulkan Instance
|
||||
err = vkCreateInstance(&inst_create_info, g_Allocator, &g_Instance);
|
||||
check_vk_result(err);
|
||||
free(extensions_ext);
|
||||
|
||||
// Get the function pointer (required for any extensions)
|
||||
PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT =
|
||||
(PFN_vkCreateDebugReportCallbackEXT)vkGetInstanceProcAddr(g_Instance,
|
||||
"vkCreateDebugReportCallbackEXT");
|
||||
IM_ASSERT(vkCreateDebugReportCallbackEXT != NULL);
|
||||
|
||||
// Setup the debug report callback
|
||||
VkDebugReportCallbackCreateInfoEXT debug_report_ci = {
|
||||
.sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT,
|
||||
.flags = VK_DEBUG_REPORT_ERROR_BIT_EXT | VK_DEBUG_REPORT_WARNING_BIT_EXT |
|
||||
VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT,
|
||||
.pfnCallback = debug_report,
|
||||
.pUserData = NULL,
|
||||
};
|
||||
err = vkCreateDebugReportCallbackEXT(g_Instance, &debug_report_ci, g_Allocator,
|
||||
&g_DebugReport);
|
||||
check_vk_result(err);
|
||||
#else
|
||||
// Create Vulkan Instance without any debug feature
|
||||
err = vkCreateInstance(&inst_create_info, g_Allocator, &g_Instance);
|
||||
check_vk_result(err);
|
||||
IM_UNUSED(g_DebugReport);
|
||||
#endif
|
||||
|
||||
// Select GPU
|
||||
uint32_t gpu_count;
|
||||
err = vkEnumeratePhysicalDevices(g_Instance, &gpu_count, NULL);
|
||||
check_vk_result(err);
|
||||
IM_ASSERT(gpu_count > 0);
|
||||
|
||||
VkPhysicalDevice* gpus = (VkPhysicalDevice*)malloc(sizeof(VkPhysicalDevice) * gpu_count);
|
||||
err = vkEnumeratePhysicalDevices(g_Instance, &gpu_count, gpus);
|
||||
check_vk_result(err);
|
||||
|
||||
// If a number >1 of GPUs got reported, find discrete GPU if present, or use first one available. This covers
|
||||
// most common cases (multi-gpu/integrated+dedicated graphics). Handling more complicated setups (multiple
|
||||
// dedicated GPUs) is out of scope of this sample.
|
||||
int use_gpu = 0;
|
||||
for (int i = 0; i < (int)gpu_count; i++)
|
||||
{
|
||||
VkPhysicalDeviceProperties properties;
|
||||
vkGetPhysicalDeviceProperties(gpus[i], &properties);
|
||||
if (properties.deviceType == VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU)
|
||||
{
|
||||
use_gpu = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
g_PhysicalDevice = gpus[use_gpu];
|
||||
free(gpus);
|
||||
|
||||
// Select graphics queue family
|
||||
uint32_t count;
|
||||
vkGetPhysicalDeviceQueueFamilyProperties(g_PhysicalDevice, &count, NULL);
|
||||
VkQueueFamilyProperties* queues = (VkQueueFamilyProperties*)malloc(
|
||||
sizeof(VkQueueFamilyProperties) * count);
|
||||
vkGetPhysicalDeviceQueueFamilyProperties(g_PhysicalDevice, &count, queues);
|
||||
for (uint32_t i = 0; i < count; i++)
|
||||
if (queues[i].queueFlags & VK_QUEUE_GRAPHICS_BIT)
|
||||
{
|
||||
g_QueueFamily = i;
|
||||
break;
|
||||
}
|
||||
free(queues);
|
||||
IM_ASSERT(g_QueueFamily != (uint32_t)-1);
|
||||
|
||||
// Create Logical Device (with 1 queue)
|
||||
int device_extension_count = 1;
|
||||
const char* device_extensions[] = { "VK_KHR_swapchain" };
|
||||
const float queue_priority[] = { 1.0f };
|
||||
VkDeviceQueueCreateInfo queue_info[1] = {
|
||||
[0].sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO,
|
||||
[0].queueFamilyIndex = g_QueueFamily,
|
||||
[0].queueCount = 1,
|
||||
[0].pQueuePriorities = queue_priority,
|
||||
};
|
||||
VkDeviceCreateInfo create_info = {
|
||||
.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,
|
||||
.queueCreateInfoCount = sizeof(queue_info) / sizeof(queue_info[0]),
|
||||
.pQueueCreateInfos = queue_info,
|
||||
.enabledExtensionCount = device_extension_count,
|
||||
.ppEnabledExtensionNames = device_extensions,
|
||||
};
|
||||
err = vkCreateDevice(g_PhysicalDevice, &create_info, g_Allocator, &g_Device);
|
||||
check_vk_result(err);
|
||||
vkGetDeviceQueue(g_Device, g_QueueFamily, 0, &g_Queue);
|
||||
|
||||
// Create Descriptor Pool
|
||||
VkDescriptorPoolSize pool_sizes[] = {
|
||||
{ VK_DESCRIPTOR_TYPE_SAMPLER, 1000 },
|
||||
{ VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1000 },
|
||||
{ VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, 1000 },
|
||||
{ VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, 1000 },
|
||||
{ VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, 1000 },
|
||||
{ VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, 1000 },
|
||||
{ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 1000 },
|
||||
{ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, 1000 },
|
||||
{ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, 1000 },
|
||||
{ VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC, 1000 },
|
||||
{ VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, 1000 }
|
||||
};
|
||||
VkDescriptorPoolCreateInfo pool_info = {
|
||||
.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO,
|
||||
.flags = VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT,
|
||||
.maxSets = 1000 * IM_ARRAYSIZE(pool_sizes),
|
||||
.poolSizeCount = (uint32_t)IM_ARRAYSIZE(pool_sizes),
|
||||
.pPoolSizes = pool_sizes,
|
||||
};
|
||||
err = vkCreateDescriptorPool(g_Device, &pool_info, g_Allocator, &g_DescriptorPool);
|
||||
check_vk_result(err);
|
||||
}
|
||||
|
||||
// All the ImGui_ImplVulkanH_XXX structures/functions are optional helpers used by the demo.
|
||||
// Your real engine/app may not use them.
|
||||
static void SetupVulkanWindow(ImGui_ImplVulkanH_Window* wd, VkSurfaceKHR surface,
|
||||
int width, int height)
|
||||
{
|
||||
wd->Surface = surface;
|
||||
|
||||
// Check for WSI support
|
||||
VkBool32 res;
|
||||
vkGetPhysicalDeviceSurfaceSupportKHR(g_PhysicalDevice, g_QueueFamily, wd->Surface, &res);
|
||||
if (res != VK_TRUE)
|
||||
{
|
||||
fprintf(stderr, "Error no WSI support on physical device 0\n");
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
// Select Surface Format
|
||||
const VkFormat requestSurfaceImageFormat[] = {
|
||||
VK_FORMAT_B8G8R8A8_UNORM, VK_FORMAT_R8G8B8A8_UNORM,
|
||||
VK_FORMAT_B8G8R8_UNORM, VK_FORMAT_R8G8B8_UNORM
|
||||
};
|
||||
const VkColorSpaceKHR requestSurfaceColorSpace = VK_COLORSPACE_SRGB_NONLINEAR_KHR;
|
||||
wd->SurfaceFormat = ImGui_ImplVulkanH_SelectSurfaceFormat(
|
||||
g_PhysicalDevice, wd->Surface, requestSurfaceImageFormat,
|
||||
(size_t)IM_ARRAYSIZE(requestSurfaceImageFormat), requestSurfaceColorSpace);
|
||||
|
||||
// Select Present Mode
|
||||
#ifdef IMGUI_UNLIMITED_FRAME_RATE
|
||||
VkPresentModeKHR present_modes[] = {
|
||||
VK_PRESENT_MODE_MAILBOX_KHR,VK_PRESENT_MODE_IMMEDIATE_KHR, VK_PRESENT_MODE_FIFO_KHR
|
||||
};
|
||||
#else
|
||||
VkPresentModeKHR present_modes[] = { VK_PRESENT_MODE_FIFO_KHR };
|
||||
#endif
|
||||
wd->PresentMode = ImGui_ImplVulkanH_SelectPresentMode(
|
||||
g_PhysicalDevice, wd->Surface, &present_modes[0], IM_ARRAYSIZE(present_modes));
|
||||
|
||||
// Create SwapChain, RenderPass, Framebuffer, etc.
|
||||
IM_ASSERT(g_MinImageCount >= 2);
|
||||
ImGui_ImplVulkanH_CreateOrResizeWindow(
|
||||
g_Instance, g_PhysicalDevice, g_Device, wd, g_QueueFamily, g_Allocator,
|
||||
width, height, g_MinImageCount);
|
||||
}
|
||||
|
||||
static void CleanupVulkan()
|
||||
{
|
||||
vkDestroyDescriptorPool(g_Device, g_DescriptorPool, g_Allocator);
|
||||
|
||||
#ifdef IMGUI_VULKAN_DEBUG_REPORT
|
||||
// Remove the debug report callback
|
||||
PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT =
|
||||
(PFN_vkDestroyDebugReportCallbackEXT)vkGetInstanceProcAddr(g_Instance, "vkDestroyDebugReportCallbackEXT");
|
||||
vkDestroyDebugReportCallbackEXT(g_Instance, g_DebugReport, g_Allocator);
|
||||
#endif // IMGUI_VULKAN_DEBUG_REPORT
|
||||
|
||||
vkDestroyDevice(g_Device, g_Allocator);
|
||||
vkDestroyInstance(g_Instance, g_Allocator);
|
||||
}
|
||||
|
||||
static void CleanupVulkanWindow()
|
||||
{
|
||||
ImGui_ImplVulkanH_DestroyWindow(g_Instance, g_Device, &g_MainWindowData, g_Allocator);
|
||||
}
|
||||
|
||||
static void FrameRender(ImGui_ImplVulkanH_Window* wd, ImDrawData* draw_data)
|
||||
{
|
||||
VkResult err;
|
||||
|
||||
VkSemaphore image_acquired_semaphore = wd->FrameSemaphores[wd->SemaphoreIndex].ImageAcquiredSemaphore;
|
||||
VkSemaphore render_complete_semaphore = wd->FrameSemaphores[wd->SemaphoreIndex].RenderCompleteSemaphore;
|
||||
err = vkAcquireNextImageKHR(g_Device, wd->Swapchain, UINT64_MAX, image_acquired_semaphore, VK_NULL_HANDLE, &wd->FrameIndex);
|
||||
if (err == VK_ERROR_OUT_OF_DATE_KHR || err == VK_SUBOPTIMAL_KHR)
|
||||
{
|
||||
g_SwapChainRebuild = true;
|
||||
return;
|
||||
}
|
||||
check_vk_result(err);
|
||||
|
||||
ImGui_ImplVulkanH_Frame* fd = &wd->Frames[wd->FrameIndex];
|
||||
err = vkWaitForFences(g_Device, 1, &fd->Fence, VK_TRUE, UINT64_MAX); // wait indefinitely instead of periodically checking
|
||||
check_vk_result(err);
|
||||
|
||||
err = vkResetFences(g_Device, 1, &fd->Fence);
|
||||
check_vk_result(err);
|
||||
|
||||
err = vkResetCommandPool(g_Device, fd->CommandPool, 0);
|
||||
check_vk_result(err);
|
||||
VkCommandBufferBeginInfo info = {
|
||||
.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
|
||||
.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT,
|
||||
};
|
||||
err = vkBeginCommandBuffer(fd->CommandBuffer, &info);
|
||||
check_vk_result(err);
|
||||
VkRenderPassBeginInfo rp_info = {
|
||||
.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO,
|
||||
.renderPass = wd->RenderPass,
|
||||
.framebuffer = fd->Framebuffer,
|
||||
.renderArea.extent.width = wd->Width,
|
||||
.renderArea.extent.height = wd->Height,
|
||||
.clearValueCount = 1,
|
||||
.pClearValues = &wd->ClearValue,
|
||||
};
|
||||
vkCmdBeginRenderPass(fd->CommandBuffer, &rp_info, VK_SUBPASS_CONTENTS_INLINE);
|
||||
|
||||
// Record dear imgui primitives into command buffer
|
||||
ImGui_ImplVulkan_RenderDrawData(draw_data, fd->CommandBuffer, VK_NULL_HANDLE);
|
||||
|
||||
// Submit command buffer
|
||||
vkCmdEndRenderPass(fd->CommandBuffer);
|
||||
VkPipelineStageFlags wait_stage = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
|
||||
VkSubmitInfo sub_info = {
|
||||
.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO,
|
||||
.waitSemaphoreCount = 1,
|
||||
.pWaitSemaphores = &image_acquired_semaphore,
|
||||
.pWaitDstStageMask = &wait_stage,
|
||||
.commandBufferCount = 1,
|
||||
.pCommandBuffers = &fd->CommandBuffer,
|
||||
.signalSemaphoreCount = 1,
|
||||
.pSignalSemaphores = &render_complete_semaphore,
|
||||
};
|
||||
|
||||
err = vkEndCommandBuffer(fd->CommandBuffer);
|
||||
check_vk_result(err);
|
||||
err = vkQueueSubmit(g_Queue, 1, &sub_info, fd->Fence);
|
||||
check_vk_result(err);
|
||||
}
|
||||
|
||||
static void FramePresent(ImGui_ImplVulkanH_Window* wd)
|
||||
{
|
||||
if (g_SwapChainRebuild) return;
|
||||
VkSemaphore render_complete_semaphore = wd->FrameSemaphores[wd->SemaphoreIndex].RenderCompleteSemaphore;
|
||||
VkPresentInfoKHR info = {
|
||||
.sType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR,
|
||||
.waitSemaphoreCount = 1,
|
||||
.pWaitSemaphores = &render_complete_semaphore,
|
||||
.swapchainCount = 1,
|
||||
.pSwapchains = &wd->Swapchain,
|
||||
.pImageIndices = &wd->FrameIndex,
|
||||
};
|
||||
VkResult err = vkQueuePresentKHR(g_Queue, &info);
|
||||
if (err == VK_ERROR_OUT_OF_DATE_KHR || err == VK_SUBOPTIMAL_KHR)
|
||||
{
|
||||
g_SwapChainRebuild = true;
|
||||
return;
|
||||
}
|
||||
check_vk_result(err);
|
||||
wd->SemaphoreIndex = (wd->SemaphoreIndex + 1) % wd->ImageCount; // Now we can use the next set of semaphores
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
|
||||
if (SDL_Init(SDL_INIT_VIDEO) < 0) {
|
||||
SDL_Log("failed to init: %s", SDL_GetError());
|
||||
return -1;
|
||||
}
|
||||
|
||||
/// Setup window
|
||||
SDL_WindowFlags window_flags = (SDL_WindowFlags)(SDL_WINDOW_VULKAN |
|
||||
SDL_WINDOW_RESIZABLE | SDL_WINDOW_ALLOW_HIGHDPI);
|
||||
SDL_Window* window = SDL_CreateWindow("cImGui SDL2+Vulkan example",
|
||||
SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 1280, 720, window_flags);
|
||||
if (window == NULL) {
|
||||
SDL_Log("Failed to create window: %s", SDL_GetError());
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Setup Vulkan
|
||||
uint32_t extensions_count = 0;
|
||||
SDL_Vulkan_GetInstanceExtensions(window, &extensions_count, NULL);
|
||||
const char** extensions = malloc(extensions_count * sizeof(const char*));
|
||||
SDL_Vulkan_GetInstanceExtensions(window, &extensions_count, extensions);
|
||||
SetupVulkan(extensions, extensions_count);
|
||||
free(extensions);
|
||||
|
||||
// Create Window Surface
|
||||
VkSurfaceKHR surface;
|
||||
VkResult err;
|
||||
if (SDL_Vulkan_CreateSurface(window, g_Instance, &surface) == 0)
|
||||
{
|
||||
printf("Failed to create Vulkan surface.\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Create Framebuffers
|
||||
int w, h;
|
||||
SDL_GetWindowSize(window, &w, &h);
|
||||
ImGui_ImplVulkanH_Window* wd = &g_MainWindowData;
|
||||
SetupVulkanWindow(wd, surface, w, h);
|
||||
|
||||
// setup imgui
|
||||
igCreateContext(NULL);
|
||||
|
||||
//set docking
|
||||
ImGuiIO* ioptr = igGetIO();
|
||||
ioptr->ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; // Enable Keyboard Controls
|
||||
//ioptr->ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad; // Enable Gamepad Controls
|
||||
|
||||
// Setup Platform/Renderer backends
|
||||
ImGui_ImplSDL2_InitForVulkan(window);
|
||||
ImGui_ImplVulkan_InitInfo init_info = {
|
||||
.Instance = g_Instance,
|
||||
.PhysicalDevice = g_PhysicalDevice,
|
||||
.Device = g_Device,
|
||||
.QueueFamily = g_QueueFamily,
|
||||
.Queue = g_Queue,
|
||||
.PipelineCache = g_PipelineCache,
|
||||
.DescriptorPool = g_DescriptorPool,
|
||||
.Subpass = 0,
|
||||
.MinImageCount = g_MinImageCount,
|
||||
.ImageCount = wd->ImageCount,
|
||||
.MSAASamples = VK_SAMPLE_COUNT_1_BIT,
|
||||
.Allocator = g_Allocator,
|
||||
.CheckVkResultFn = check_vk_result
|
||||
};
|
||||
ImGui_ImplVulkan_Init(&init_info, wd->RenderPass);
|
||||
|
||||
igStyleColorsDark(NULL);
|
||||
|
||||
// Upload Fonts
|
||||
// Use any command queue
|
||||
VkCommandPool command_pool = wd->Frames[wd->FrameIndex].CommandPool;
|
||||
VkCommandBuffer command_buffer = wd->Frames[wd->FrameIndex].CommandBuffer;
|
||||
|
||||
err = vkResetCommandPool(g_Device, command_pool, 0);
|
||||
check_vk_result(err);
|
||||
VkCommandBufferBeginInfo begin_info = {
|
||||
.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO,
|
||||
.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT,
|
||||
};
|
||||
err = vkBeginCommandBuffer(command_buffer, &begin_info);
|
||||
check_vk_result(err);
|
||||
|
||||
ImGui_ImplVulkan_CreateFontsTexture(command_buffer);
|
||||
|
||||
VkSubmitInfo end_info = {
|
||||
.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO,
|
||||
.commandBufferCount = 1,
|
||||
.pCommandBuffers = &command_buffer,
|
||||
};
|
||||
err = vkEndCommandBuffer(command_buffer);
|
||||
check_vk_result(err);
|
||||
err = vkQueueSubmit(g_Queue, 1, &end_info, VK_NULL_HANDLE);
|
||||
check_vk_result(err);
|
||||
|
||||
err = vkDeviceWaitIdle(g_Device);
|
||||
check_vk_result(err);
|
||||
ImGui_ImplVulkan_DestroyFontUploadObjects();
|
||||
|
||||
bool showDemoWindow = true;
|
||||
bool showAnotherWindow = false;
|
||||
ImVec4 clearColor;
|
||||
clearColor.x = 0.45f;
|
||||
clearColor.y = 0.55f;
|
||||
clearColor.z = 0.60f;
|
||||
clearColor.w = 1.00f;
|
||||
|
||||
bool quit = false;
|
||||
while (!quit)
|
||||
{
|
||||
SDL_Event e;
|
||||
|
||||
// we need to call SDL_PollEvent to let window rendered, otherwise
|
||||
// no window will be shown
|
||||
while (SDL_PollEvent(&e) != 0)
|
||||
{
|
||||
ImGui_ImplSDL2_ProcessEvent(&e);
|
||||
if (e.type == SDL_QUIT)
|
||||
quit = true;
|
||||
if (e.type == SDL_WINDOWEVENT && e.window.event == SDL_WINDOWEVENT_CLOSE &&
|
||||
e.window.windowID == SDL_GetWindowID(window))
|
||||
quit = true;
|
||||
}
|
||||
|
||||
// Resize swap chain
|
||||
if (g_SwapChainRebuild)
|
||||
{
|
||||
int width, height;
|
||||
SDL_GetWindowSize(window, &width, &height);
|
||||
if (width > 0 && height > 0)
|
||||
{
|
||||
ImGui_ImplVulkan_SetMinImageCount(g_MinImageCount);
|
||||
ImGui_ImplVulkanH_CreateOrResizeWindow(
|
||||
g_Instance, g_PhysicalDevice, g_Device, &g_MainWindowData,
|
||||
g_QueueFamily, g_Allocator, width, height, g_MinImageCount);
|
||||
g_MainWindowData.FrameIndex = 0;
|
||||
g_SwapChainRebuild = false;
|
||||
}
|
||||
}
|
||||
|
||||
// start imgui frame
|
||||
ImGui_ImplVulkan_NewFrame();
|
||||
ImGui_ImplSDL2_NewFrame();
|
||||
igNewFrame();
|
||||
|
||||
if (showDemoWindow)
|
||||
igShowDemoWindow(&showDemoWindow);
|
||||
|
||||
// show a simple window that we created ourselves.
|
||||
{
|
||||
static float f = 0.0f;
|
||||
static int counter = 0;
|
||||
|
||||
igBegin("Hello, world!", NULL, 0);
|
||||
igText("This is some useful text");
|
||||
igCheckbox("Demo window", &showDemoWindow);
|
||||
igCheckbox("Another window", &showAnotherWindow);
|
||||
|
||||
igSliderFloat("Float", &f, 0.0f, 1.0f, "%.3f", 0);
|
||||
igColorEdit3("clear color", (float*)&clearColor, 0);
|
||||
|
||||
ImVec2 buttonSize;
|
||||
buttonSize.x = 0;
|
||||
buttonSize.y = 0;
|
||||
if (igButton("Button", buttonSize))
|
||||
counter++;
|
||||
igSameLine(0.0f, -1.0f);
|
||||
igText("counter = %d", counter);
|
||||
|
||||
igText("Application average %.3f ms/frame (%.1f FPS)",
|
||||
1000.0f / igGetIO()->Framerate, igGetIO()->Framerate);
|
||||
igEnd();
|
||||
}
|
||||
|
||||
if (showAnotherWindow)
|
||||
{
|
||||
igBegin("imgui Another Window", &showAnotherWindow, 0);
|
||||
igText("Hello from imgui");
|
||||
ImVec2 buttonSize;
|
||||
buttonSize.x = 0; buttonSize.y = 0;
|
||||
if (igButton("Close me", buttonSize))
|
||||
{
|
||||
showAnotherWindow = false;
|
||||
}
|
||||
igEnd();
|
||||
}
|
||||
|
||||
// render
|
||||
igRender();
|
||||
ImDrawData* draw_data = igGetDrawData();
|
||||
const bool is_minimized = (draw_data->DisplaySize.x <= 0.0f || draw_data->DisplaySize.y <= 0.0f);
|
||||
if (!is_minimized)
|
||||
{
|
||||
wd->ClearValue.color.float32[0] = clearColor.x * clearColor.w;
|
||||
wd->ClearValue.color.float32[1] = clearColor.y * clearColor.w;
|
||||
wd->ClearValue.color.float32[2] = clearColor.z * clearColor.w;
|
||||
wd->ClearValue.color.float32[3] = clearColor.w;
|
||||
FrameRender(wd, draw_data);
|
||||
FramePresent(wd);
|
||||
}
|
||||
}
|
||||
|
||||
// Cleanup
|
||||
err = vkDeviceWaitIdle(g_Device);
|
||||
check_vk_result(err);
|
||||
ImGui_ImplVulkan_Shutdown();
|
||||
ImGui_ImplSDL2_Shutdown();
|
||||
igDestroyContext(NULL);
|
||||
|
||||
CleanupVulkanWindow();
|
||||
CleanupVulkan();
|
||||
|
||||
SDL_DestroyWindow(window);
|
||||
SDL_Quit();
|
||||
|
||||
return 0;
|
||||
}
|
5028
cimgui.cpp
Normal file
5028
cimgui.cpp
Normal file
File diff suppressed because it is too large
Load Diff
4
cimgui/.vscode/settings.json
vendored
4
cimgui/.vscode/settings.json
vendored
@@ -1,4 +0,0 @@
|
||||
// Place your settings in this file to overwrite default and user settings.
|
||||
{
|
||||
"editor.formatOnSave": false,
|
||||
}
|
1819
cimgui/cimgui.cpp
1819
cimgui/cimgui.cpp
File diff suppressed because it is too large
Load Diff
1009
cimgui/cimgui.h
1009
cimgui/cimgui.h
File diff suppressed because it is too large
Load Diff
@@ -1,28 +0,0 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2013
|
||||
VisualStudioVersion = 12.0.31101.0
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cimgui", "cimgui.vcxproj", "{EDE48926-0595-4488-B1A0-32CA71397271}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{EDE48926-0595-4488-B1A0-32CA71397271}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{EDE48926-0595-4488-B1A0-32CA71397271}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{EDE48926-0595-4488-B1A0-32CA71397271}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{EDE48926-0595-4488-B1A0-32CA71397271}.Debug|x64.Build.0 = Debug|x64
|
||||
{EDE48926-0595-4488-B1A0-32CA71397271}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{EDE48926-0595-4488-B1A0-32CA71397271}.Release|Win32.Build.0 = Release|Win32
|
||||
{EDE48926-0595-4488-B1A0-32CA71397271}.Release|x64.ActiveCfg = Release|x64
|
||||
{EDE48926-0595-4488-B1A0-32CA71397271}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
@@ -1,161 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{EDE48926-0595-4488-B1A0-32CA71397271}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>cimgui</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;CIMGUI_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;CIMGUI_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CIMGUI_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;CIMGUI_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\imgui\imgui.cpp" />
|
||||
<ClCompile Include="..\imgui\imgui_demo.cpp" />
|
||||
<ClCompile Include="..\imgui\imgui_draw.cpp" />
|
||||
<ClCompile Include="cimgui.cpp" />
|
||||
<ClCompile Include="drawList.cpp" />
|
||||
<ClCompile Include="fontAtlas.cpp" />
|
||||
<ClCompile Include="listClipper.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\imgui\imgui_internal.h" />
|
||||
<ClInclude Include="cimgui.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@@ -1,48 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="cimgui.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\imgui\imgui.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="fontAtlas.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="drawList.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\imgui\imgui_draw.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\imgui\imgui_demo.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="listClipper.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="cimgui.h">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\imgui\imgui_internal.h">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
</Project>
|
@@ -1,288 +0,0 @@
|
||||
|
||||
#include "../imgui/imgui.h"
|
||||
#include "cimgui.h"
|
||||
|
||||
CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* drawData)
|
||||
{
|
||||
return drawData->DeIndexAllBuffers();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData* drawData, const struct ImVec2 sc)
|
||||
{
|
||||
return drawData->ScaleClipRects(sc);
|
||||
}
|
||||
|
||||
CIMGUI_API int ImDrawList_GetVertexBufferSize(ImDrawList* list)
|
||||
{
|
||||
return list->VtxBuffer.size();
|
||||
}
|
||||
|
||||
CIMGUI_API ImDrawVert* ImDrawList_GetVertexPtr(ImDrawList* list, int n)
|
||||
{
|
||||
return &list->VtxBuffer[n];
|
||||
}
|
||||
|
||||
CIMGUI_API int ImDrawList_GetIndexBufferSize(ImDrawList* list)
|
||||
{
|
||||
return list->IdxBuffer.size();
|
||||
}
|
||||
|
||||
CIMGUI_API ImDrawIdx* ImDrawList_GetIndexPtr(ImDrawList* list, int n)
|
||||
{
|
||||
return &list->IdxBuffer[n];
|
||||
}
|
||||
|
||||
CIMGUI_API int ImDrawList_GetCmdSize(ImDrawList* list)
|
||||
{
|
||||
return list->CmdBuffer.size();
|
||||
}
|
||||
|
||||
CIMGUI_API ImDrawCmd* ImDrawList_GetCmdPtr(ImDrawList* list, int n)
|
||||
{
|
||||
return &list->CmdBuffer[n];
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_Clear(ImDrawList* list)
|
||||
{
|
||||
return list->Clear();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_ClearFreeMemory(ImDrawList* list)
|
||||
{
|
||||
return list->ClearFreeMemory();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* list, struct ImVec2 clip_rect_min, struct ImVec2 clip_rect_max, bool intersect_with_current_clip_rect)
|
||||
{
|
||||
return list->PushClipRect(clip_rect_min,clip_rect_max,intersect_with_current_clip_rect);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* list)
|
||||
{
|
||||
return list->PushClipRectFullScreen();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* list)
|
||||
{
|
||||
return list->PopClipRect();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* list, CONST ImTextureID texture_id)
|
||||
{
|
||||
return list->PushTextureID(texture_id);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* list)
|
||||
{
|
||||
return list->PopTextureID();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_GetClipRectMin(ImVec2* pOut, ImDrawList* list)
|
||||
{
|
||||
*pOut = list->GetClipRectMin();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_GetClipRectMax(ImVec2* pOut, ImDrawList* list)
|
||||
{
|
||||
*pOut = list->GetClipRectMax();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddLine(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float thickness)
|
||||
{
|
||||
return list->AddLine(a, b, col, thickness);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddRect(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float rounding, int rounding_corners_flags, float thickness)
|
||||
{
|
||||
return list->AddRect(a, b, col, rounding, rounding_corners_flags, thickness);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddRectFilled(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col, float rounding, int rounding_corners_flags)
|
||||
{
|
||||
return list->AddRectFilled(a, b, col, rounding, rounding_corners_flags);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddRectFilledMultiColor(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col_upr_left, ImU32 col_upr_right, ImU32 col_bot_right, ImU32 col_bot_left)
|
||||
{
|
||||
return list->AddRectFilledMultiColor(a, b, col_upr_left, col_upr_right, col_bot_right, col_bot_left);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddQuad(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, ImU32 col, float thickness)
|
||||
{
|
||||
return list->AddQuad(a, b, c, d, col, thickness);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddQuadFilled(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, ImU32 col)
|
||||
{
|
||||
return list->AddQuadFilled(a, b, c, d, col);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddTriangle(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, ImU32 col, float thickness)
|
||||
{
|
||||
return list->AddTriangle(a,b,c,col,thickness);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddTriangleFilled(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, ImU32 col)
|
||||
{
|
||||
return list->AddTriangleFilled(a, b, c, col);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddCircle(ImDrawList* list, CONST struct ImVec2 centre, float radius, ImU32 col, int num_segments, float thickness)
|
||||
{
|
||||
return list->AddCircle(centre, radius, col, num_segments, thickness);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddCircleFilled(ImDrawList* list, CONST struct ImVec2 centre, float radius, ImU32 col, int num_segments)
|
||||
{
|
||||
return list->AddCircleFilled(centre, radius, col, num_segments);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddText(ImDrawList* list, CONST struct ImVec2 pos, ImU32 col, CONST char* text_begin, CONST char* text_end)
|
||||
{
|
||||
return list->AddText(pos, col, text_begin, text_end);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddTextExt(ImDrawList* list, CONST ImFont* font, float font_size, CONST struct ImVec2 pos, ImU32 col, CONST char* text_begin, CONST char* text_end, float wrap_width, CONST ImVec4* cpu_fine_clip_rect)
|
||||
{
|
||||
return list->AddText(font, font_size, pos, col, text_begin, text_end, wrap_width, cpu_fine_clip_rect);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddImage(ImDrawList* list, ImTextureID user_texture_id, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 uv_a, CONST struct ImVec2 uv_b, ImU32 col)
|
||||
{
|
||||
return list->AddImage(user_texture_id, a, b, uv_a, uv_b, col);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddImageQuad(struct ImDrawList* list, ImTextureID user_texture_id, CONST struct ImVec2 a, CONST ImVec2 b, CONST ImVec2 c, CONST ImVec2 d, CONST ImVec2 uv_a, CONST ImVec2 uv_b, CONST ImVec2 uv_c, CONST ImVec2 uv_d, ImU32 col)
|
||||
{
|
||||
return list->AddImageQuad(user_texture_id, a, b, c, d, uv_a, uv_b, uv_c, uv_d, col);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* list, CONST ImVec2* points, CONST int num_points, ImU32 col, bool closed, float thickness, bool anti_aliased)
|
||||
{
|
||||
return list->AddPolyline(points, num_points, col, closed, thickness, anti_aliased);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* list, CONST ImVec2* points, CONST int num_points, ImU32 col, bool anti_aliased)
|
||||
{
|
||||
return list->AddConvexPolyFilled(points, num_points, col, anti_aliased);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddBezierCurve(ImDrawList* list, CONST struct ImVec2 pos0, CONST struct ImVec2 cp0, CONST struct ImVec2 cp1, CONST struct ImVec2 pos1, ImU32 col, float thickness, int num_segments)
|
||||
{
|
||||
return list->AddBezierCurve(pos0, cp0, cp1, pos1, col, thickness, num_segments);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PathClear(ImDrawList* list)
|
||||
{
|
||||
return list->PathClear();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PathLineTo(ImDrawList* list, CONST struct ImVec2 pos)
|
||||
{
|
||||
return list->PathLineTo(pos);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PathLineToMergeDuplicate(ImDrawList* list, CONST struct ImVec2 pos)
|
||||
{
|
||||
return list->PathLineToMergeDuplicate(pos);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PathFillConvex(ImDrawList* list, ImU32 col)
|
||||
{
|
||||
return list->PathFillConvex(col);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PathStroke(ImDrawList* list, ImU32 col, bool closed, float thickness)
|
||||
{
|
||||
return list->PathStroke(col, closed, thickness);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PathArcTo(ImDrawList* list, CONST struct ImVec2 centre, float radius, float a_min, float a_max, int num_segments)
|
||||
{
|
||||
return list->PathArcTo(centre, radius, a_min, a_max, num_segments);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PathArcToFast(ImDrawList* list, CONST struct ImVec2 centre, float radius, int a_min_of_12, int a_max_of_12)
|
||||
{
|
||||
return list->PathArcToFast(centre, radius, a_min_of_12, a_max_of_12);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PathBezierCurveTo(ImDrawList* list, CONST struct ImVec2 p1, CONST struct ImVec2 p2, CONST struct ImVec2 p3, int num_segments)
|
||||
{
|
||||
return list->PathBezierCurveTo(p1, p2, p3, num_segments);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PathRect(ImDrawList* list, CONST struct ImVec2 rect_min, CONST struct ImVec2 rect_max, float rounding, int rounding_corners_flags)
|
||||
{
|
||||
return list->PathRect(rect_min, rect_max, rounding, rounding_corners_flags);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList* list, int channels_count)
|
||||
{
|
||||
return list->ChannelsSplit(channels_count);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_ChannelsMerge(ImDrawList* list)
|
||||
{
|
||||
return list->ChannelsMerge();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_ChannelsSetCurrent(ImDrawList* list, int channel_index)
|
||||
{
|
||||
return list->ChannelsSetCurrent(channel_index);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddCallback(ImDrawList* list, ImDrawCallback callback, void* callback_data)
|
||||
{
|
||||
return list->AddCallback(callback, callback_data);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList* list)
|
||||
{
|
||||
return list->AddDrawCmd();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PrimReserve(ImDrawList* list, int idx_count, int vtx_count)
|
||||
{
|
||||
return list->PrimReserve(idx_count, vtx_count);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PrimRect(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, ImU32 col)
|
||||
{
|
||||
return list->PrimRect(a, b, col);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PrimRectUV(ImDrawList* list, CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 uv_a, CONST struct ImVec2 uv_b, ImU32 col)
|
||||
{
|
||||
return list->PrimRectUV(a, b, uv_a, uv_b, col);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PrimQuadUV(ImDrawList* list,CONST struct ImVec2 a, CONST struct ImVec2 b, CONST struct ImVec2 c, CONST struct ImVec2 d, CONST struct ImVec2 uv_a, CONST struct ImVec2 uv_b, CONST struct ImVec2 uv_c, CONST struct ImVec2 uv_d, ImU32 col)
|
||||
{
|
||||
return list->PrimQuadUV(a,b,c,d,uv_a,uv_b,uv_c,uv_d,col);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PrimVtx(ImDrawList* list, CONST struct ImVec2 pos, CONST struct ImVec2 uv, ImU32 col)
|
||||
{
|
||||
return list->PrimVtx(pos, uv, col);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PrimWriteVtx(ImDrawList* list, CONST struct ImVec2 pos, CONST struct ImVec2 uv, ImU32 col)
|
||||
{
|
||||
return list->PrimWriteVtx(pos, uv, col);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_PrimWriteIdx(ImDrawList* list, ImDrawIdx idx)
|
||||
{
|
||||
return list->PrimWriteIdx(idx);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_UpdateClipRect(ImDrawList* list)
|
||||
{
|
||||
return list->UpdateClipRect();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImDrawList_UpdateTextureID(ImDrawList* list)
|
||||
{
|
||||
return list->UpdateTextureID();
|
||||
}
|
@@ -1,323 +0,0 @@
|
||||
|
||||
#include "../imgui/imgui.h"
|
||||
#include "cimgui.h"
|
||||
|
||||
CIMGUI_API void ImFontConfig_DefaultConstructor(ImFontConfig* config)
|
||||
{
|
||||
*config = ImFontConfig();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFontAtlas_GetTexDataAsRGBA32(ImFontAtlas* atlas, unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel)
|
||||
{
|
||||
atlas->GetTexDataAsRGBA32(out_pixels, out_width, out_height, out_bytes_per_pixel);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* atlas, unsigned char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel)
|
||||
{
|
||||
atlas->GetTexDataAsAlpha8(out_pixels, out_width, out_height, out_bytes_per_pixel);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFontAtlas_SetTexID(ImFontAtlas* atlas, ImTextureID id)
|
||||
{
|
||||
atlas->TexID = id;
|
||||
}
|
||||
|
||||
CIMGUI_API ImFont* ImFontAtlas_AddFont(ImFontAtlas* atlas, CONST ImFontConfig* font_cfg)
|
||||
{
|
||||
return atlas->AddFont(font_cfg);
|
||||
}
|
||||
|
||||
CIMGUI_API ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* atlas, CONST ImFontConfig* font_cfg)
|
||||
{
|
||||
return atlas->AddFontDefault(font_cfg);
|
||||
}
|
||||
|
||||
CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* atlas,CONST char* filename, float size_pixels, CONST ImFontConfig* font_cfg, CONST ImWchar* glyph_ranges)
|
||||
{
|
||||
return atlas->AddFontFromFileTTF(filename, size_pixels, font_cfg, glyph_ranges);
|
||||
}
|
||||
|
||||
CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryTTF(ImFontAtlas* atlas, void* font_data, int font_size, float size_pixels, CONST ImFontConfig* font_cfg, CONST ImWchar* glyph_ranges)
|
||||
{
|
||||
return atlas->AddFontFromMemoryTTF(font_data, font_size, size_pixels, font_cfg, glyph_ranges);
|
||||
}
|
||||
|
||||
CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF(ImFontAtlas* atlas, CONST void* compressed_font_data, int compressed_font_size, float size_pixels, CONST ImFontConfig* font_cfg, CONST ImWchar* glyph_ranges)
|
||||
{
|
||||
return atlas->AddFontFromMemoryCompressedTTF(compressed_font_data, compressed_font_size, size_pixels, font_cfg, glyph_ranges);
|
||||
}
|
||||
|
||||
CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedBase85TTF(ImFontAtlas* atlas, CONST char* compressed_font_data_base85, float size_pixels, CONST ImFontConfig* font_cfg, CONST ImWchar* glyph_ranges)
|
||||
{
|
||||
return atlas->AddFontFromMemoryCompressedBase85TTF(compressed_font_data_base85, size_pixels, font_cfg, glyph_ranges);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->ClearTexData();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFontAtlas_ClearInputData(ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->ClearInputData();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFontAtlas_ClearFonts(ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->ClearFonts();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->Clear();
|
||||
}
|
||||
|
||||
CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesDefault(struct ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->GetGlyphRangesDefault();
|
||||
}
|
||||
|
||||
CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesKorean(struct ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->GetGlyphRangesKorean();
|
||||
}
|
||||
|
||||
CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesJapanese(struct ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->GetGlyphRangesJapanese();
|
||||
}
|
||||
|
||||
CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesChinese(struct ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->GetGlyphRangesChinese();
|
||||
}
|
||||
|
||||
CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesCyrillic(struct ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->GetGlyphRangesCyrillic();
|
||||
}
|
||||
|
||||
CIMGUI_API CONST ImWchar* ImFontAtlas_GetGlyphRangesThai(struct ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->GetGlyphRangesThai();
|
||||
}
|
||||
|
||||
CIMGUI_API ImTextureID ImFontAtlas_GetTexID(struct ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->TexID;
|
||||
}
|
||||
|
||||
CIMGUI_API unsigned char* ImFontAtlas_GetTexPixelsAlpha8(struct ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->TexPixelsAlpha8;
|
||||
}
|
||||
|
||||
CIMGUI_API unsigned int* ImFontAtlas_GetTexPixelsRGBA32(struct ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->TexPixelsRGBA32;
|
||||
}
|
||||
|
||||
CIMGUI_API int ImFontAtlas_GetTexWidth(struct ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->TexWidth;
|
||||
}
|
||||
|
||||
CIMGUI_API int ImFontAtlas_GetTexHeight(struct ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->TexHeight;
|
||||
}
|
||||
|
||||
CIMGUI_API int ImFontAtlas_GetTexDesiredWidth(struct ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->TexDesiredWidth;
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFontAtlas_SetTexDesiredWidth(struct ImFontAtlas* atlas, int TexDesiredWidth_)
|
||||
{
|
||||
atlas->TexDesiredWidth = TexDesiredWidth_;
|
||||
}
|
||||
|
||||
CIMGUI_API int ImFontAtlas_GetTexGlyphPadding(struct ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->TexGlyphPadding;
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFontAtlas_SetTexGlyphPadding(struct ImFontAtlas* atlas, int TexGlyphPadding_)
|
||||
{
|
||||
atlas->TexGlyphPadding = TexGlyphPadding_;
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFontAtlas_GetTexUvWhitePixel(struct ImFontAtlas* atlas, ImVec2* pOut)
|
||||
{
|
||||
*pOut = atlas->TexUvWhitePixel;
|
||||
}
|
||||
|
||||
// ImFontAtlas::Fonts;
|
||||
CIMGUI_API int ImFontAtlas_Fonts_size(struct ImFontAtlas* atlas)
|
||||
{
|
||||
return atlas->Fonts.size();
|
||||
}
|
||||
|
||||
CIMGUI_API ImFont* ImFontAtlas_Fonts_index(struct ImFontAtlas* atlas, int index)
|
||||
{
|
||||
return atlas->Fonts[index];
|
||||
}
|
||||
|
||||
// ImFont
|
||||
CIMGUI_API float ImFont_GetFontSize(const struct ImFont* font)
|
||||
{
|
||||
return font->FontSize;
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFont_SetFontSize(struct ImFont* font, float FontSize_)
|
||||
{
|
||||
font->FontSize = FontSize_;
|
||||
}
|
||||
|
||||
CIMGUI_API float ImFont_GetScale(const struct ImFont* font)
|
||||
{
|
||||
return font->Scale;
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFont_SetScale(struct ImFont* font, float Scale_)
|
||||
{
|
||||
font->Scale = Scale_;
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFont_GetDisplayOffset(const struct ImFont* font, ImVec2* pOut)
|
||||
{
|
||||
*pOut = font->DisplayOffset;
|
||||
}
|
||||
|
||||
CIMGUI_API const struct IMFONTGLYPH* ImFont_GetFallbackGlyph(const struct ImFont* font)
|
||||
{
|
||||
return font->FallbackGlyph;
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFont_SetFallbackGlyph(struct ImFont* font, const struct IMFONTGLYPH* FallbackGlyph_)
|
||||
{
|
||||
font->FallbackGlyph = FallbackGlyph_;
|
||||
}
|
||||
|
||||
CIMGUI_API float ImFont_GetFallbackAdvanceX(const struct ImFont* font)
|
||||
{
|
||||
return font->FallbackAdvanceX;
|
||||
}
|
||||
|
||||
CIMGUI_API ImWchar ImFont_GetFallbackChar(const struct ImFont* font)
|
||||
{
|
||||
return font->FallbackChar;
|
||||
}
|
||||
|
||||
CIMGUI_API short ImFont_GetConfigDataCount(const struct ImFont* font)
|
||||
{
|
||||
return font->ConfigDataCount;
|
||||
}
|
||||
|
||||
CIMGUI_API struct ImFontConfig* ImFont_GetConfigData(struct ImFont* font)
|
||||
{
|
||||
return font->ConfigData;
|
||||
}
|
||||
|
||||
CIMGUI_API struct ImFontAtlas* ImFont_GetContainerAtlas(struct ImFont* font)
|
||||
{
|
||||
return font->ContainerAtlas;
|
||||
}
|
||||
|
||||
CIMGUI_API float ImFont_GetAscent(const struct ImFont* font)
|
||||
{
|
||||
return font->Ascent;
|
||||
}
|
||||
|
||||
CIMGUI_API float ImFont_GetDescent(const struct ImFont* font)
|
||||
{
|
||||
return font->Descent;
|
||||
}
|
||||
|
||||
CIMGUI_API int ImFont_GetMetricsTotalSurface(const struct ImFont* font)
|
||||
{
|
||||
return font->MetricsTotalSurface;
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFont_ClearOutputData(struct ImFont* font)
|
||||
{
|
||||
font->ClearOutputData();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFont_BuildLookupTable(struct ImFont* font)
|
||||
{
|
||||
font->BuildLookupTable();
|
||||
}
|
||||
|
||||
CIMGUI_API const struct IMFONTGLYPH* ImFont_FindGlyph(const struct ImFont* font, ImWchar c)
|
||||
{
|
||||
return font->FindGlyph(c);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFont_SetFallbackChar(struct ImFont* font, ImWchar c)
|
||||
{
|
||||
font->SetFallbackChar(c);
|
||||
}
|
||||
|
||||
CIMGUI_API float ImFont_GetCharAdvance(const struct ImFont* font, ImWchar c)
|
||||
{
|
||||
return font->GetCharAdvance(c);
|
||||
}
|
||||
|
||||
CIMGUI_API bool ImFont_IsLoaded(const struct ImFont* font)
|
||||
{
|
||||
return font->IsLoaded();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFont_CalcTextSizeA(const struct ImFont* font, ImVec2* pOut, float size, float max_width, float wrap_width, const char* text_begin, const char* text_end, const char** remaining)
|
||||
{
|
||||
*pOut = font->CalcTextSizeA(size, max_width, wrap_width, text_begin, text_end, remaining);
|
||||
}
|
||||
|
||||
CIMGUI_API const char* ImFont_CalcWordWrapPositionA(const struct ImFont* font, float scale, const char* text, const char* text_end, float wrap_width)
|
||||
{
|
||||
return font->CalcWordWrapPositionA(scale, text, text_end, wrap_width);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFont_RenderChar(const struct ImFont* font, ImDrawList* draw_list, float size, ImVec2 pos, ImU32 col, unsigned short c)
|
||||
{
|
||||
return font->RenderChar(draw_list, size, pos, col, c);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImFont_RenderText(const struct ImFont* font, ImDrawList* draw_list, float size, ImVec2 pos, ImU32 col, const ImVec4* clip_rect, const char* text_begin, const char* text_end, float wrap_width, bool cpu_fine_clip)
|
||||
{
|
||||
return font->RenderText(draw_list, size, pos, col, *clip_rect, text_begin, text_end, wrap_width, cpu_fine_clip);
|
||||
}
|
||||
|
||||
// ImFont::Glyph
|
||||
CIMGUI_API int ImFont_Glyphs_size(const struct ImFont* font)
|
||||
{
|
||||
return font->Glyphs.size();
|
||||
}
|
||||
|
||||
CIMGUI_API struct IMFONTGLYPH* ImFont_Glyphs_index(struct ImFont* font, int index)
|
||||
{
|
||||
return &font->Glyphs[index];
|
||||
}
|
||||
|
||||
// ImFont::IndexXAdvance
|
||||
CIMGUI_API int ImFont_IndexXAdvance_size(const struct ImFont* font)
|
||||
{
|
||||
return font->IndexAdvanceX.size();
|
||||
}
|
||||
|
||||
CIMGUI_API float ImFont_IndexXAdvance_index(const struct ImFont* font, int index)
|
||||
{
|
||||
return font->IndexAdvanceX[index];
|
||||
}
|
||||
|
||||
// ImFont::IndexLookup
|
||||
CIMGUI_API int ImFont_IndexLookup_size(const struct ImFont* font)
|
||||
{
|
||||
return font->IndexLookup.size();
|
||||
}
|
||||
|
||||
CIMGUI_API unsigned short ImFont_IndexLookup_index(const struct ImFont* font, int index)
|
||||
{
|
||||
return font->IndexLookup[index];
|
||||
}
|
@@ -1,27 +0,0 @@
|
||||
#include "../imgui/imgui.h"
|
||||
#include "cimgui.h"
|
||||
|
||||
CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* clipper, int count, float items_height)
|
||||
{
|
||||
clipper->Begin(count, items_height);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* clipper)
|
||||
{
|
||||
clipper->End();
|
||||
}
|
||||
|
||||
CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* clipper)
|
||||
{
|
||||
return clipper->Step();
|
||||
}
|
||||
|
||||
CIMGUI_API int ImGuiListClipper_GetDisplayStart(ImGuiListClipper* clipper)
|
||||
{
|
||||
return clipper->DisplayStart;
|
||||
}
|
||||
|
||||
CIMGUI_API int ImGuiListClipper_GetDisplayEnd(ImGuiListClipper* clipper)
|
||||
{
|
||||
return clipper->DisplayEnd;
|
||||
}
|
@@ -1,2 +0,0 @@
|
||||
|
||||
#include "cimgui.h"
|
130
generator/cimgui_template.cpp
Normal file
130
generator/cimgui_template.cpp
Normal file
@@ -0,0 +1,130 @@
|
||||
#ifdef IMGUI_ENABLE_FREETYPE
|
||||
#ifndef CIMGUI_FREETYPE
|
||||
#error "IMGUI_FREETYPE should be defined for Freetype linking"
|
||||
#endif
|
||||
#else
|
||||
#ifdef CIMGUI_FREETYPE
|
||||
#error "IMGUI_FREETYPE should not be defined without freetype generated cimgui"
|
||||
#endif
|
||||
#endif
|
||||
#include "./imgui/imgui.h"
|
||||
#ifdef IMGUI_ENABLE_FREETYPE
|
||||
#include "./imgui/misc/freetype/imgui_freetype.h"
|
||||
#endif
|
||||
#include "./imgui/imgui_internal.h"
|
||||
#include "cimgui.h"
|
||||
|
||||
|
||||
|
||||
#include "auto_funcs.cpp"
|
||||
|
||||
|
||||
/////////////////////////////manual written functions
|
||||
CIMGUI_API void igLogText(CONST char *fmt, ...)
|
||||
{
|
||||
char buffer[256];
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
vsnprintf(buffer, 256, fmt, args);
|
||||
va_end(args);
|
||||
|
||||
ImGui::LogText("%s", buffer);
|
||||
}
|
||||
CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start(args, fmt);
|
||||
buffer->appendfv(fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
CIMGUI_API float igGET_FLT_MAX()
|
||||
{
|
||||
return FLT_MAX;
|
||||
}
|
||||
|
||||
CIMGUI_API float igGET_FLT_MIN()
|
||||
{
|
||||
return FLT_MIN;
|
||||
}
|
||||
|
||||
|
||||
CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create()
|
||||
{
|
||||
return IM_NEW(ImVector<ImWchar>) ();
|
||||
}
|
||||
|
||||
CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self)
|
||||
{
|
||||
IM_DELETE(self);
|
||||
}
|
||||
|
||||
CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p)
|
||||
{
|
||||
IM_PLACEMENT_NEW(p) ImVector<ImWchar>();
|
||||
}
|
||||
CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p)
|
||||
{
|
||||
p->~ImVector<ImWchar>();
|
||||
}
|
||||
|
||||
|
||||
#ifdef IMGUI_HAS_DOCK
|
||||
|
||||
// NOTE: Some function pointers in the ImGuiPlatformIO structure are not C-compatible because of their
|
||||
// use of a complex return type. To work around this, we store a custom CimguiStorage object inside
|
||||
// ImGuiIO::BackendLanguageUserData, which contains C-compatible function pointer variants for these
|
||||
// functions. When a user function pointer is provided, we hook up the underlying ImGuiPlatformIO
|
||||
// function pointer to a thunk which accesses the user function pointer through CimguiStorage.
|
||||
|
||||
struct CimguiStorage
|
||||
{
|
||||
void(*Platform_GetWindowPos)(ImGuiViewport* vp, ImVec2* out_pos);
|
||||
void(*Platform_GetWindowSize)(ImGuiViewport* vp, ImVec2* out_pos);
|
||||
};
|
||||
|
||||
// Gets a reference to the CimguiStorage object stored in the current ImGui context's BackendLanguageUserData.
|
||||
CimguiStorage& GetCimguiStorage()
|
||||
{
|
||||
ImGuiIO& io = ImGui::GetIO();
|
||||
if (io.BackendLanguageUserData == NULL)
|
||||
{
|
||||
io.BackendLanguageUserData = new CimguiStorage();
|
||||
}
|
||||
|
||||
return *(CimguiStorage*)io.BackendLanguageUserData;
|
||||
}
|
||||
|
||||
// Thunk satisfying the signature of ImGuiPlatformIO::Platform_GetWindowPos.
|
||||
ImVec2 Platform_GetWindowPos_hook(ImGuiViewport* vp)
|
||||
{
|
||||
ImVec2 pos;
|
||||
GetCimguiStorage().Platform_GetWindowPos(vp, &pos);
|
||||
return pos;
|
||||
};
|
||||
|
||||
// Fully C-compatible function pointer setter for ImGuiPlatformIO::Platform_GetWindowPos.
|
||||
CIMGUI_API void ImGuiPlatformIO_Set_Platform_GetWindowPos(ImGuiPlatformIO* platform_io, void(*user_callback)(ImGuiViewport* vp, ImVec2* out_pos))
|
||||
{
|
||||
CimguiStorage& storage = GetCimguiStorage();
|
||||
storage.Platform_GetWindowPos = user_callback;
|
||||
platform_io->Platform_GetWindowPos = &Platform_GetWindowPos_hook;
|
||||
}
|
||||
|
||||
// Thunk satisfying the signature of ImGuiPlatformIO::Platform_GetWindowSize.
|
||||
ImVec2 Platform_GetWindowSize_hook(ImGuiViewport* vp)
|
||||
{
|
||||
ImVec2 size;
|
||||
GetCimguiStorage().Platform_GetWindowSize(vp, &size);
|
||||
return size;
|
||||
};
|
||||
|
||||
// Fully C-compatible function pointer setter for ImGuiPlatformIO::Platform_GetWindowSize.
|
||||
CIMGUI_API void ImGuiPlatformIO_Set_Platform_GetWindowSize(ImGuiPlatformIO* platform_io, void(*user_callback)(ImGuiViewport* vp, ImVec2* out_size))
|
||||
{
|
||||
CimguiStorage& storage = GetCimguiStorage();
|
||||
storage.Platform_GetWindowSize = user_callback;
|
||||
platform_io->Platform_GetWindowSize = &Platform_GetWindowSize_hook;
|
||||
}
|
||||
|
||||
#endif
|
69
generator/cimgui_template.h
Normal file
69
generator/cimgui_template.h
Normal file
@@ -0,0 +1,69 @@
|
||||
#ifndef CIMGUI_INCLUDED
|
||||
#define CIMGUI_INCLUDED
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#if defined _WIN32 || defined __CYGWIN__
|
||||
#ifdef CIMGUI_NO_EXPORT
|
||||
#define API
|
||||
#else
|
||||
#define API __declspec(dllexport)
|
||||
#endif
|
||||
#else
|
||||
#ifdef __GNUC__
|
||||
#define API __attribute__((__visibility__("default")))
|
||||
#else
|
||||
#define API
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined __cplusplus
|
||||
#define EXTERN extern "C"
|
||||
#else
|
||||
#include <stdarg.h>
|
||||
#include <stdbool.h>
|
||||
#define EXTERN extern
|
||||
#endif
|
||||
|
||||
#define CIMGUI_API EXTERN API
|
||||
#define CONST const
|
||||
|
||||
|
||||
#ifdef _MSC_VER
|
||||
typedef unsigned __int64 ImU64;
|
||||
#else
|
||||
//typedef unsigned long long ImU64;
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
#include "imgui_structs.h"
|
||||
#else
|
||||
struct GLFWwindow;
|
||||
struct SDL_Window;
|
||||
typedef union SDL_Event SDL_Event;
|
||||
#endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS
|
||||
|
||||
#include "auto_funcs.h"
|
||||
|
||||
/////////////////////////hand written functions
|
||||
//no LogTextV
|
||||
CIMGUI_API void igLogText(CONST char *fmt, ...);
|
||||
//no appendfV
|
||||
CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...);
|
||||
//for getting FLT_MAX in bindings
|
||||
CIMGUI_API float igGET_FLT_MAX(void);
|
||||
//for getting FLT_MIN in bindings
|
||||
CIMGUI_API float igGET_FLT_MIN(void);
|
||||
|
||||
|
||||
CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create(void);
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
3
generator/config_generator.lua
Normal file
3
generator/config_generator.lua
Normal file
@@ -0,0 +1,3 @@
|
||||
return {
|
||||
vulkan = {(os.getenv("VULKAN_SDK") or "vulkan_SDK_not_found").."/Include"}, --{[[C:\VulkanSDK\1.3.216.0\Include]]}
|
||||
}
|
2479
generator/cpp2ffi.lua
Normal file
2479
generator/cpp2ffi.lua
Normal file
File diff suppressed because it is too large
Load Diff
25
generator/generator.bat
Normal file
25
generator/generator.bat
Normal file
@@ -0,0 +1,25 @@
|
||||
:: this script must be executed in this directory
|
||||
:: all the output goes to generator/output folder
|
||||
:: .cpp and .h files:
|
||||
:: cimgui.h and cimgui.cpp with gcc preprocess
|
||||
:: cimgui_nopreprocess.h and cimgui_nopreprocess.cpp generated without preprocess
|
||||
:: cimgui_impl.h with implementation function cdefs
|
||||
:: lua and json files:
|
||||
:: definitions.lua for function definitions
|
||||
:: structs_and_enums.lua with struct and enum information-definitions
|
||||
:: impl_definitions.lua for implementation function definitions
|
||||
|
||||
:: set your PATH if necessary for LuaJIT or Lua5.1 or luajit with: (for example)
|
||||
set PATH=%PATH%;C:\anima;C:\mingws\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\mingw32\bin;
|
||||
:: set PATH=%PATH%;C:\luaGL;C:\i686-7.2.0-release-posix-dwarf-rt_v5-rev1\mingw32\bin;
|
||||
:: set PATH=%PATH%;C:\luaGL\sources\luajit-master\luajit-master\bin\mingw32;C:\mingw32\bin;
|
||||
::process files
|
||||
:: arg[1] compiler name gcc, clang or cl
|
||||
:: arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation, comments for comments generation
|
||||
:: examples: "" "internal" "internal freetype comments"
|
||||
:: arg[3..n] name of implementations to generate and/or CFLAGS (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
|
||||
luajit ./generator.lua gcc "internal" glfw opengl3 opengl2 sdl
|
||||
|
||||
::leave console open
|
||||
cmd /k
|
||||
|
451
generator/generator.lua
Normal file
451
generator/generator.lua
Normal file
@@ -0,0 +1,451 @@
|
||||
--------------------------------------------------------------------------
|
||||
--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 INTERNAL_GENERATION = script_args[2]:match("internal") and true or false
|
||||
local FREETYPE_GENERATION = script_args[2]:match("freetype") and true or false
|
||||
local COMMENTS_GENERATION = script_args[2]:match("comments") and true or false
|
||||
local IMGUI_PATH = os.getenv"IMGUI_PATH" or "../imgui"
|
||||
local CFLAGS = ""
|
||||
local CPRE,CTEST
|
||||
--get implementations
|
||||
local implementations = {}
|
||||
for i=3,#script_args do
|
||||
if script_args[i]:match(COMPILER == "cl" and "^/" or "^%-") then
|
||||
local key, value = script_args[i]:match("^(.+)=(.+)$")
|
||||
if key and value then
|
||||
CFLAGS = CFLAGS .. " " .. key .. "=\"" .. value:gsub("\"", "\\\"") .. "\"";
|
||||
else
|
||||
CFLAGS = CFLAGS .. " " .. script_args[i]
|
||||
end
|
||||
else
|
||||
table.insert(implementations,script_args[i])
|
||||
end
|
||||
end
|
||||
|
||||
if FREETYPE_GENERATION then
|
||||
CFLAGS = CFLAGS .. " -DIMGUI_ENABLE_FREETYPE "
|
||||
end
|
||||
|
||||
if COMPILER == "gcc" or COMPILER == "clang" then
|
||||
CPRE = COMPILER..[[ -E -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]] .. CFLAGS
|
||||
CTEST = COMPILER.." --version"
|
||||
elseif COMPILER == "cl" then
|
||||
CPRE = COMPILER..[[ /E /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS /DIMGUI_DEBUG_PARANOID /DIMGUI_API="" /DIMGUI_IMPL_API="" ]] .. CFLAGS
|
||||
CTEST = COMPILER
|
||||
else
|
||||
print("Working without compiler ")
|
||||
error("cant work with "..COMPILER.." compiler")
|
||||
end
|
||||
--test compiler present
|
||||
local HAVE_COMPILER = false
|
||||
|
||||
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")
|
||||
|
||||
|
||||
print("HAVE_COMPILER",HAVE_COMPILER)
|
||||
print("INTERNAL_GENERATION",INTERNAL_GENERATION)
|
||||
print("FREETYPE_GENERATION",FREETYPE_GENERATION)
|
||||
print("COMMENTS_GENERATION",COMMENTS_GENERATION)
|
||||
print("CPRE",CPRE)
|
||||
--------------------------------------------------------------------------
|
||||
--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"
|
||||
--},
|
||||
}
|
||||
|
||||
--------------------------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
|
||||
--------------------------------functions for C generation
|
||||
--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
|
||||
|
||||
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]
|
||||
local addcoment = def.comment or ""
|
||||
if def.constructor then
|
||||
-- it happens with vulkan impl but constructor ImGui_ImplVulkanH_Window is not needed
|
||||
--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
|
||||
|
||||
if def.stname == "" then --ImGui namespace or top level
|
||||
local empty = def.args:match("^%(%)") --no args
|
||||
table.insert(outtab,"CIMGUI_API".." "..def.ret.." "..def.ov_cimguiname..(empty and "(void)" or def.args)..";"..addcoment.."\n")
|
||||
else
|
||||
cpp2ffi.prtable(def)
|
||||
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 func_header_generate = cpp2ffi.func_header_generate
|
||||
local func_implementation = cpp2ffi.func_implementation
|
||||
|
||||
-------------------functions for getting and setting defines
|
||||
local function get_defines(t)
|
||||
local compiler_cmd = COMPILER == "cl"
|
||||
and COMPILER..[[ /TP /nologo /c /Fo"NUL" /DIMGUI_DISABLE_OBSOLETE_FUNCTIONS ]]..CFLAGS..[[ /I"]]..IMGUI_PATH..[[" print_defines.cpp]]
|
||||
or COMPILER..[[ -E -dM -DIMGUI_DISABLE_OBSOLETE_FUNCTIONS -DIMGUI_API="" -DIMGUI_IMPL_API="" ]]..IMGUI_PATH..[[/imgui.h]]..CFLAGS
|
||||
print(compiler_cmd)
|
||||
local pipe,err = io.popen(compiler_cmd,"r")
|
||||
local defines = {}
|
||||
local compiler_output = {"There were fails in compilation."}
|
||||
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 then --or not value then
|
||||
table.insert(compiler_output, line)
|
||||
--print(line)
|
||||
else
|
||||
defines[key]=value or ""
|
||||
end
|
||||
end
|
||||
pipe:close()
|
||||
--require"anima.utils"
|
||||
--prtable(defines)
|
||||
assert(next(defines), table.concat(compiler_output, "\n"))
|
||||
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 or FLT_MIN
|
||||
local function set_defines(fdefs)
|
||||
local FLT_MINpat = gdefines.FLT_MIN:gsub("([%.%-])","%%%1")
|
||||
for k,defT in pairs(fdefs) do
|
||||
for i,def in ipairs(defT) do
|
||||
for name,default in pairs(def.defaults) do
|
||||
if default == gdefines.FLT_MAX then
|
||||
def.defaults[name] = "FLT_MAX"
|
||||
elseif default:match(FLT_MINpat) then
|
||||
def.defaults[name] = default:gsub(FLT_MINpat,"FLT_MIN")
|
||||
end
|
||||
end
|
||||
end
|
||||
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
|
||||
|
||||
|
||||
--generate cimgui.cpp cimgui.h
|
||||
local function cimgui_generation(parser)
|
||||
|
||||
--[[
|
||||
-- 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.structs_and_enums[1],parser.structs_and_enums[2]
|
||||
cpp2ffi.prtable(parser.templates)
|
||||
cpp2ffi.prtable(parser.typenames)
|
||||
|
||||
|
||||
local tdt = parser:generate_templates()
|
||||
local cstructsstr = outpre..tdt..outpost
|
||||
|
||||
if gdefines.IMGUI_HAS_DOCK then
|
||||
cstructsstr = cstructsstr.."\n#define IMGUI_HAS_DOCK 1\n"
|
||||
end
|
||||
if gdefines.IMGUI_HAS_IMSTR then
|
||||
cstructsstr = cstructsstr.."\n#define IMGUI_HAS_IMSTR 1\n"
|
||||
end
|
||||
|
||||
hstrfile = hstrfile:gsub([[#include "imgui_structs%.h"]],cstructsstr)
|
||||
local cfuncsstr = func_header_generate(parser)
|
||||
hstrfile = hstrfile:gsub([[#include "auto_funcs%.h"]],cfuncsstr)
|
||||
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)
|
||||
local ftdef = FREETYPE_GENERATION and "#define IMGUI_ENABLE_FREETYPE\n" or ""
|
||||
save_data("./output/cimgui.cpp",cimgui_header, ftdef, hstrfile)
|
||||
|
||||
end
|
||||
--------------------------------------------------------
|
||||
-----------------------------do it----------------------
|
||||
--------------------------------------------------------
|
||||
--get imgui.h version and IMGUI_HAS_DOCK--------------------------
|
||||
--defines for the cl compiler must be present in the print_defines.cpp file
|
||||
gdefines = get_defines{"IMGUI_VERSION","IMGUI_VERSION_NUM","FLT_MAX","FLT_MIN","IMGUI_HAS_DOCK","IMGUI_HAS_IMSTR"}
|
||||
|
||||
if gdefines.IMGUI_HAS_DOCK then gdefines.IMGUI_HAS_DOCK = true end
|
||||
if gdefines.IMGUI_HAS_IMSTR then gdefines.IMGUI_HAS_IMSTR = true end
|
||||
|
||||
cimgui_header = cimgui_header:gsub("XXX",gdefines.IMGUI_VERSION .. " "..(gdefines.IMGUI_VERSION_NUM or ""))
|
||||
if INTERNAL_GENERATION then
|
||||
cimgui_header = cimgui_header..[[//with imgui_internal.h api
|
||||
]]
|
||||
end
|
||||
if FREETYPE_GENERATION then
|
||||
cimgui_header = cimgui_header..[[//with imgui_freetype.h api
|
||||
]]
|
||||
end
|
||||
if gdefines.IMGUI_HAS_DOCK then
|
||||
cimgui_header = cimgui_header..[[//docking branch
|
||||
]]
|
||||
|
||||
end
|
||||
print("IMGUI_HAS_IMSTR",gdefines.IMGUI_HAS_IMSTR)
|
||||
print("IMGUI_HAS_DOCK",gdefines.IMGUI_HAS_DOCK)
|
||||
print("IMGUI_VERSION",gdefines.IMGUI_VERSION)
|
||||
|
||||
|
||||
--funtion for parsing imgui headers
|
||||
local function parseImGuiHeader(header,names)
|
||||
--prepare parser
|
||||
local parser = cpp2ffi.Parser()
|
||||
|
||||
parser.getCname = function(stname,funcname,namespace)
|
||||
local pre = (stname == "") and (namespace and (namespace=="ImGui" and "ig" or namespace.."_") or "ig") or stname.."_"
|
||||
return pre..funcname
|
||||
end
|
||||
parser.cname_overloads = cimgui_overloads
|
||||
parser.manuals = cimgui_manuals
|
||||
parser.UDTs = {"ImVec2","ImVec4","ImColor","ImRect"}
|
||||
--parser.gen_template_typedef = gen_template_typedef --use auto
|
||||
parser.COMMENTS_GENERATION = COMMENTS_GENERATION
|
||||
local defines = parser:take_lines(CPRE..header,names,COMPILER)
|
||||
|
||||
return parser
|
||||
end
|
||||
--generation
|
||||
print("------------------generation with "..COMPILER.."------------------------")
|
||||
local parser1
|
||||
local headers = [[#include "]]..IMGUI_PATH..[[/imgui.h"
|
||||
]]
|
||||
local headersT = {[[imgui]]}
|
||||
if INTERNAL_GENERATION then
|
||||
headers = headers .. [[#include "]]..IMGUI_PATH..[[/imgui_internal.h"
|
||||
]]
|
||||
headersT[#headersT + 1] = [[imgui_internal]]
|
||||
headersT[#headersT + 1] = [[imstb_textedit]]
|
||||
end
|
||||
if FREETYPE_GENERATION then
|
||||
headers = headers .. [[
|
||||
#include "]]..IMGUI_PATH..[[/misc/freetype/imgui_freetype.h"
|
||||
]]
|
||||
headersT[#headersT + 1] = [[imgui_freetype]]
|
||||
end
|
||||
save_data("headers.h",headers)
|
||||
local include_cmd = COMPILER=="cl" and [[ /I ]] or [[ -I ]]
|
||||
local extra_includes = include_cmd.." " ..IMGUI_PATH.." "
|
||||
local parser1 = parseImGuiHeader(extra_includes .. [[headers.h]],headersT)
|
||||
os.remove("headers.h")
|
||||
parser1:do_parse()
|
||||
|
||||
save_data("./output/overloads.txt",parser1.overloadstxt)
|
||||
cimgui_generation(parser1)
|
||||
|
||||
----------save struct and enums lua table in structs_and_enums.lua for using in bindings
|
||||
|
||||
local structs_and_enums_table = parser1.structs_and_enums_table
|
||||
structs_and_enums_table.templated_structs = parser1.templated_structs
|
||||
structs_and_enums_table.typenames = parser1.typenames
|
||||
structs_and_enums_table.templates_done = parser1.templates_done
|
||||
|
||||
save_data("./output/structs_and_enums.lua",serializeTableF(structs_and_enums_table))
|
||||
save_data("./output/typedefs_dict.lua",serializeTableF(parser1.typedefs_dict))
|
||||
|
||||
----------save fundefs in definitions.lua for using in bindings
|
||||
--DefsByStruct(pFP)
|
||||
set_defines(parser1.defsT)
|
||||
save_data("./output/definitions.lua",serializeTableF(parser1.defsT))
|
||||
|
||||
--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 backends_folder
|
||||
local ff,err = io.open (IMGUI_PATH .. "/examples/imgui_impl_glfw.h" ,"r")
|
||||
if ff then
|
||||
backends_folder = IMGUI_PATH .. "/examples/"
|
||||
ff:close()
|
||||
else
|
||||
backends_folder = IMGUI_PATH .. "/backends/"
|
||||
end
|
||||
|
||||
local parser2
|
||||
|
||||
if #implementations > 0 then
|
||||
print("------------------implementations generation with "..COMPILER.."------------------------")
|
||||
parser2 = cpp2ffi.Parser()
|
||||
|
||||
local config = require"config_generator"
|
||||
local impl_str = ""
|
||||
for i,impl in ipairs(implementations) do
|
||||
local source = backends_folder .. [[imgui_impl_]].. impl .. ".h "
|
||||
local locati = [[imgui_impl_]].. impl
|
||||
|
||||
local define_cmd = COMPILER=="cl" and [[ /E /D]] or [[ -E -D]]
|
||||
local extra_defines = ""
|
||||
if impl == "opengl3" then extra_defines = define_cmd .. "IMGUI_IMPL_OPENGL_LOADER_GL3W " end
|
||||
local include_cmd = COMPILER=="cl" and [[ /I ]] or [[ -I ]]
|
||||
local extra_includes = include_cmd.." ".. IMGUI_PATH .." "
|
||||
if config[impl] then
|
||||
for j,inc in ipairs(config[impl]) do
|
||||
extra_includes = extra_includes .. include_cmd .. inc .. " "
|
||||
end
|
||||
end
|
||||
|
||||
local defines = parser2:take_lines(CPRE..extra_defines..extra_includes..source, {locati}, COMPILER)
|
||||
|
||||
local parser3 = cpp2ffi.Parser()
|
||||
parser3:take_lines(CPRE..extra_defines..extra_includes..source, {locati}, COMPILER)
|
||||
parser3:do_parse()
|
||||
local cfuncsstr = func_header_impl_generate(parser3)
|
||||
local cstructstr1,cstructstr2 = parser3.structs_and_enums[1], parser3.structs_and_enums[2]
|
||||
impl_str = impl_str .. "#ifdef CIMGUI_USE_".. string.upper(impl).."\n" .. cstructstr1 .. cstructstr2 .. cfuncsstr .. "\n#endif\n"
|
||||
end
|
||||
|
||||
parser2:do_parse()
|
||||
|
||||
-- save ./cimgui_impl.h
|
||||
--local cfuncsstr = func_header_impl_generate(parser2)
|
||||
--local cstructstr1,cstructstr2 = parser2.structs_and_enums[1], parser2.structs_and_enums[2]
|
||||
--save_data("./output/cimgui_impl.h",cstructstr1,cstructstr2,cfuncsstr)
|
||||
save_data("./output/cimgui_impl.h",impl_str)
|
||||
|
||||
----------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),{dict_on_empty={defaults=true}}))
|
||||
--delete extra info for json
|
||||
structs_and_enums_table.templated_structs = nil
|
||||
structs_and_enums_table.typenames = nil
|
||||
structs_and_enums_table.templates_done = nil
|
||||
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),{dict_on_empty={defaults=true}}))
|
||||
end
|
||||
--]]
|
||||
-------------------copy C files to repo root
|
||||
copyfile("./output/cimgui.h", "../cimgui.h")
|
||||
copyfile("./output/cimgui.cpp", "../cimgui.cpp")
|
||||
os.remove("./output/cimgui.h")
|
||||
os.remove("./output/cimgui.cpp")
|
||||
print"all done!!"
|
19
generator/generator.sh
Executable file
19
generator/generator.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/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, or cl
|
||||
# arg[2] options as words in one string: internal for imgui_internal generation, freetype for freetype generation, comments for comments generation
|
||||
# examples: "" "internal" "internal freetype" "comments internal"
|
||||
# arg[3..n] name of implementations to generate and/or CLFLAGS (e.g. -DIMGUI_USER_CONFIG or -DIMGUI_USE_WCHAR32)
|
||||
luajit ./generator.lua gcc "internal" glfw opengl3 opengl2 sdl
|
422
generator/json.lua
Normal file
422
generator/json.lua
Normal file
@@ -0,0 +1,422 @@
|
||||
--
|
||||
-- json.lua
|
||||
--
|
||||
-- Copyright (c) 2018 rxi
|
||||
--
|
||||
-- Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
-- this software and associated documentation files (the "Software"), to deal in
|
||||
-- the Software without restriction, including without limitation the rights to
|
||||
-- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
-- of the Software, and to permit persons to whom the Software is furnished to do
|
||||
-- so, subject to the following conditions:
|
||||
--
|
||||
-- The above copyright notice and this permission notice shall be included in all
|
||||
-- copies or substantial portions of the Software.
|
||||
--
|
||||
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
-- SOFTWARE.
|
||||
--
|
||||
--changes---------------------------------------------------------------------
|
||||
--prettify: adding carriage return, indentation, dictionaries sorted by key
|
||||
--dict_on_empty: table to json.encode to make empty table a dictionary instead of array
|
||||
------------------------------------------------------------------------------
|
||||
local json = { _version = "0.1.1" }
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
-- Encode
|
||||
-------------------------------------------------------------------------------
|
||||
local TAB = " "
|
||||
local rep = string.rep
|
||||
local encode
|
||||
local dict_on_empty = {}
|
||||
|
||||
local escape_char_map = {
|
||||
[ "\\" ] = "\\\\",
|
||||
[ "\"" ] = "\\\"",
|
||||
[ "\b" ] = "\\b",
|
||||
[ "\f" ] = "\\f",
|
||||
[ "\n" ] = "\\n",
|
||||
[ "\r" ] = "\\r",
|
||||
[ "\t" ] = "\\t",
|
||||
}
|
||||
|
||||
local escape_char_map_inv = { [ "\\/" ] = "/" }
|
||||
for k, v in pairs(escape_char_map) do
|
||||
escape_char_map_inv[v] = k
|
||||
end
|
||||
|
||||
|
||||
local function escape_char(c)
|
||||
return escape_char_map[c] or string.format("\\u%04x", c:byte())
|
||||
end
|
||||
|
||||
|
||||
local function encode_nil(val)
|
||||
return "null"
|
||||
end
|
||||
|
||||
|
||||
local function encode_table(val, stack,level,isvalue)
|
||||
local res = {}
|
||||
stack = stack or {}
|
||||
level = level or 0
|
||||
-- Circular reference?
|
||||
if stack[val] then error("circular reference") end
|
||||
|
||||
stack[val] = true
|
||||
|
||||
if val[1] ~= nil or next(val) == nil then
|
||||
-- Treat as array -- check keys are valid and it is not sparse
|
||||
local n = 0
|
||||
for k in pairs(val) do
|
||||
if type(k) ~= "number" then
|
||||
error("invalid table: mixed or invalid key types")
|
||||
end
|
||||
n = n + 1
|
||||
end
|
||||
if n ~= #val then
|
||||
error("invalid table: sparse array")
|
||||
end
|
||||
|
||||
-- Encode
|
||||
for i, v in ipairs(val) do
|
||||
table.insert(res, encode(v, stack,level+1))
|
||||
end
|
||||
|
||||
stack[val] = nil
|
||||
local inner = table.concat(res, ",\n")
|
||||
if #inner > 0 then inner = "\n"..inner.."\n"..rep(TAB,level) end
|
||||
return rep(isvalue and "" or TAB,level).."[" .. inner .. "]"
|
||||
|
||||
else
|
||||
local ordered_keys = {}
|
||||
for k,v in pairs(val) do
|
||||
table.insert(ordered_keys,k)
|
||||
end
|
||||
table.sort(ordered_keys)
|
||||
-- Treat as an object
|
||||
for _,k in ipairs(ordered_keys) do
|
||||
local v = val[k]
|
||||
|
||||
if type(k) ~= "string" then
|
||||
error("invalid table: mixed or invalid key types")
|
||||
end
|
||||
if type(v) == "table" and next(v) == nil and dict_on_empty[k] then
|
||||
table.insert(res, encode(k, stack,level+1) .. ": {}")
|
||||
else
|
||||
table.insert(res, encode(k, stack,level+1) .. ": " .. encode(v, stack,level+1,true))
|
||||
end
|
||||
end
|
||||
stack[val] = nil
|
||||
local inner = table.concat(res, ",\n")
|
||||
if #inner > 0 then inner = "\n"..inner.."\n"..rep(TAB,level) end
|
||||
return rep(isvalue and "" or TAB,level).."{" .. inner .. "}"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local function encode_string(val,stack,level,isvalue)
|
||||
return rep(isvalue and "" or TAB,level)..'"' .. val:gsub('[%z\1-\31\\"]', escape_char) .. '"'
|
||||
end
|
||||
|
||||
|
||||
local function encode_number(val,stack,level,isvalue)
|
||||
-- Check for NaN, -inf and inf
|
||||
if val ~= val or val <= -math.huge or val >= math.huge then
|
||||
error("unexpected number value '" .. tostring(val) .. "'")
|
||||
end
|
||||
return rep(isvalue and "" or TAB,level)..string.format("%.14g", val)
|
||||
end
|
||||
|
||||
|
||||
local type_func_map = {
|
||||
[ "nil" ] = encode_nil,
|
||||
[ "table" ] = encode_table,
|
||||
[ "string" ] = encode_string,
|
||||
[ "number" ] = encode_number,
|
||||
[ "boolean" ] = tostring,
|
||||
}
|
||||
|
||||
|
||||
encode = function(val, stack,level,isvalue)
|
||||
local t = type(val)
|
||||
local f = type_func_map[t]
|
||||
if f then
|
||||
return f(val, stack,level,isvalue)
|
||||
end
|
||||
error("unexpected type '" .. t .. "'")
|
||||
end
|
||||
|
||||
|
||||
function json.encode(val,opts)
|
||||
dict_on_empty = opts and opts.dict_on_empty or {}
|
||||
return ( encode(val) )
|
||||
end
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
-- Decode
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
local parse
|
||||
|
||||
local function create_set(...)
|
||||
local res = {}
|
||||
for i = 1, select("#", ...) do
|
||||
res[ select(i, ...) ] = true
|
||||
end
|
||||
return res
|
||||
end
|
||||
|
||||
local space_chars = create_set(" ", "\t", "\r", "\n")
|
||||
local delim_chars = create_set(" ", "\t", "\r", "\n", "]", "}", ",")
|
||||
local escape_chars = create_set("\\", "/", '"', "b", "f", "n", "r", "t", "u")
|
||||
local literals = create_set("true", "false", "null")
|
||||
|
||||
local literal_map = {
|
||||
[ "true" ] = true,
|
||||
[ "false" ] = false,
|
||||
[ "null" ] = nil,
|
||||
}
|
||||
|
||||
|
||||
local function next_char(str, idx, set, negate)
|
||||
for i = idx, #str do
|
||||
if set[str:sub(i, i)] ~= negate then
|
||||
return i
|
||||
end
|
||||
end
|
||||
return #str + 1
|
||||
end
|
||||
|
||||
|
||||
local function decode_error(str, idx, msg)
|
||||
local line_count = 1
|
||||
local col_count = 1
|
||||
for i = 1, idx - 1 do
|
||||
col_count = col_count + 1
|
||||
if str:sub(i, i) == "\n" then
|
||||
line_count = line_count + 1
|
||||
col_count = 1
|
||||
end
|
||||
end
|
||||
error( string.format("%s at line %d col %d", msg, line_count, col_count) )
|
||||
end
|
||||
|
||||
|
||||
local function codepoint_to_utf8(n)
|
||||
-- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=iws-appendixa
|
||||
local f = math.floor
|
||||
if n <= 0x7f then
|
||||
return string.char(n)
|
||||
elseif n <= 0x7ff then
|
||||
return string.char(f(n / 64) + 192, n % 64 + 128)
|
||||
elseif n <= 0xffff then
|
||||
return string.char(f(n / 4096) + 224, f(n % 4096 / 64) + 128, n % 64 + 128)
|
||||
elseif n <= 0x10ffff then
|
||||
return string.char(f(n / 262144) + 240, f(n % 262144 / 4096) + 128,
|
||||
f(n % 4096 / 64) + 128, n % 64 + 128)
|
||||
end
|
||||
error( string.format("invalid unicode codepoint '%x'", n) )
|
||||
end
|
||||
|
||||
|
||||
local function parse_unicode_escape(s)
|
||||
local n1 = tonumber( s:sub(3, 6), 16 )
|
||||
local n2 = tonumber( s:sub(9, 12), 16 )
|
||||
-- Surrogate pair?
|
||||
if n2 then
|
||||
return codepoint_to_utf8((n1 - 0xd800) * 0x400 + (n2 - 0xdc00) + 0x10000)
|
||||
else
|
||||
return codepoint_to_utf8(n1)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
local function parse_string(str, i)
|
||||
local has_unicode_escape = false
|
||||
local has_surrogate_escape = false
|
||||
local has_escape = false
|
||||
local last
|
||||
for j = i + 1, #str do
|
||||
local x = str:byte(j)
|
||||
|
||||
if x < 32 then
|
||||
decode_error(str, j, "control character in string")
|
||||
end
|
||||
|
||||
if last == 92 then -- "\\" (escape char)
|
||||
if x == 117 then -- "u" (unicode escape sequence)
|
||||
local hex = str:sub(j + 1, j + 5)
|
||||
if not hex:find("%x%x%x%x") then
|
||||
decode_error(str, j, "invalid unicode escape in string")
|
||||
end
|
||||
if hex:find("^[dD][89aAbB]") then
|
||||
has_surrogate_escape = true
|
||||
else
|
||||
has_unicode_escape = true
|
||||
end
|
||||
else
|
||||
local c = string.char(x)
|
||||
if not escape_chars[c] then
|
||||
decode_error(str, j, "invalid escape char '" .. c .. "' in string")
|
||||
end
|
||||
has_escape = true
|
||||
end
|
||||
last = nil
|
||||
|
||||
elseif x == 34 then -- '"' (end of string)
|
||||
local s = str:sub(i + 1, j - 1)
|
||||
if has_surrogate_escape then
|
||||
s = s:gsub("\\u[dD][89aAbB]..\\u....", parse_unicode_escape)
|
||||
end
|
||||
if has_unicode_escape then
|
||||
s = s:gsub("\\u....", parse_unicode_escape)
|
||||
end
|
||||
if has_escape then
|
||||
s = s:gsub("\\.", escape_char_map_inv)
|
||||
end
|
||||
return s, j + 1
|
||||
|
||||
else
|
||||
last = x
|
||||
end
|
||||
end
|
||||
decode_error(str, i, "expected closing quote for string")
|
||||
end
|
||||
|
||||
|
||||
local function parse_number(str, i)
|
||||
local x = next_char(str, i, delim_chars)
|
||||
local s = str:sub(i, x - 1)
|
||||
local n = tonumber(s)
|
||||
if not n then
|
||||
decode_error(str, i, "invalid number '" .. s .. "'")
|
||||
end
|
||||
return n, x
|
||||
end
|
||||
|
||||
|
||||
local function parse_literal(str, i)
|
||||
local x = next_char(str, i, delim_chars)
|
||||
local word = str:sub(i, x - 1)
|
||||
if not literals[word] then
|
||||
decode_error(str, i, "invalid literal '" .. word .. "'")
|
||||
end
|
||||
return literal_map[word], x
|
||||
end
|
||||
|
||||
|
||||
local function parse_array(str, i)
|
||||
local res = {}
|
||||
local n = 1
|
||||
i = i + 1
|
||||
while 1 do
|
||||
local x
|
||||
i = next_char(str, i, space_chars, true)
|
||||
-- Empty / end of array?
|
||||
if str:sub(i, i) == "]" then
|
||||
i = i + 1
|
||||
break
|
||||
end
|
||||
-- Read token
|
||||
x, i = parse(str, i)
|
||||
res[n] = x
|
||||
n = n + 1
|
||||
-- Next token
|
||||
i = next_char(str, i, space_chars, true)
|
||||
local chr = str:sub(i, i)
|
||||
i = i + 1
|
||||
if chr == "]" then break end
|
||||
if chr ~= "," then decode_error(str, i, "expected ']' or ','") end
|
||||
end
|
||||
return res, i
|
||||
end
|
||||
|
||||
|
||||
local function parse_object(str, i)
|
||||
local res = {}
|
||||
i = i + 1
|
||||
while 1 do
|
||||
local key, val
|
||||
i = next_char(str, i, space_chars, true)
|
||||
-- Empty / end of object?
|
||||
if str:sub(i, i) == "}" then
|
||||
i = i + 1
|
||||
break
|
||||
end
|
||||
-- Read key
|
||||
if str:sub(i, i) ~= '"' then
|
||||
decode_error(str, i, "expected string for key")
|
||||
end
|
||||
key, i = parse(str, i)
|
||||
-- Read ':' delimiter
|
||||
i = next_char(str, i, space_chars, true)
|
||||
if str:sub(i, i) ~= ":" then
|
||||
decode_error(str, i, "expected ':' after key")
|
||||
end
|
||||
i = next_char(str, i + 1, space_chars, true)
|
||||
-- Read value
|
||||
val, i = parse(str, i)
|
||||
-- Set
|
||||
res[key] = val
|
||||
-- Next token
|
||||
i = next_char(str, i, space_chars, true)
|
||||
local chr = str:sub(i, i)
|
||||
i = i + 1
|
||||
if chr == "}" then break end
|
||||
if chr ~= "," then decode_error(str, i, "expected '}' or ','") end
|
||||
end
|
||||
return res, i
|
||||
end
|
||||
|
||||
|
||||
local char_func_map = {
|
||||
[ '"' ] = parse_string,
|
||||
[ "0" ] = parse_number,
|
||||
[ "1" ] = parse_number,
|
||||
[ "2" ] = parse_number,
|
||||
[ "3" ] = parse_number,
|
||||
[ "4" ] = parse_number,
|
||||
[ "5" ] = parse_number,
|
||||
[ "6" ] = parse_number,
|
||||
[ "7" ] = parse_number,
|
||||
[ "8" ] = parse_number,
|
||||
[ "9" ] = parse_number,
|
||||
[ "-" ] = parse_number,
|
||||
[ "t" ] = parse_literal,
|
||||
[ "f" ] = parse_literal,
|
||||
[ "n" ] = parse_literal,
|
||||
[ "[" ] = parse_array,
|
||||
[ "{" ] = parse_object,
|
||||
}
|
||||
|
||||
|
||||
parse = function(str, idx)
|
||||
local chr = str:sub(idx, idx)
|
||||
local f = char_func_map[chr]
|
||||
if f then
|
||||
return f(str, idx)
|
||||
end
|
||||
decode_error(str, idx, "unexpected character '" .. chr .. "'")
|
||||
end
|
||||
|
||||
|
||||
function json.decode(str)
|
||||
if type(str) ~= "string" then
|
||||
error("expected argument of type string, got " .. type(str))
|
||||
end
|
||||
local res, idx = parse(str, next_char(str, 1, space_chars, true))
|
||||
idx = next_char(str, idx, space_chars, true)
|
||||
if idx <= #str then
|
||||
decode_error(str, idx, "trailing garbage")
|
||||
end
|
||||
return res
|
||||
end
|
||||
|
||||
return json
|
60
generator/output/cimgui_impl.h
Normal file
60
generator/output/cimgui_impl.h
Normal file
@@ -0,0 +1,60 @@
|
||||
#ifdef CIMGUI_USE_GLFW
|
||||
|
||||
typedef struct GLFWwindow GLFWwindow;
|
||||
typedef struct GLFWmonitor GLFWmonitor;
|
||||
struct GLFWwindow;
|
||||
struct GLFWmonitor;CIMGUI_API bool ImGui_ImplGlfw_InitForOpenGL(GLFWwindow* window,bool install_callbacks);
|
||||
CIMGUI_API bool ImGui_ImplGlfw_InitForVulkan(GLFWwindow* window,bool install_callbacks);
|
||||
CIMGUI_API bool ImGui_ImplGlfw_InitForOther(GLFWwindow* window,bool install_callbacks);
|
||||
CIMGUI_API void ImGui_ImplGlfw_Shutdown(void);
|
||||
CIMGUI_API void ImGui_ImplGlfw_NewFrame(void);
|
||||
CIMGUI_API void ImGui_ImplGlfw_InstallCallbacks(GLFWwindow* window);
|
||||
CIMGUI_API void ImGui_ImplGlfw_RestoreCallbacks(GLFWwindow* window);
|
||||
CIMGUI_API void ImGui_ImplGlfw_WindowFocusCallback(GLFWwindow* window,int focused);
|
||||
CIMGUI_API void ImGui_ImplGlfw_CursorEnterCallback(GLFWwindow* window,int entered);
|
||||
CIMGUI_API void ImGui_ImplGlfw_CursorPosCallback(GLFWwindow* window,double x,double y);
|
||||
CIMGUI_API void ImGui_ImplGlfw_MouseButtonCallback(GLFWwindow* window,int button,int action,int mods);
|
||||
CIMGUI_API void ImGui_ImplGlfw_ScrollCallback(GLFWwindow* window,double xoffset,double yoffset);
|
||||
CIMGUI_API void ImGui_ImplGlfw_KeyCallback(GLFWwindow* window,int key,int scancode,int action,int mods);
|
||||
CIMGUI_API void ImGui_ImplGlfw_CharCallback(GLFWwindow* window,unsigned int c);
|
||||
CIMGUI_API void ImGui_ImplGlfw_MonitorCallback(GLFWmonitor* monitor,int event);
|
||||
|
||||
#endif
|
||||
#ifdef CIMGUI_USE_OPENGL3
|
||||
CIMGUI_API bool ImGui_ImplOpenGL3_Init(const char* glsl_version);
|
||||
CIMGUI_API void ImGui_ImplOpenGL3_Shutdown(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL3_NewFrame(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL3_RenderDrawData(ImDrawData* draw_data);
|
||||
CIMGUI_API bool ImGui_ImplOpenGL3_CreateFontsTexture(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL3_DestroyFontsTexture(void);
|
||||
CIMGUI_API bool ImGui_ImplOpenGL3_CreateDeviceObjects(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL3_DestroyDeviceObjects(void);
|
||||
|
||||
#endif
|
||||
#ifdef CIMGUI_USE_OPENGL2
|
||||
CIMGUI_API bool ImGui_ImplOpenGL2_Init(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL2_Shutdown(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL2_NewFrame(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL2_RenderDrawData(ImDrawData* draw_data);
|
||||
CIMGUI_API bool ImGui_ImplOpenGL2_CreateFontsTexture(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL2_DestroyFontsTexture(void);
|
||||
CIMGUI_API bool ImGui_ImplOpenGL2_CreateDeviceObjects(void);
|
||||
CIMGUI_API void ImGui_ImplOpenGL2_DestroyDeviceObjects(void);
|
||||
|
||||
#endif
|
||||
#ifdef CIMGUI_USE_SDL
|
||||
|
||||
typedef struct SDL_Window SDL_Window;
|
||||
typedef struct SDL_Renderer SDL_Renderer;
|
||||
struct SDL_Window;
|
||||
struct SDL_Renderer;
|
||||
typedef union SDL_Event SDL_Event;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 bool ImGui_ImplSDL2_InitForMetal(SDL_Window* window);
|
||||
CIMGUI_API bool ImGui_ImplSDL2_InitForSDLRenderer(SDL_Window* window,SDL_Renderer* renderer);
|
||||
CIMGUI_API void ImGui_ImplSDL2_Shutdown(void);
|
||||
CIMGUI_API void ImGui_ImplSDL2_NewFrame(void);
|
||||
CIMGUI_API bool ImGui_ImplSDL2_ProcessEvent(const SDL_Event* event);
|
||||
|
||||
#endif
|
33941
generator/output/definitions.json
Normal file
33941
generator/output/definitions.json
Normal file
File diff suppressed because it is too large
Load Diff
28731
generator/output/definitions.lua
Normal file
28731
generator/output/definitions.lua
Normal file
File diff suppressed because it is too large
Load Diff
818
generator/output/impl_definitions.json
Normal file
818
generator/output/impl_definitions.json
Normal file
@@ -0,0 +1,818 @@
|
||||
{
|
||||
"ImGui_ImplGlfw_CharCallback": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,unsigned int c)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
},
|
||||
{
|
||||
"name": "c",
|
||||
"type": "unsigned int"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window,unsigned int c)",
|
||||
"call_args": "(window,c)",
|
||||
"cimguiname": "ImGui_ImplGlfw_CharCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_CharCallback",
|
||||
"location": "imgui_impl_glfw:41",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_CharCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,unsigned int)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_CursorEnterCallback": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,int entered)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
},
|
||||
{
|
||||
"name": "entered",
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window,int entered)",
|
||||
"call_args": "(window,entered)",
|
||||
"cimguiname": "ImGui_ImplGlfw_CursorEnterCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_CursorEnterCallback",
|
||||
"location": "imgui_impl_glfw:36",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_CursorEnterCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,int)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_CursorPosCallback": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,double x,double y)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
},
|
||||
{
|
||||
"name": "x",
|
||||
"type": "double"
|
||||
},
|
||||
{
|
||||
"name": "y",
|
||||
"type": "double"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window,double x,double y)",
|
||||
"call_args": "(window,x,y)",
|
||||
"cimguiname": "ImGui_ImplGlfw_CursorPosCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_CursorPosCallback",
|
||||
"location": "imgui_impl_glfw:37",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_CursorPosCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,double,double)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_InitForOpenGL": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,bool install_callbacks)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
},
|
||||
{
|
||||
"name": "install_callbacks",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window,bool install_callbacks)",
|
||||
"call_args": "(window,install_callbacks)",
|
||||
"cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_InitForOpenGL",
|
||||
"location": "imgui_impl_glfw:22",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_InitForOpenGL",
|
||||
"ret": "bool",
|
||||
"signature": "(GLFWwindow*,bool)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_InitForOther": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,bool install_callbacks)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
},
|
||||
{
|
||||
"name": "install_callbacks",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window,bool install_callbacks)",
|
||||
"call_args": "(window,install_callbacks)",
|
||||
"cimguiname": "ImGui_ImplGlfw_InitForOther",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_InitForOther",
|
||||
"location": "imgui_impl_glfw:24",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_InitForOther",
|
||||
"ret": "bool",
|
||||
"signature": "(GLFWwindow*,bool)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_InitForVulkan": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,bool install_callbacks)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
},
|
||||
{
|
||||
"name": "install_callbacks",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window,bool install_callbacks)",
|
||||
"call_args": "(window,install_callbacks)",
|
||||
"cimguiname": "ImGui_ImplGlfw_InitForVulkan",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_InitForVulkan",
|
||||
"location": "imgui_impl_glfw:23",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_InitForVulkan",
|
||||
"ret": "bool",
|
||||
"signature": "(GLFWwindow*,bool)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_InstallCallbacks": [
|
||||
{
|
||||
"args": "(GLFWwindow* window)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplGlfw_InstallCallbacks",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_InstallCallbacks",
|
||||
"location": "imgui_impl_glfw:31",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_InstallCallbacks",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_KeyCallback": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,int key,int scancode,int action,int mods)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
},
|
||||
{
|
||||
"name": "key",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "scancode",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "action",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "mods",
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window,int key,int scancode,int action,int mods)",
|
||||
"call_args": "(window,key,scancode,action,mods)",
|
||||
"cimguiname": "ImGui_ImplGlfw_KeyCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_KeyCallback",
|
||||
"location": "imgui_impl_glfw:40",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_KeyCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,int,int,int,int)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_MonitorCallback": [
|
||||
{
|
||||
"args": "(GLFWmonitor* monitor,int event)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "monitor",
|
||||
"type": "GLFWmonitor*"
|
||||
},
|
||||
{
|
||||
"name": "event",
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWmonitor* monitor,int event)",
|
||||
"call_args": "(monitor,event)",
|
||||
"cimguiname": "ImGui_ImplGlfw_MonitorCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_MonitorCallback",
|
||||
"location": "imgui_impl_glfw:42",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_MonitorCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWmonitor*,int)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_MouseButtonCallback": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,int button,int action,int mods)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
},
|
||||
{
|
||||
"name": "button",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "action",
|
||||
"type": "int"
|
||||
},
|
||||
{
|
||||
"name": "mods",
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window,int button,int action,int mods)",
|
||||
"call_args": "(window,button,action,mods)",
|
||||
"cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_MouseButtonCallback",
|
||||
"location": "imgui_impl_glfw:38",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_MouseButtonCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,int,int,int)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_NewFrame": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplGlfw_NewFrame",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_NewFrame",
|
||||
"location": "imgui_impl_glfw:26",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_RestoreCallbacks": [
|
||||
{
|
||||
"args": "(GLFWwindow* window)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplGlfw_RestoreCallbacks",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_RestoreCallbacks",
|
||||
"location": "imgui_impl_glfw:32",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_RestoreCallbacks",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_ScrollCallback": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,double xoffset,double yoffset)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
},
|
||||
{
|
||||
"name": "xoffset",
|
||||
"type": "double"
|
||||
},
|
||||
{
|
||||
"name": "yoffset",
|
||||
"type": "double"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window,double xoffset,double yoffset)",
|
||||
"call_args": "(window,xoffset,yoffset)",
|
||||
"cimguiname": "ImGui_ImplGlfw_ScrollCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_ScrollCallback",
|
||||
"location": "imgui_impl_glfw:39",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_ScrollCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,double,double)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_Shutdown": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplGlfw_Shutdown",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_Shutdown",
|
||||
"location": "imgui_impl_glfw:25",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplGlfw_WindowFocusCallback": [
|
||||
{
|
||||
"args": "(GLFWwindow* window,int focused)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "GLFWwindow*"
|
||||
},
|
||||
{
|
||||
"name": "focused",
|
||||
"type": "int"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(GLFWwindow* window,int focused)",
|
||||
"call_args": "(window,focused)",
|
||||
"cimguiname": "ImGui_ImplGlfw_WindowFocusCallback",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplGlfw_WindowFocusCallback",
|
||||
"location": "imgui_impl_glfw:35",
|
||||
"ov_cimguiname": "ImGui_ImplGlfw_WindowFocusCallback",
|
||||
"ret": "void",
|
||||
"signature": "(GLFWwindow*,int)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_CreateDeviceObjects": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
"location": "imgui_impl_opengl2:31",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateDeviceObjects",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_CreateFontsTexture": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
"location": "imgui_impl_opengl2:29",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_CreateFontsTexture",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_DestroyDeviceObjects": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
"location": "imgui_impl_opengl2:32",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyDeviceObjects",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_DestroyFontsTexture": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
"location": "imgui_impl_opengl2:30",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_DestroyFontsTexture",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_Init": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_Init",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_Init",
|
||||
"location": "imgui_impl_opengl2:23",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_Init",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_NewFrame": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_NewFrame",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_NewFrame",
|
||||
"location": "imgui_impl_opengl2:25",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_RenderDrawData": [
|
||||
{
|
||||
"args": "(ImDrawData* draw_data)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "draw_data",
|
||||
"type": "ImDrawData*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(ImDrawData* draw_data)",
|
||||
"call_args": "(draw_data)",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_RenderDrawData",
|
||||
"location": "imgui_impl_opengl2:26",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_RenderDrawData",
|
||||
"ret": "void",
|
||||
"signature": "(ImDrawData*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL2_Shutdown": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL2_Shutdown",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL2_Shutdown",
|
||||
"location": "imgui_impl_opengl2:24",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL2_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_CreateDeviceObjects": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
"location": "imgui_impl_opengl3:32",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateDeviceObjects",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_CreateFontsTexture": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
"location": "imgui_impl_opengl3:30",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_CreateFontsTexture",
|
||||
"ret": "bool",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_DestroyDeviceObjects": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
"location": "imgui_impl_opengl3:33",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyDeviceObjects",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_DestroyFontsTexture": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
"location": "imgui_impl_opengl3:31",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_DestroyFontsTexture",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_Init": [
|
||||
{
|
||||
"args": "(const char* glsl_version)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "glsl_version",
|
||||
"type": "const char*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(const char* glsl_version=nullptr)",
|
||||
"call_args": "(glsl_version)",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_Init",
|
||||
"defaults": {
|
||||
"glsl_version": "nullptr"
|
||||
},
|
||||
"funcname": "ImGui_ImplOpenGL3_Init",
|
||||
"location": "imgui_impl_opengl3:24",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_Init",
|
||||
"ret": "bool",
|
||||
"signature": "(const char*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_NewFrame": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_NewFrame",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_NewFrame",
|
||||
"location": "imgui_impl_opengl3:26",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_RenderDrawData": [
|
||||
{
|
||||
"args": "(ImDrawData* draw_data)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "draw_data",
|
||||
"type": "ImDrawData*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(ImDrawData* draw_data)",
|
||||
"call_args": "(draw_data)",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_RenderDrawData",
|
||||
"location": "imgui_impl_opengl3:27",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_RenderDrawData",
|
||||
"ret": "void",
|
||||
"signature": "(ImDrawData*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplOpenGL3_Shutdown": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplOpenGL3_Shutdown",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplOpenGL3_Shutdown",
|
||||
"location": "imgui_impl_opengl3:25",
|
||||
"ov_cimguiname": "ImGui_ImplOpenGL3_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"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",
|
||||
"location": "imgui_impl_sdl:27",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForD3D",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_InitForMetal": [
|
||||
{
|
||||
"args": "(SDL_Window* window)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "SDL_Window*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(SDL_Window* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplSDL2_InitForMetal",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_InitForMetal",
|
||||
"location": "imgui_impl_sdl:28",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForMetal",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_InitForOpenGL": [
|
||||
{
|
||||
"args": "(SDL_Window* window,void* sdl_gl_context)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "SDL_Window*"
|
||||
},
|
||||
{
|
||||
"name": "sdl_gl_context",
|
||||
"type": "void*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(SDL_Window* window,void* sdl_gl_context)",
|
||||
"call_args": "(window,sdl_gl_context)",
|
||||
"cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_InitForOpenGL",
|
||||
"location": "imgui_impl_sdl:25",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForOpenGL",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*,void*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_InitForSDLRenderer": [
|
||||
{
|
||||
"args": "(SDL_Window* window,SDL_Renderer* renderer)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "SDL_Window*"
|
||||
},
|
||||
{
|
||||
"name": "renderer",
|
||||
"type": "SDL_Renderer*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(SDL_Window* window,SDL_Renderer* renderer)",
|
||||
"call_args": "(window,renderer)",
|
||||
"cimguiname": "ImGui_ImplSDL2_InitForSDLRenderer",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_InitForSDLRenderer",
|
||||
"location": "imgui_impl_sdl:29",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForSDLRenderer",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*,SDL_Renderer*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_InitForVulkan": [
|
||||
{
|
||||
"args": "(SDL_Window* window)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "window",
|
||||
"type": "SDL_Window*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(SDL_Window* window)",
|
||||
"call_args": "(window)",
|
||||
"cimguiname": "ImGui_ImplSDL2_InitForVulkan",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_InitForVulkan",
|
||||
"location": "imgui_impl_sdl:26",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_InitForVulkan",
|
||||
"ret": "bool",
|
||||
"signature": "(SDL_Window*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_NewFrame": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplSDL2_NewFrame",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_NewFrame",
|
||||
"location": "imgui_impl_sdl:31",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_NewFrame",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_ProcessEvent": [
|
||||
{
|
||||
"args": "(const SDL_Event* event)",
|
||||
"argsT": [
|
||||
{
|
||||
"name": "event",
|
||||
"type": "const SDL_Event*"
|
||||
}
|
||||
],
|
||||
"argsoriginal": "(const SDL_Event* event)",
|
||||
"call_args": "(event)",
|
||||
"cimguiname": "ImGui_ImplSDL2_ProcessEvent",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_ProcessEvent",
|
||||
"location": "imgui_impl_sdl:32",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_ProcessEvent",
|
||||
"ret": "bool",
|
||||
"signature": "(const SDL_Event*)",
|
||||
"stname": ""
|
||||
}
|
||||
],
|
||||
"ImGui_ImplSDL2_Shutdown": [
|
||||
{
|
||||
"args": "()",
|
||||
"argsT": [],
|
||||
"argsoriginal": "()",
|
||||
"call_args": "()",
|
||||
"cimguiname": "ImGui_ImplSDL2_Shutdown",
|
||||
"defaults": {},
|
||||
"funcname": "ImGui_ImplSDL2_Shutdown",
|
||||
"location": "imgui_impl_sdl:30",
|
||||
"ov_cimguiname": "ImGui_ImplSDL2_Shutdown",
|
||||
"ret": "void",
|
||||
"signature": "()",
|
||||
"stname": ""
|
||||
}
|
||||
]
|
||||
}
|
715
generator/output/impl_definitions.lua
Normal file
715
generator/output/impl_definitions.lua
Normal file
@@ -0,0 +1,715 @@
|
||||
local defs = {}
|
||||
defs["ImGui_ImplGlfw_CharCallback"] = {}
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1] = {}
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["args"] = "(GLFWwindow* window,unsigned int c)"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][2]["name"] = "c"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["argsT"][2]["type"] = "unsigned int"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["argsoriginal"] = "(GLFWwindow* window,unsigned int c)"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["call_args"] = "(window,c)"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_CharCallback"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["funcname"] = "ImGui_ImplGlfw_CharCallback"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["location"] = "imgui_impl_glfw:41"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_CharCallback"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["signature"] = "(GLFWwindow*,unsigned int)"
|
||||
defs["ImGui_ImplGlfw_CharCallback"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_CharCallback"]["(GLFWwindow*,unsigned int)"] = defs["ImGui_ImplGlfw_CharCallback"][1]
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"] = {}
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1] = {}
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["args"] = "(GLFWwindow* window,int entered)"
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["argsT"][2]["name"] = "entered"
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["argsT"][2]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["argsoriginal"] = "(GLFWwindow* window,int entered)"
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["call_args"] = "(window,entered)"
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_CursorEnterCallback"
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["funcname"] = "ImGui_ImplGlfw_CursorEnterCallback"
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["location"] = "imgui_impl_glfw:36"
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_CursorEnterCallback"
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["signature"] = "(GLFWwindow*,int)"
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_CursorEnterCallback"]["(GLFWwindow*,int)"] = defs["ImGui_ImplGlfw_CursorEnterCallback"][1]
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"] = {}
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1] = {}
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["args"] = "(GLFWwindow* window,double x,double y)"
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][2]["name"] = "x"
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][2]["type"] = "double"
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][3] = {}
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][3]["name"] = "y"
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsT"][3]["type"] = "double"
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["argsoriginal"] = "(GLFWwindow* window,double x,double y)"
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["call_args"] = "(window,x,y)"
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_CursorPosCallback"
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["funcname"] = "ImGui_ImplGlfw_CursorPosCallback"
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["location"] = "imgui_impl_glfw:37"
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_CursorPosCallback"
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["signature"] = "(GLFWwindow*,double,double)"
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_CursorPosCallback"]["(GLFWwindow*,double,double)"] = defs["ImGui_ImplGlfw_CursorPosCallback"][1]
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["args"] = "(GLFWwindow* window,bool install_callbacks)"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][2]["name"] = "install_callbacks"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsT"][2]["type"] = "bool"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["argsoriginal"] = "(GLFWwindow* window,bool install_callbacks)"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["call_args"] = "(window,install_callbacks)"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["cimguiname"] = "ImGui_ImplGlfw_InitForOpenGL"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["funcname"] = "ImGui_ImplGlfw_InitForOpenGL"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["location"] = "imgui_impl_glfw:22"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForOpenGL"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["signature"] = "(GLFWwindow*,bool)"
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_InitForOpenGL"]["(GLFWwindow*,bool)"] = defs["ImGui_ImplGlfw_InitForOpenGL"][1]
|
||||
defs["ImGui_ImplGlfw_InitForOther"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["args"] = "(GLFWwindow* window,bool install_callbacks)"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][2]["name"] = "install_callbacks"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["argsT"][2]["type"] = "bool"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["argsoriginal"] = "(GLFWwindow* window,bool install_callbacks)"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["call_args"] = "(window,install_callbacks)"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["cimguiname"] = "ImGui_ImplGlfw_InitForOther"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["funcname"] = "ImGui_ImplGlfw_InitForOther"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["location"] = "imgui_impl_glfw:24"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForOther"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["signature"] = "(GLFWwindow*,bool)"
|
||||
defs["ImGui_ImplGlfw_InitForOther"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_InitForOther"]["(GLFWwindow*,bool)"] = defs["ImGui_ImplGlfw_InitForOther"][1]
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1] = {}
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["args"] = "(GLFWwindow* window,bool install_callbacks)"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][2]["name"] = "install_callbacks"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsT"][2]["type"] = "bool"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["argsoriginal"] = "(GLFWwindow* window,bool install_callbacks)"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["call_args"] = "(window,install_callbacks)"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["cimguiname"] = "ImGui_ImplGlfw_InitForVulkan"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["funcname"] = "ImGui_ImplGlfw_InitForVulkan"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["location"] = "imgui_impl_glfw:23"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InitForVulkan"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["signature"] = "(GLFWwindow*,bool)"
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_InitForVulkan"]["(GLFWwindow*,bool)"] = defs["ImGui_ImplGlfw_InitForVulkan"][1]
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"] = {}
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"][1] = {}
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["args"] = "(GLFWwindow* window)"
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["argsoriginal"] = "(GLFWwindow* window)"
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["call_args"] = "(window)"
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["cimguiname"] = "ImGui_ImplGlfw_InstallCallbacks"
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["funcname"] = "ImGui_ImplGlfw_InstallCallbacks"
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["location"] = "imgui_impl_glfw:31"
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_InstallCallbacks"
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["signature"] = "(GLFWwindow*)"
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_InstallCallbacks"]["(GLFWwindow*)"] = defs["ImGui_ImplGlfw_InstallCallbacks"][1]
|
||||
defs["ImGui_ImplGlfw_KeyCallback"] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["args"] = "(GLFWwindow* window,int key,int scancode,int action,int mods)"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][2]["name"] = "key"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][2]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][3] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][3]["name"] = "scancode"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][3]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][4] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][4]["name"] = "action"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][4]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][5] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][5]["name"] = "mods"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsT"][5]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["argsoriginal"] = "(GLFWwindow* window,int key,int scancode,int action,int mods)"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["call_args"] = "(window,key,scancode,action,mods)"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_KeyCallback"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["funcname"] = "ImGui_ImplGlfw_KeyCallback"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["location"] = "imgui_impl_glfw:40"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_KeyCallback"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["signature"] = "(GLFWwindow*,int,int,int,int)"
|
||||
defs["ImGui_ImplGlfw_KeyCallback"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_KeyCallback"]["(GLFWwindow*,int,int,int,int)"] = defs["ImGui_ImplGlfw_KeyCallback"][1]
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"] = {}
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1] = {}
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["args"] = "(GLFWmonitor* monitor,int event)"
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["argsT"][1]["name"] = "monitor"
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["argsT"][1]["type"] = "GLFWmonitor*"
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["argsT"][2]["name"] = "event"
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["argsT"][2]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["argsoriginal"] = "(GLFWmonitor* monitor,int event)"
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["call_args"] = "(monitor,event)"
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_MonitorCallback"
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["funcname"] = "ImGui_ImplGlfw_MonitorCallback"
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["location"] = "imgui_impl_glfw:42"
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_MonitorCallback"
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["signature"] = "(GLFWmonitor*,int)"
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_MonitorCallback"]["(GLFWmonitor*,int)"] = defs["ImGui_ImplGlfw_MonitorCallback"][1]
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"] = {}
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1] = {}
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["args"] = "(GLFWwindow* window,int button,int action,int mods)"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][2]["name"] = "button"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][2]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][3] = {}
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][3]["name"] = "action"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][3]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][4] = {}
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][4]["name"] = "mods"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsT"][4]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["argsoriginal"] = "(GLFWwindow* window,int button,int action,int mods)"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["call_args"] = "(window,button,action,mods)"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["funcname"] = "ImGui_ImplGlfw_MouseButtonCallback"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["location"] = "imgui_impl_glfw:38"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_MouseButtonCallback"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["signature"] = "(GLFWwindow*,int,int,int)"
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_MouseButtonCallback"]["(GLFWwindow*,int,int,int)"] = defs["ImGui_ImplGlfw_MouseButtonCallback"][1]
|
||||
defs["ImGui_ImplGlfw_NewFrame"] = {}
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1] = {}
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["args"] = "()"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["argsoriginal"] = "()"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["cimguiname"] = "ImGui_ImplGlfw_NewFrame"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["funcname"] = "ImGui_ImplGlfw_NewFrame"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["location"] = "imgui_impl_glfw:26"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_NewFrame"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplGlfw_NewFrame"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_NewFrame"]["()"] = defs["ImGui_ImplGlfw_NewFrame"][1]
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"] = {}
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"][1] = {}
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["args"] = "(GLFWwindow* window)"
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["argsoriginal"] = "(GLFWwindow* window)"
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["call_args"] = "(window)"
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["cimguiname"] = "ImGui_ImplGlfw_RestoreCallbacks"
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["funcname"] = "ImGui_ImplGlfw_RestoreCallbacks"
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["location"] = "imgui_impl_glfw:32"
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_RestoreCallbacks"
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["signature"] = "(GLFWwindow*)"
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_RestoreCallbacks"]["(GLFWwindow*)"] = defs["ImGui_ImplGlfw_RestoreCallbacks"][1]
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"] = {}
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1] = {}
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["args"] = "(GLFWwindow* window,double xoffset,double yoffset)"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][2]["name"] = "xoffset"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][2]["type"] = "double"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][3] = {}
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][3]["name"] = "yoffset"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsT"][3]["type"] = "double"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["argsoriginal"] = "(GLFWwindow* window,double xoffset,double yoffset)"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["call_args"] = "(window,xoffset,yoffset)"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_ScrollCallback"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["funcname"] = "ImGui_ImplGlfw_ScrollCallback"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["location"] = "imgui_impl_glfw:39"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_ScrollCallback"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["signature"] = "(GLFWwindow*,double,double)"
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_ScrollCallback"]["(GLFWwindow*,double,double)"] = defs["ImGui_ImplGlfw_ScrollCallback"][1]
|
||||
defs["ImGui_ImplGlfw_Shutdown"] = {}
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1] = {}
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["args"] = "()"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["argsoriginal"] = "()"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["cimguiname"] = "ImGui_ImplGlfw_Shutdown"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["funcname"] = "ImGui_ImplGlfw_Shutdown"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["location"] = "imgui_impl_glfw:25"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_Shutdown"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplGlfw_Shutdown"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_Shutdown"]["()"] = defs["ImGui_ImplGlfw_Shutdown"][1]
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"] = {}
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1] = {}
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["args"] = "(GLFWwindow* window,int focused)"
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["argsT"][1]["type"] = "GLFWwindow*"
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["argsT"][2]["name"] = "focused"
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["argsT"][2]["type"] = "int"
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["argsoriginal"] = "(GLFWwindow* window,int focused)"
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["call_args"] = "(window,focused)"
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["cimguiname"] = "ImGui_ImplGlfw_WindowFocusCallback"
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["funcname"] = "ImGui_ImplGlfw_WindowFocusCallback"
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["location"] = "imgui_impl_glfw:35"
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["ov_cimguiname"] = "ImGui_ImplGlfw_WindowFocusCallback"
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["signature"] = "(GLFWwindow*,int)"
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"][1]["stname"] = ""
|
||||
defs["ImGui_ImplGlfw_WindowFocusCallback"]["(GLFWwindow*,int)"] = defs["ImGui_ImplGlfw_WindowFocusCallback"][1]
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"] = {}
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["argsoriginal"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl2:31"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL2_CreateDeviceObjects"]["()"] = defs["ImGui_ImplOpenGL2_CreateDeviceObjects"][1]
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"] = {}
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["argsoriginal"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl2:29"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_CreateFontsTexture"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL2_CreateFontsTexture"]["()"] = defs["ImGui_ImplOpenGL2_CreateFontsTexture"][1]
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"] = {}
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["argsoriginal"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl2:32"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"]["()"] = defs["ImGui_ImplOpenGL2_DestroyDeviceObjects"][1]
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"] = {}
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["argsoriginal"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl2:30"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_DestroyFontsTexture"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL2_DestroyFontsTexture"]["()"] = defs["ImGui_ImplOpenGL2_DestroyFontsTexture"][1]
|
||||
defs["ImGui_ImplOpenGL2_Init"] = {}
|
||||
defs["ImGui_ImplOpenGL2_Init"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["argsoriginal"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["cimguiname"] = "ImGui_ImplOpenGL2_Init"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["funcname"] = "ImGui_ImplOpenGL2_Init"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["location"] = "imgui_impl_opengl2:23"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Init"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_Init"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL2_Init"]["()"] = defs["ImGui_ImplOpenGL2_Init"][1]
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"] = {}
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["argsoriginal"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplOpenGL2_NewFrame"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["funcname"] = "ImGui_ImplOpenGL2_NewFrame"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["location"] = "imgui_impl_opengl2:25"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_NewFrame"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL2_NewFrame"]["()"] = defs["ImGui_ImplOpenGL2_NewFrame"][1]
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"] = {}
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["args"] = "(ImDrawData* draw_data)"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsT"][1]["name"] = "draw_data"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsT"][1]["type"] = "ImDrawData*"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["argsoriginal"] = "(ImDrawData* draw_data)"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["call_args"] = "(draw_data)"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["cimguiname"] = "ImGui_ImplOpenGL2_RenderDrawData"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["funcname"] = "ImGui_ImplOpenGL2_RenderDrawData"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["location"] = "imgui_impl_opengl2:26"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_RenderDrawData"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL2_RenderDrawData"]["(ImDrawData*)"] = defs["ImGui_ImplOpenGL2_RenderDrawData"][1]
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"] = {}
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1] = {}
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["argsoriginal"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplOpenGL2_Shutdown"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["funcname"] = "ImGui_ImplOpenGL2_Shutdown"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["location"] = "imgui_impl_opengl2:24"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL2_Shutdown"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL2_Shutdown"]["()"] = defs["ImGui_ImplOpenGL2_Shutdown"][1]
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"] = {}
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["argsoriginal"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["location"] = "imgui_impl_opengl3:32"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL3_CreateDeviceObjects"]["()"] = defs["ImGui_ImplOpenGL3_CreateDeviceObjects"][1]
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"] = {}
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["argsoriginal"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["location"] = "imgui_impl_opengl3:30"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_CreateFontsTexture"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL3_CreateFontsTexture"]["()"] = defs["ImGui_ImplOpenGL3_CreateFontsTexture"][1]
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"] = {}
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["argsoriginal"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["cimguiname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["funcname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["location"] = "imgui_impl_opengl3:33"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyDeviceObjects"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"]["()"] = defs["ImGui_ImplOpenGL3_DestroyDeviceObjects"][1]
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"] = {}
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["argsoriginal"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["cimguiname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["funcname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["location"] = "imgui_impl_opengl3:31"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_DestroyFontsTexture"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL3_DestroyFontsTexture"]["()"] = defs["ImGui_ImplOpenGL3_DestroyFontsTexture"][1]
|
||||
defs["ImGui_ImplOpenGL3_Init"] = {}
|
||||
defs["ImGui_ImplOpenGL3_Init"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["args"] = "(const char* glsl_version)"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["argsT"][1]["name"] = "glsl_version"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["argsT"][1]["type"] = "const char*"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["argsoriginal"] = "(const char* glsl_version=nullptr)"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["call_args"] = "(glsl_version)"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["cimguiname"] = "ImGui_ImplOpenGL3_Init"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["defaults"]["glsl_version"] = "nullptr"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["funcname"] = "ImGui_ImplOpenGL3_Init"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["location"] = "imgui_impl_opengl3:24"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_Init"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["signature"] = "(const char*)"
|
||||
defs["ImGui_ImplOpenGL3_Init"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL3_Init"]["(const char*)"] = defs["ImGui_ImplOpenGL3_Init"][1]
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"] = {}
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["argsoriginal"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["cimguiname"] = "ImGui_ImplOpenGL3_NewFrame"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["funcname"] = "ImGui_ImplOpenGL3_NewFrame"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["location"] = "imgui_impl_opengl3:26"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_NewFrame"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL3_NewFrame"]["()"] = defs["ImGui_ImplOpenGL3_NewFrame"][1]
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"] = {}
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["args"] = "(ImDrawData* draw_data)"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsT"][1]["name"] = "draw_data"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsT"][1]["type"] = "ImDrawData*"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["argsoriginal"] = "(ImDrawData* draw_data)"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["call_args"] = "(draw_data)"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["cimguiname"] = "ImGui_ImplOpenGL3_RenderDrawData"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["funcname"] = "ImGui_ImplOpenGL3_RenderDrawData"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["location"] = "imgui_impl_opengl3:27"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_RenderDrawData"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["signature"] = "(ImDrawData*)"
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL3_RenderDrawData"]["(ImDrawData*)"] = defs["ImGui_ImplOpenGL3_RenderDrawData"][1]
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"] = {}
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1] = {}
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["argsoriginal"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["cimguiname"] = "ImGui_ImplOpenGL3_Shutdown"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["funcname"] = "ImGui_ImplOpenGL3_Shutdown"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["location"] = "imgui_impl_opengl3:25"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplOpenGL3_Shutdown"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"][1]["stname"] = ""
|
||||
defs["ImGui_ImplOpenGL3_Shutdown"]["()"] = defs["ImGui_ImplOpenGL3_Shutdown"][1]
|
||||
defs["ImGui_ImplSDL2_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]["location"] = "imgui_impl_sdl:27"
|
||||
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_InitForMetal"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1] = {}
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["args"] = "(SDL_Window* window)"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["argsT"][1]["type"] = "SDL_Window*"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["argsoriginal"] = "(SDL_Window* window)"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["call_args"] = "(window)"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForMetal"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["funcname"] = "ImGui_ImplSDL2_InitForMetal"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["location"] = "imgui_impl_sdl:28"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForMetal"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["signature"] = "(SDL_Window*)"
|
||||
defs["ImGui_ImplSDL2_InitForMetal"][1]["stname"] = ""
|
||||
defs["ImGui_ImplSDL2_InitForMetal"]["(SDL_Window*)"] = defs["ImGui_ImplSDL2_InitForMetal"][1]
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1] = {}
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["args"] = "(SDL_Window* window,void* sdl_gl_context)"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][1]["type"] = "SDL_Window*"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][2]["name"] = "sdl_gl_context"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsT"][2]["type"] = "void*"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["argsoriginal"] = "(SDL_Window* window,void* sdl_gl_context)"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["call_args"] = "(window,sdl_gl_context)"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["funcname"] = "ImGui_ImplSDL2_InitForOpenGL"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["location"] = "imgui_impl_sdl:25"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForOpenGL"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["signature"] = "(SDL_Window*,void*)"
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"][1]["stname"] = ""
|
||||
defs["ImGui_ImplSDL2_InitForOpenGL"]["(SDL_Window*,void*)"] = defs["ImGui_ImplSDL2_InitForOpenGL"][1]
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1] = {}
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["args"] = "(SDL_Window* window,SDL_Renderer* renderer)"
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][1]["type"] = "SDL_Window*"
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][2] = {}
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][2]["name"] = "renderer"
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsT"][2]["type"] = "SDL_Renderer*"
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["argsoriginal"] = "(SDL_Window* window,SDL_Renderer* renderer)"
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["call_args"] = "(window,renderer)"
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForSDLRenderer"
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["funcname"] = "ImGui_ImplSDL2_InitForSDLRenderer"
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["location"] = "imgui_impl_sdl:29"
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForSDLRenderer"
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["signature"] = "(SDL_Window*,SDL_Renderer*)"
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]["stname"] = ""
|
||||
defs["ImGui_ImplSDL2_InitForSDLRenderer"]["(SDL_Window*,SDL_Renderer*)"] = defs["ImGui_ImplSDL2_InitForSDLRenderer"][1]
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1] = {}
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["args"] = "(SDL_Window* window)"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsT"][1]["name"] = "window"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsT"][1]["type"] = "SDL_Window*"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["argsoriginal"] = "(SDL_Window* window)"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["call_args"] = "(window)"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["cimguiname"] = "ImGui_ImplSDL2_InitForVulkan"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["funcname"] = "ImGui_ImplSDL2_InitForVulkan"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["location"] = "imgui_impl_sdl:26"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_InitForVulkan"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["signature"] = "(SDL_Window*)"
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"][1]["stname"] = ""
|
||||
defs["ImGui_ImplSDL2_InitForVulkan"]["(SDL_Window*)"] = defs["ImGui_ImplSDL2_InitForVulkan"][1]
|
||||
defs["ImGui_ImplSDL2_NewFrame"] = {}
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1] = {}
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["args"] = "()"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["argsoriginal"] = "()"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["cimguiname"] = "ImGui_ImplSDL2_NewFrame"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["funcname"] = "ImGui_ImplSDL2_NewFrame"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["location"] = "imgui_impl_sdl:31"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_NewFrame"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplSDL2_NewFrame"][1]["stname"] = ""
|
||||
defs["ImGui_ImplSDL2_NewFrame"]["()"] = defs["ImGui_ImplSDL2_NewFrame"][1]
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"] = {}
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1] = {}
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["args"] = "(const SDL_Event* event)"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsT"][1] = {}
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsT"][1]["name"] = "event"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsT"][1]["type"] = "const SDL_Event*"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["argsoriginal"] = "(const SDL_Event* event)"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["call_args"] = "(event)"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["funcname"] = "ImGui_ImplSDL2_ProcessEvent"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["location"] = "imgui_impl_sdl:32"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_ProcessEvent"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["ret"] = "bool"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["signature"] = "(const SDL_Event*)"
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"][1]["stname"] = ""
|
||||
defs["ImGui_ImplSDL2_ProcessEvent"]["(const SDL_Event*)"] = defs["ImGui_ImplSDL2_ProcessEvent"][1]
|
||||
defs["ImGui_ImplSDL2_Shutdown"] = {}
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1] = {}
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["args"] = "()"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["argsT"] = {}
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["argsoriginal"] = "()"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["call_args"] = "()"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["cimguiname"] = "ImGui_ImplSDL2_Shutdown"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["defaults"] = {}
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["funcname"] = "ImGui_ImplSDL2_Shutdown"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["location"] = "imgui_impl_sdl:30"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["ov_cimguiname"] = "ImGui_ImplSDL2_Shutdown"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["ret"] = "void"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["signature"] = "()"
|
||||
defs["ImGui_ImplSDL2_Shutdown"][1]["stname"] = ""
|
||||
defs["ImGui_ImplSDL2_Shutdown"]["()"] = defs["ImGui_ImplSDL2_Shutdown"][1]
|
||||
|
||||
return defs
|
275
generator/output/overloads.txt
Normal file
275
generator/output/overloads.txt
Normal file
@@ -0,0 +1,275 @@
|
||||
----------------overloadings---------------------------
|
||||
ImColor_ImColor 5
|
||||
1 nil ImColor_ImColor_Nil ()
|
||||
2 nil ImColor_ImColor_Float (float,float,float,float)
|
||||
3 nil ImColor_ImColor_Vec4 (const ImVec4)
|
||||
4 nil ImColor_ImColor_Int (int,int,int,int)
|
||||
5 nil ImColor_ImColor_U32 (ImU32)
|
||||
ImDrawList_AddText 2
|
||||
1 void ImDrawList_AddText_Vec2 (const ImVec2,ImU32,const char*,const char*)
|
||||
2 void ImDrawList_AddText_FontPtr (const ImFont*,float,const ImVec2,ImU32,const char*,const char*,float,const ImVec4*)
|
||||
ImGuiPtrOrIndex_ImGuiPtrOrIndex 2
|
||||
1 nil ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr (void*)
|
||||
2 nil ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int (int)
|
||||
ImGuiStoragePair_ImGuiStoragePair 3
|
||||
1 nil ImGuiStoragePair_ImGuiStoragePair_Int (ImGuiID,int)
|
||||
2 nil ImGuiStoragePair_ImGuiStoragePair_Float (ImGuiID,float)
|
||||
3 nil ImGuiStoragePair_ImGuiStoragePair_Ptr (ImGuiID,void*)
|
||||
ImGuiStyleMod_ImGuiStyleMod 3
|
||||
1 nil ImGuiStyleMod_ImGuiStyleMod_Int (ImGuiStyleVar,int)
|
||||
2 nil ImGuiStyleMod_ImGuiStyleMod_Float (ImGuiStyleVar,float)
|
||||
3 nil ImGuiStyleMod_ImGuiStyleMod_Vec2 (ImGuiStyleVar,ImVec2)
|
||||
ImGuiTextRange_ImGuiTextRange 2
|
||||
1 nil ImGuiTextRange_ImGuiTextRange_Nil ()
|
||||
2 nil ImGuiTextRange_ImGuiTextRange_Str (const char*,const char*)
|
||||
ImGuiWindow_GetID 3
|
||||
1 ImGuiID ImGuiWindow_GetID_Str (const char*,const char*)
|
||||
2 ImGuiID ImGuiWindow_GetID_Ptr (const void*)
|
||||
3 ImGuiID ImGuiWindow_GetID_Int (int)
|
||||
ImPool_Remove 2
|
||||
1 void ImPool_Remove_TPtr (ImGuiID,const T*)
|
||||
2 void ImPool_Remove_PoolIdx (ImGuiID,ImPoolIdx)
|
||||
ImRect_Add 2
|
||||
1 void ImRect_Add_Vec2 (const ImVec2)
|
||||
2 void ImRect_Add_Rect (const ImRect)
|
||||
ImRect_Contains 2
|
||||
1 bool ImRect_Contains_Vec2 (const ImVec2)const
|
||||
2 bool ImRect_Contains_Rect (const ImRect)const
|
||||
ImRect_Expand 2
|
||||
1 void ImRect_Expand_Float (const float)
|
||||
2 void ImRect_Expand_Vec2 (const ImVec2)
|
||||
ImRect_ImRect 4
|
||||
1 nil ImRect_ImRect_Nil ()
|
||||
2 nil ImRect_ImRect_Vec2 (const ImVec2,const ImVec2)
|
||||
3 nil ImRect_ImRect_Vec4 (const ImVec4)
|
||||
4 nil ImRect_ImRect_Float (float,float,float,float)
|
||||
ImSpan_ImSpan 3
|
||||
1 nil ImSpan_ImSpan_Nil ()
|
||||
2 nil ImSpan_ImSpan_TPtrInt (T*,int)
|
||||
3 nil ImSpan_ImSpan_TPtrTPtr (T*,T*)
|
||||
ImSpan_begin 2
|
||||
1 T* ImSpan_begin_Nil ()
|
||||
2 const T* ImSpan_begin__const ()const
|
||||
ImSpan_end 2
|
||||
1 T* ImSpan_end_Nil ()
|
||||
2 const T* ImSpan_end__const ()const
|
||||
ImSpan_set 2
|
||||
1 void ImSpan_set_Int (T*,int)
|
||||
2 void ImSpan_set_TPtr (T*,T*)
|
||||
ImVec1_ImVec1 2
|
||||
1 nil ImVec1_ImVec1_Nil ()
|
||||
2 nil ImVec1_ImVec1_Float (float)
|
||||
ImVec2_ImVec2 2
|
||||
1 nil ImVec2_ImVec2_Nil ()
|
||||
2 nil ImVec2_ImVec2_Float (float,float)
|
||||
ImVec2ih_ImVec2ih 3
|
||||
1 nil ImVec2ih_ImVec2ih_Nil ()
|
||||
2 nil ImVec2ih_ImVec2ih_short (short,short)
|
||||
3 nil ImVec2ih_ImVec2ih_Vec2 (const ImVec2)
|
||||
ImVec4_ImVec4 2
|
||||
1 nil ImVec4_ImVec4_Nil ()
|
||||
2 nil ImVec4_ImVec4_Float (float,float,float,float)
|
||||
ImVector_ImVector 2
|
||||
1 nil ImVector_ImVector_Nil ()
|
||||
2 nil ImVector_ImVector_Vector_T_ (const ImVector_T )
|
||||
ImVector_back 2
|
||||
1 T* ImVector_back_Nil ()
|
||||
2 const T* ImVector_back__const ()const
|
||||
ImVector_begin 2
|
||||
1 T* ImVector_begin_Nil ()
|
||||
2 const T* ImVector_begin__const ()const
|
||||
ImVector_end 2
|
||||
1 T* ImVector_end_Nil ()
|
||||
2 const T* ImVector_end__const ()const
|
||||
ImVector_erase 2
|
||||
1 T* ImVector_erase_Nil (const T*)
|
||||
2 T* ImVector_erase_TPtr (const T*,const T*)
|
||||
ImVector_find 2
|
||||
1 T* ImVector_find_Nil (const T)
|
||||
2 const T* ImVector_find__const (const T)const
|
||||
ImVector_front 2
|
||||
1 T* ImVector_front_Nil ()
|
||||
2 const T* ImVector_front__const ()const
|
||||
ImVector_resize 2
|
||||
1 void ImVector_resize_Nil (int)
|
||||
2 void ImVector_resize_T (int,const T)
|
||||
igBeginChild 2
|
||||
1 bool igBeginChild_Str (const char*,const ImVec2,bool,ImGuiWindowFlags)
|
||||
2 bool igBeginChild_ID (ImGuiID,const ImVec2,bool,ImGuiWindowFlags)
|
||||
igCheckboxFlags 4
|
||||
1 bool igCheckboxFlags_IntPtr (const char*,int*,int)
|
||||
2 bool igCheckboxFlags_UintPtr (const char*,unsigned int*,unsigned int)
|
||||
3 bool igCheckboxFlags_S64Ptr (const char*,ImS64*,ImS64)
|
||||
4 bool igCheckboxFlags_U64Ptr (const char*,ImU64*,ImU64)
|
||||
igCollapsingHeader 2
|
||||
1 bool igCollapsingHeader_TreeNodeFlags (const char*,ImGuiTreeNodeFlags)
|
||||
2 bool igCollapsingHeader_BoolPtr (const char*,bool*,ImGuiTreeNodeFlags)
|
||||
igCombo 3
|
||||
1 bool igCombo_Str_arr (const char*,int*,const char* const[],int,int)
|
||||
2 bool igCombo_Str (const char*,int*,const char*,int)
|
||||
3 bool igCombo_FnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
|
||||
igGetBackgroundDrawList 2
|
||||
1 ImDrawList* igGetBackgroundDrawList_Nil ()
|
||||
2 ImDrawList* igGetBackgroundDrawList_ViewportPtr (ImGuiViewport*)
|
||||
igGetColorU32 3
|
||||
1 ImU32 igGetColorU32_Col (ImGuiCol,float)
|
||||
2 ImU32 igGetColorU32_Vec4 (const ImVec4)
|
||||
3 ImU32 igGetColorU32_U32 (ImU32)
|
||||
igGetForegroundDrawList 3
|
||||
1 ImDrawList* igGetForegroundDrawList_Nil ()
|
||||
2 ImDrawList* igGetForegroundDrawList_WindowPtr (ImGuiWindow*)
|
||||
3 ImDrawList* igGetForegroundDrawList_ViewportPtr (ImGuiViewport*)
|
||||
igGetID 3
|
||||
1 ImGuiID igGetID_Str (const char*)
|
||||
2 ImGuiID igGetID_StrStr (const char*,const char*)
|
||||
3 ImGuiID igGetID_Ptr (const void*)
|
||||
igImAbs 3
|
||||
1 int igImAbs_Int (int)
|
||||
2 float igImAbs_Float (float)
|
||||
3 double igImAbs_double (double)
|
||||
igImFloor 2
|
||||
1 float igImFloor_Float (float)
|
||||
2 ImVec2 igImFloor_Vec2 (const ImVec2)
|
||||
igImFloorSigned 2
|
||||
1 float igImFloorSigned_Float (float)
|
||||
2 ImVec2 igImFloorSigned_Vec2 (const ImVec2)
|
||||
igImIsPowerOfTwo 2
|
||||
1 bool igImIsPowerOfTwo_Int (int)
|
||||
2 bool igImIsPowerOfTwo_U64 (ImU64)
|
||||
igImLengthSqr 2
|
||||
1 float igImLengthSqr_Vec2 (const ImVec2)
|
||||
2 float igImLengthSqr_Vec4 (const ImVec4)
|
||||
igImLerp 3
|
||||
1 ImVec2 igImLerp_Vec2Float (const ImVec2,const ImVec2,float)
|
||||
2 ImVec2 igImLerp_Vec2Vec2 (const ImVec2,const ImVec2,const ImVec2)
|
||||
3 ImVec4 igImLerp_Vec4 (const ImVec4,const ImVec4,float)
|
||||
igImLog 2
|
||||
1 float igImLog_Float (float)
|
||||
2 double igImLog_double (double)
|
||||
igImPow 2
|
||||
1 float igImPow_Float (float,float)
|
||||
2 double igImPow_double (double,double)
|
||||
igImRsqrt 2
|
||||
1 float igImRsqrt_Float (float)
|
||||
2 double igImRsqrt_double (double)
|
||||
igImSign 2
|
||||
1 float igImSign_Float (float)
|
||||
2 double igImSign_double (double)
|
||||
igIsKeyDown 2
|
||||
1 bool igIsKeyDown_Nil (ImGuiKey)
|
||||
2 bool igIsKeyDown_ID (ImGuiKey,ImGuiID)
|
||||
igIsKeyPressed 2
|
||||
1 bool igIsKeyPressed_Bool (ImGuiKey,bool)
|
||||
2 bool igIsKeyPressed_ID (ImGuiKey,ImGuiID,ImGuiInputFlags)
|
||||
igIsKeyReleased 2
|
||||
1 bool igIsKeyReleased_Nil (ImGuiKey)
|
||||
2 bool igIsKeyReleased_ID (ImGuiKey,ImGuiID)
|
||||
igIsMouseClicked 2
|
||||
1 bool igIsMouseClicked_Bool (ImGuiMouseButton,bool)
|
||||
2 bool igIsMouseClicked_ID (ImGuiMouseButton,ImGuiID,ImGuiInputFlags)
|
||||
igIsMouseDown 2
|
||||
1 bool igIsMouseDown_Nil (ImGuiMouseButton)
|
||||
2 bool igIsMouseDown_ID (ImGuiMouseButton,ImGuiID)
|
||||
igIsMouseReleased 2
|
||||
1 bool igIsMouseReleased_Nil (ImGuiMouseButton)
|
||||
2 bool igIsMouseReleased_ID (ImGuiMouseButton,ImGuiID)
|
||||
igIsPopupOpen 2
|
||||
1 bool igIsPopupOpen_Str (const char*,ImGuiPopupFlags)
|
||||
2 bool igIsPopupOpen_ID (ImGuiID,ImGuiPopupFlags)
|
||||
igIsRectVisible 2
|
||||
1 bool igIsRectVisible_Nil (const ImVec2)
|
||||
2 bool igIsRectVisible_Vec2 (const ImVec2,const ImVec2)
|
||||
igItemSize 2
|
||||
1 void igItemSize_Vec2 (const ImVec2,float)
|
||||
2 void igItemSize_Rect (const ImRect,float)
|
||||
igListBox 2
|
||||
1 bool igListBox_Str_arr (const char*,int*,const char* const[],int,int)
|
||||
2 bool igListBox_FnBoolPtr (const char*,int*,bool(*)(void*,int,const char**),void*,int,int)
|
||||
igMarkIniSettingsDirty 2
|
||||
1 void igMarkIniSettingsDirty_Nil ()
|
||||
2 void igMarkIniSettingsDirty_WindowPtr (ImGuiWindow*)
|
||||
igMenuItem 2
|
||||
1 bool igMenuItem_Bool (const char*,const char*,bool,bool)
|
||||
2 bool igMenuItem_BoolPtr (const char*,const char*,bool*,bool)
|
||||
igOpenPopup 2
|
||||
1 void igOpenPopup_Str (const char*,ImGuiPopupFlags)
|
||||
2 void igOpenPopup_ID (ImGuiID,ImGuiPopupFlags)
|
||||
igPlotHistogram 2
|
||||
1 void igPlotHistogram_FloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int)
|
||||
2 void igPlotHistogram_FnFloatPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
|
||||
igPlotLines 2
|
||||
1 void igPlotLines_FloatPtr (const char*,const float*,int,int,const char*,float,float,ImVec2,int)
|
||||
2 void igPlotLines_FnFloatPtr (const char*,float(*)(void*,int),void*,int,int,const char*,float,float,ImVec2)
|
||||
igPushID 4
|
||||
1 void igPushID_Str (const char*)
|
||||
2 void igPushID_StrStr (const char*,const char*)
|
||||
3 void igPushID_Ptr (const void*)
|
||||
4 void igPushID_Int (int)
|
||||
igPushStyleColor 2
|
||||
1 void igPushStyleColor_U32 (ImGuiCol,ImU32)
|
||||
2 void igPushStyleColor_Vec4 (ImGuiCol,const ImVec4)
|
||||
igPushStyleVar 2
|
||||
1 void igPushStyleVar_Float (ImGuiStyleVar,float)
|
||||
2 void igPushStyleVar_Vec2 (ImGuiStyleVar,const ImVec2)
|
||||
igRadioButton 2
|
||||
1 bool igRadioButton_Bool (const char*,bool)
|
||||
2 bool igRadioButton_IntPtr (const char*,int*,int)
|
||||
igSelectable 2
|
||||
1 bool igSelectable_Bool (const char*,bool,ImGuiSelectableFlags,const ImVec2)
|
||||
2 bool igSelectable_BoolPtr (const char*,bool*,ImGuiSelectableFlags,const ImVec2)
|
||||
igSetScrollFromPosX 2
|
||||
1 void igSetScrollFromPosX_Float (float,float)
|
||||
2 void igSetScrollFromPosX_WindowPtr (ImGuiWindow*,float,float)
|
||||
igSetScrollFromPosY 2
|
||||
1 void igSetScrollFromPosY_Float (float,float)
|
||||
2 void igSetScrollFromPosY_WindowPtr (ImGuiWindow*,float,float)
|
||||
igSetScrollX 2
|
||||
1 void igSetScrollX_Float (float)
|
||||
2 void igSetScrollX_WindowPtr (ImGuiWindow*,float)
|
||||
igSetScrollY 2
|
||||
1 void igSetScrollY_Float (float)
|
||||
2 void igSetScrollY_WindowPtr (ImGuiWindow*,float)
|
||||
igSetWindowCollapsed 3
|
||||
1 void igSetWindowCollapsed_Bool (bool,ImGuiCond)
|
||||
2 void igSetWindowCollapsed_Str (const char*,bool,ImGuiCond)
|
||||
3 void igSetWindowCollapsed_WindowPtr (ImGuiWindow*,bool,ImGuiCond)
|
||||
igSetWindowFocus 2
|
||||
1 void igSetWindowFocus_Nil ()
|
||||
2 void igSetWindowFocus_Str (const char*)
|
||||
igSetWindowPos 3
|
||||
1 void igSetWindowPos_Vec2 (const ImVec2,ImGuiCond)
|
||||
2 void igSetWindowPos_Str (const char*,const ImVec2,ImGuiCond)
|
||||
3 void igSetWindowPos_WindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond)
|
||||
igSetWindowSize 3
|
||||
1 void igSetWindowSize_Vec2 (const ImVec2,ImGuiCond)
|
||||
2 void igSetWindowSize_Str (const char*,const ImVec2,ImGuiCond)
|
||||
3 void igSetWindowSize_WindowPtr (ImGuiWindow*,const ImVec2,ImGuiCond)
|
||||
igTableGcCompactTransientBuffers 2
|
||||
1 void igTableGcCompactTransientBuffers_TablePtr (ImGuiTable*)
|
||||
2 void igTableGcCompactTransientBuffers_TableTempDataPtr (ImGuiTableTempData*)
|
||||
igTableGetColumnName 2
|
||||
1 const char* igTableGetColumnName_Int (int)
|
||||
2 const char* igTableGetColumnName_TablePtr (const ImGuiTable*,int)
|
||||
igTreeNode 3
|
||||
1 bool igTreeNode_Str (const char*)
|
||||
2 bool igTreeNode_StrStr (const char*,const char*,...)
|
||||
3 bool igTreeNode_Ptr (const void*,const char*,...)
|
||||
igTreeNodeEx 3
|
||||
1 bool igTreeNodeEx_Str (const char*,ImGuiTreeNodeFlags)
|
||||
2 bool igTreeNodeEx_StrStr (const char*,ImGuiTreeNodeFlags,const char*,...)
|
||||
3 bool igTreeNodeEx_Ptr (const void*,ImGuiTreeNodeFlags,const char*,...)
|
||||
igTreeNodeExV 2
|
||||
1 bool igTreeNodeExV_Str (const char*,ImGuiTreeNodeFlags,const char*,va_list)
|
||||
2 bool igTreeNodeExV_Ptr (const void*,ImGuiTreeNodeFlags,const char*,va_list)
|
||||
igTreeNodeV 2
|
||||
1 bool igTreeNodeV_Str (const char*,const char*,va_list)
|
||||
2 bool igTreeNodeV_Ptr (const void*,const char*,va_list)
|
||||
igTreePush 2
|
||||
1 void igTreePush_Str (const char*)
|
||||
2 void igTreePush_Ptr (const void*)
|
||||
igValue 4
|
||||
1 void igValue_Bool (const char*,bool)
|
||||
2 void igValue_Int (const char*,int)
|
||||
3 void igValue_Uint (const char*,unsigned int)
|
||||
4 void igValue_Float (const char*,float,const char*)
|
||||
191 overloaded
|
9227
generator/output/structs_and_enums.json
Normal file
9227
generator/output/structs_and_enums.json
Normal file
File diff suppressed because it is too large
Load Diff
7234
generator/output/structs_and_enums.lua
Normal file
7234
generator/output/structs_and_enums.lua
Normal file
File diff suppressed because it is too large
Load Diff
177
generator/output/typedefs_dict.json
Normal file
177
generator/output/typedefs_dict.json
Normal file
@@ -0,0 +1,177 @@
|
||||
{
|
||||
"ImBitArrayForNamedKeys": "ImBitArray<ImGuiKey_NamedKey_COUNT,-ImGuiKey_NamedKey_BEGIN>",
|
||||
"ImBitVector": "struct ImBitVector",
|
||||
"ImColor": "struct ImColor",
|
||||
"ImDrawCallback": "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);",
|
||||
"ImDrawChannel": "struct ImDrawChannel",
|
||||
"ImDrawCmd": "struct ImDrawCmd",
|
||||
"ImDrawCmdHeader": "struct ImDrawCmdHeader",
|
||||
"ImDrawData": "struct ImDrawData",
|
||||
"ImDrawDataBuilder": "struct ImDrawDataBuilder",
|
||||
"ImDrawFlags": "int",
|
||||
"ImDrawIdx": "unsigned short",
|
||||
"ImDrawList": "struct ImDrawList",
|
||||
"ImDrawListFlags": "int",
|
||||
"ImDrawListSharedData": "struct ImDrawListSharedData",
|
||||
"ImDrawListSplitter": "struct ImDrawListSplitter",
|
||||
"ImDrawVert": "struct ImDrawVert",
|
||||
"ImFileHandle": "FILE*",
|
||||
"ImFont": "struct ImFont",
|
||||
"ImFontAtlas": "struct ImFontAtlas",
|
||||
"ImFontAtlasCustomRect": "struct ImFontAtlasCustomRect",
|
||||
"ImFontAtlasFlags": "int",
|
||||
"ImFontBuilderIO": "struct ImFontBuilderIO",
|
||||
"ImFontConfig": "struct ImFontConfig",
|
||||
"ImFontGlyph": "struct ImFontGlyph",
|
||||
"ImFontGlyphRangesBuilder": "struct ImFontGlyphRangesBuilder",
|
||||
"ImGuiActivateFlags": "int",
|
||||
"ImGuiBackendFlags": "int",
|
||||
"ImGuiButtonFlags": "int",
|
||||
"ImGuiCol": "int",
|
||||
"ImGuiColorEditFlags": "int",
|
||||
"ImGuiColorMod": "struct ImGuiColorMod",
|
||||
"ImGuiComboFlags": "int",
|
||||
"ImGuiComboPreviewData": "struct ImGuiComboPreviewData",
|
||||
"ImGuiCond": "int",
|
||||
"ImGuiConfigFlags": "int",
|
||||
"ImGuiContext": "struct ImGuiContext",
|
||||
"ImGuiContextHook": "struct ImGuiContextHook",
|
||||
"ImGuiContextHookCallback": "void(*)(ImGuiContext* ctx,ImGuiContextHook* hook);",
|
||||
"ImGuiDataType": "int",
|
||||
"ImGuiDataTypeInfo": "struct ImGuiDataTypeInfo",
|
||||
"ImGuiDataTypeTempStorage": "struct ImGuiDataTypeTempStorage",
|
||||
"ImGuiDebugLogFlags": "int",
|
||||
"ImGuiDir": "int",
|
||||
"ImGuiDragDropFlags": "int",
|
||||
"ImGuiErrorLogCallback": "void(*)(void* user_data,const char* fmt,...);",
|
||||
"ImGuiFocusedFlags": "int",
|
||||
"ImGuiGroupData": "struct ImGuiGroupData",
|
||||
"ImGuiHoveredFlags": "int",
|
||||
"ImGuiID": "unsigned int",
|
||||
"ImGuiIO": "struct ImGuiIO",
|
||||
"ImGuiInputEvent": "struct ImGuiInputEvent",
|
||||
"ImGuiInputEventAppFocused": "struct ImGuiInputEventAppFocused",
|
||||
"ImGuiInputEventKey": "struct ImGuiInputEventKey",
|
||||
"ImGuiInputEventMouseButton": "struct ImGuiInputEventMouseButton",
|
||||
"ImGuiInputEventMousePos": "struct ImGuiInputEventMousePos",
|
||||
"ImGuiInputEventMouseWheel": "struct ImGuiInputEventMouseWheel",
|
||||
"ImGuiInputEventText": "struct ImGuiInputEventText",
|
||||
"ImGuiInputFlags": "int",
|
||||
"ImGuiInputTextCallback": "int(*)(ImGuiInputTextCallbackData* data);",
|
||||
"ImGuiInputTextCallbackData": "struct ImGuiInputTextCallbackData",
|
||||
"ImGuiInputTextFlags": "int",
|
||||
"ImGuiInputTextState": "struct ImGuiInputTextState",
|
||||
"ImGuiItemFlags": "int",
|
||||
"ImGuiItemStatusFlags": "int",
|
||||
"ImGuiKeyChord": "int",
|
||||
"ImGuiKeyData": "struct ImGuiKeyData",
|
||||
"ImGuiKeyOwnerData": "struct ImGuiKeyOwnerData",
|
||||
"ImGuiKeyRoutingData": "struct ImGuiKeyRoutingData",
|
||||
"ImGuiKeyRoutingIndex": "ImS16",
|
||||
"ImGuiKeyRoutingTable": "struct ImGuiKeyRoutingTable",
|
||||
"ImGuiLastItemData": "struct ImGuiLastItemData",
|
||||
"ImGuiLayoutType": "int",
|
||||
"ImGuiListClipper": "struct ImGuiListClipper",
|
||||
"ImGuiListClipperData": "struct ImGuiListClipperData",
|
||||
"ImGuiListClipperRange": "struct ImGuiListClipperRange",
|
||||
"ImGuiLocEntry": "struct ImGuiLocEntry",
|
||||
"ImGuiMemAllocFunc": "void*(*)(size_t sz,void* user_data);",
|
||||
"ImGuiMemFreeFunc": "void(*)(void* ptr,void* user_data);",
|
||||
"ImGuiMenuColumns": "struct ImGuiMenuColumns",
|
||||
"ImGuiMetricsConfig": "struct ImGuiMetricsConfig",
|
||||
"ImGuiMouseButton": "int",
|
||||
"ImGuiMouseCursor": "int",
|
||||
"ImGuiNavHighlightFlags": "int",
|
||||
"ImGuiNavItemData": "struct ImGuiNavItemData",
|
||||
"ImGuiNavMoveFlags": "int",
|
||||
"ImGuiNextItemData": "struct ImGuiNextItemData",
|
||||
"ImGuiNextItemDataFlags": "int",
|
||||
"ImGuiNextWindowData": "struct ImGuiNextWindowData",
|
||||
"ImGuiNextWindowDataFlags": "int",
|
||||
"ImGuiOldColumnData": "struct ImGuiOldColumnData",
|
||||
"ImGuiOldColumnFlags": "int",
|
||||
"ImGuiOldColumns": "struct ImGuiOldColumns",
|
||||
"ImGuiOnceUponAFrame": "struct ImGuiOnceUponAFrame",
|
||||
"ImGuiPayload": "struct ImGuiPayload",
|
||||
"ImGuiPlatformImeData": "struct ImGuiPlatformImeData",
|
||||
"ImGuiPopupData": "struct ImGuiPopupData",
|
||||
"ImGuiPopupFlags": "int",
|
||||
"ImGuiPtrOrIndex": "struct ImGuiPtrOrIndex",
|
||||
"ImGuiScrollFlags": "int",
|
||||
"ImGuiSelectableFlags": "int",
|
||||
"ImGuiSeparatorFlags": "int",
|
||||
"ImGuiSettingsHandler": "struct ImGuiSettingsHandler",
|
||||
"ImGuiShrinkWidthItem": "struct ImGuiShrinkWidthItem",
|
||||
"ImGuiSizeCallback": "void(*)(ImGuiSizeCallbackData* data);",
|
||||
"ImGuiSizeCallbackData": "struct ImGuiSizeCallbackData",
|
||||
"ImGuiSliderFlags": "int",
|
||||
"ImGuiSortDirection": "int",
|
||||
"ImGuiStackLevelInfo": "struct ImGuiStackLevelInfo",
|
||||
"ImGuiStackSizes": "struct ImGuiStackSizes",
|
||||
"ImGuiStackTool": "struct ImGuiStackTool",
|
||||
"ImGuiStorage": "struct ImGuiStorage",
|
||||
"ImGuiStoragePair": "struct ImGuiStoragePair",
|
||||
"ImGuiStyle": "struct ImGuiStyle",
|
||||
"ImGuiStyleMod": "struct ImGuiStyleMod",
|
||||
"ImGuiStyleVar": "int",
|
||||
"ImGuiTabBar": "struct ImGuiTabBar",
|
||||
"ImGuiTabBarFlags": "int",
|
||||
"ImGuiTabItem": "struct ImGuiTabItem",
|
||||
"ImGuiTabItemFlags": "int",
|
||||
"ImGuiTable": "struct ImGuiTable",
|
||||
"ImGuiTableBgTarget": "int",
|
||||
"ImGuiTableCellData": "struct ImGuiTableCellData",
|
||||
"ImGuiTableColumn": "struct ImGuiTableColumn",
|
||||
"ImGuiTableColumnFlags": "int",
|
||||
"ImGuiTableColumnIdx": "ImS8",
|
||||
"ImGuiTableColumnSettings": "struct ImGuiTableColumnSettings",
|
||||
"ImGuiTableColumnSortSpecs": "struct ImGuiTableColumnSortSpecs",
|
||||
"ImGuiTableColumnsSettings": "struct ImGuiTableColumnsSettings",
|
||||
"ImGuiTableDrawChannelIdx": "ImU8",
|
||||
"ImGuiTableFlags": "int",
|
||||
"ImGuiTableInstanceData": "struct ImGuiTableInstanceData",
|
||||
"ImGuiTableRowFlags": "int",
|
||||
"ImGuiTableSettings": "struct ImGuiTableSettings",
|
||||
"ImGuiTableSortSpecs": "struct ImGuiTableSortSpecs",
|
||||
"ImGuiTableTempData": "struct ImGuiTableTempData",
|
||||
"ImGuiTextBuffer": "struct ImGuiTextBuffer",
|
||||
"ImGuiTextFilter": "struct ImGuiTextFilter",
|
||||
"ImGuiTextFlags": "int",
|
||||
"ImGuiTextIndex": "struct ImGuiTextIndex",
|
||||
"ImGuiTextRange": "struct ImGuiTextRange",
|
||||
"ImGuiTooltipFlags": "int",
|
||||
"ImGuiTreeNodeFlags": "int",
|
||||
"ImGuiViewport": "struct ImGuiViewport",
|
||||
"ImGuiViewportFlags": "int",
|
||||
"ImGuiViewportP": "struct ImGuiViewportP",
|
||||
"ImGuiWindow": "struct ImGuiWindow",
|
||||
"ImGuiWindowFlags": "int",
|
||||
"ImGuiWindowSettings": "struct ImGuiWindowSettings",
|
||||
"ImGuiWindowStackData": "struct ImGuiWindowStackData",
|
||||
"ImGuiWindowTempData": "struct ImGuiWindowTempData",
|
||||
"ImPoolIdx": "int",
|
||||
"ImRect": "struct ImRect",
|
||||
"ImS16": "signed short",
|
||||
"ImS32": "signed int",
|
||||
"ImS64": "signed long long",
|
||||
"ImS8": "signed char",
|
||||
"ImTextureID": "void*",
|
||||
"ImU16": "unsigned short",
|
||||
"ImU32": "unsigned int",
|
||||
"ImU64": "unsigned long long",
|
||||
"ImU8": "unsigned char",
|
||||
"ImVec1": "struct ImVec1",
|
||||
"ImVec2": "struct ImVec2",
|
||||
"ImVec2ih": "struct ImVec2ih",
|
||||
"ImVec4": "struct ImVec4",
|
||||
"ImWchar": "ImWchar16",
|
||||
"ImWchar16": "unsigned short",
|
||||
"ImWchar32": "unsigned int",
|
||||
"STB_TexteditState": "struct STB_TexteditState",
|
||||
"StbTexteditRow": "struct StbTexteditRow",
|
||||
"StbUndoRecord": "struct StbUndoRecord",
|
||||
"StbUndoState": "struct StbUndoState",
|
||||
"const_iterator": "const value_type*",
|
||||
"iterator": "value_type*",
|
||||
"value_type": "T"
|
||||
}
|
178
generator/output/typedefs_dict.lua
Normal file
178
generator/output/typedefs_dict.lua
Normal file
@@ -0,0 +1,178 @@
|
||||
local defs = {}
|
||||
defs["ImBitArrayForNamedKeys"] = "ImBitArray<ImGuiKey_NamedKey_COUNT,-ImGuiKey_NamedKey_BEGIN>"
|
||||
defs["ImBitVector"] = "struct ImBitVector"
|
||||
defs["ImColor"] = "struct ImColor"
|
||||
defs["ImDrawCallback"] = "void(*)(const ImDrawList* parent_list,const ImDrawCmd* cmd);"
|
||||
defs["ImDrawChannel"] = "struct ImDrawChannel"
|
||||
defs["ImDrawCmd"] = "struct ImDrawCmd"
|
||||
defs["ImDrawCmdHeader"] = "struct ImDrawCmdHeader"
|
||||
defs["ImDrawData"] = "struct ImDrawData"
|
||||
defs["ImDrawDataBuilder"] = "struct ImDrawDataBuilder"
|
||||
defs["ImDrawFlags"] = "int"
|
||||
defs["ImDrawIdx"] = "unsigned short"
|
||||
defs["ImDrawList"] = "struct ImDrawList"
|
||||
defs["ImDrawListFlags"] = "int"
|
||||
defs["ImDrawListSharedData"] = "struct ImDrawListSharedData"
|
||||
defs["ImDrawListSplitter"] = "struct ImDrawListSplitter"
|
||||
defs["ImDrawVert"] = "struct ImDrawVert"
|
||||
defs["ImFileHandle"] = "FILE*"
|
||||
defs["ImFont"] = "struct ImFont"
|
||||
defs["ImFontAtlas"] = "struct ImFontAtlas"
|
||||
defs["ImFontAtlasCustomRect"] = "struct ImFontAtlasCustomRect"
|
||||
defs["ImFontAtlasFlags"] = "int"
|
||||
defs["ImFontBuilderIO"] = "struct ImFontBuilderIO"
|
||||
defs["ImFontConfig"] = "struct ImFontConfig"
|
||||
defs["ImFontGlyph"] = "struct ImFontGlyph"
|
||||
defs["ImFontGlyphRangesBuilder"] = "struct ImFontGlyphRangesBuilder"
|
||||
defs["ImGuiActivateFlags"] = "int"
|
||||
defs["ImGuiBackendFlags"] = "int"
|
||||
defs["ImGuiButtonFlags"] = "int"
|
||||
defs["ImGuiCol"] = "int"
|
||||
defs["ImGuiColorEditFlags"] = "int"
|
||||
defs["ImGuiColorMod"] = "struct ImGuiColorMod"
|
||||
defs["ImGuiComboFlags"] = "int"
|
||||
defs["ImGuiComboPreviewData"] = "struct ImGuiComboPreviewData"
|
||||
defs["ImGuiCond"] = "int"
|
||||
defs["ImGuiConfigFlags"] = "int"
|
||||
defs["ImGuiContext"] = "struct ImGuiContext"
|
||||
defs["ImGuiContextHook"] = "struct ImGuiContextHook"
|
||||
defs["ImGuiContextHookCallback"] = "void(*)(ImGuiContext* ctx,ImGuiContextHook* hook);"
|
||||
defs["ImGuiDataType"] = "int"
|
||||
defs["ImGuiDataTypeInfo"] = "struct ImGuiDataTypeInfo"
|
||||
defs["ImGuiDataTypeTempStorage"] = "struct ImGuiDataTypeTempStorage"
|
||||
defs["ImGuiDebugLogFlags"] = "int"
|
||||
defs["ImGuiDir"] = "int"
|
||||
defs["ImGuiDragDropFlags"] = "int"
|
||||
defs["ImGuiErrorLogCallback"] = "void(*)(void* user_data,const char* fmt,...);"
|
||||
defs["ImGuiFocusedFlags"] = "int"
|
||||
defs["ImGuiGroupData"] = "struct ImGuiGroupData"
|
||||
defs["ImGuiHoveredFlags"] = "int"
|
||||
defs["ImGuiID"] = "unsigned int"
|
||||
defs["ImGuiIO"] = "struct ImGuiIO"
|
||||
defs["ImGuiInputEvent"] = "struct ImGuiInputEvent"
|
||||
defs["ImGuiInputEventAppFocused"] = "struct ImGuiInputEventAppFocused"
|
||||
defs["ImGuiInputEventKey"] = "struct ImGuiInputEventKey"
|
||||
defs["ImGuiInputEventMouseButton"] = "struct ImGuiInputEventMouseButton"
|
||||
defs["ImGuiInputEventMousePos"] = "struct ImGuiInputEventMousePos"
|
||||
defs["ImGuiInputEventMouseWheel"] = "struct ImGuiInputEventMouseWheel"
|
||||
defs["ImGuiInputEventText"] = "struct ImGuiInputEventText"
|
||||
defs["ImGuiInputFlags"] = "int"
|
||||
defs["ImGuiInputTextCallback"] = "int(*)(ImGuiInputTextCallbackData* data);"
|
||||
defs["ImGuiInputTextCallbackData"] = "struct ImGuiInputTextCallbackData"
|
||||
defs["ImGuiInputTextFlags"] = "int"
|
||||
defs["ImGuiInputTextState"] = "struct ImGuiInputTextState"
|
||||
defs["ImGuiItemFlags"] = "int"
|
||||
defs["ImGuiItemStatusFlags"] = "int"
|
||||
defs["ImGuiKeyChord"] = "int"
|
||||
defs["ImGuiKeyData"] = "struct ImGuiKeyData"
|
||||
defs["ImGuiKeyOwnerData"] = "struct ImGuiKeyOwnerData"
|
||||
defs["ImGuiKeyRoutingData"] = "struct ImGuiKeyRoutingData"
|
||||
defs["ImGuiKeyRoutingIndex"] = "ImS16"
|
||||
defs["ImGuiKeyRoutingTable"] = "struct ImGuiKeyRoutingTable"
|
||||
defs["ImGuiLastItemData"] = "struct ImGuiLastItemData"
|
||||
defs["ImGuiLayoutType"] = "int"
|
||||
defs["ImGuiListClipper"] = "struct ImGuiListClipper"
|
||||
defs["ImGuiListClipperData"] = "struct ImGuiListClipperData"
|
||||
defs["ImGuiListClipperRange"] = "struct ImGuiListClipperRange"
|
||||
defs["ImGuiLocEntry"] = "struct ImGuiLocEntry"
|
||||
defs["ImGuiMemAllocFunc"] = "void*(*)(size_t sz,void* user_data);"
|
||||
defs["ImGuiMemFreeFunc"] = "void(*)(void* ptr,void* user_data);"
|
||||
defs["ImGuiMenuColumns"] = "struct ImGuiMenuColumns"
|
||||
defs["ImGuiMetricsConfig"] = "struct ImGuiMetricsConfig"
|
||||
defs["ImGuiMouseButton"] = "int"
|
||||
defs["ImGuiMouseCursor"] = "int"
|
||||
defs["ImGuiNavHighlightFlags"] = "int"
|
||||
defs["ImGuiNavItemData"] = "struct ImGuiNavItemData"
|
||||
defs["ImGuiNavMoveFlags"] = "int"
|
||||
defs["ImGuiNextItemData"] = "struct ImGuiNextItemData"
|
||||
defs["ImGuiNextItemDataFlags"] = "int"
|
||||
defs["ImGuiNextWindowData"] = "struct ImGuiNextWindowData"
|
||||
defs["ImGuiNextWindowDataFlags"] = "int"
|
||||
defs["ImGuiOldColumnData"] = "struct ImGuiOldColumnData"
|
||||
defs["ImGuiOldColumnFlags"] = "int"
|
||||
defs["ImGuiOldColumns"] = "struct ImGuiOldColumns"
|
||||
defs["ImGuiOnceUponAFrame"] = "struct ImGuiOnceUponAFrame"
|
||||
defs["ImGuiPayload"] = "struct ImGuiPayload"
|
||||
defs["ImGuiPlatformImeData"] = "struct ImGuiPlatformImeData"
|
||||
defs["ImGuiPopupData"] = "struct ImGuiPopupData"
|
||||
defs["ImGuiPopupFlags"] = "int"
|
||||
defs["ImGuiPtrOrIndex"] = "struct ImGuiPtrOrIndex"
|
||||
defs["ImGuiScrollFlags"] = "int"
|
||||
defs["ImGuiSelectableFlags"] = "int"
|
||||
defs["ImGuiSeparatorFlags"] = "int"
|
||||
defs["ImGuiSettingsHandler"] = "struct ImGuiSettingsHandler"
|
||||
defs["ImGuiShrinkWidthItem"] = "struct ImGuiShrinkWidthItem"
|
||||
defs["ImGuiSizeCallback"] = "void(*)(ImGuiSizeCallbackData* data);"
|
||||
defs["ImGuiSizeCallbackData"] = "struct ImGuiSizeCallbackData"
|
||||
defs["ImGuiSliderFlags"] = "int"
|
||||
defs["ImGuiSortDirection"] = "int"
|
||||
defs["ImGuiStackLevelInfo"] = "struct ImGuiStackLevelInfo"
|
||||
defs["ImGuiStackSizes"] = "struct ImGuiStackSizes"
|
||||
defs["ImGuiStackTool"] = "struct ImGuiStackTool"
|
||||
defs["ImGuiStorage"] = "struct ImGuiStorage"
|
||||
defs["ImGuiStoragePair"] = "struct ImGuiStoragePair"
|
||||
defs["ImGuiStyle"] = "struct ImGuiStyle"
|
||||
defs["ImGuiStyleMod"] = "struct ImGuiStyleMod"
|
||||
defs["ImGuiStyleVar"] = "int"
|
||||
defs["ImGuiTabBar"] = "struct ImGuiTabBar"
|
||||
defs["ImGuiTabBarFlags"] = "int"
|
||||
defs["ImGuiTabItem"] = "struct ImGuiTabItem"
|
||||
defs["ImGuiTabItemFlags"] = "int"
|
||||
defs["ImGuiTable"] = "struct ImGuiTable"
|
||||
defs["ImGuiTableBgTarget"] = "int"
|
||||
defs["ImGuiTableCellData"] = "struct ImGuiTableCellData"
|
||||
defs["ImGuiTableColumn"] = "struct ImGuiTableColumn"
|
||||
defs["ImGuiTableColumnFlags"] = "int"
|
||||
defs["ImGuiTableColumnIdx"] = "ImS8"
|
||||
defs["ImGuiTableColumnSettings"] = "struct ImGuiTableColumnSettings"
|
||||
defs["ImGuiTableColumnSortSpecs"] = "struct ImGuiTableColumnSortSpecs"
|
||||
defs["ImGuiTableColumnsSettings"] = "struct ImGuiTableColumnsSettings"
|
||||
defs["ImGuiTableDrawChannelIdx"] = "ImU8"
|
||||
defs["ImGuiTableFlags"] = "int"
|
||||
defs["ImGuiTableInstanceData"] = "struct ImGuiTableInstanceData"
|
||||
defs["ImGuiTableRowFlags"] = "int"
|
||||
defs["ImGuiTableSettings"] = "struct ImGuiTableSettings"
|
||||
defs["ImGuiTableSortSpecs"] = "struct ImGuiTableSortSpecs"
|
||||
defs["ImGuiTableTempData"] = "struct ImGuiTableTempData"
|
||||
defs["ImGuiTextBuffer"] = "struct ImGuiTextBuffer"
|
||||
defs["ImGuiTextFilter"] = "struct ImGuiTextFilter"
|
||||
defs["ImGuiTextFlags"] = "int"
|
||||
defs["ImGuiTextIndex"] = "struct ImGuiTextIndex"
|
||||
defs["ImGuiTextRange"] = "struct ImGuiTextRange"
|
||||
defs["ImGuiTooltipFlags"] = "int"
|
||||
defs["ImGuiTreeNodeFlags"] = "int"
|
||||
defs["ImGuiViewport"] = "struct ImGuiViewport"
|
||||
defs["ImGuiViewportFlags"] = "int"
|
||||
defs["ImGuiViewportP"] = "struct ImGuiViewportP"
|
||||
defs["ImGuiWindow"] = "struct ImGuiWindow"
|
||||
defs["ImGuiWindowFlags"] = "int"
|
||||
defs["ImGuiWindowSettings"] = "struct ImGuiWindowSettings"
|
||||
defs["ImGuiWindowStackData"] = "struct ImGuiWindowStackData"
|
||||
defs["ImGuiWindowTempData"] = "struct ImGuiWindowTempData"
|
||||
defs["ImPoolIdx"] = "int"
|
||||
defs["ImRect"] = "struct ImRect"
|
||||
defs["ImS16"] = "signed short"
|
||||
defs["ImS32"] = "signed int"
|
||||
defs["ImS64"] = "signed long long"
|
||||
defs["ImS8"] = "signed char"
|
||||
defs["ImTextureID"] = "void*"
|
||||
defs["ImU16"] = "unsigned short"
|
||||
defs["ImU32"] = "unsigned int"
|
||||
defs["ImU64"] = "unsigned long long"
|
||||
defs["ImU8"] = "unsigned char"
|
||||
defs["ImVec1"] = "struct ImVec1"
|
||||
defs["ImVec2"] = "struct ImVec2"
|
||||
defs["ImVec2ih"] = "struct ImVec2ih"
|
||||
defs["ImVec4"] = "struct ImVec4"
|
||||
defs["ImWchar"] = "ImWchar16"
|
||||
defs["ImWchar16"] = "unsigned short"
|
||||
defs["ImWchar32"] = "unsigned int"
|
||||
defs["STB_TexteditState"] = "struct STB_TexteditState"
|
||||
defs["StbTexteditRow"] = "struct StbTexteditRow"
|
||||
defs["StbUndoRecord"] = "struct StbUndoRecord"
|
||||
defs["StbUndoState"] = "struct StbUndoState"
|
||||
defs["const_iterator"] = "const value_type*"
|
||||
defs["iterator"] = "value_type*"
|
||||
defs["value_type"] = "T"
|
||||
|
||||
return defs
|
25
generator/print_defines.cpp
Normal file
25
generator/print_defines.cpp
Normal file
@@ -0,0 +1,25 @@
|
||||
#include "imgui.h"
|
||||
|
||||
#define CIMGUI_STRINGIZE_(x) #x
|
||||
#define CIMGUI_STRINGIZE(x) CIMGUI_STRINGIZE_(x)
|
||||
#define CIMGUI_DEFSTRING(x) "#define " #x " " CIMGUI_STRINGIZE(x)
|
||||
|
||||
#ifdef IMGUI_VERSION
|
||||
#pragma message(CIMGUI_DEFSTRING(IMGUI_VERSION))
|
||||
#endif
|
||||
|
||||
#ifdef IMGUI_HAS_DOCK
|
||||
#pragma message(CIMGUI_DEFSTRING(IMGUI_HAS_DOCK))
|
||||
#endif
|
||||
|
||||
#ifdef IMGUI_HAS_IMSTR
|
||||
#pragma message(CIMGUI_DEFSTRING(IMGUI_HAS_IMSTR))
|
||||
#endif
|
||||
|
||||
#ifdef FLT_MIN
|
||||
#pragma message(CIMGUI_DEFSTRING(FLT_MIN))
|
||||
#endif
|
||||
|
||||
#ifdef FLT_MAX
|
||||
#pragma message(CIMGUI_DEFSTRING(FLT_MAX))
|
||||
#endif
|
2
imgui
2
imgui
Submodule imgui updated: 9f200d10d5...a8df192df0
BIN
menus-api.gif
BIN
menus-api.gif
Binary file not shown.
Before Width: | Height: | Size: 195 KiB |
BIN
screenshot.png
BIN
screenshot.png
Binary file not shown.
Before Width: | Height: | Size: 65 KiB |
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)
|
53
test/main.c
Normal file
53
test/main.c
Normal file
@@ -0,0 +1,53 @@
|
||||
#include <stdio.h>
|
||||
#include <assert.h>
|
||||
#include "../cimgui.h"
|
||||
|
||||
#ifdef IMGUI_HAS_IMSTR
|
||||
#define igBegin igBegin_Str
|
||||
#define igSliderFloat igSliderFloat_Str
|
||||
#define igCheckbox igCheckbox_Str
|
||||
#define igColorEdit3 igColorEdit3_Str
|
||||
#define igButton igButton_Str
|
||||
#define igDebugCheckVersionAndDataLayout igDebugCheckVersionAndDataLayout_Str
|
||||
#endif
|
||||
|
||||
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();
|
||||
|
||||
igBegin("mainwindow",NULL,ImGuiWindowFlags_NoTitleBar);
|
||||
static float f = 0.0f;
|
||||
igText("Hello World!");
|
||||
igSliderFloat("float", &f, 0.0f, 1.0f, "%.3f", 0);
|
||||
igText("Application average %.3f ms/frame (%.1f FPS)", 1000.0f / io->Framerate, io->Framerate);
|
||||
igEnd();
|
||||
igShowDemoWindow(NULL);
|
||||
|
||||
igRender();
|
||||
}
|
||||
printf("%llu\n",ImGuiWindowFlags_NoTitleBar);
|
||||
printf("size: %d\n",sizeof(ImGuiWindowFlags_NoTitleBar));
|
||||
printf("DestroyContext()\n");
|
||||
igDestroyContext(NULL);
|
||||
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user