1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
|
import os
{.passC:"-I" & currentSourcePath().parentDir() / "imgui".}
{.passC:"-I" & currentSourcePath().parentDir() / "imgui" / "examples".}
{.passC:"-DIMGUI_IMPL_OPENGL_LOADER_GLAD".}
{.compile:"imgui/imgui.cpp".}
{.compile:"imgui/imgui_demo.cpp".}
{.compile:"imgui/imgui_draw.cpp".}
{.compile:"imgui/imgui_widgets.cpp".}
{.compile:"imgui/examples/imgui_impl_opengl3.cpp".}
{.compile:"imgui/examples/imgui_impl_raylib.cpp".}
const
imguiHeader = "<imgui.h>"
ImDrawCornerFlags_None* = (0).cint
ImDrawCornerFlags_TopLeft* = (1 shl 0).cint
ImDrawCornerFlags_TopRight* = (1 shl 1).cint
ImDrawCornerFlags_BotLeft* = (1 shl 2).cint
ImDrawCornerFlags_BotRight* = (1 shl 3).cint
ImDrawCornerFlags_Top* = (ImDrawCornerFlags_TopLeft or ImDrawCornerFlags_TopRight).cint
ImDrawCornerFlags_Bot* = (ImDrawCornerFlags_BotLeft or ImDrawCornerFlags_BotRight).cint
ImDrawCornerFlags_Left* = (ImDrawCornerFlags_TopLeft or ImDrawCornerFlags_BotLeft).cint
ImDrawCornerFlags_Right* = (ImDrawCornerFlags_TopRight or ImDrawCornerFlags_BotRight).cint
ImDrawCornerFlags_All* = (0xF).cint
ImDrawListFlags_None* = (0).cint
ImDrawListFlags_AntiAliasedLines* = (1 shl 0).cint
ImDrawListFlags_AntiAliasedFill* = (1 shl 1).cint
ImDrawListFlags_AllowVtxOffset* = (1 shl 2).cint
ImFontAtlasFlags_None* = (0).cint
ImFontAtlasFlags_NoPowerOfTwoHeight* = (1 shl 0).cint
ImFontAtlasFlags_NoMouseCursors* = (1 shl 1).cint
ImGuiBackendFlags_None* = (0).cint
ImGuiBackendFlags_HasGamepad* = (1 shl 0).cint
ImGuiBackendFlags_HasMouseCursors* = (1 shl 1).cint
ImGuiBackendFlags_HasSetMousePos* = (1 shl 2).cint
ImGuiBackendFlags_RendererHasVtxOffset* = (1 shl 3).cint
ImGuiCol_Text* = (0).cint
ImGuiCol_TextDisabled* = (1).cint
ImGuiCol_WindowBg* = (2).cint
ImGuiCol_ChildBg* = (3).cint
ImGuiCol_PopupBg* = (4).cint
ImGuiCol_Border* = (5).cint
ImGuiCol_BorderShadow* = (6).cint
ImGuiCol_FrameBg* = (7).cint
ImGuiCol_FrameBgHovered* = (8).cint
ImGuiCol_FrameBgActive* = (9).cint
ImGuiCol_TitleBg* = (10).cint
ImGuiCol_TitleBgActive* = (11).cint
ImGuiCol_TitleBgCollapsed* = (12).cint
ImGuiCol_MenuBarBg* = (13).cint
ImGuiCol_ScrollbarBg* = (14).cint
ImGuiCol_ScrollbarGrab* = (15).cint
ImGuiCol_ScrollbarGrabHovered* = (16).cint
ImGuiCol_ScrollbarGrabActive* = (17).cint
ImGuiCol_CheckMark* = (18).cint
ImGuiCol_SliderGrab* = (19).cint
ImGuiCol_SliderGrabActive* = (20).cint
ImGuiCol_Button* = (21).cint
ImGuiCol_ButtonHovered* = (22).cint
ImGuiCol_ButtonActive* = (23).cint
ImGuiCol_Header* = (24).cint
ImGuiCol_HeaderHovered* = (25).cint
ImGuiCol_HeaderActive* = (26).cint
ImGuiCol_Separator* = (27).cint
ImGuiCol_SeparatorHovered* = (28).cint
ImGuiCol_SeparatorActive* = (29).cint
ImGuiCol_ResizeGrip* = (30).cint
ImGuiCol_ResizeGripHovered* = (31).cint
ImGuiCol_ResizeGripActive* = (32).cint
ImGuiCol_Tab* = (33).cint
ImGuiCol_TabHovered* = (34).cint
ImGuiCol_TabActive* = (35).cint
ImGuiCol_TabUnfocused* = (36).cint
ImGuiCol_TabUnfocusedActive* = (37).cint
ImGuiCol_PlotLines* = (38).cint
ImGuiCol_PlotLinesHovered* = (39).cint
ImGuiCol_PlotHistogram* = (40).cint
ImGuiCol_PlotHistogramHovered* = (41).cint
ImGuiCol_TextSelectedBg* = (42).cint
ImGuiCol_DragDropTarget* = (43).cint
ImGuiCol_NavHighlight* = (44).cint
ImGuiCol_NavWindowingHighlight* = (45).cint
ImGuiCol_NavWindowingDimBg* = (46).cint
ImGuiCol_ModalWindowDimBg* = (47).cint
ImGuiCol_COUNT* = (48).cint
ImGuiColorEditFlags_None* = (0).cint
ImGuiColorEditFlags_NoAlpha* = (1 shl 1).cint
ImGuiColorEditFlags_NoPicker* = (1 shl 2).cint
ImGuiColorEditFlags_NoOptions* = (1 shl 3).cint
ImGuiColorEditFlags_NoSmallPreview* = (1 shl 4).cint
ImGuiColorEditFlags_NoInputs* = (1 shl 5).cint
ImGuiColorEditFlags_NoTooltip* = (1 shl 6).cint
ImGuiColorEditFlags_NoLabel* = (1 shl 7).cint
ImGuiColorEditFlags_NoSidePreview* = (1 shl 8).cint
ImGuiColorEditFlags_NoDragDrop* = (1 shl 9).cint
ImGuiColorEditFlags_AlphaBar* = (1 shl 16).cint
ImGuiColorEditFlags_AlphaPreview* = (1 shl 17).cint
ImGuiColorEditFlags_AlphaPreviewHalf* = (1 shl 18).cint
ImGuiColorEditFlags_HDR* = (1 shl 19).cint
ImGuiColorEditFlags_DisplayRGB* = (1 shl 20).cint
ImGuiColorEditFlags_DisplayHSV* = (1 shl 21).cint
ImGuiColorEditFlags_DisplayHex* = (1 shl 22).cint
ImGuiColorEditFlags_Uint8* = (1 shl 23).cint
ImGuiColorEditFlags_Float* = (1 shl 24).cint
ImGuiColorEditFlags_PickerHueBar* = (1 shl 25).cint
ImGuiColorEditFlags_PickerHueWheel* = (1 shl 26).cint
ImGuiColorEditFlags_InputRGB* = (1 shl 27).cint
ImGuiColorEditFlags_InputHSV* = (1 shl 28).cint
ImGuiComboFlags_None* = (0).cint
ImGuiComboFlags_PopupAlignLeft* = (1 shl 0).cint
ImGuiComboFlags_HeightSmall* = (1 shl 1).cint
ImGuiComboFlags_HeightRegular* = (1 shl 2).cint
ImGuiComboFlags_HeightLarge* = (1 shl 3).cint
ImGuiComboFlags_HeightLargest* = (1 shl 4).cint
ImGuiComboFlags_NoArrowButton* = (1 shl 5).cint
ImGuiComboFlags_NoPreview* = (1 shl 6).cint
ImGuiCond_Always* = (1 shl 0).cint
ImGuiCond_Once* = (1 shl 1).cint
ImGuiCond_FirstUseEver* = (1 shl 2).cint
ImGuiCond_Appearing* = (1 shl 3).cint
ImGuiConfigFlags_None* = (0).cint
ImGuiConfigFlags_NavEnableKeyboard* = (1 shl 0).cint
ImGuiConfigFlags_NavEnableGamepad* = (1 shl 1).cint
ImGuiConfigFlags_NavEnableSetMousePos* = (1 shl 2).cint
ImGuiConfigFlags_NavNoCaptureKeyboard* = (1 shl 3).cint
ImGuiConfigFlags_NoMouse* = (1 shl 4).cint
ImGuiConfigFlags_NoMouseCursorChange* = (1 shl 5).cint
ImGuiConfigFlags_IsSRGB* = (1 shl 20).cint
ImGuiConfigFlags_IsTouchScreen* = (1 shl 21).cint
ImGuiDataType_S8* = (0).cint
ImGuiDataType_U8* = (1).cint
ImGuiDataType_S16* = (2).cint
ImGuiDataType_U16* = (3).cint
ImGuiDataType_S32* = (4).cint
ImGuiDataType_U32* = (5).cint
ImGuiDataType_S64* = (6).cint
ImGuiDataType_U64* = (7).cint
ImGuiDataType_Float* = (8).cint
ImGuiDataType_Double* = (9).cint
ImGuiDataType_COUNT* = (10).cint
ImGuiDir_None* = (-1).cint
ImGuiDir_Left* = (0).cint
ImGuiDir_Right* = (1).cint
ImGuiDir_Up* = (2).cint
ImGuiDir_Down* = (3).cint
ImGuiDir_COUNT* = (4).cint
ImGuiDragDropFlags_None* = (0).cint
ImGuiDragDropFlags_SourceNoPreviewTooltip* = (1 shl 0).cint
ImGuiDragDropFlags_SourceNoDisableHover* = (1 shl 1).cint
ImGuiDragDropFlags_SourceNoHoldToOpenOthers* = (1 shl 2).cint
ImGuiDragDropFlags_SourceAllowNullID* = (1 shl 3).cint
ImGuiDragDropFlags_SourceExtern* = (1 shl 4).cint
ImGuiDragDropFlags_SourceAutoExpirePayload* = (1 shl 5).cint
ImGuiDragDropFlags_AcceptBeforeDelivery* = (1 shl 10).cint
ImGuiDragDropFlags_AcceptNoDrawDefaultRect* = (1 shl 11).cint
ImGuiDragDropFlags_AcceptNoPreviewTooltip* = (1 shl 12).cint
ImGuiDragDropFlags_AcceptPeekOnly* = (ImGuiDragDropFlags_AcceptBeforeDelivery or ImGuiDragDropFlags_AcceptNoDrawDefaultRect).cint
ImGuiFocusedFlags_None* = (0).cint
ImGuiFocusedFlags_ChildWindows* = (1 shl 0).cint
ImGuiFocusedFlags_RootWindow* = (1 shl 1).cint
ImGuiFocusedFlags_AnyWindow* = (1 shl 2).cint
ImGuiFocusedFlags_RootAndChildWindows* = (ImGuiFocusedFlags_RootWindow or ImGuiFocusedFlags_ChildWindows).cint
ImGuiHoveredFlags_None* = (0).cint
ImGuiHoveredFlags_ChildWindows* = (1 shl 0).cint
ImGuiHoveredFlags_RootWindow* = (1 shl 1).cint
ImGuiHoveredFlags_AnyWindow* = (1 shl 2).cint
ImGuiHoveredFlags_AllowWhenBlockedByPopup* = (1 shl 3).cint
ImGuiHoveredFlags_AllowWhenBlockedByActiveItem* = (1 shl 5).cint
ImGuiHoveredFlags_AllowWhenOverlapped* = (1 shl 6).cint
ImGuiHoveredFlags_AllowWhenDisabled* = (1 shl 7).cint
ImGuiHoveredFlags_RectOnly* = (ImGuiHoveredFlags_AllowWhenBlockedByPopup or ImGuiHoveredFlags_AllowWhenBlockedByActiveItem or ImGuiHoveredFlags_AllowWhenOverlapped).cint
ImGuiHoveredFlags_RootAndChildWindows* = (ImGuiHoveredFlags_RootWindow or ImGuiHoveredFlags_ChildWindows).cint
ImGuiInputTextFlags_None* = (0).cint
ImGuiInputTextFlags_CharsDecimal* = (1 shl 0).cint
ImGuiInputTextFlags_CharsHexadecimal* = (1 shl 1).cint
ImGuiInputTextFlags_CharsUppercase* = (1 shl 2).cint
ImGuiInputTextFlags_CharsNoBlank* = (1 shl 3).cint
ImGuiInputTextFlags_AutoSelectAll* = (1 shl 4).cint
ImGuiInputTextFlags_EnterReturnsTrue* = (1 shl 5).cint
ImGuiInputTextFlags_CallbackCompletion* = (1 shl 6).cint
ImGuiInputTextFlags_CallbackHistory* = (1 shl 7).cint
ImGuiInputTextFlags_CallbackAlways* = (1 shl 8).cint
ImGuiInputTextFlags_CallbackCharFilter* = (1 shl 9).cint
ImGuiInputTextFlags_AllowTabInput* = (1 shl 10).cint
ImGuiInputTextFlags_CtrlEnterForNewLine* = (1 shl 11).cint
ImGuiInputTextFlags_NoHorizontalScroll* = (1 shl 12).cint
ImGuiInputTextFlags_AlwaysInsertMode* = (1 shl 13).cint
ImGuiInputTextFlags_ReadOnly* = (1 shl 14).cint
ImGuiInputTextFlags_Password* = (1 shl 15).cint
ImGuiInputTextFlags_NoUndoRedo* = (1 shl 16).cint
ImGuiInputTextFlags_CharsScientific* = (1 shl 17).cint
ImGuiInputTextFlags_CallbackResize* = (1 shl 18).cint
ImGuiInputTextFlags_Multiline* = (1 shl 20).cint
ImGuiInputTextFlags_NoMarkEdited* = (1 shl 21).cint
ImGuiKey_Tab* = (0).cint
ImGuiKey_LeftArrow* = (1).cint
ImGuiKey_RightArrow* = (2).cint
ImGuiKey_UpArrow* = (3).cint
ImGuiKey_DownArrow* = (4).cint
ImGuiKey_PageUp* = (5).cint
ImGuiKey_PageDown* = (6).cint
ImGuiKey_Home* = (7).cint
ImGuiKey_End* = (8).cint
ImGuiKey_Insert* = (9).cint
ImGuiKey_Delete* = (10).cint
ImGuiKey_Backspace* = (11).cint
ImGuiKey_Space* = (12).cint
ImGuiKey_Enter* = (13).cint
ImGuiKey_Escape* = (14).cint
ImGuiKey_KeyPadEnter* = (15).cint
ImGuiKey_A* = (16).cint
ImGuiKey_C* = (17).cint
ImGuiKey_V* = (18).cint
ImGuiKey_X* = (19).cint
ImGuiKey_Y* = (20).cint
ImGuiKey_Z* = (21).cint
ImGuiKey_COUNT* = (22).cint
ImGuiMouseCursor_None* = (-1).cint
ImGuiMouseCursor_Arrow* = (0).cint
ImGuiMouseCursor_TextInput* = (1).cint
ImGuiMouseCursor_ResizeAll* = (2).cint
ImGuiMouseCursor_ResizeNS* = (3).cint
ImGuiMouseCursor_ResizeEW* = (4).cint
ImGuiMouseCursor_ResizeNESW* = (5).cint
ImGuiMouseCursor_ResizeNWSE* = (6).cint
ImGuiMouseCursor_Hand* = (7).cint
ImGuiMouseCursor_COUNT* = (8).cint
ImGuiNavInput_Activate* = (0).cint
ImGuiNavInput_Cancel* = (1).cint
ImGuiNavInput_Input* = (2).cint
ImGuiNavInput_Menu* = (3).cint
ImGuiNavInput_DpadLeft* = (4).cint
ImGuiNavInput_DpadRight* = (5).cint
ImGuiNavInput_DpadUp* = (6).cint
ImGuiNavInput_DpadDown* = (7).cint
ImGuiNavInput_LStickLeft* = (8).cint
ImGuiNavInput_LStickRight* = (9).cint
ImGuiNavInput_LStickUp* = (10).cint
ImGuiNavInput_LStickDown* = (11).cint
ImGuiNavInput_FocusPrev* = (12).cint
ImGuiNavInput_FocusNext* = (13).cint
ImGuiNavInput_TweakSlow* = (14).cint
ImGuiNavInput_TweakFast* = (15).cint
ImGuiNavInput_COUNT* = (22).cint
ImGuiSelectableFlags_None* = (0).cint
ImGuiSelectableFlags_DontClosePopups* = (1 shl 0).cint
ImGuiSelectableFlags_SpanAllColumns* = (1 shl 1).cint
ImGuiSelectableFlags_AllowDoubleClick* = (1 shl 2).cint
ImGuiSelectableFlags_Disabled* = (1 shl 3).cint
ImGuiSelectableFlags_AllowItemOverlap* = (1 shl 4).cint
ImGuiStyleVar_Alpha* = (0).cint
ImGuiStyleVar_WindowPadding* = (1).cint
ImGuiStyleVar_WindowRounding* = (2).cint
ImGuiStyleVar_WindowBorderSize* = (3).cint
ImGuiStyleVar_WindowMinSize* = (4).cint
ImGuiStyleVar_WindowTitleAlign* = (5).cint
ImGuiStyleVar_ChildRounding* = (6).cint
ImGuiStyleVar_ChildBorderSize* = (7).cint
ImGuiStyleVar_PopupRounding* = (8).cint
ImGuiStyleVar_PopupBorderSize* = (9).cint
ImGuiStyleVar_FramePadding* = (10).cint
ImGuiStyleVar_FrameRounding* = (11).cint
ImGuiStyleVar_FrameBorderSize* = (12).cint
ImGuiStyleVar_ItemSpacing* = (13).cint
ImGuiStyleVar_ItemInnerSpacing* = (14).cint
ImGuiStyleVar_IndentSpacing* = (15).cint
ImGuiStyleVar_ScrollbarSize* = (16).cint
ImGuiStyleVar_ScrollbarRounding* = (17).cint
ImGuiStyleVar_GrabMinSize* = (18).cint
ImGuiStyleVar_GrabRounding* = (19).cint
ImGuiStyleVar_TabRounding* = (20).cint
ImGuiStyleVar_ButtonTextAlign* = (21).cint
ImGuiStyleVar_SelectableTextAlign* = (22).cint
ImGuiStyleVar_COUNT* = (23).cint
ImGuiTabBarFlags_None* = (0).cint
ImGuiTabBarFlags_Reorderable* = (1 shl 0).cint
ImGuiTabBarFlags_AutoSelectNewTabs* = (1 shl 1).cint
ImGuiTabBarFlags_TabListPopupButton* = (1 shl 2).cint
ImGuiTabBarFlags_NoCloseWithMiddleMouseButton* = (1 shl 3).cint
ImGuiTabBarFlags_NoTabListScrollingButtons* = (1 shl 4).cint
ImGuiTabBarFlags_NoTooltip* = (1 shl 5).cint
ImGuiTabBarFlags_FittingPolicyResizeDown* = (1 shl 6).cint
ImGuiTabBarFlags_FittingPolicyScroll* = (1 shl 7).cint
ImGuiTabItemFlags_None* = (0).cint
ImGuiTabItemFlags_UnsavedDocument* = (1 shl 0).cint
ImGuiTabItemFlags_SetSelected* = (1 shl 1).cint
ImGuiTabItemFlags_NoCloseWithMiddleMouseButton* = (1 shl 2).cint
ImGuiTabItemFlags_NoPushId* = (1 shl 3).cint
ImGuiTreeNodeFlags_None* = (0).cint
ImGuiTreeNodeFlags_Selected* = (1 shl 0).cint
ImGuiTreeNodeFlags_Framed* = (1 shl 1).cint
ImGuiTreeNodeFlags_AllowItemOverlap* = (1 shl 2).cint
ImGuiTreeNodeFlags_NoTreePushOnOpen* = (1 shl 3).cint
ImGuiTreeNodeFlags_NoAutoOpenOnLog* = (1 shl 4).cint
ImGuiTreeNodeFlags_DefaultOpen* = (1 shl 5).cint
ImGuiTreeNodeFlags_OpenOnDoubleClick* = (1 shl 6).cint
ImGuiTreeNodeFlags_OpenOnArrow* = (1 shl 7).cint
ImGuiTreeNodeFlags_Leaf* = (1 shl 8).cint
ImGuiTreeNodeFlags_Bullet* = (1 shl 9).cint
ImGuiTreeNodeFlags_FramePadding* = (1 shl 10).cint
ImGuiTreeNodeFlags_SpanAvailWidth* = (1 shl 11).cint
ImGuiTreeNodeFlags_SpanFullWidth* = (1 shl 12).cint
ImGuiTreeNodeFlags_NavLeftJumpsBackHere* = (1 shl 13).cint
ImGuiTreeNodeFlags_CollapsingHeader* = (ImGuiTreeNodeFlags_Framed or ImGuiTreeNodeFlags_NoTreePushOnOpen or ImGuiTreeNodeFlags_NoAutoOpenOnLog).cint
ImGuiWindowFlags_None* = (0).cint
ImGuiWindowFlags_NoTitleBar* = (1 shl 0).cint
ImGuiWindowFlags_NoResize* = (1 shl 1).cint
ImGuiWindowFlags_NoMove* = (1 shl 2).cint
ImGuiWindowFlags_NoScrollbar* = (1 shl 3).cint
ImGuiWindowFlags_NoScrollWithMouse* = (1 shl 4).cint
ImGuiWindowFlags_NoCollapse* = (1 shl 5).cint
ImGuiWindowFlags_AlwaysAutoResize* = (1 shl 6).cint
ImGuiWindowFlags_NoBackground* = (1 shl 7).cint
ImGuiWindowFlags_NoSavedSettings* = (1 shl 8).cint
ImGuiWindowFlags_NoMouseInputs* = (1 shl 9).cint
ImGuiWindowFlags_MenuBar* = (1 shl 10).cint
ImGuiWindowFlags_HorizontalScrollbar* = (1 shl 11).cint
ImGuiWindowFlags_NoFocusOnAppearing* = (1 shl 12).cint
ImGuiWindowFlags_NoBringToFrontOnFocus* = (1 shl 13).cint
ImGuiWindowFlags_AlwaysVerticalScrollbar* = (1 shl 14).cint
ImGuiWindowFlags_AlwaysHorizontalScrollbar* = (1 shl 15).cint
ImGuiWindowFlags_AlwaysUseWindowPadding* = (1 shl 16).cint
ImGuiWindowFlags_NoNavInputs* = (1 shl 18).cint
ImGuiWindowFlags_NoNavFocus* = (1 shl 19).cint
ImGuiWindowFlags_UnsavedDocument* = (1 shl 20).cint
ImGuiWindowFlags_NoNav* = (ImGuiWindowFlags_NoNavInputs or ImGuiWindowFlags_NoNavFocus).cint
ImGuiWindowFlags_NoDecoration* = (ImGuiWindowFlags_NoTitleBar or ImGuiWindowFlags_NoResize or ImGuiWindowFlags_NoScrollbar or ImGuiWindowFlags_NoCollapse).cint
ImGuiWindowFlags_NoInputs* = (ImGuiWindowFlags_NoMouseInputs or ImGuiWindowFlags_NoNavInputs or ImGuiWindowFlags_NoNavFocus).cint
ImGuiWindowFlags_NavFlattened* = (1 shl 23).cint
ImGuiWindowFlags_ChildWindow* = (1 shl 24).cint
ImGuiWindowFlags_Tooltip* = (1 shl 25).cint
ImGuiWindowFlags_Popup* = (1 shl 26).cint
ImGuiWindowFlags_Modal* = (1 shl 27).cint
ImGuiWindowFlags_ChildMenu* = (1 shl 28).cint
type
ImVector*[T] {.importcpp, header: imguiHeader.} = object
Size*: cint
Capacity*: cint
Data*: ptr T
ImDrawListSharedData* {.importcpp, header: imguiHeader.} = object
ImGuiContext* {.importcpp, header: imguiHeader.} = object
va_list* {.importc, header:"<stdarg.h>".} = object
ImDrawCallback* = proc (parent_list: ptr ImDrawList, cmd: ptr ImDrawCmd) {.cdecl.}
ImDrawCornerFlags* = cint
ImDrawIdx* = cushort
ImDrawListFlags* = cint
ImFontAtlasFlags* = cint
ImGuiBackendFlags* = cint
ImGuiCol* = cint
ImGuiColorEditFlags* = cint
ImGuiComboFlags* = cint
ImGuiCond* = cint
ImGuiConfigFlags* = cint
ImGuiDataType* = cint
ImGuiDir* = cint
ImGuiDragDropFlags* = cint
ImGuiFocusedFlags* = cint
ImGuiHoveredFlags* = cint
ImGuiID* = cuint
ImGuiInputTextCallback* = proc (data: ptr ImGuiInputTextCallbackData): cint {.cdecl.}
ImGuiInputTextFlags* = cint
ImGuiKey* = cint
ImGuiMouseCursor* = cint
ImGuiNavInput* = cint
ImGuiSelectableFlags* = cint
ImGuiSizeCallback* = proc (data: ptr ImGuiSizeCallbackData) {.cdecl.}
ImGuiStyleVar* = cint
ImGuiTabBarFlags* = cint
ImGuiTabItemFlags* = cint
ImGuiTreeNodeFlags* = cint
ImGuiWindowFlags* = cint
ImS16* = cshort
ImS32* = cint
ImS64* = int64
ImS8* = cchar
ImTextureID* = pointer
ImU16* = cushort
ImU32* = cuint
ImU64* = uint64
ImU8* = cuchar
ImWchar* = cushort
ImColor* {.importcpp, header: imguiHeader.} = object
Value*: ImVec4
ImDrawChannel* {.importcpp, header: imguiHeader.} = object
ImDrawCmd* {.importcpp, header: imguiHeader.} = object
ElemCount*: cuint
ClipRect*: ImVec4
TextureId*: ImTextureID
VtxOffset*: cuint
IdxOffset*: cuint
UserCallback*: ImDrawCallback
UserCallbackData*: pointer
ImDrawData* {.importcpp, header: imguiHeader.} = object
Valid*: bool
CmdLists*: ptr ptr ImDrawList
CmdListsCount*: cint
TotalIdxCount*: cint
TotalVtxCount*: cint
DisplayPos*: ImVec2
DisplaySize*: ImVec2
FramebufferScale*: ImVec2
ImDrawList* {.importcpp, header: imguiHeader.} = object
CmdBuffer*: ImVector[ImDrawCmd]
IdxBuffer*: ImVector[ImDrawIdx]
VtxBuffer*: ImVector[ImDrawVert]
Flags*: ImDrawListFlags
ImDrawListSplitter* {.importcpp, header: imguiHeader.} = object
ImDrawVert* {.importcpp, header: imguiHeader.} = object
pos*: ImVec2
uv*: ImVec2
col*: ImU32
ImFont* {.importcpp, header: imguiHeader.} = object
IndexAdvanceX*: ImVector[cfloat]
FallbackAdvanceX*: cfloat
FontSize*: cfloat
IndexLookup*: ImVector[ImWchar]
Glyphs*: ImVector[ImFontGlyph]
FallbackGlyph*: ptr ImFontGlyph
DisplayOffset*: ImVec2
ContainerAtlas*: ptr ImFontAtlas
ConfigData*: ptr ImFontConfig
ConfigDataCount*: cshort
FallbackChar*: ImWchar
EllipsisChar*: ImWchar
Scale*: cfloat
Ascent*: cfloat
Descent*: cfloat
MetricsTotalSurface*: cint
DirtyLookupTables*: bool
ImFontAtlas* {.importcpp, header: imguiHeader.} = object
Locked*: bool
Flags*: ImFontAtlasFlags
TexID*: ImTextureID
TexDesiredWidth*: cint
TexGlyphPadding*: cint
TexPixelsAlpha8*: ptr cuchar
TexPixelsRGBA32*: ptr cuint
TexWidth*: cint
TexHeight*: cint
TexUvScale*: ImVec2
TexUvWhitePixel*: ImVec2
Fonts*: ImVector[ptr ImFont]
CustomRects*: ImVector[ImFontAtlasCustomRect]
ConfigData*: ImVector[ImFontConfig]
CustomRectIds*: array[1, cint]
ImFontAtlasCustomRect* {.importcpp, header: imguiHeader.} = object
ID*: cuint
Width*: cushort
Height*: cushort
X*: cushort
Y*: cushort
GlyphAdvanceX*: cfloat
GlyphOffset*: ImVec2
Font*: ptr ImFont
ImFontConfig* {.importcpp, header: imguiHeader.} = object
FontData*: pointer
FontDataSize*: cint
FontDataOwnedByAtlas*: bool
FontNo*: cint
SizePixels*: cfloat
OversampleH*: cint
OversampleV*: cint
PixelSnapH*: bool
GlyphExtraSpacing*: ImVec2
GlyphOffset*: ImVec2
GlyphRanges*: ptr ImWchar
GlyphMinAdvanceX*: cfloat
GlyphMaxAdvanceX*: cfloat
MergeMode*: bool
RasterizerFlags*: cuint
RasterizerMultiply*: cfloat
EllipsisChar*: ImWchar
Name*: array[40, cchar]
DstFont*: ptr ImFont
ImFontGlyph* {.importcpp, header: imguiHeader.} = object
Codepoint*: ImWchar
AdvanceX*: cfloat
X0*: cfloat
Y0*: cfloat
X1*: cfloat
Y1*: cfloat
U0*: cfloat
V0*: cfloat
U1*: cfloat
V1*: cfloat
ImFontGlyphRangesBuilder* {.importcpp, header: imguiHeader.} = object
UsedChars*: ImVector[ImU32]
ImGuiIO* {.importcpp, header: imguiHeader.} = object
ConfigFlags*: ImGuiConfigFlags
BackendFlags*: ImGuiBackendFlags
DisplaySize*: ImVec2
DeltaTime*: cfloat
IniSavingRate*: cfloat
IniFilename*: cstring
LogFilename*: cstring
MouseDoubleClickTime*: cfloat
MouseDoubleClickMaxDist*: cfloat
MouseDragThreshold*: cfloat
KeyMap*: array[ImGuiKey_COUNT, cint]
KeyRepeatDelay*: cfloat
KeyRepeatRate*: cfloat
UserData*: pointer
Fonts*: ptr ImFontAtlas
FontGlobalScale*: cfloat
FontAllowUserScaling*: bool
FontDefault*: ptr ImFont
DisplayFramebufferScale*: ImVec2
MouseDrawCursor*: bool
ConfigMacOSXBehaviors*: bool
ConfigInputTextCursorBlink*: bool
ConfigWindowsResizeFromEdges*: bool
ConfigWindowsMoveFromTitleBarOnly*: bool
ConfigWindowsMemoryCompactTimer*: cfloat
BackendPlatformName*: cstring
BackendRendererName*: cstring
BackendPlatformUserData*: pointer
BackendRendererUserData*: pointer
BackendLanguageUserData*: pointer
GetClipboardTextFn*: proc (user_data: pointer): cstring {.cdecl.}
SetClipboardTextFn*: proc (user_data: pointer, text: cstring) {.cdecl.}
ClipboardUserData*: pointer
ImeSetInputScreenPosFn*: proc (x: cint, y: cint) {.cdecl.}
ImeWindowHandle*: pointer
RenderDrawListsFnUnused*: pointer
MousePos*: ImVec2
MouseDown*: array[5, bool]
MouseWheel*: cfloat
MouseWheelH*: cfloat
KeyCtrl*: bool
KeyShift*: bool
KeyAlt*: bool
KeySuper*: bool
KeysDown*: array[512, bool]
NavInputs*: array[ImGuiNavInput_COUNT, cfloat]
WantCaptureMouse*: bool
WantCaptureKeyboard*: bool
WantTextInput*: bool
WantSetMousePos*: bool
WantSaveIniSettings*: bool
NavActive*: bool
NavVisible*: bool
Framerate*: cfloat
MetricsRenderVertices*: cint
MetricsRenderIndices*: cint
MetricsRenderWindows*: cint
MetricsActiveWindows*: cint
MetricsActiveAllocations*: cint
MouseDelta*: ImVec2
MousePosPrev*: ImVec2
MouseClickedPos*: array[5, ImVec2]
MouseClickedTime*: array[5, cdouble]
MouseClicked*: array[5, bool]
MouseDoubleClicked*: array[5, bool]
MouseReleased*: array[5, bool]
MouseDownOwned*: array[5, bool]
MouseDownWasDoubleClick*: array[5, bool]
MouseDownDuration*: array[5, cfloat]
MouseDownDurationPrev*: array[5, cfloat]
MouseDragMaxDistanceAbs*: array[5, ImVec2]
MouseDragMaxDistanceSqr*: array[5, cfloat]
KeysDownDuration*: array[512, cfloat]
KeysDownDurationPrev*: array[512, cfloat]
NavInputsDownDuration*: array[ImGuiNavInput_COUNT, cfloat]
NavInputsDownDurationPrev*: array[ImGuiNavInput_COUNT, cfloat]
InputQueueCharacters*: ImVector[ImWchar]
ImGuiInputTextCallbackData* {.importcpp, header: imguiHeader.} = object
EventFlag*: ImGuiInputTextFlags
Flags*: ImGuiInputTextFlags
UserData*: pointer
EventChar*: ImWchar
EventKey*: ImGuiKey
Buf*: ptr cchar
BufTextLen*: cint
BufSize*: cint
BufDirty*: bool
CursorPos*: cint
SelectionStart*: cint
SelectionEnd*: cint
ImGuiListClipper* {.importcpp, header: imguiHeader.} = object
StartPosY*: cfloat
ItemsHeight*: cfloat
ItemsCount*: cint
StepNo*: cint
DisplayStart*: cint
DisplayEnd*: cint
ImGuiOnceUponAFrame* {.importcpp, header: imguiHeader.} = object
RefFrame*: cint
ImGuiPayload* {.importcpp, header: imguiHeader.} = object
Data*: pointer
DataSize*: cint
SourceId*: ImGuiID
SourceParentId*: ImGuiID
DataFrameCount*: cint
DataType*: array[32+1, cchar]
Preview*: bool
Delivery*: bool
ImGuiSizeCallbackData* {.importcpp, header: imguiHeader.} = object
UserData*: pointer
Pos*: ImVec2
CurrentSize*: ImVec2
DesiredSize*: ImVec2
ImGuiStorage* {.importcpp, header: imguiHeader.} = object
Data*: ImVector[ImGuiStoragePair]
ImGuiStoragePair* {.importcpp, header: imguiHeader.} = object
ImGuiStyle* {.importcpp, header: imguiHeader.} = object
Alpha*: cfloat
WindowPadding*: ImVec2
WindowRounding*: cfloat
WindowBorderSize*: cfloat
WindowMinSize*: ImVec2
WindowTitleAlign*: ImVec2
WindowMenuButtonPosition*: ImGuiDir
ChildRounding*: cfloat
ChildBorderSize*: cfloat
PopupRounding*: cfloat
PopupBorderSize*: cfloat
FramePadding*: ImVec2
FrameRounding*: cfloat
FrameBorderSize*: cfloat
ItemSpacing*: ImVec2
ItemInnerSpacing*: ImVec2
TouchExtraPadding*: ImVec2
IndentSpacing*: cfloat
ColumnsMinSpacing*: cfloat
ScrollbarSize*: cfloat
ScrollbarRounding*: cfloat
GrabMinSize*: cfloat
GrabRounding*: cfloat
TabRounding*: cfloat
TabBorderSize*: cfloat
ColorButtonPosition*: ImGuiDir
ButtonTextAlign*: ImVec2
SelectableTextAlign*: ImVec2
DisplayWindowPadding*: ImVec2
DisplaySafeAreaPadding*: ImVec2
MouseCursorScale*: cfloat
AntiAliasedLines*: bool
AntiAliasedFill*: bool
CurveTessellationTol*: cfloat
Colors*: array[ImGuiCol_COUNT, ImVec4]
ImGuiTextBuffer* {.importcpp, header: imguiHeader.} = object
Buf*: ImVector[cchar]
ImGuiTextFilter* {.importcpp, header: imguiHeader.} = object
InputBuf*: array[256, cchar]
Filters*: ImVector[ImGuiTextRange]
CountGrep*: cint
ImGuiTextRange* {.importcpp, header: imguiHeader.} = object
b*: cstring
e*: cstring
ImVec2* {.importcpp, header: imguiHeader.} = object
x*: cfloat
y*: cfloat
ImVec4* {.importcpp, header: imguiHeader.} = object
x*: cfloat
y*: cfloat
z*: cfloat
w*: cfloat
proc initImColor*(): ImColor {.header: imguiHeader, importcpp: "ImColor(@)".}
proc initImColor*(r: cint, g: cint, b: cint, a: cint = 255): ImColor {.header: imguiHeader, importcpp: "ImColor(@)".}
proc initImColor*(rgba: ImU32): ImColor {.header: imguiHeader, importcpp: "ImColor(@)".}
proc initImColor*(r: cfloat, g: cfloat, b: cfloat, a: cfloat = 1.0f): ImColor {.header: imguiHeader, importcpp: "ImColor(@)".}
proc initImColor*(col: ImVec4): ImColor {.header: imguiHeader, importcpp: "ImColor(@)".}
proc initImDrawCmd*(): ImDrawCmd {.header: imguiHeader, importcpp: "ImDrawCmd(@)".}
proc initImDrawData*(): ImDrawData {.header: imguiHeader, importcpp: "ImDrawData(@)".}
proc initImDrawListSplitter*(): ImDrawListSplitter {.header: imguiHeader, importcpp: "ImDrawListSplitter(@)".}
proc initImDrawList*(shared_data: ptr ImDrawListSharedData): ImDrawList {.header: imguiHeader, importcpp: "ImDrawList(@)".}
proc initImFontAtlasCustomRect*(): ImFontAtlasCustomRect {.header: imguiHeader, importcpp: "ImFontAtlasCustomRect(@)".}
proc initImFontAtlas*(): ImFontAtlas {.header: imguiHeader, importcpp: "ImFontAtlas(@)".}
proc initImFontConfig*(): ImFontConfig {.header: imguiHeader, importcpp: "ImFontConfig(@)".}
proc initImFontGlyphRangesBuilder*(): ImFontGlyphRangesBuilder {.header: imguiHeader, importcpp: "ImFontGlyphRangesBuilder(@)".}
proc initImFont*(): ImFont {.header: imguiHeader, importcpp: "ImFont(@)".}
proc initImGuiIO*(): ImGuiIO {.header: imguiHeader, importcpp: "ImGuiIO(@)".}
proc initImGuiInputTextCallbackData*(): ImGuiInputTextCallbackData {.header: imguiHeader, importcpp: "ImGuiInputTextCallbackData(@)".}
proc initImGuiListClipper*(items_count: cint = -1, items_height: cfloat = -1.0f): ImGuiListClipper {.header: imguiHeader, importcpp: "ImGuiListClipper(@)".}
proc initImGuiOnceUponAFrame*(): ImGuiOnceUponAFrame {.header: imguiHeader, importcpp: "ImGuiOnceUponAFrame(@)".}
proc initImGuiPayload*(): ImGuiPayload {.header: imguiHeader, importcpp: "ImGuiPayload(@)".}
proc initImGuiStyle*(): ImGuiStyle {.header: imguiHeader, importcpp: "ImGuiStyle(@)".}
proc initImGuiTextFilter*(default_filter: cstring = ""): ImGuiTextFilter {.header: imguiHeader, importcpp: "ImGuiTextFilter(@)".}
proc initImVec2*(): ImVec2 {.header: imguiHeader, importcpp: "ImVec2(@)".}
proc initImVec2*(x: cfloat, y: cfloat): ImVec2 {.header: imguiHeader, importcpp: "ImVec2(@)".}
proc initImVec4*(): ImVec4 {.header: imguiHeader, importcpp: "ImVec4(@)".}
proc initImVec4*(x: cfloat, y: cfloat, z: cfloat, w: cfloat): ImVec4 {.header: imguiHeader, importcpp: "ImVec4(@)".}
proc initImVector*(): ImVector {.header: imguiHeader, importcpp: "ImVector(@)".}
proc initImVector*(src: ImVector): ImVector {.header: imguiHeader, importcpp: "ImVector(@)".}
proc HSV*(h: cfloat, s: cfloat, v: cfloat, a: cfloat = 1.0f): ImColor {.header: imguiHeader, importcpp: "#.HSV(@)".}
proc SetHSV*(self: var ImColor, h: cfloat, s: cfloat, v: cfloat, a: cfloat = 1.0f) {.header: imguiHeader, importcpp: "#.SetHSV(@)".}
proc Clear*(self: var ImDrawData) {.header: imguiHeader, importcpp: "#.Clear(@)".}
proc DeIndexAllBuffers*(self: var ImDrawData) {.header: imguiHeader, importcpp: "#.DeIndexAllBuffers(@)".}
proc ScaleClipRects*(self: var ImDrawData, fb_scale: ImVec2) {.header: imguiHeader, importcpp: "#.ScaleClipRects(@)".}
proc Clear*(self: var ImDrawListSplitter) {.header: imguiHeader, importcpp: "#.Clear(@)".}
proc ClearFreeMemory*(self: var ImDrawListSplitter) {.header: imguiHeader, importcpp: "#.ClearFreeMemory(@)".}
proc Merge*(self: var ImDrawListSplitter, draw_list: ptr ImDrawList) {.header: imguiHeader, importcpp: "#.Merge(@)".}
proc SetCurrentChannel*(self: var ImDrawListSplitter, draw_list: ptr ImDrawList, channel_idx: cint) {.header: imguiHeader, importcpp: "#.SetCurrentChannel(@)".}
proc Split*(self: var ImDrawListSplitter, draw_list: ptr ImDrawList, count: cint) {.header: imguiHeader, importcpp: "#.Split(@)".}
proc AddBezierCurve*(self: var ImDrawList, pos0: ImVec2, cp0: ImVec2, cp1: ImVec2, pos1: ImVec2, col: ImU32, thickness: cfloat, num_segments: cint = 0) {.header: imguiHeader, importcpp: "#.AddBezierCurve(@)".}
proc AddCallback*(self: var ImDrawList, callback: ImDrawCallback, callback_data: pointer) {.header: imguiHeader, importcpp: "#.AddCallback(@)".}
proc AddCircle*(self: var ImDrawList, center: ImVec2, radius: cfloat, col: ImU32, num_segments: cint = 12, thickness: cfloat = 1.0f) {.header: imguiHeader, importcpp: "#.AddCircle(@)".}
proc AddCircleFilled*(self: var ImDrawList, center: ImVec2, radius: cfloat, col: ImU32, num_segments: cint = 12) {.header: imguiHeader, importcpp: "#.AddCircleFilled(@)".}
proc AddConvexPolyFilled*(self: var ImDrawList, points: ptr ImVec2, num_points: cint, col: ImU32) {.header: imguiHeader, importcpp: "#.AddConvexPolyFilled(@)".}
proc AddDrawCmd*(self: var ImDrawList) {.header: imguiHeader, importcpp: "#.AddDrawCmd(@)".}
proc AddImage*(self: var ImDrawList, user_texture_id: ImTextureID, p_min: ImVec2, p_max: ImVec2, uv_min: ImVec2 = initImVec2(0,0), uv_max: ImVec2 = initImVec2(1,1), col: ImU32 = (((ImU32)(255) shl 24) or ((ImU32)(255) shl 16) or ((ImU32)(255) shl 8) or ((ImU32)(255) shl 0))) {.header: imguiHeader, importcpp: "#.AddImage(@)".}
proc AddImageQuad*(self: var ImDrawList, user_texture_id: ImTextureID, p1: ImVec2, p2: ImVec2, p3: ImVec2, p4: ImVec2, uv1: ImVec2 = initImVec2(0,0), uv2: ImVec2 = initImVec2(1,0), uv3: ImVec2 = initImVec2(1,1), uv4: ImVec2 = initImVec2(0,1), col: ImU32 = (((ImU32)(255) shl 24) or ((ImU32)(255) shl 16) or ((ImU32)(255) shl 8) or ((ImU32)(255) shl 0))) {.header: imguiHeader, importcpp: "#.AddImageQuad(@)".}
proc AddImageRounded*(self: var ImDrawList, user_texture_id: ImTextureID, p_min: ImVec2, p_max: ImVec2, uv_min: ImVec2, uv_max: ImVec2, col: ImU32, rounding: cfloat, rounding_corners: ImDrawCornerFlags = ImDrawCornerFlags_All) {.header: imguiHeader, importcpp: "#.AddImageRounded(@)".}
proc AddLine*(self: var ImDrawList, p1: ImVec2, p2: ImVec2, col: ImU32, thickness: cfloat = 1.0f) {.header: imguiHeader, importcpp: "#.AddLine(@)".}
proc AddPolyline*(self: var ImDrawList, points: ptr ImVec2, num_points: cint, col: ImU32, closed: bool, thickness: cfloat) {.header: imguiHeader, importcpp: "#.AddPolyline(@)".}
proc AddQuad*(self: var ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, p4: ImVec2, col: ImU32, thickness: cfloat = 1.0f) {.header: imguiHeader, importcpp: "#.AddQuad(@)".}
proc AddQuadFilled*(self: var ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, p4: ImVec2, col: ImU32) {.header: imguiHeader, importcpp: "#.AddQuadFilled(@)".}
proc AddRect*(self: var ImDrawList, p_min: ImVec2, p_max: ImVec2, col: ImU32, rounding: cfloat = 0.0f, rounding_corners: ImDrawCornerFlags = ImDrawCornerFlags_All, thickness: cfloat = 1.0f) {.header: imguiHeader, importcpp: "#.AddRect(@)".}
proc AddRectFilled*(self: var ImDrawList, p_min: ImVec2, p_max: ImVec2, col: ImU32, rounding: cfloat = 0.0f, rounding_corners: ImDrawCornerFlags = ImDrawCornerFlags_All) {.header: imguiHeader, importcpp: "#.AddRectFilled(@)".}
proc AddRectFilledMultiColor*(self: var ImDrawList, p_min: ImVec2, p_max: ImVec2, col_upr_left: ImU32, col_upr_right: ImU32, col_bot_right: ImU32, col_bot_left: ImU32) {.header: imguiHeader, importcpp: "#.AddRectFilledMultiColor(@)".}
proc AddText*(self: var ImDrawList, pos: ImVec2, col: ImU32, text_begin: cstring, text_end: cstring = nil) {.header: imguiHeader, importcpp: "#.AddText(@)".}
proc AddText*(self: var ImDrawList, font: ptr ImFont, font_size: cfloat, pos: ImVec2, col: ImU32, text_begin: cstring, text_end: cstring = nil, wrap_width: cfloat = 0.0f, cpu_fine_clip_rect: ptr ImVec4 = nil) {.header: imguiHeader, importcpp: "#.AddText(@)".}
proc AddTriangle*(self: var ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, col: ImU32, thickness: cfloat = 1.0f) {.header: imguiHeader, importcpp: "#.AddTriangle(@)".}
proc AddTriangleFilled*(self: var ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, col: ImU32) {.header: imguiHeader, importcpp: "#.AddTriangleFilled(@)".}
proc ChannelsMerge*(self: var ImDrawList) {.header: imguiHeader, importcpp: "#.ChannelsMerge(@)".}
proc ChannelsSetCurrent*(self: var ImDrawList, n: cint) {.header: imguiHeader, importcpp: "#.ChannelsSetCurrent(@)".}
proc ChannelsSplit*(self: var ImDrawList, count: cint) {.header: imguiHeader, importcpp: "#.ChannelsSplit(@)".}
proc Clear*(self: var ImDrawList) {.header: imguiHeader, importcpp: "#.Clear(@)".}
proc ClearFreeMemory*(self: var ImDrawList) {.header: imguiHeader, importcpp: "#.ClearFreeMemory(@)".}
proc CloneOutput*(self: var ImDrawList): ptr ImDrawList {.header: imguiHeader, importcpp: "#.CloneOutput(@)".}
proc GetClipRectMax*(self: var ImDrawList): ImVec2 {.header: imguiHeader, importcpp: "#.GetClipRectMax(@)".}
proc GetClipRectMin*(self: var ImDrawList): ImVec2 {.header: imguiHeader, importcpp: "#.GetClipRectMin(@)".}
proc PathArcTo*(self: var ImDrawList, center: ImVec2, radius: cfloat, a_min: cfloat, a_max: cfloat, num_segments: cint = 10) {.header: imguiHeader, importcpp: "#.PathArcTo(@)".}
proc PathArcToFast*(self: var ImDrawList, center: ImVec2, radius: cfloat, a_min_of_12: cint, a_max_of_12: cint) {.header: imguiHeader, importcpp: "#.PathArcToFast(@)".}
proc PathBezierCurveTo*(self: var ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, num_segments: cint = 0) {.header: imguiHeader, importcpp: "#.PathBezierCurveTo(@)".}
proc PathClear*(self: var ImDrawList) {.header: imguiHeader, importcpp: "#.PathClear(@)".}
proc PathFillConvex*(self: var ImDrawList, col: ImU32) {.header: imguiHeader, importcpp: "#.PathFillConvex(@)".}
proc PathLineTo*(self: var ImDrawList, pos: ImVec2) {.header: imguiHeader, importcpp: "#.PathLineTo(@)".}
proc PathLineToMergeDuplicate*(self: var ImDrawList, pos: ImVec2) {.header: imguiHeader, importcpp: "#.PathLineToMergeDuplicate(@)".}
proc PathRect*(self: var ImDrawList, rect_min: ImVec2, rect_max: ImVec2, rounding: cfloat = 0.0f, rounding_corners: ImDrawCornerFlags = ImDrawCornerFlags_All) {.header: imguiHeader, importcpp: "#.PathRect(@)".}
proc PathStroke*(self: var ImDrawList, col: ImU32, closed: bool, thickness: cfloat = 1.0f) {.header: imguiHeader, importcpp: "#.PathStroke(@)".}
proc PopClipRect*(self: var ImDrawList) {.header: imguiHeader, importcpp: "#.PopClipRect(@)".}
proc PopTextureID*(self: var ImDrawList) {.header: imguiHeader, importcpp: "#.PopTextureID(@)".}
proc PrimQuadUV*(self: var ImDrawList, a: ImVec2, b: ImVec2, c: ImVec2, d: ImVec2, uv_a: ImVec2, uv_b: ImVec2, uv_c: ImVec2, uv_d: ImVec2, col: ImU32) {.header: imguiHeader, importcpp: "#.PrimQuadUV(@)".}
proc PrimRect*(self: var ImDrawList, a: ImVec2, b: ImVec2, col: ImU32) {.header: imguiHeader, importcpp: "#.PrimRect(@)".}
proc PrimRectUV*(self: var ImDrawList, a: ImVec2, b: ImVec2, uv_a: ImVec2, uv_b: ImVec2, col: ImU32) {.header: imguiHeader, importcpp: "#.PrimRectUV(@)".}
proc PrimReserve*(self: var ImDrawList, idx_count: cint, vtx_count: cint) {.header: imguiHeader, importcpp: "#.PrimReserve(@)".}
proc PrimVtx*(self: var ImDrawList, pos: ImVec2, uv: ImVec2, col: ImU32) {.header: imguiHeader, importcpp: "#.PrimVtx(@)".}
proc PrimWriteIdx*(self: var ImDrawList, idx: ImDrawIdx) {.header: imguiHeader, importcpp: "#.PrimWriteIdx(@)".}
proc PrimWriteVtx*(self: var ImDrawList, pos: ImVec2, uv: ImVec2, col: ImU32) {.header: imguiHeader, importcpp: "#.PrimWriteVtx(@)".}
proc PushClipRect*(self: var ImDrawList, clip_rect_min: ImVec2, clip_rect_max: ImVec2, intersect_with_current_clip_rect: bool = false) {.header: imguiHeader, importcpp: "#.PushClipRect(@)".}
proc PushClipRectFullScreen*(self: var ImDrawList) {.header: imguiHeader, importcpp: "#.PushClipRectFullScreen(@)".}
proc PushTextureID*(self: var ImDrawList, texture_id: ImTextureID) {.header: imguiHeader, importcpp: "#.PushTextureID(@)".}
proc UpdateClipRect*(self: var ImDrawList) {.header: imguiHeader, importcpp: "#.UpdateClipRect(@)".}
proc UpdateTextureID*(self: var ImDrawList) {.header: imguiHeader, importcpp: "#.UpdateTextureID(@)".}
proc IsPacked*(self: var ImFontAtlasCustomRect): bool {.header: imguiHeader, importcpp: "#.IsPacked(@)".}
proc AddCustomRectFontGlyph*(self: var ImFontAtlas, font: ptr ImFont, id: ImWchar, width: cint, height: cint, advance_x: cfloat, offset: ImVec2 = initImVec2(0,0)): cint {.header: imguiHeader, importcpp: "#.AddCustomRectFontGlyph(@)".}
proc AddCustomRectRegular*(self: var ImFontAtlas, id: cuint, width: cint, height: cint): cint {.header: imguiHeader, importcpp: "#.AddCustomRectRegular(@)".}
proc AddFont*(self: var ImFontAtlas, font_cfg: ptr ImFontConfig): ptr ImFont {.header: imguiHeader, importcpp: "#.AddFont(@)".}
proc AddFontDefault*(self: var ImFontAtlas, font_cfg: ptr ImFontConfig = nil): ptr ImFont {.header: imguiHeader, importcpp: "#.AddFontDefault(@)".}
proc AddFontFromFileTTF*(self: var ImFontAtlas, filename: cstring, size_pixels: cfloat, font_cfg: ptr ImFontConfig = nil, glyph_ranges: ptr ImWchar = nil): ptr ImFont {.header: imguiHeader, importcpp: "#.AddFontFromFileTTF(@)".}
proc AddFontFromMemoryCompressedBase85TTF*(self: var ImFontAtlas, compressed_font_data_base85: cstring, size_pixels: cfloat, font_cfg: ptr ImFontConfig = nil, glyph_ranges: ptr ImWchar = nil): ptr ImFont {.header: imguiHeader, importcpp: "#.AddFontFromMemoryCompressedBase85TTF(@)".}
proc AddFontFromMemoryCompressedTTF*(self: var ImFontAtlas, compressed_font_data: pointer, compressed_font_size: cint, size_pixels: cfloat, font_cfg: ptr ImFontConfig = nil, glyph_ranges: ptr ImWchar = nil): ptr ImFont {.header: imguiHeader, importcpp: "#.AddFontFromMemoryCompressedTTF(@)".}
proc AddFontFromMemoryTTF*(self: var ImFontAtlas, font_data: pointer, font_size: cint, size_pixels: cfloat, font_cfg: ptr ImFontConfig = nil, glyph_ranges: ptr ImWchar = nil): ptr ImFont {.header: imguiHeader, importcpp: "#.AddFontFromMemoryTTF(@)".}
proc Build*(self: var ImFontAtlas): bool {.header: imguiHeader, importcpp: "#.Build(@)".}
proc CalcCustomRectUV*(self: var ImFontAtlas, rect: ptr ImFontAtlasCustomRect, out_uv_min: ptr ImVec2, out_uv_max: ptr ImVec2) {.header: imguiHeader, importcpp: "#.CalcCustomRectUV(@)".}
proc Clear*(self: var ImFontAtlas) {.header: imguiHeader, importcpp: "#.Clear(@)".}
proc ClearFonts*(self: var ImFontAtlas) {.header: imguiHeader, importcpp: "#.ClearFonts(@)".}
proc ClearInputData*(self: var ImFontAtlas) {.header: imguiHeader, importcpp: "#.ClearInputData(@)".}
proc ClearTexData*(self: var ImFontAtlas) {.header: imguiHeader, importcpp: "#.ClearTexData(@)".}
proc GetCustomRectByIndex*(self: var ImFontAtlas, index: cint): ptr ImFontAtlasCustomRect {.header: imguiHeader, importcpp: "#.GetCustomRectByIndex(@)".}
proc GetGlyphRangesChineseFull*(self: var ImFontAtlas): ptr ImWchar {.header: imguiHeader, importcpp: "#.GetGlyphRangesChineseFull(@)".}
proc GetGlyphRangesChineseSimplifiedCommon*(self: var ImFontAtlas): ptr ImWchar {.header: imguiHeader, importcpp: "#.GetGlyphRangesChineseSimplifiedCommon(@)".}
proc GetGlyphRangesCyrillic*(self: var ImFontAtlas): ptr ImWchar {.header: imguiHeader, importcpp: "#.GetGlyphRangesCyrillic(@)".}
proc GetGlyphRangesDefault*(self: var ImFontAtlas): ptr ImWchar {.header: imguiHeader, importcpp: "#.GetGlyphRangesDefault(@)".}
proc GetGlyphRangesJapanese*(self: var ImFontAtlas): ptr ImWchar {.header: imguiHeader, importcpp: "#.GetGlyphRangesJapanese(@)".}
proc GetGlyphRangesKorean*(self: var ImFontAtlas): ptr ImWchar {.header: imguiHeader, importcpp: "#.GetGlyphRangesKorean(@)".}
proc GetGlyphRangesThai*(self: var ImFontAtlas): ptr ImWchar {.header: imguiHeader, importcpp: "#.GetGlyphRangesThai(@)".}
proc GetGlyphRangesVietnamese*(self: var ImFontAtlas): ptr ImWchar {.header: imguiHeader, importcpp: "#.GetGlyphRangesVietnamese(@)".}
proc GetMouseCursorTexData*(self: var ImFontAtlas, cursor: ImGuiMouseCursor, out_offset: ptr ImVec2, out_size: ptr ImVec2, out_uv_border: array[2, ImVec2], out_uv_fill: array[2, ImVec2]): bool {.header: imguiHeader, importcpp: "#.GetMouseCursorTexData(@)".}
proc GetTexDataAsAlpha8*(self: var ImFontAtlas, out_pixels: ptr ptr cuchar, out_width: ptr cint, out_height: ptr cint, out_bytes_per_pixel: ptr cint = nil) {.header: imguiHeader, importcpp: "#.GetTexDataAsAlpha8(@)".}
proc GetTexDataAsRGBA32*(self: var ImFontAtlas, out_pixels: ptr ptr cuchar, out_width: ptr cint, out_height: ptr cint, out_bytes_per_pixel: ptr cint = nil) {.header: imguiHeader, importcpp: "#.GetTexDataAsRGBA32(@)".}
proc IsBuilt*(self: var ImFontAtlas): bool {.header: imguiHeader, importcpp: "#.IsBuilt(@)".}
proc SetTexID*(self: var ImFontAtlas, id: ImTextureID) {.header: imguiHeader, importcpp: "#.SetTexID(@)".}
proc AddChar*(self: var ImFontGlyphRangesBuilder, c: ImWchar) {.header: imguiHeader, importcpp: "#.AddChar(@)".}
proc AddRanges*(self: var ImFontGlyphRangesBuilder, ranges: ptr ImWchar) {.header: imguiHeader, importcpp: "#.AddRanges(@)".}
proc AddText*(self: var ImFontGlyphRangesBuilder, text: cstring, text_end: cstring = nil) {.header: imguiHeader, importcpp: "#.AddText(@)".}
proc BuildRanges*(self: var ImFontGlyphRangesBuilder, out_ranges: ptr ImVector[ImWchar]) {.header: imguiHeader, importcpp: "#.BuildRanges(@)".}
proc Clear*(self: var ImFontGlyphRangesBuilder) {.header: imguiHeader, importcpp: "#.Clear(@)".}
proc GetBit*(self: var ImFontGlyphRangesBuilder, n: cint): bool {.header: imguiHeader, importcpp: "#.GetBit(@)".}
proc SetBit*(self: var ImFontGlyphRangesBuilder, n: cint) {.header: imguiHeader, importcpp: "#.SetBit(@)".}
proc AddGlyph*(self: var ImFont, c: ImWchar, x0: cfloat, y0: cfloat, x1: cfloat, y1: cfloat, u0: cfloat, v0: cfloat, u1: cfloat, v1: cfloat, advance_x: cfloat) {.header: imguiHeader, importcpp: "#.AddGlyph(@)".}
proc AddRemapChar*(self: var ImFont, dst: ImWchar, src: ImWchar, overwrite_dst: bool = true) {.header: imguiHeader, importcpp: "#.AddRemapChar(@)".}
proc BuildLookupTable*(self: var ImFont) {.header: imguiHeader, importcpp: "#.BuildLookupTable(@)".}
proc CalcTextSizeA*(self: var ImFont, size: cfloat, max_width: cfloat, wrap_width: cfloat, text_begin: cstring, text_end: cstring = nil, remaining: ptr ptr cchar = nil): ImVec2 {.header: imguiHeader, importcpp: "#.CalcTextSizeA(@)".}
proc CalcWordWrapPositionA*(self: var ImFont, scale: cfloat, text: cstring, text_end: cstring, wrap_width: cfloat): cstring {.header: imguiHeader, importcpp: "#.CalcWordWrapPositionA(@)".}
proc ClearOutputData*(self: var ImFont) {.header: imguiHeader, importcpp: "#.ClearOutputData(@)".}
proc FindGlyph*(self: var ImFont, c: ImWchar): ptr ImFontGlyph {.header: imguiHeader, importcpp: "#.FindGlyph(@)".}
proc FindGlyphNoFallback*(self: var ImFont, c: ImWchar): ptr ImFontGlyph {.header: imguiHeader, importcpp: "#.FindGlyphNoFallback(@)".}
proc GetCharAdvance*(self: var ImFont, c: ImWchar): cfloat {.header: imguiHeader, importcpp: "#.GetCharAdvance(@)".}
proc GetDebugName*(self: var ImFont): cstring {.header: imguiHeader, importcpp: "#.GetDebugName(@)".}
proc GrowIndex*(self: var ImFont, new_size: cint) {.header: imguiHeader, importcpp: "#.GrowIndex(@)".}
proc IsLoaded*(self: var ImFont): bool {.header: imguiHeader, importcpp: "#.IsLoaded(@)".}
proc RenderChar*(self: var ImFont, draw_list: ptr ImDrawList, size: cfloat, pos: ImVec2, col: ImU32, c: ImWchar) {.header: imguiHeader, importcpp: "#.RenderChar(@)".}
proc RenderText*(self: var ImFont, draw_list: ptr ImDrawList, size: cfloat, pos: ImVec2, col: ImU32, clip_rect: ImVec4, text_begin: cstring, text_end: cstring, wrap_width: cfloat = 0.0f, cpu_fine_clip: bool = false) {.header: imguiHeader, importcpp: "#.RenderText(@)".}
proc SetFallbackChar*(self: var ImFont, c: ImWchar) {.header: imguiHeader, importcpp: "#.SetFallbackChar(@)".}
proc AddInputCharacter*(self: var ImGuiIO, c: cuint) {.header: imguiHeader, importcpp: "#.AddInputCharacter(@)".}
proc AddInputCharactersUTF8*(self: var ImGuiIO, str: cstring) {.header: imguiHeader, importcpp: "#.AddInputCharactersUTF8(@)".}
proc ClearInputCharacters*(self: var ImGuiIO) {.header: imguiHeader, importcpp: "#.ClearInputCharacters(@)".}
proc DeleteChars*(self: var ImGuiInputTextCallbackData, pos: cint, bytes_count: cint) {.header: imguiHeader, importcpp: "#.DeleteChars(@)".}
proc HasSelection*(self: var ImGuiInputTextCallbackData): bool {.header: imguiHeader, importcpp: "#.HasSelection(@)".}
proc InsertChars*(self: var ImGuiInputTextCallbackData, pos: cint, text: cstring, text_end: cstring = nil) {.header: imguiHeader, importcpp: "#.InsertChars(@)".}
proc Begin*(self: var ImGuiListClipper, items_count: cint, items_height: cfloat = -1.0f) {.header: imguiHeader, importcpp: "#.Begin(@)".}
proc End*(self: var ImGuiListClipper) {.header: imguiHeader, importcpp: "#.End(@)".}
proc Step*(self: var ImGuiListClipper): bool {.header: imguiHeader, importcpp: "#.Step(@)".}
proc Clear*(self: var ImGuiPayload) {.header: imguiHeader, importcpp: "#.Clear(@)".}
proc IsDataType*(self: var ImGuiPayload, `type`: cstring): bool {.header: imguiHeader, importcpp: "#.IsDataType(@)".}
proc IsDelivery*(self: var ImGuiPayload): bool {.header: imguiHeader, importcpp: "#.IsDelivery(@)".}
proc IsPreview*(self: var ImGuiPayload): bool {.header: imguiHeader, importcpp: "#.IsPreview(@)".}
proc BuildSortByKey*(self: var ImGuiStorage) {.header: imguiHeader, importcpp: "#.BuildSortByKey(@)".}
proc Clear*(self: var ImGuiStorage) {.header: imguiHeader, importcpp: "#.Clear(@)".}
proc GetBool*(self: var ImGuiStorage, key: ImGuiID, default_val: bool = false): bool {.header: imguiHeader, importcpp: "#.GetBool(@)".}
proc GetBoolRef*(self: var ImGuiStorage, key: ImGuiID, default_val: bool = false): ptr bool {.header: imguiHeader, importcpp: "#.GetBoolRef(@)".}
proc GetFloat*(self: var ImGuiStorage, key: ImGuiID, default_val: cfloat = 0.0f): cfloat {.header: imguiHeader, importcpp: "#.GetFloat(@)".}
proc GetFloatRef*(self: var ImGuiStorage, key: ImGuiID, default_val: cfloat = 0.0f): ptr cfloat {.header: imguiHeader, importcpp: "#.GetFloatRef(@)".}
proc GetInt*(self: var ImGuiStorage, key: ImGuiID, default_val: cint = 0): cint {.header: imguiHeader, importcpp: "#.GetInt(@)".}
proc GetIntRef*(self: var ImGuiStorage, key: ImGuiID, default_val: cint = 0): ptr cint {.header: imguiHeader, importcpp: "#.GetIntRef(@)".}
proc GetVoidPtr*(self: var ImGuiStorage, key: ImGuiID): pointer {.header: imguiHeader, importcpp: "#.GetVoidPtr(@)".}
proc GetVoidPtrRef*(self: var ImGuiStorage, key: ImGuiID, default_val: pointer = nil): pointer {.header: imguiHeader, importcpp: "#.GetVoidPtrRef(@)".}
proc SetAllInt*(self: var ImGuiStorage, val: cint) {.header: imguiHeader, importcpp: "#.SetAllInt(@)".}
proc SetBool*(self: var ImGuiStorage, key: ImGuiID, val: bool) {.header: imguiHeader, importcpp: "#.SetBool(@)".}
proc SetFloat*(self: var ImGuiStorage, key: ImGuiID, val: cfloat) {.header: imguiHeader, importcpp: "#.SetFloat(@)".}
proc SetInt*(self: var ImGuiStorage, key: ImGuiID, val: cint) {.header: imguiHeader, importcpp: "#.SetInt(@)".}
proc SetVoidPtr*(self: var ImGuiStorage, key: ImGuiID, val: pointer) {.header: imguiHeader, importcpp: "#.SetVoidPtr(@)".}
proc ScaleAllSizes*(self: var ImGuiStyle, scale_factor: cfloat) {.header: imguiHeader, importcpp: "#.ScaleAllSizes(@)".}
proc Build*(self: var ImGuiTextFilter) {.header: imguiHeader, importcpp: "#.Build(@)".}
proc Clear*(self: var ImGuiTextFilter) {.header: imguiHeader, importcpp: "#.Clear(@)".}
proc Draw*(self: var ImGuiTextFilter, label: cstring = "Filter(inc,-exc)", width: cfloat = 0.0f): bool {.header: imguiHeader, importcpp: "#.Draw(@)".}
proc IsActive*(self: var ImGuiTextFilter): bool {.header: imguiHeader, importcpp: "#.IsActive(@)".}
proc PassFilter*(self: var ImGuiTextFilter, text: cstring, text_end: cstring = nil): bool {.header: imguiHeader, importcpp: "#.PassFilter(@)".}
proc back*[T](self: var ImVector[T]): var T {.header: imguiHeader, importcpp: "#.back(@)".}
proc begin*[T](self: var ImVector[T]): ptr T {.header: imguiHeader, importcpp: "#.begin(@)".}
proc capacity*[T](self: var ImVector[T]): cint {.header: imguiHeader, importcpp: "#.capacity(@)".}
proc clear*[T](self: var ImVector[T]) {.header: imguiHeader, importcpp: "#.clear(@)".}
proc contains*[T](self: var ImVector[T], v: T): bool {.header: imguiHeader, importcpp: "#.contains(@)".}
proc empty*[T](self: var ImVector[T]): bool {.header: imguiHeader, importcpp: "#.empty(@)".}
proc `end`*[T](self: var ImVector[T]): ptr T {.header: imguiHeader, importcpp: "#.end(@)".}
proc erase*[T](self: var ImVector[T], it: ptr T): ptr T {.header: imguiHeader, importcpp: "#.erase(@)".}
proc erase*[T](self: var ImVector[T], it: ptr T, it_last: ptr T): ptr T {.header: imguiHeader, importcpp: "#.erase(@)".}
proc erase_unsorted*[T](self: var ImVector[T], it: ptr T): ptr T {.header: imguiHeader, importcpp: "#.erase_unsorted(@)".}
proc find*[T](self: var ImVector[T], v: T): ptr T {.header: imguiHeader, importcpp: "#.find(@)".}
proc find_erase*[T](self: var ImVector[T], v: T): bool {.header: imguiHeader, importcpp: "#.find_erase(@)".}
proc find_erase_unsorted*[T](self: var ImVector[T], v: T): bool {.header: imguiHeader, importcpp: "#.find_erase_unsorted(@)".}
proc front*[T](self: var ImVector[T]): var T {.header: imguiHeader, importcpp: "#.front(@)".}
proc index_from_ptr*[T](self: var ImVector[T], it: ptr T): cint {.header: imguiHeader, importcpp: "#.index_from_ptr(@)".}
proc insert*[T](self: var ImVector[T], it: ptr T, v: T): ptr T {.header: imguiHeader, importcpp: "#.insert(@)".}
proc pop_back*[T](self: var ImVector[T]) {.header: imguiHeader, importcpp: "#.pop_back(@)".}
proc push_back*[T](self: var ImVector[T], v: T) {.header: imguiHeader, importcpp: "#.push_back(@)".}
proc push_front*[T](self: var ImVector[T], v: T) {.header: imguiHeader, importcpp: "#.push_front(@)".}
proc reserve*[T](self: var ImVector[T], new_capacity: cint) {.header: imguiHeader, importcpp: "#.reserve(@)".}
proc resize*[T](self: var ImVector[T], new_size: cint) {.header: imguiHeader, importcpp: "#.resize(@)".}
proc resize*[T](self: var ImVector[T], new_size: cint, v: T) {.header: imguiHeader, importcpp: "#.resize(@)".}
proc size*[T](self: var ImVector[T]): cint {.header: imguiHeader, importcpp: "#.size(@)".}
proc size_in_bytes*[T](self: var ImVector[T]): cint {.header: imguiHeader, importcpp: "#.size_in_bytes(@)".}
proc swap*[T](self: var ImVector[T], rhs: var ImVector) {.header: imguiHeader, importcpp: "#.swap(@)".}
proc AcceptDragDropPayload*(`type`: cstring, flags: ImGuiDragDropFlags = 0): ptr ImGuiPayload {.header: imguiHeader, importcpp: "ImGui::AcceptDragDropPayload(@)".}
proc AlignTextToFramePadding*() {.header: imguiHeader, importcpp: "ImGui::AlignTextToFramePadding(@)".}
proc ArrowButton*(str_id: cstring, dir: ImGuiDir): bool {.header: imguiHeader, importcpp: "ImGui::ArrowButton(@)".}
proc Begin*(name: cstring, p_open: ptr bool = nil, flags: ImGuiWindowFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::Begin(@)".}
proc BeginChild*(str_id: cstring, size: ImVec2 = initImVec2(0,0), border: bool = false, flags: ImGuiWindowFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::BeginChild(@)".}
proc BeginChild*(id: ImGuiID, size: ImVec2 = initImVec2(0,0), border: bool = false, flags: ImGuiWindowFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::BeginChild(@)".}
proc BeginChildFrame*(id: ImGuiID, size: ImVec2, flags: ImGuiWindowFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::BeginChildFrame(@)".}
proc BeginCombo*(label: cstring, preview_value: cstring, flags: ImGuiComboFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::BeginCombo(@)".}
proc BeginDragDropSource*(flags: ImGuiDragDropFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::BeginDragDropSource(@)".}
proc BeginDragDropTarget*(): bool {.header: imguiHeader, importcpp: "ImGui::BeginDragDropTarget(@)".}
proc BeginGroup*() {.header: imguiHeader, importcpp: "ImGui::BeginGroup(@)".}
proc BeginMainMenuBar*(): bool {.header: imguiHeader, importcpp: "ImGui::BeginMainMenuBar(@)".}
proc BeginMenu*(label: cstring, enabled: bool = true): bool {.header: imguiHeader, importcpp: "ImGui::BeginMenu(@)".}
proc BeginMenuBar*(): bool {.header: imguiHeader, importcpp: "ImGui::BeginMenuBar(@)".}
proc BeginPopup*(str_id: cstring, flags: ImGuiWindowFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::BeginPopup(@)".}
proc BeginPopupContextItem*(str_id: cstring = nil, mouse_button: cint = 1): bool {.header: imguiHeader, importcpp: "ImGui::BeginPopupContextItem(@)".}
proc BeginPopupContextVoid*(str_id: cstring = nil, mouse_button: cint = 1): bool {.header: imguiHeader, importcpp: "ImGui::BeginPopupContextVoid(@)".}
proc BeginPopupContextWindow*(str_id: cstring = nil, mouse_button: cint = 1, also_over_items: bool = true): bool {.header: imguiHeader, importcpp: "ImGui::BeginPopupContextWindow(@)".}
proc BeginPopupModal*(name: cstring, p_open: ptr bool = nil, flags: ImGuiWindowFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::BeginPopupModal(@)".}
proc BeginTabBar*(str_id: cstring, flags: ImGuiTabBarFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::BeginTabBar(@)".}
proc BeginTabItem*(label: cstring, p_open: ptr bool = nil, flags: ImGuiTabItemFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::BeginTabItem(@)".}
proc BeginTooltip*() {.header: imguiHeader, importcpp: "ImGui::BeginTooltip(@)".}
proc Bullet*() {.header: imguiHeader, importcpp: "ImGui::Bullet(@)".}
proc BulletText*(fmt: cstring) {.header: imguiHeader, importcpp: "ImGui::BulletText(@)", varargs.}
proc BulletTextV*(fmt: cstring, args: va_list) {.header: imguiHeader, importcpp: "ImGui::BulletTextV(@)".}
proc Button*(label: cstring, size: ImVec2 = initImVec2(0,0)): bool {.header: imguiHeader, importcpp: "ImGui::Button(@)".}
proc CalcItemWidth*(): cfloat {.header: imguiHeader, importcpp: "ImGui::CalcItemWidth(@)".}
proc CalcListClipping*(items_count: cint, items_height: cfloat, out_items_display_start: ptr cint, out_items_display_end: ptr cint) {.header: imguiHeader, importcpp: "ImGui::CalcListClipping(@)".}
proc CalcTextSize*(text: cstring, text_end: cstring = nil, hide_text_after_double_hash: bool = false, wrap_width: cfloat = -1.0f): ImVec2 {.header: imguiHeader, importcpp: "ImGui::CalcTextSize(@)".}
proc CaptureKeyboardFromApp*(want_capture_keyboard_value: bool = true) {.header: imguiHeader, importcpp: "ImGui::CaptureKeyboardFromApp(@)".}
proc CaptureMouseFromApp*(want_capture_mouse_value: bool = true) {.header: imguiHeader, importcpp: "ImGui::CaptureMouseFromApp(@)".}
proc Checkbox*(label: cstring, v: ptr bool): bool {.header: imguiHeader, importcpp: "ImGui::Checkbox(@)".}
proc CheckboxFlags*(label: cstring, flags: ptr cuint, flags_value: cuint): bool {.header: imguiHeader, importcpp: "ImGui::CheckboxFlags(@)".}
proc CloseCurrentPopup*() {.header: imguiHeader, importcpp: "ImGui::CloseCurrentPopup(@)".}
proc CollapsingHeader*(label: cstring, flags: ImGuiTreeNodeFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::CollapsingHeader(@)".}
proc CollapsingHeader*(label: cstring, p_open: ptr bool, flags: ImGuiTreeNodeFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::CollapsingHeader(@)".}
proc ColorButton*(desc_id: cstring, col: ImVec4, flags: ImGuiColorEditFlags = 0, size: ImVec2 = initImVec2(0,0)): bool {.header: imguiHeader, importcpp: "ImGui::ColorButton(@)".}
proc ColorConvertFloat4ToU32*(`in`: ImVec4): ImU32 {.header: imguiHeader, importcpp: "ImGui::ColorConvertFloat4ToU32(@)".}
proc ColorConvertHSVtoRGB*(h: cfloat, s: cfloat, v: cfloat, out_r: var cfloat, out_g: var cfloat, out_b: var cfloat) {.header: imguiHeader, importcpp: "ImGui::ColorConvertHSVtoRGB(@)".}
proc ColorConvertRGBtoHSV*(r: cfloat, g: cfloat, b: cfloat, out_h: var cfloat, out_s: var cfloat, out_v: var cfloat) {.header: imguiHeader, importcpp: "ImGui::ColorConvertRGBtoHSV(@)".}
proc ColorConvertU32ToFloat4*(`in`: ImU32): ImVec4 {.header: imguiHeader, importcpp: "ImGui::ColorConvertU32ToFloat4(@)".}
proc ColorEdit3*(label: cstring, col: array[3, cfloat], flags: ImGuiColorEditFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::ColorEdit3(@)".}
proc ColorEdit4*(label: cstring, col: array[4, cfloat], flags: ImGuiColorEditFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::ColorEdit4(@)".}
proc ColorPicker3*(label: cstring, col: array[3, cfloat], flags: ImGuiColorEditFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::ColorPicker3(@)".}
proc ColorPicker4*(label: cstring, col: array[4, cfloat], flags: ImGuiColorEditFlags = 0, ref_col: ptr cfloat = nil): bool {.header: imguiHeader, importcpp: "ImGui::ColorPicker4(@)".}
proc Columns*(count: cint = 1, id: cstring = nil, border: bool = true) {.header: imguiHeader, importcpp: "ImGui::Columns(@)".}
proc Combo*(label: cstring, current_item: ptr cint, items: ptr ptr cchar, items_count: cint, popup_max_height_in_items: cint = -1): bool {.header: imguiHeader, importcpp: "ImGui::Combo(@)".}
proc Combo*(label: cstring, current_item: ptr cint, items_separated_by_zeros: cstring, popup_max_height_in_items: cint = -1): bool {.header: imguiHeader, importcpp: "ImGui::Combo(@)".}
proc Combo*(label: cstring, current_item: ptr cint, items_getter: proc (data: pointer, idx: cint, out_text: ptr ptr cchar): bool {.cdecl.}, data: pointer, items_count: cint, popup_max_height_in_items: cint = -1): bool {.header: imguiHeader, importcpp: "ImGui::Combo(@)".}
proc CreateContext*(shared_font_atlas: ptr ImFontAtlas = nil): ptr ImGuiContext {.header: imguiHeader, importcpp: "ImGui::CreateContext(@)".}
proc DebugCheckVersionAndDataLayout*(version_str: cstring, sz_io: csize, sz_style: csize, sz_vec2: csize, sz_vec4: csize, sz_drawvert: csize, sz_drawidx: csize): bool {.header: imguiHeader, importcpp: "ImGui::DebugCheckVersionAndDataLayout(@)".}
proc DestroyContext*(ctx: ptr ImGuiContext = nil) {.header: imguiHeader, importcpp: "ImGui::DestroyContext(@)".}
proc DragFloat*(label: cstring, v: ptr cfloat, v_speed: cfloat = 1.0f, v_min: cfloat = 0.0f, v_max: cfloat = 0.0f, format: cstring = "%.3f", power: cfloat = 1.0f): bool {.header: imguiHeader, importcpp: "ImGui::DragFloat(@)".}
proc DragFloat2*(label: cstring, v: array[2, cfloat], v_speed: cfloat = 1.0f, v_min: cfloat = 0.0f, v_max: cfloat = 0.0f, format: cstring = "%.3f", power: cfloat = 1.0f): bool {.header: imguiHeader, importcpp: "ImGui::DragFloat2(@)".}
proc DragFloat3*(label: cstring, v: array[3, cfloat], v_speed: cfloat = 1.0f, v_min: cfloat = 0.0f, v_max: cfloat = 0.0f, format: cstring = "%.3f", power: cfloat = 1.0f): bool {.header: imguiHeader, importcpp: "ImGui::DragFloat3(@)".}
proc DragFloat4*(label: cstring, v: array[4, cfloat], v_speed: cfloat = 1.0f, v_min: cfloat = 0.0f, v_max: cfloat = 0.0f, format: cstring = "%.3f", power: cfloat = 1.0f): bool {.header: imguiHeader, importcpp: "ImGui::DragFloat4(@)".}
proc DragFloatRange2*(label: cstring, v_current_min: ptr cfloat, v_current_max: ptr cfloat, v_speed: cfloat = 1.0f, v_min: cfloat = 0.0f, v_max: cfloat = 0.0f, format: cstring = "%.3f", format_max: cstring = nil, power: cfloat = 1.0f): bool {.header: imguiHeader, importcpp: "ImGui::DragFloatRange2(@)".}
proc DragInt*(label: cstring, v: ptr cint, v_speed: cfloat = 1.0f, v_min: cint = 0, v_max: cint = 0, format: cstring = "%d"): bool {.header: imguiHeader, importcpp: "ImGui::DragInt(@)".}
proc DragInt2*(label: cstring, v: array[2, cint], v_speed: cfloat = 1.0f, v_min: cint = 0, v_max: cint = 0, format: cstring = "%d"): bool {.header: imguiHeader, importcpp: "ImGui::DragInt2(@)".}
proc DragInt3*(label: cstring, v: array[3, cint], v_speed: cfloat = 1.0f, v_min: cint = 0, v_max: cint = 0, format: cstring = "%d"): bool {.header: imguiHeader, importcpp: "ImGui::DragInt3(@)".}
proc DragInt4*(label: cstring, v: array[4, cint], v_speed: cfloat = 1.0f, v_min: cint = 0, v_max: cint = 0, format: cstring = "%d"): bool {.header: imguiHeader, importcpp: "ImGui::DragInt4(@)".}
proc DragIntRange2*(label: cstring, v_current_min: ptr cint, v_current_max: ptr cint, v_speed: cfloat = 1.0f, v_min: cint = 0, v_max: cint = 0, format: cstring = "%d", format_max: cstring = nil): bool {.header: imguiHeader, importcpp: "ImGui::DragIntRange2(@)".}
proc DragScalar*(label: cstring, data_type: ImGuiDataType, v: pointer, v_speed: cfloat, v_min: pointer = nil, v_max: pointer = nil, format: cstring = nil, power: cfloat = 1.0f): bool {.header: imguiHeader, importcpp: "ImGui::DragScalar(@)".}
proc DragScalarN*(label: cstring, data_type: ImGuiDataType, v: pointer, components: cint, v_speed: cfloat, v_min: pointer = nil, v_max: pointer = nil, format: cstring = nil, power: cfloat = 1.0f): bool {.header: imguiHeader, importcpp: "ImGui::DragScalarN(@)".}
proc Dummy*(size: ImVec2) {.header: imguiHeader, importcpp: "ImGui::Dummy(@)".}
proc End*() {.header: imguiHeader, importcpp: "ImGui::End(@)".}
proc EndChild*() {.header: imguiHeader, importcpp: "ImGui::EndChild(@)".}
proc EndChildFrame*() {.header: imguiHeader, importcpp: "ImGui::EndChildFrame(@)".}
proc EndCombo*() {.header: imguiHeader, importcpp: "ImGui::EndCombo(@)".}
proc EndDragDropSource*() {.header: imguiHeader, importcpp: "ImGui::EndDragDropSource(@)".}
proc EndDragDropTarget*() {.header: imguiHeader, importcpp: "ImGui::EndDragDropTarget(@)".}
proc EndFrame*() {.header: imguiHeader, importcpp: "ImGui::EndFrame(@)".}
proc EndGroup*() {.header: imguiHeader, importcpp: "ImGui::EndGroup(@)".}
proc EndMainMenuBar*() {.header: imguiHeader, importcpp: "ImGui::EndMainMenuBar(@)".}
proc EndMenu*() {.header: imguiHeader, importcpp: "ImGui::EndMenu(@)".}
proc EndMenuBar*() {.header: imguiHeader, importcpp: "ImGui::EndMenuBar(@)".}
proc EndPopup*() {.header: imguiHeader, importcpp: "ImGui::EndPopup(@)".}
proc EndTabBar*() {.header: imguiHeader, importcpp: "ImGui::EndTabBar(@)".}
proc EndTabItem*() {.header: imguiHeader, importcpp: "ImGui::EndTabItem(@)".}
proc EndTooltip*() {.header: imguiHeader, importcpp: "ImGui::EndTooltip(@)".}
proc GetBackgroundDrawList*(): ptr ImDrawList {.header: imguiHeader, importcpp: "ImGui::GetBackgroundDrawList(@)".}
proc GetClipboardText*(): cstring {.header: imguiHeader, importcpp: "ImGui::GetClipboardText(@)".}
proc GetColorU32*(idx: ImGuiCol, alpha_mul: cfloat = 1.0f): ImU32 {.header: imguiHeader, importcpp: "ImGui::GetColorU32(@)".}
proc GetColorU32*(col: ImVec4): ImU32 {.header: imguiHeader, importcpp: "ImGui::GetColorU32(@)".}
proc GetColorU32*(col: ImU32): ImU32 {.header: imguiHeader, importcpp: "ImGui::GetColorU32(@)".}
proc GetColumnIndex*(): cint {.header: imguiHeader, importcpp: "ImGui::GetColumnIndex(@)".}
proc GetColumnOffset*(column_index: cint = -1): cfloat {.header: imguiHeader, importcpp: "ImGui::GetColumnOffset(@)".}
proc GetColumnWidth*(column_index: cint = -1): cfloat {.header: imguiHeader, importcpp: "ImGui::GetColumnWidth(@)".}
proc GetColumnsCount*(): cint {.header: imguiHeader, importcpp: "ImGui::GetColumnsCount(@)".}
proc GetContentRegionAvail*(): ImVec2 {.header: imguiHeader, importcpp: "ImGui::GetContentRegionAvail(@)".}
proc GetContentRegionMax*(): ImVec2 {.header: imguiHeader, importcpp: "ImGui::GetContentRegionMax(@)".}
proc GetCurrentContext*(): ptr ImGuiContext {.header: imguiHeader, importcpp: "ImGui::GetCurrentContext(@)".}
proc GetCursorPos*(): ImVec2 {.header: imguiHeader, importcpp: "ImGui::GetCursorPos(@)".}
proc GetCursorPosX*(): cfloat {.header: imguiHeader, importcpp: "ImGui::GetCursorPosX(@)".}
proc GetCursorPosY*(): cfloat {.header: imguiHeader, importcpp: "ImGui::GetCursorPosY(@)".}
proc GetCursorScreenPos*(): ImVec2 {.header: imguiHeader, importcpp: "ImGui::GetCursorScreenPos(@)".}
proc GetCursorStartPos*(): ImVec2 {.header: imguiHeader, importcpp: "ImGui::GetCursorStartPos(@)".}
proc GetDragDropPayload*(): ptr ImGuiPayload {.header: imguiHeader, importcpp: "ImGui::GetDragDropPayload(@)".}
proc GetDrawData*(): ptr ImDrawData {.header: imguiHeader, importcpp: "ImGui::GetDrawData(@)".}
proc GetDrawListSharedData*(): ptr ImDrawListSharedData {.header: imguiHeader, importcpp: "ImGui::GetDrawListSharedData(@)".}
proc GetFont*(): ptr ImFont {.header: imguiHeader, importcpp: "ImGui::GetFont(@)".}
proc GetFontSize*(): cfloat {.header: imguiHeader, importcpp: "ImGui::GetFontSize(@)".}
proc GetFontTexUvWhitePixel*(): ImVec2 {.header: imguiHeader, importcpp: "ImGui::GetFontTexUvWhitePixel(@)".}
proc GetForegroundDrawList*(): ptr ImDrawList {.header: imguiHeader, importcpp: "ImGui::GetForegroundDrawList(@)".}
proc GetFrameCount*(): cint {.header: imguiHeader, importcpp: "ImGui::GetFrameCount(@)".}
proc GetFrameHeight*(): cfloat {.header: imguiHeader, importcpp: "ImGui::GetFrameHeight(@)".}
proc GetFrameHeightWithSpacing*(): cfloat {.header: imguiHeader, importcpp: "ImGui::GetFrameHeightWithSpacing(@)".}
proc GetID*(str_id: cstring): ImGuiID {.header: imguiHeader, importcpp: "ImGui::GetID(@)".}
proc GetID*(str_id_begin: cstring, str_id_end: cstring): ImGuiID {.header: imguiHeader, importcpp: "ImGui::GetID(@)".}
proc GetID*(ptr_id: pointer): ImGuiID {.header: imguiHeader, importcpp: "ImGui::GetID(@)".}
proc GetIO*(): var ImGuiIO {.header: imguiHeader, importcpp: "ImGui::GetIO(@)".}
proc GetItemRectMax*(): ImVec2 {.header: imguiHeader, importcpp: "ImGui::GetItemRectMax(@)".}
proc GetItemRectMin*(): ImVec2 {.header: imguiHeader, importcpp: "ImGui::GetItemRectMin(@)".}
proc GetItemRectSize*(): ImVec2 {.header: imguiHeader, importcpp: "ImGui::GetItemRectSize(@)".}
proc GetKeyIndex*(imgui_key: ImGuiKey): cint {.header: imguiHeader, importcpp: "ImGui::GetKeyIndex(@)".}
proc GetKeyPressedAmount*(key_index: cint, repeat_delay: cfloat, rate: cfloat): cint {.header: imguiHeader, importcpp: "ImGui::GetKeyPressedAmount(@)".}
proc GetMouseCursor*(): ImGuiMouseCursor {.header: imguiHeader, importcpp: "ImGui::GetMouseCursor(@)".}
proc GetMouseDragDelta*(button: cint = 0, lock_threshold: cfloat = -1.0f): ImVec2 {.header: imguiHeader, importcpp: "ImGui::GetMouseDragDelta(@)".}
proc GetMousePos*(): ImVec2 {.header: imguiHeader, importcpp: "ImGui::GetMousePos(@)".}
proc GetMousePosOnOpeningCurrentPopup*(): ImVec2 {.header: imguiHeader, importcpp: "ImGui::GetMousePosOnOpeningCurrentPopup(@)".}
proc GetScrollMaxX*(): cfloat {.header: imguiHeader, importcpp: "ImGui::GetScrollMaxX(@)".}
proc GetScrollMaxY*(): cfloat {.header: imguiHeader, importcpp: "ImGui::GetScrollMaxY(@)".}
proc GetScrollX*(): cfloat {.header: imguiHeader, importcpp: "ImGui::GetScrollX(@)".}
proc GetScrollY*(): cfloat {.header: imguiHeader, importcpp: "ImGui::GetScrollY(@)".}
proc GetStateStorage*(): ptr ImGuiStorage {.header: imguiHeader, importcpp: "ImGui::GetStateStorage(@)".}
proc GetStyle*(): var ImGuiStyle {.header: imguiHeader, importcpp: "ImGui::GetStyle(@)".}
proc GetStyleColorName*(idx: ImGuiCol): cstring {.header: imguiHeader, importcpp: "ImGui::GetStyleColorName(@)".}
proc GetStyleColorVec4*(idx: ImGuiCol): var ImVec4 {.header: imguiHeader, importcpp: "ImGui::GetStyleColorVec4(@)".}
proc GetTextLineHeight*(): cfloat {.header: imguiHeader, importcpp: "ImGui::GetTextLineHeight(@)".}
proc GetTextLineHeightWithSpacing*(): cfloat {.header: imguiHeader, importcpp: "ImGui::GetTextLineHeightWithSpacing(@)".}
proc GetTime*(): cdouble {.header: imguiHeader, importcpp: "ImGui::GetTime(@)".}
proc GetTreeNodeToLabelSpacing*(): cfloat {.header: imguiHeader, importcpp: "ImGui::GetTreeNodeToLabelSpacing(@)".}
proc GetVersion*(): cstring {.header: imguiHeader, importcpp: "ImGui::GetVersion(@)".}
proc GetWindowContentRegionMax*(): ImVec2 {.header: imguiHeader, importcpp: "ImGui::GetWindowContentRegionMax(@)".}
proc GetWindowContentRegionMin*(): ImVec2 {.header: imguiHeader, importcpp: "ImGui::GetWindowContentRegionMin(@)".}
proc GetWindowContentRegionWidth*(): cfloat {.header: imguiHeader, importcpp: "ImGui::GetWindowContentRegionWidth(@)".}
proc GetWindowDrawList*(): ptr ImDrawList {.header: imguiHeader, importcpp: "ImGui::GetWindowDrawList(@)".}
proc GetWindowHeight*(): cfloat {.header: imguiHeader, importcpp: "ImGui::GetWindowHeight(@)".}
proc GetWindowPos*(): ImVec2 {.header: imguiHeader, importcpp: "ImGui::GetWindowPos(@)".}
proc GetWindowSize*(): ImVec2 {.header: imguiHeader, importcpp: "ImGui::GetWindowSize(@)".}
proc GetWindowWidth*(): cfloat {.header: imguiHeader, importcpp: "ImGui::GetWindowWidth(@)".}
proc Image*(user_texture_id: ImTextureID, size: ImVec2, uv0: ImVec2 = initImVec2(0,0), uv1: ImVec2 = initImVec2(1,1), tint_col: ImVec4 = initImVec4(1,1,1,1), border_col: ImVec4 = initImVec4(0,0,0,0)) {.header: imguiHeader, importcpp: "ImGui::Image(@)".}
proc ImageButton*(user_texture_id: ImTextureID, size: ImVec2, uv0: ImVec2 = initImVec2(0,0), uv1: ImVec2 = initImVec2(1,1), frame_padding: cint = -1, bg_col: ImVec4 = initImVec4(0,0,0,0), tint_col: ImVec4 = initImVec4(1,1,1,1)): bool {.header: imguiHeader, importcpp: "ImGui::ImageButton(@)".}
proc Indent*(indent_w: cfloat = 0.0f) {.header: imguiHeader, importcpp: "ImGui::Indent(@)".}
proc InputDouble*(label: cstring, v: ptr cdouble, step: cdouble = 0.0, step_fast: cdouble = 0.0, format: cstring = "%.6f", flags: ImGuiInputTextFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::InputDouble(@)".}
proc InputFloat*(label: cstring, v: ptr cfloat, step: cfloat = 0.0f, step_fast: cfloat = 0.0f, format: cstring = "%.3f", flags: ImGuiInputTextFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::InputFloat(@)".}
proc InputFloat2*(label: cstring, v: array[2, cfloat], format: cstring = "%.3f", flags: ImGuiInputTextFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::InputFloat2(@)".}
proc InputFloat3*(label: cstring, v: array[3, cfloat], format: cstring = "%.3f", flags: ImGuiInputTextFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::InputFloat3(@)".}
proc InputFloat4*(label: cstring, v: array[4, cfloat], format: cstring = "%.3f", flags: ImGuiInputTextFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::InputFloat4(@)".}
proc InputInt*(label: cstring, v: ptr cint, step: cint = 1, step_fast: cint = 100, flags: ImGuiInputTextFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::InputInt(@)".}
proc InputInt2*(label: cstring, v: array[2, cint], flags: ImGuiInputTextFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::InputInt2(@)".}
proc InputInt3*(label: cstring, v: array[3, cint], flags: ImGuiInputTextFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::InputInt3(@)".}
proc InputInt4*(label: cstring, v: array[4, cint], flags: ImGuiInputTextFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::InputInt4(@)".}
proc InputScalar*(label: cstring, data_type: ImGuiDataType, v: pointer, step: pointer = nil, step_fast: pointer = nil, format: cstring = nil, flags: ImGuiInputTextFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::InputScalar(@)".}
proc InputScalarN*(label: cstring, data_type: ImGuiDataType, v: pointer, components: cint, step: pointer = nil, step_fast: pointer = nil, format: cstring = nil, flags: ImGuiInputTextFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::InputScalarN(@)".}
proc InputText*(label: cstring, buf: ptr cchar, buf_size: csize, flags: ImGuiInputTextFlags = 0, callback: ImGuiInputTextCallback = nil, user_data: pointer = nil): bool {.header: imguiHeader, importcpp: "ImGui::InputText(@)".}
proc InputTextMultiline*(label: cstring, buf: ptr cchar, buf_size: csize, size: ImVec2 = initImVec2(0,0), flags: ImGuiInputTextFlags = 0, callback: ImGuiInputTextCallback = nil, user_data: pointer = nil): bool {.header: imguiHeader, importcpp: "ImGui::InputTextMultiline(@)".}
proc InputTextWithHint*(label: cstring, hint: cstring, buf: ptr cchar, buf_size: csize, flags: ImGuiInputTextFlags = 0, callback: ImGuiInputTextCallback = nil, user_data: pointer = nil): bool {.header: imguiHeader, importcpp: "ImGui::InputTextWithHint(@)".}
proc InvisibleButton*(str_id: cstring, size: ImVec2): bool {.header: imguiHeader, importcpp: "ImGui::InvisibleButton(@)".}
proc IsAnyItemActive*(): bool {.header: imguiHeader, importcpp: "ImGui::IsAnyItemActive(@)".}
proc IsAnyItemFocused*(): bool {.header: imguiHeader, importcpp: "ImGui::IsAnyItemFocused(@)".}
proc IsAnyItemHovered*(): bool {.header: imguiHeader, importcpp: "ImGui::IsAnyItemHovered(@)".}
proc IsAnyMouseDown*(): bool {.header: imguiHeader, importcpp: "ImGui::IsAnyMouseDown(@)".}
proc IsItemActivated*(): bool {.header: imguiHeader, importcpp: "ImGui::IsItemActivated(@)".}
proc IsItemActive*(): bool {.header: imguiHeader, importcpp: "ImGui::IsItemActive(@)".}
proc IsItemClicked*(mouse_button: cint = 0): bool {.header: imguiHeader, importcpp: "ImGui::IsItemClicked(@)".}
proc IsItemDeactivated*(): bool {.header: imguiHeader, importcpp: "ImGui::IsItemDeactivated(@)".}
proc IsItemDeactivatedAfterEdit*(): bool {.header: imguiHeader, importcpp: "ImGui::IsItemDeactivatedAfterEdit(@)".}
proc IsItemEdited*(): bool {.header: imguiHeader, importcpp: "ImGui::IsItemEdited(@)".}
proc IsItemFocused*(): bool {.header: imguiHeader, importcpp: "ImGui::IsItemFocused(@)".}
proc IsItemHovered*(flags: ImGuiHoveredFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::IsItemHovered(@)".}
proc IsItemVisible*(): bool {.header: imguiHeader, importcpp: "ImGui::IsItemVisible(@)".}
proc IsKeyDown*(user_key_index: cint): bool {.header: imguiHeader, importcpp: "ImGui::IsKeyDown(@)".}
proc IsKeyPressed*(user_key_index: cint, repeat: bool = true): bool {.header: imguiHeader, importcpp: "ImGui::IsKeyPressed(@)".}
proc IsKeyReleased*(user_key_index: cint): bool {.header: imguiHeader, importcpp: "ImGui::IsKeyReleased(@)".}
proc IsMouseClicked*(button: cint, repeat: bool = false): bool {.header: imguiHeader, importcpp: "ImGui::IsMouseClicked(@)".}
proc IsMouseDoubleClicked*(button: cint): bool {.header: imguiHeader, importcpp: "ImGui::IsMouseDoubleClicked(@)".}
proc IsMouseDown*(button: cint): bool {.header: imguiHeader, importcpp: "ImGui::IsMouseDown(@)".}
proc IsMouseDragging*(button: cint = 0, lock_threshold: cfloat = -1.0f): bool {.header: imguiHeader, importcpp: "ImGui::IsMouseDragging(@)".}
proc IsMouseHoveringRect*(r_min: ImVec2, r_max: ImVec2, clip: bool = true): bool {.header: imguiHeader, importcpp: "ImGui::IsMouseHoveringRect(@)".}
proc IsMousePosValid*(mouse_pos: ptr ImVec2 = nil): bool {.header: imguiHeader, importcpp: "ImGui::IsMousePosValid(@)".}
proc IsMouseReleased*(button: cint): bool {.header: imguiHeader, importcpp: "ImGui::IsMouseReleased(@)".}
proc IsPopupOpen*(str_id: cstring): bool {.header: imguiHeader, importcpp: "ImGui::IsPopupOpen(@)".}
proc IsRectVisible*(size: ImVec2): bool {.header: imguiHeader, importcpp: "ImGui::IsRectVisible(@)".}
proc IsRectVisible*(rect_min: ImVec2, rect_max: ImVec2): bool {.header: imguiHeader, importcpp: "ImGui::IsRectVisible(@)".}
proc IsWindowAppearing*(): bool {.header: imguiHeader, importcpp: "ImGui::IsWindowAppearing(@)".}
proc IsWindowCollapsed*(): bool {.header: imguiHeader, importcpp: "ImGui::IsWindowCollapsed(@)".}
proc IsWindowFocused*(flags: ImGuiFocusedFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::IsWindowFocused(@)".}
proc IsWindowHovered*(flags: ImGuiHoveredFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::IsWindowHovered(@)".}
proc LabelText*(label: cstring, fmt: cstring) {.header: imguiHeader, importcpp: "ImGui::LabelText(@)", varargs.}
proc LabelTextV*(label: cstring, fmt: cstring, args: va_list) {.header: imguiHeader, importcpp: "ImGui::LabelTextV(@)".}
proc ListBox*(label: cstring, current_item: ptr cint, items: ptr ptr cchar, items_count: cint, height_in_items: cint = -1): bool {.header: imguiHeader, importcpp: "ImGui::ListBox(@)".}
proc ListBox*(label: cstring, current_item: ptr cint, items_getter: proc (data: pointer, idx: cint, out_text: ptr ptr cchar): bool {.cdecl.}, data: pointer, items_count: cint, height_in_items: cint = -1): bool {.header: imguiHeader, importcpp: "ImGui::ListBox(@)".}
proc ListBoxFooter*() {.header: imguiHeader, importcpp: "ImGui::ListBoxFooter(@)".}
proc ListBoxHeader*(label: cstring, size: ImVec2 = initImVec2(0,0)): bool {.header: imguiHeader, importcpp: "ImGui::ListBoxHeader(@)".}
proc ListBoxHeader*(label: cstring, items_count: cint, height_in_items: cint = -1): bool {.header: imguiHeader, importcpp: "ImGui::ListBoxHeader(@)".}
proc LoadIniSettingsFromDisk*(ini_filename: cstring) {.header: imguiHeader, importcpp: "ImGui::LoadIniSettingsFromDisk(@)".}
proc LoadIniSettingsFromMemory*(ini_data: cstring, ini_size: csize = 0) {.header: imguiHeader, importcpp: "ImGui::LoadIniSettingsFromMemory(@)".}
proc LogButtons*() {.header: imguiHeader, importcpp: "ImGui::LogButtons(@)".}
proc LogFinish*() {.header: imguiHeader, importcpp: "ImGui::LogFinish(@)".}
proc LogText*(fmt: cstring) {.header: imguiHeader, importcpp: "ImGui::LogText(@)", varargs.}
proc LogToClipboard*(auto_open_depth: cint = -1) {.header: imguiHeader, importcpp: "ImGui::LogToClipboard(@)".}
proc LogToFile*(auto_open_depth: cint = -1, filename: cstring = nil) {.header: imguiHeader, importcpp: "ImGui::LogToFile(@)".}
proc LogToTTY*(auto_open_depth: cint = -1) {.header: imguiHeader, importcpp: "ImGui::LogToTTY(@)".}
proc MemAlloc*(size: csize): pointer {.header: imguiHeader, importcpp: "ImGui::MemAlloc(@)".}
proc MemFree*(`ptr`: pointer) {.header: imguiHeader, importcpp: "ImGui::MemFree(@)".}
proc MenuItem*(label: cstring, shortcut: cstring = nil, selected: bool = false, enabled: bool = true): bool {.header: imguiHeader, importcpp: "ImGui::MenuItem(@)".}
proc MenuItem*(label: cstring, shortcut: cstring, p_selected: ptr bool, enabled: bool = true): bool {.header: imguiHeader, importcpp: "ImGui::MenuItem(@)".}
proc NewFrame*() {.header: imguiHeader, importcpp: "ImGui::NewFrame(@)".}
proc NewLine*() {.header: imguiHeader, importcpp: "ImGui::NewLine(@)".}
proc NextColumn*() {.header: imguiHeader, importcpp: "ImGui::NextColumn(@)".}
proc OpenPopup*(str_id: cstring) {.header: imguiHeader, importcpp: "ImGui::OpenPopup(@)".}
proc OpenPopupOnItemClick*(str_id: cstring = nil, mouse_button: cint = 1): bool {.header: imguiHeader, importcpp: "ImGui::OpenPopupOnItemClick(@)".}
proc PlotHistogram*(label: cstring, values: ptr cfloat, values_count: cint, values_offset: cint = 0, overlay_text: cstring = nil, scale_min: cfloat = high(cfloat), scale_max: cfloat = high(cfloat), graph_size: ImVec2 = initImVec2(0,0), stride: cint = sizeof(cfloat).cint) {.header: imguiHeader, importcpp: "ImGui::PlotHistogram(@)".}
proc PlotHistogram*(label: cstring, values_getter: proc (data: pointer, idx: cint): cfloat {.cdecl.}, data: pointer, values_count: cint, values_offset: cint = 0, overlay_text: cstring = nil, scale_min: cfloat = high(cfloat), scale_max: cfloat = high(cfloat), graph_size: ImVec2 = initImVec2(0,0)) {.header: imguiHeader, importcpp: "ImGui::PlotHistogram(@)".}
proc PlotLines*(label: cstring, values: ptr cfloat, values_count: cint, values_offset: cint = 0, overlay_text: cstring = nil, scale_min: cfloat = high(cfloat), scale_max: cfloat = high(cfloat), graph_size: ImVec2 = initImVec2(0,0), stride: cint = sizeof(cfloat).cint) {.header: imguiHeader, importcpp: "ImGui::PlotLines(@)".}
proc PlotLines*(label: cstring, values_getter: proc (data: pointer, idx: cint): cfloat {.cdecl.}, data: pointer, values_count: cint, values_offset: cint = 0, overlay_text: cstring = nil, scale_min: cfloat = high(cfloat), scale_max: cfloat = high(cfloat), graph_size: ImVec2 = initImVec2(0,0)) {.header: imguiHeader, importcpp: "ImGui::PlotLines(@)".}
proc PopAllowKeyboardFocus*() {.header: imguiHeader, importcpp: "ImGui::PopAllowKeyboardFocus(@)".}
proc PopButtonRepeat*() {.header: imguiHeader, importcpp: "ImGui::PopButtonRepeat(@)".}
proc PopClipRect*() {.header: imguiHeader, importcpp: "ImGui::PopClipRect(@)".}
proc PopFont*() {.header: imguiHeader, importcpp: "ImGui::PopFont(@)".}
proc PopID*() {.header: imguiHeader, importcpp: "ImGui::PopID(@)".}
proc PopItemWidth*() {.header: imguiHeader, importcpp: "ImGui::PopItemWidth(@)".}
proc PopStyleColor*(count: cint = 1) {.header: imguiHeader, importcpp: "ImGui::PopStyleColor(@)".}
proc PopStyleVar*(count: cint = 1) {.header: imguiHeader, importcpp: "ImGui::PopStyleVar(@)".}
proc PopTextWrapPos*() {.header: imguiHeader, importcpp: "ImGui::PopTextWrapPos(@)".}
proc ProgressBar*(fraction: cfloat, size_arg: ImVec2 = initImVec2(-1,0), overlay: cstring = nil) {.header: imguiHeader, importcpp: "ImGui::ProgressBar(@)".}
proc PushAllowKeyboardFocus*(allow_keyboard_focus: bool) {.header: imguiHeader, importcpp: "ImGui::PushAllowKeyboardFocus(@)".}
proc PushButtonRepeat*(repeat: bool) {.header: imguiHeader, importcpp: "ImGui::PushButtonRepeat(@)".}
proc PushClipRect*(clip_rect_min: ImVec2, clip_rect_max: ImVec2, intersect_with_current_clip_rect: bool) {.header: imguiHeader, importcpp: "ImGui::PushClipRect(@)".}
proc PushFont*(font: ptr ImFont) {.header: imguiHeader, importcpp: "ImGui::PushFont(@)".}
proc PushID*(str_id: cstring) {.header: imguiHeader, importcpp: "ImGui::PushID(@)".}
proc PushID*(str_id_begin: cstring, str_id_end: cstring) {.header: imguiHeader, importcpp: "ImGui::PushID(@)".}
proc PushID*(ptr_id: pointer) {.header: imguiHeader, importcpp: "ImGui::PushID(@)".}
proc PushID*(int_id: cint) {.header: imguiHeader, importcpp: "ImGui::PushID(@)".}
proc PushItemWidth*(item_width: cfloat) {.header: imguiHeader, importcpp: "ImGui::PushItemWidth(@)".}
proc PushStyleColor*(idx: ImGuiCol, col: ImU32) {.header: imguiHeader, importcpp: "ImGui::PushStyleColor(@)".}
proc PushStyleColor*(idx: ImGuiCol, col: ImVec4) {.header: imguiHeader, importcpp: "ImGui::PushStyleColor(@)".}
proc PushStyleVar*(idx: ImGuiStyleVar, val: cfloat) {.header: imguiHeader, importcpp: "ImGui::PushStyleVar(@)".}
proc PushStyleVar*(idx: ImGuiStyleVar, val: ImVec2) {.header: imguiHeader, importcpp: "ImGui::PushStyleVar(@)".}
proc PushTextWrapPos*(wrap_local_pos_x: cfloat = 0.0f) {.header: imguiHeader, importcpp: "ImGui::PushTextWrapPos(@)".}
proc RadioButton*(label: cstring, active: bool): bool {.header: imguiHeader, importcpp: "ImGui::RadioButton(@)".}
proc RadioButton*(label: cstring, v: ptr cint, v_button: cint): bool {.header: imguiHeader, importcpp: "ImGui::RadioButton(@)".}
proc Render*() {.header: imguiHeader, importcpp: "ImGui::Render(@)".}
proc ResetMouseDragDelta*(button: cint = 0) {.header: imguiHeader, importcpp: "ImGui::ResetMouseDragDelta(@)".}
proc SameLine*(offset_from_start_x: cfloat = 0.0f, spacing: cfloat = -1.0f) {.header: imguiHeader, importcpp: "ImGui::SameLine(@)".}
proc SaveIniSettingsToDisk*(ini_filename: cstring) {.header: imguiHeader, importcpp: "ImGui::SaveIniSettingsToDisk(@)".}
proc SaveIniSettingsToMemory*(out_ini_size: ptr csize = nil): cstring {.header: imguiHeader, importcpp: "ImGui::SaveIniSettingsToMemory(@)".}
proc Selectable*(label: cstring, selected: bool = false, flags: ImGuiSelectableFlags = 0, size: ImVec2 = initImVec2(0,0)): bool {.header: imguiHeader, importcpp: "ImGui::Selectable(@)".}
proc Selectable*(label: cstring, p_selected: ptr bool, flags: ImGuiSelectableFlags = 0, size: ImVec2 = initImVec2(0,0)): bool {.header: imguiHeader, importcpp: "ImGui::Selectable(@)".}
proc Separator*() {.header: imguiHeader, importcpp: "ImGui::Separator(@)".}
proc SetAllocatorFunctions*(alloc_func: proc (sz: csize, user_data: pointer): pointer {.cdecl.}, free_func: proc (`ptr`: pointer, user_data: pointer) {.cdecl.}, user_data: pointer = nil) {.header: imguiHeader, importcpp: "ImGui::SetAllocatorFunctions(@)".}
proc SetClipboardText*(text: cstring) {.header: imguiHeader, importcpp: "ImGui::SetClipboardText(@)".}
proc SetColorEditOptions*(flags: ImGuiColorEditFlags) {.header: imguiHeader, importcpp: "ImGui::SetColorEditOptions(@)".}
proc SetColumnOffset*(column_index: cint, offset_x: cfloat) {.header: imguiHeader, importcpp: "ImGui::SetColumnOffset(@)".}
proc SetColumnWidth*(column_index: cint, width: cfloat) {.header: imguiHeader, importcpp: "ImGui::SetColumnWidth(@)".}
proc SetCurrentContext*(ctx: ptr ImGuiContext) {.header: imguiHeader, importcpp: "ImGui::SetCurrentContext(@)".}
proc SetCursorPos*(local_pos: ImVec2) {.header: imguiHeader, importcpp: "ImGui::SetCursorPos(@)".}
proc SetCursorPosX*(local_x: cfloat) {.header: imguiHeader, importcpp: "ImGui::SetCursorPosX(@)".}
proc SetCursorPosY*(local_y: cfloat) {.header: imguiHeader, importcpp: "ImGui::SetCursorPosY(@)".}
proc SetCursorScreenPos*(pos: ImVec2) {.header: imguiHeader, importcpp: "ImGui::SetCursorScreenPos(@)".}
proc SetDragDropPayload*(`type`: cstring, data: pointer, sz: csize, cond: ImGuiCond = 0): bool {.header: imguiHeader, importcpp: "ImGui::SetDragDropPayload(@)".}
proc SetItemAllowOverlap*() {.header: imguiHeader, importcpp: "ImGui::SetItemAllowOverlap(@)".}
proc SetItemDefaultFocus*() {.header: imguiHeader, importcpp: "ImGui::SetItemDefaultFocus(@)".}
proc SetKeyboardFocusHere*(offset: cint = 0) {.header: imguiHeader, importcpp: "ImGui::SetKeyboardFocusHere(@)".}
proc SetMouseCursor*(`type`: ImGuiMouseCursor) {.header: imguiHeader, importcpp: "ImGui::SetMouseCursor(@)".}
proc SetNextItemOpen*(is_open: bool, cond: ImGuiCond = 0) {.header: imguiHeader, importcpp: "ImGui::SetNextItemOpen(@)".}
proc SetNextItemWidth*(item_width: cfloat) {.header: imguiHeader, importcpp: "ImGui::SetNextItemWidth(@)".}
proc SetNextWindowBgAlpha*(alpha: cfloat) {.header: imguiHeader, importcpp: "ImGui::SetNextWindowBgAlpha(@)".}
proc SetNextWindowCollapsed*(collapsed: bool, cond: ImGuiCond = 0) {.header: imguiHeader, importcpp: "ImGui::SetNextWindowCollapsed(@)".}
proc SetNextWindowContentSize*(size: ImVec2) {.header: imguiHeader, importcpp: "ImGui::SetNextWindowContentSize(@)".}
proc SetNextWindowFocus*() {.header: imguiHeader, importcpp: "ImGui::SetNextWindowFocus(@)".}
proc SetNextWindowPos*(pos: ImVec2, cond: ImGuiCond = 0, pivot: ImVec2 = initImVec2(0,0)) {.header: imguiHeader, importcpp: "ImGui::SetNextWindowPos(@)".}
proc SetNextWindowSize*(size: ImVec2, cond: ImGuiCond = 0) {.header: imguiHeader, importcpp: "ImGui::SetNextWindowSize(@)".}
proc SetNextWindowSizeConstraints*(size_min: ImVec2, size_max: ImVec2, custom_callback: ImGuiSizeCallback = nil, custom_callback_data: pointer = nil) {.header: imguiHeader, importcpp: "ImGui::SetNextWindowSizeConstraints(@)".}
proc SetScrollFromPosX*(local_x: cfloat, center_x_ratio: cfloat = 0.5f) {.header: imguiHeader, importcpp: "ImGui::SetScrollFromPosX(@)".}
proc SetScrollFromPosY*(local_y: cfloat, center_y_ratio: cfloat = 0.5f) {.header: imguiHeader, importcpp: "ImGui::SetScrollFromPosY(@)".}
proc SetScrollHereX*(center_x_ratio: cfloat = 0.5f) {.header: imguiHeader, importcpp: "ImGui::SetScrollHereX(@)".}
proc SetScrollHereY*(center_y_ratio: cfloat = 0.5f) {.header: imguiHeader, importcpp: "ImGui::SetScrollHereY(@)".}
proc SetScrollX*(scroll_x: cfloat) {.header: imguiHeader, importcpp: "ImGui::SetScrollX(@)".}
proc SetScrollY*(scroll_y: cfloat) {.header: imguiHeader, importcpp: "ImGui::SetScrollY(@)".}
proc SetStateStorage*(storage: ptr ImGuiStorage) {.header: imguiHeader, importcpp: "ImGui::SetStateStorage(@)".}
proc SetTabItemClosed*(tab_or_docked_window_label: cstring) {.header: imguiHeader, importcpp: "ImGui::SetTabItemClosed(@)".}
proc SetTooltip*(fmt: cstring) {.header: imguiHeader, importcpp: "ImGui::SetTooltip(@)", varargs.}
proc SetTooltipV*(fmt: cstring, args: va_list) {.header: imguiHeader, importcpp: "ImGui::SetTooltipV(@)".}
proc SetWindowCollapsed*(collapsed: bool, cond: ImGuiCond = 0) {.header: imguiHeader, importcpp: "ImGui::SetWindowCollapsed(@)".}
proc SetWindowCollapsed*(name: cstring, collapsed: bool, cond: ImGuiCond = 0) {.header: imguiHeader, importcpp: "ImGui::SetWindowCollapsed(@)".}
proc SetWindowFocus*() {.header: imguiHeader, importcpp: "ImGui::SetWindowFocus(@)".}
proc SetWindowFocus*(name: cstring) {.header: imguiHeader, importcpp: "ImGui::SetWindowFocus(@)".}
proc SetWindowFontScale*(scale: cfloat) {.header: imguiHeader, importcpp: "ImGui::SetWindowFontScale(@)".}
proc SetWindowPos*(pos: ImVec2, cond: ImGuiCond = 0) {.header: imguiHeader, importcpp: "ImGui::SetWindowPos(@)".}
proc SetWindowPos*(name: cstring, pos: ImVec2, cond: ImGuiCond = 0) {.header: imguiHeader, importcpp: "ImGui::SetWindowPos(@)".}
proc SetWindowSize*(size: ImVec2, cond: ImGuiCond = 0) {.header: imguiHeader, importcpp: "ImGui::SetWindowSize(@)".}
proc SetWindowSize*(name: cstring, size: ImVec2, cond: ImGuiCond = 0) {.header: imguiHeader, importcpp: "ImGui::SetWindowSize(@)".}
proc ShowAboutWindow*(p_open: ptr bool = nil) {.header: imguiHeader, importcpp: "ImGui::ShowAboutWindow(@)".}
proc ShowDemoWindow*(p_open: ptr bool = nil) {.header: imguiHeader, importcpp: "ImGui::ShowDemoWindow(@)".}
proc ShowFontSelector*(label: cstring) {.header: imguiHeader, importcpp: "ImGui::ShowFontSelector(@)".}
proc ShowMetricsWindow*(p_open: ptr bool = nil) {.header: imguiHeader, importcpp: "ImGui::ShowMetricsWindow(@)".}
proc ShowStyleEditor*(`ref`: ptr ImGuiStyle = nil) {.header: imguiHeader, importcpp: "ImGui::ShowStyleEditor(@)".}
proc ShowStyleSelector*(label: cstring): bool {.header: imguiHeader, importcpp: "ImGui::ShowStyleSelector(@)".}
proc ShowUserGuide*() {.header: imguiHeader, importcpp: "ImGui::ShowUserGuide(@)".}
proc SliderAngle*(label: cstring, v_rad: ptr cfloat, v_degrees_min: cfloat = -360.0f, v_degrees_max: cfloat = +360.0f, format: cstring = "%.0f deg"): bool {.header: imguiHeader, importcpp: "ImGui::SliderAngle(@)".}
proc SliderFloat*(label: cstring, v: ptr cfloat, v_min: cfloat, v_max: cfloat, format: cstring = "%.3f", power: cfloat = 1.0f): bool {.header: imguiHeader, importcpp: "ImGui::SliderFloat(@)".}
proc SliderFloat2*(label: cstring, v: array[2, cfloat], v_min: cfloat, v_max: cfloat, format: cstring = "%.3f", power: cfloat = 1.0f): bool {.header: imguiHeader, importcpp: "ImGui::SliderFloat2(@)".}
proc SliderFloat3*(label: cstring, v: array[3, cfloat], v_min: cfloat, v_max: cfloat, format: cstring = "%.3f", power: cfloat = 1.0f): bool {.header: imguiHeader, importcpp: "ImGui::SliderFloat3(@)".}
proc SliderFloat4*(label: cstring, v: array[4, cfloat], v_min: cfloat, v_max: cfloat, format: cstring = "%.3f", power: cfloat = 1.0f): bool {.header: imguiHeader, importcpp: "ImGui::SliderFloat4(@)".}
proc SliderInt*(label: cstring, v: ptr cint, v_min: cint, v_max: cint, format: cstring = "%d"): bool {.header: imguiHeader, importcpp: "ImGui::SliderInt(@)".}
proc SliderInt2*(label: cstring, v: array[2, cint], v_min: cint, v_max: cint, format: cstring = "%d"): bool {.header: imguiHeader, importcpp: "ImGui::SliderInt2(@)".}
proc SliderInt3*(label: cstring, v: array[3, cint], v_min: cint, v_max: cint, format: cstring = "%d"): bool {.header: imguiHeader, importcpp: "ImGui::SliderInt3(@)".}
proc SliderInt4*(label: cstring, v: array[4, cint], v_min: cint, v_max: cint, format: cstring = "%d"): bool {.header: imguiHeader, importcpp: "ImGui::SliderInt4(@)".}
proc SliderScalar*(label: cstring, data_type: ImGuiDataType, v: pointer, v_min: pointer, v_max: pointer, format: cstring = nil, power: cfloat = 1.0f): bool {.header: imguiHeader, importcpp: "ImGui::SliderScalar(@)".}
proc SliderScalarN*(label: cstring, data_type: ImGuiDataType, v: pointer, components: cint, v_min: pointer, v_max: pointer, format: cstring = nil, power: cfloat = 1.0f): bool {.header: imguiHeader, importcpp: "ImGui::SliderScalarN(@)".}
proc SmallButton*(label: cstring): bool {.header: imguiHeader, importcpp: "ImGui::SmallButton(@)".}
proc Spacing*() {.header: imguiHeader, importcpp: "ImGui::Spacing(@)".}
proc StyleColorsClassic*(dst: ptr ImGuiStyle = nil) {.header: imguiHeader, importcpp: "ImGui::StyleColorsClassic(@)".}
proc StyleColorsDark*(dst: ptr ImGuiStyle = nil) {.header: imguiHeader, importcpp: "ImGui::StyleColorsDark(@)".}
proc StyleColorsLight*(dst: ptr ImGuiStyle = nil) {.header: imguiHeader, importcpp: "ImGui::StyleColorsLight(@)".}
proc Text*(fmt: cstring) {.header: imguiHeader, importcpp: "ImGui::Text(@)", varargs.}
proc TextColored*(col: ImVec4, fmt: cstring) {.header: imguiHeader, importcpp: "ImGui::TextColored(@)", varargs.}
proc TextColoredV*(col: ImVec4, fmt: cstring, args: va_list) {.header: imguiHeader, importcpp: "ImGui::TextColoredV(@)".}
proc TextDisabled*(fmt: cstring) {.header: imguiHeader, importcpp: "ImGui::TextDisabled(@)", varargs.}
proc TextDisabledV*(fmt: cstring, args: va_list) {.header: imguiHeader, importcpp: "ImGui::TextDisabledV(@)".}
proc TextUnformatted*(text: cstring, text_end: cstring = nil) {.header: imguiHeader, importcpp: "ImGui::TextUnformatted(@)".}
proc TextV*(fmt: cstring, args: va_list) {.header: imguiHeader, importcpp: "ImGui::TextV(@)".}
proc TextWrapped*(fmt: cstring) {.header: imguiHeader, importcpp: "ImGui::TextWrapped(@)", varargs.}
proc TextWrappedV*(fmt: cstring, args: va_list) {.header: imguiHeader, importcpp: "ImGui::TextWrappedV(@)".}
proc TreeNode*(label: cstring): bool {.header: imguiHeader, importcpp: "ImGui::TreeNode(@)".}
proc TreeNode*(str_id: cstring, fmt: cstring): bool {.header: imguiHeader, importcpp: "ImGui::TreeNode(@)", varargs.}
proc TreeNode*(ptr_id: pointer, fmt: cstring): bool {.header: imguiHeader, importcpp: "ImGui::TreeNode(@)", varargs.}
proc TreeNodeEx*(label: cstring, flags: ImGuiTreeNodeFlags = 0): bool {.header: imguiHeader, importcpp: "ImGui::TreeNodeEx(@)".}
proc TreeNodeEx*(str_id: cstring, flags: ImGuiTreeNodeFlags, fmt: cstring): bool {.header: imguiHeader, importcpp: "ImGui::TreeNodeEx(@)", varargs.}
proc TreeNodeEx*(ptr_id: pointer, flags: ImGuiTreeNodeFlags, fmt: cstring): bool {.header: imguiHeader, importcpp: "ImGui::TreeNodeEx(@)", varargs.}
proc TreeNodeExV*(str_id: cstring, flags: ImGuiTreeNodeFlags, fmt: cstring, args: va_list): bool {.header: imguiHeader, importcpp: "ImGui::TreeNodeExV(@)".}
proc TreeNodeExV*(ptr_id: pointer, flags: ImGuiTreeNodeFlags, fmt: cstring, args: va_list): bool {.header: imguiHeader, importcpp: "ImGui::TreeNodeExV(@)".}
proc TreeNodeV*(str_id: cstring, fmt: cstring, args: va_list): bool {.header: imguiHeader, importcpp: "ImGui::TreeNodeV(@)".}
proc TreeNodeV*(ptr_id: pointer, fmt: cstring, args: va_list): bool {.header: imguiHeader, importcpp: "ImGui::TreeNodeV(@)".}
proc TreePop*() {.header: imguiHeader, importcpp: "ImGui::TreePop(@)".}
proc TreePush*(str_id: cstring) {.header: imguiHeader, importcpp: "ImGui::TreePush(@)".}
proc TreePush*(ptr_id: pointer = nil) {.header: imguiHeader, importcpp: "ImGui::TreePush(@)".}
proc Unindent*(indent_w: cfloat = 0.0f) {.header: imguiHeader, importcpp: "ImGui::Unindent(@)".}
proc VSliderFloat*(label: cstring, size: ImVec2, v: ptr cfloat, v_min: cfloat, v_max: cfloat, format: cstring = "%.3f", power: cfloat = 1.0f): bool {.header: imguiHeader, importcpp: "ImGui::VSliderFloat(@)".}
proc VSliderInt*(label: cstring, size: ImVec2, v: ptr cint, v_min: cint, v_max: cint, format: cstring = "%d"): bool {.header: imguiHeader, importcpp: "ImGui::VSliderInt(@)".}
proc VSliderScalar*(label: cstring, size: ImVec2, data_type: ImGuiDataType, v: pointer, v_min: pointer, v_max: pointer, format: cstring = nil, power: cfloat = 1.0f): bool {.header: imguiHeader, importcpp: "ImGui::VSliderScalar(@)".}
proc Value*(prefix: cstring, b: bool) {.header: imguiHeader, importcpp: "ImGui::Value(@)".}
proc Value*(prefix: cstring, v: cint) {.header: imguiHeader, importcpp: "ImGui::Value(@)".}
proc Value*(prefix: cstring, v: cuint) {.header: imguiHeader, importcpp: "ImGui::Value(@)".}
proc Value*(prefix: cstring, v: cfloat, float_format: cstring = nil) {.header: imguiHeader, importcpp: "ImGui::Value(@)".}
const
ImGuiImplOpengl3Header = "<imgui_impl_opengl3.h>"
ImGuiImplRaylibHeader = "<imgui_impl_raylib.h>"
proc ImGui_ImplOpenGL3_Init*(glsl_version: cstring = nil): bool {.importcpp:"ImGui_ImplOpenGL3_Init(@)", header:ImGuiImplOpengl3Header.}
proc ImGui_ImplOpenGL3_Shutdown*() {.importcpp:"ImGui_ImplOpenGL3_Shutdown(@)", header:ImGuiImplOpengl3Header.}
proc ImGui_ImplOpenGL3_NewFrame*() {.importcpp:"ImGui_ImplOpenGL3_NewFrame(@)", header:ImGuiImplOpengl3Header.}
proc ImGui_ImplOpenGL3_RenderDrawData*(draw_data: ptr ImDrawData) {.importcpp:"ImGui_ImplOpenGL3_RenderDrawData(@)", header:ImGuiImplOpengl3Header.}
proc ImGui_ImplOpenGL3_CreateFontsTexture*(): bool {.importcpp:"ImGui_ImplOpenGL3_CreateFontsTexture(@)", header:ImGuiImplOpengl3Header.}
proc ImGui_ImplOpenGL3_DestroyFontsTexture*() {.importcpp:"ImGui_ImplOpenGL3_DestroyFontsTexture(@)", header:ImGuiImplOpengl3Header.}
proc ImGui_ImplOpenGL3_CreateDeviceObjects*(): bool {.importcpp:"ImGui_ImplOpenGL3_CreateDeviceObjects(@)", header:ImGuiImplOpengl3Header.}
proc ImGui_ImplOpenGL3_DestroyDeviceObjects*() {.importcpp:"ImGui_ImplOpenGL3_DestroyDeviceObjects(@)", header:ImGuiImplOpengl3Header.}
proc ImGui_ImplRaylib_Init*(): bool {.importcpp:"ImGui_ImplRaylib_Init(@)", header:ImGuiImplRaylibHeader.}
proc ImGui_ImplRaylib_Shutdown*() {.importcpp:"ImGui_ImplRaylib_Shutdown(@)", header:ImGuiImplRaylibHeader.}
proc ImGui_ImplRaylib_NewFrame*() {.importcpp:"ImGui_ImplRaylib_NewFrame(@)", header:ImGuiImplRaylibHeader.}
proc ImGui_ImplRaylib_ProcessEvent*(): bool {.importcpp:"ImGui_ImplRaylib_ProcessEvent(@)", header:ImGuiImplRaylibHeader.}
|