1 module bindbc.imgui.bind.imgui;
2 
3 import std.algorithm;
4 
5 import core.stdc.stdio;
6 
7 import core.stdc.stdarg;
8 
9 extern (C) {
10 alias ImS16 = short;
11 alias ImU32 = uint;
12 alias ImGuiSizeCallback = void function(ImGuiSizeCallbackData* data);
13 alias ImGuiContextHookCallback = void function(ImGuiContext* ctx,ImGuiContextHook* hook);
14 alias ImS8 = byte;
15 alias ImU64 = ulong;
16 alias ImGuiID = uint;
17 alias ImGuiTableDrawChannelIdx = ImU8;
18 alias ImWchar = ImWchar16;
19 alias ImGuiInputTextCallback = int function(ImGuiInputTextCallbackData* data);
20 alias ImDrawIdx = ushort;
21 alias ImPoolIdx = int;
22 alias ImDrawCallback = void function(const ImDrawList* parent_list,const ImDrawCmd* cmd);
23 alias ImS32 = int;
24 alias ImGuiMemFreeFunc = void function(void* ptr,void* user_data);
25     struct ImGuiTableColumnsSettings;
26 alias ImU16 = ushort;
27 alias ImWchar16 = ushort;
28 alias ImS64 = long;
29 alias ImWchar32 = uint;
30 alias ImFileHandle = FILE*;
31 alias ImU8 = char;
32 alias ImGuiErrorLogCallback = void function(void* user_data,const(char)* fmt,...);
33 alias ImGuiTableColumnIdx = ImS8;
34 alias ImTextureID = void*;
35 alias ImGuiMemAllocFunc = void* function(size_t sz,void* user_data);
36     
37     struct ImVector(tType) {
38         int Size;
39         int Capacity;
40         tType* Data;
41     
42         import core.stdc.string;
43     
44     
45         bool empty() const                       
46         {
47             return Size == 0; 
48         }
49     
50         int size() const                        
51         {
52             return Size; 
53         }
54     
55         int size_in_bytes() const               
56         {
57             return Size * cast(int)tType.sizeof; 
58         }
59     
60         int max_size() const                    
61         {
62             return 0x7FFFFFFF / cast(int)tType.sizeof; 
63         }
64     
65         int capacity() const                    
66         {
67             return Capacity; 
68         }
69     
70         void clear()                             
71         {
72             if (Data) 
73             {
74                 Size = Capacity = 0;
75                 igMemFree(Data);
76                 Data = null; 
77             } 
78         }
79     
80         void swap(ImVector* rhs)
81         {
82             int rhs_size = rhs.Size;
83             rhs.Size = Size;
84             Size = rhs_size;
85             int rhs_cap = rhs.Capacity;
86             rhs.Capacity = Capacity;
87             Capacity = rhs_cap;
88             tType* rhs_data = rhs.Data;
89             rhs.Data = Data;
90             Data = rhs_data;
91         }
92     
93         int _grow_capacity(int sz) const        
94         {
95             int new_capacity = Capacity ? (Capacity + Capacity / 2) : 8;
96             return new_capacity > sz ? new_capacity : sz; 
97         }
98     
99         void resize(int new_size)                
100         {
101             if (new_size > Capacity) 
102                 reserve(_grow_capacity(new_size)); Size = new_size; 
103         }
104     
105         void resize(int new_size, const tType* v)    
106         {
107             if (new_size > Capacity)
108                 reserve(_grow_capacity(new_size));
109             if (new_size > Size)
110                 for (int n = Size; n < new_size; n++) 
111                     memcpy(&Data[n], v, tType.sizeof); 
112             
113             Size = new_size; 
114         }
115     
116         // Resize a vector to a smaller size, guaranteed not to cause a reallocation
117         void shrink(int new_size)                
118         {
119             assert(new_size <= Size);
120             Size = new_size; 
121         } 
122     
123         void reserve(int new_capacity)           
124         {
125             if (new_capacity <= Capacity) 
126                 return; 
127     
128             tType* new_data = cast(tType*)igMemAlloc(cast(size_t)new_capacity * tType.sizeof); 
129             
130             if (Data) 
131             {
132                 memcpy(new_data, Data, cast(size_t)Size * tType.sizeof); 
133                 igMemFree(Data);
134             } 
135     
136             Data = new_data; 
137             Capacity = new_capacity; 
138         }
139     
140     
141         // NB: It is illegal to call push_back/push_front/insert with a reference pointing inside the ImVector data itself! e.g. v.push_back(v[10]) is forbidden.
142         void push_back(const tType* v)               
143         {
144             if (Size == Capacity)
145                 reserve(_grow_capacity(Size + 1)); 
146             
147             memcpy(&Data[Size], v, tType.sizeof);
148             Size++; 
149         }
150     
151         void pop_back()                          
152         {
153              assert(Size > 0);
154              Size--; 
155         }
156     
157         void push_front(const tType* v)              
158         {
159             if (Size == 0)
160                 push_back(v); 
161             else 
162                 insert(Data, v); 
163         }
164     
165         tType* erase(const tType* it)
166         {
167              assert(it >= Data && it < Data + Size);
168              const ptrdiff_t off = it - Data;
169              memmove(Data + off, Data + off + 1, (cast(size_t)Size - cast(size_t)off - 1) * tType.sizeof);
170              Size--;
171              return Data + off; 
172         }
173     
174         tType* erase(const tType* it, const tType* it_last)
175         {
176              assert(it >= Data && it < Data + Size && it_last > it && it_last <= Data + Size);
177              const ptrdiff_t count = it_last - it;
178              const ptrdiff_t off = it - Data;
179              memmove(Data + off, Data + off + count, (cast(size_t)Size - cast(size_t)off - count) * tType.sizeof);
180              Size -= cast(int)count;
181              return Data + off; 
182         }
183     
184         tType* erase_unsorted(const tType* it)
185         {
186             assert(it >= Data && it < Data + Size);
187             const ptrdiff_t off = it - Data;
188              
189             if (it < Data + Size - 1)
190                 memcpy(Data + off, Data + Size - 1, tType.sizeof);
191             
192             Size--;
193             return Data + off; 
194         }
195     
196         tType* insert(const tType* it, const tType* v)
197         {
198              assert(it >= Data && it <= Data + Size); 
199              const ptrdiff_t off = it - Data;
200              
201             if (Size == Capacity) 
202                 reserve(_grow_capacity(Size + 1));
203             
204             if (off < cast(int)Size) 
205                 memmove(Data + off + 1, Data + off, (cast(size_t)Size - cast(size_t)off) * tType.sizeof);
206     
207             memcpy(&Data[off], v, tType.sizeof);
208             Size++;
209             return Data + off; 
210         }
211     }
212     
213     struct ImSpan(tType) {
214         tType* Data;
215         tType* DataEnd;
216     
217         // Constructors, destructor
218         //this() 
219         //{
220         //    Data = DataEnd = NULL; 
221         //}
222     
223         this(tType* data, int size)
224         {
225             Data = data;
226             DataEnd = data + size; 
227         }
228     
229         this(tType* data, tType* data_end)
230         {
231             Data = data;
232             DataEnd = data_end; 
233         }
234     
235         void set(tType* data, int size)
236         {
237                 Data = data;
238                 DataEnd = data + size; 
239         }
240     
241         void set(tType* data, tType* data_end)
242         {
243             Data = data;
244             DataEnd = data_end; 
245         }
246     
247         int size() const 
248         {
249             return cast(int)cast(ptrdiff_t)(DataEnd - Data); 
250         }
251     
252         int size_in_bytes() const 
253         {
254             return cast(int)cast(ptrdiff_t)(DataEnd - Data) * cast(int)tType.sizeof;
255         }
256     
257         tType* opIndex(size_t i)
258         {
259             tType* p = Data + i;
260             assert(p >= Data && p < DataEnd);
261             return p; 
262         }
263     
264         tType* begin() 
265         {
266             return Data; 
267         }
268     
269         tType* end() 
270         {
271             return DataEnd; 
272         }
273     
274         // Utilities
275         int  index_from_ptr(const tType* it)
276         { 
277             assert(it >= Data && it < DataEnd); 
278             const ptrdiff_t off = it - Data;
279             return cast(int)off; 
280         }
281     }
282     
283     struct ImPool_ImGuiTabBar {
284         ImGuiTabBar Buf;
285         ImGuiStorage Map;
286         ImPoolIdx FreeIdx;
287     }
288     
289     struct ImChunkStream_ImGuiWindowSettings {
290         ImGuiWindowSettings Buf;
291     }
292     
293     struct ImChunkStream_ImGuiTableSettings {
294         ImGuiTableSettings Buf;
295     }
296     
297     struct ImPool_ImGuiTable {
298         ImGuiTable Buf;
299         ImGuiStorage Map;
300         ImPoolIdx FreeIdx;
301     }
302 
303     enum ImGuiTableBgTarget {
304         None = 0,
305         RowBg0 = 1,
306         RowBg1 = 2,
307         CellBg = 3,
308     }
309 
310     enum ImGuiLayoutType {
311         Horizontal = 0,
312         Vertical = 1,
313     }
314 
315     enum ImGuiSeparatorFlags {
316         None = 0,
317         Horizontal = 1,
318         Vertical = 2,
319         SpanAllColumns = 4,
320     }
321 
322     enum ImGuiWindowDockStyleCol {
323         Text = 0,
324         Tab = 1,
325         TabHovered = 2,
326         TabActive = 3,
327         TabUnfocused = 4,
328         TabUnfocusedActive = 5,
329         COUNT = 6,
330     }
331 
332     enum ImGuiNextItemDataFlags {
333         None = 0,
334         HasWidth = 1,
335         HasOpen = 2,
336     }
337 
338     enum ImGuiItemStatusFlags {
339         None = 0,
340         HoveredRect = 1,
341         HasDisplayRect = 2,
342         Edited = 4,
343         ToggledSelection = 8,
344         ToggledOpen = 16,
345         HasDeactivated = 32,
346         Deactivated = 64,
347         HoveredWindow = 128,
348         FocusedByCode = 256,
349         FocusedByTabbing = 512,
350         Focused = 768,
351     }
352 
353     enum ImGuiSliderFlagsI : ImGuiSliderFlags {
354         Vertical = cast(ImGuiSliderFlags)1048576,
355         ReadOnly = cast(ImGuiSliderFlags)2097152,
356     }
357 
358     enum ImGuiInputReadMode {
359         Down = 0,
360         Pressed = 1,
361         Released = 2,
362         Repeat = 3,
363         RepeatSlow = 4,
364         RepeatFast = 5,
365     }
366 
367     enum ImGuiMouseButton {
368         Left = 0,
369         Right = 1,
370         Middle = 2,
371         COUNT = 5,
372     }
373 
374     enum ImGuiDockNodeFlagsI : ImGuiDockNodeFlags {
375         DockSpace = cast(ImGuiDockNodeFlags)1024,
376         CentralNode = cast(ImGuiDockNodeFlags)2048,
377         NoTabBar = cast(ImGuiDockNodeFlags)4096,
378         HiddenTabBar = cast(ImGuiDockNodeFlags)8192,
379         NoWindowMenuButton = cast(ImGuiDockNodeFlags)16384,
380         NoCloseButton = cast(ImGuiDockNodeFlags)32768,
381         NoDocking = cast(ImGuiDockNodeFlags)65536,
382         NoDockingSplitMe = cast(ImGuiDockNodeFlags)131072,
383         NoDockingSplitOther = cast(ImGuiDockNodeFlags)262144,
384         NoDockingOverMe = cast(ImGuiDockNodeFlags)524288,
385         NoDockingOverOther = cast(ImGuiDockNodeFlags)1048576,
386         NoDockingOverEmpty = cast(ImGuiDockNodeFlags)2097152,
387         NoResizeX = cast(ImGuiDockNodeFlags)4194304,
388         NoResizeY = cast(ImGuiDockNodeFlags)8388608,
389         SharedFlagsInheritMask_ = cast(ImGuiDockNodeFlags)-1,
390         NoResizeFlagsMask_ = cast(ImGuiDockNodeFlags)12582944,
391         LocalFlagsMask_ = cast(ImGuiDockNodeFlags)12713072,
392         LocalFlagsTransferMask_ = cast(ImGuiDockNodeFlags)12712048,
393         SavedFlagsMask_ = cast(ImGuiDockNodeFlags)12712992,
394     }
395 
396     enum ImGuiDataAuthority {
397         Auto = 0,
398         DockNode = 1,
399         Window = 2,
400     }
401 
402     enum ImGuiNavDirSourceFlags {
403         None = 0,
404         Keyboard = 1,
405         PadDPad = 2,
406         PadLStick = 4,
407     }
408 
409     enum ImGuiSortDirection {
410         None = 0,
411         Ascending = 1,
412         Descending = 2,
413     }
414 
415     enum ImGuiTabBarFlagsI : ImGuiTabBarFlags {
416         DockNode = cast(ImGuiTabBarFlags)1048576,
417         IsFocused = cast(ImGuiTabBarFlags)2097152,
418         SaveSettings = cast(ImGuiTabBarFlags)4194304,
419     }
420 
421     enum ImGuiTableColumnFlags {
422         None = 0,
423         Disabled = 1,
424         DefaultHide = 2,
425         DefaultSort = 4,
426         WidthStretch = 8,
427         WidthFixed = 16,
428         NoResize = 32,
429         NoReorder = 64,
430         NoHide = 128,
431         NoClip = 256,
432         NoSort = 512,
433         NoSortAscending = 1024,
434         NoSortDescending = 2048,
435         NoHeaderLabel = 4096,
436         NoHeaderWidth = 8192,
437         PreferSortAscending = 16384,
438         PreferSortDescending = 32768,
439         IndentEnable = 65536,
440         IndentDisable = 131072,
441         IsEnabled = 16777216,
442         IsVisible = 33554432,
443         IsSorted = 67108864,
444         IsHovered = 134217728,
445         WidthMask_ = 24,
446         IndentMask_ = 196608,
447         StatusMask_ = 251658240,
448         NoDirectResize_ = 1073741824,
449     }
450 
451     enum ImGuiTooltipFlags {
452         None = 0,
453         OverridePreviousTooltip = 1,
454     }
455 
456     enum ImGuiTabItemFlags {
457         None = 0,
458         UnsavedDocument = 1,
459         SetSelected = 2,
460         NoCloseWithMiddleMouseButton = 4,
461         NoPushId = 8,
462         NoTooltip = 16,
463         NoReorder = 32,
464         Leading = 64,
465         Trailing = 128,
466     }
467 
468     enum ImGuiPopupPositionPolicy {
469         Default = 0,
470         ComboBox = 1,
471         Tooltip = 2,
472     }
473 
474     enum ImGuiConfigFlags {
475         None = 0,
476         NavEnableKeyboard = 1,
477         NavEnableGamepad = 2,
478         NavEnableSetMousePos = 4,
479         NavNoCaptureKeyboard = 8,
480         NoMouse = 16,
481         NoMouseCursorChange = 32,
482         DockingEnable = 64,
483         ViewportsEnable = 1024,
484         DpiEnableScaleViewports = 16384,
485         DpiEnableScaleFonts = 32768,
486         IsSRGB = 1048576,
487         IsTouchScreen = 2097152,
488     }
489 
490     enum ImGuiKeyModFlags {
491         None = 0,
492         Ctrl = 1,
493         Shift = 2,
494         Alt = 4,
495         Super = 8,
496     }
497 
498     enum ImGuiDataTypeI : ImGuiDataType {
499         String = cast(ImGuiDataType)11,
500         Pointer = cast(ImGuiDataType)12,
501         ID = cast(ImGuiDataType)13,
502     }
503 
504     enum ImGuiNavInput {
505         Activate = 0,
506         Cancel = 1,
507         Input = 2,
508         Menu = 3,
509         DpadLeft = 4,
510         DpadRight = 5,
511         DpadUp = 6,
512         DpadDown = 7,
513         LStickLeft = 8,
514         LStickRight = 9,
515         LStickUp = 10,
516         LStickDown = 11,
517         FocusPrev = 12,
518         FocusNext = 13,
519         TweakSlow = 14,
520         TweakFast = 15,
521         KeyLeft_ = 16,
522         KeyRight_ = 17,
523         KeyUp_ = 18,
524         KeyDown_ = 19,
525         COUNT = 20,
526         InternalStart_ = 16,
527     }
528 
529     enum ImGuiTableRowFlags {
530         None = 0,
531         Headers = 1,
532     }
533 
534     enum ImGuiDir {
535         None = -1,
536         Left = 0,
537         Right = 1,
538         Up = 2,
539         Down = 3,
540         COUNT = 4,
541     }
542 
543     enum ImGuiNavMoveFlags {
544         None = 0,
545         LoopX = 1,
546         LoopY = 2,
547         WrapX = 4,
548         WrapY = 8,
549         AllowCurrentNavId = 16,
550         AlsoScoreVisibleSet = 32,
551         ScrollToEdge = 64,
552         Forwarded = 128,
553         DebugNoResult = 256,
554     }
555 
556     enum ImGuiTextFlags {
557         None = 0,
558         NoWidthForLargeClippedText = 1,
559     }
560 
561     enum ImGuiColorEditFlags {
562         None = 0,
563         NoAlpha = 2,
564         NoPicker = 4,
565         NoOptions = 8,
566         NoSmallPreview = 16,
567         NoInputs = 32,
568         NoTooltip = 64,
569         NoLabel = 128,
570         NoSidePreview = 256,
571         NoDragDrop = 512,
572         NoBorder = 1024,
573         AlphaBar = 65536,
574         AlphaPreview = 131072,
575         AlphaPreviewHalf = 262144,
576         HDR = 524288,
577         DisplayRGB = 1048576,
578         DisplayHSV = 2097152,
579         DisplayHex = 4194304,
580         Uint8 = 8388608,
581         Float = 16777216,
582         PickerHueBar = 33554432,
583         PickerHueWheel = 67108864,
584         InputRGB = 134217728,
585         InputHSV = 268435456,
586         DefaultOptions_ = 177209344,
587         DisplayMask_ = 7340032,
588         DataTypeMask_ = 25165824,
589         PickerMask_ = 100663296,
590         InputMask_ = 402653184,
591     }
592 
593     enum ImGuiTreeNodeFlags {
594         None = 0,
595         Selected = 1,
596         Framed = 2,
597         AllowItemOverlap = 4,
598         NoTreePushOnOpen = 8,
599         NoAutoOpenOnLog = 16,
600         DefaultOpen = 32,
601         OpenOnDoubleClick = 64,
602         OpenOnArrow = 128,
603         Leaf = 256,
604         Bullet = 512,
605         FramePadding = 1024,
606         SpanAvailWidth = 2048,
607         SpanFullWidth = 4096,
608         NavLeftJumpsBackHere = 8192,
609         CollapsingHeader = 26,
610     }
611 
612     enum ImGuiContextHookType {
613         NewFramePre = 0,
614         NewFramePost = 1,
615         EndFramePre = 2,
616         EndFramePost = 3,
617         RenderPre = 4,
618         RenderPost = 5,
619         Shutdown = 6,
620         PendingRemoval_ = 7,
621     }
622 
623     enum ImGuiTabBarFlags {
624         None = 0,
625         Reorderable = 1,
626         AutoSelectNewTabs = 2,
627         TabListPopupButton = 4,
628         NoCloseWithMiddleMouseButton = 8,
629         NoTabListScrollingButtons = 16,
630         NoTooltip = 32,
631         FittingPolicyResizeDown = 64,
632         FittingPolicyScroll = 128,
633         FittingPolicyMask_ = 192,
634         FittingPolicyDefault_ = 64,
635     }
636 
637     enum ImDrawListFlags {
638         None = 0,
639         AntiAliasedLines = 1,
640         AntiAliasedLinesUseTex = 2,
641         AntiAliasedFill = 4,
642         AllowVtxOffset = 8,
643     }
644 
645     enum ImGuiWindowFlags {
646         None = 0,
647         NoTitleBar = 1,
648         NoResize = 2,
649         NoMove = 4,
650         NoScrollbar = 8,
651         NoScrollWithMouse = 16,
652         NoCollapse = 32,
653         AlwaysAutoResize = 64,
654         NoBackground = 128,
655         NoSavedSettings = 256,
656         NoMouseInputs = 512,
657         MenuBar = 1024,
658         HorizontalScrollbar = 2048,
659         NoFocusOnAppearing = 4096,
660         NoBringToFrontOnFocus = 8192,
661         AlwaysVerticalScrollbar = 16384,
662         AlwaysHorizontalScrollbar = 32768,
663         AlwaysUseWindowPadding = 65536,
664         NoNavInputs = 262144,
665         NoNavFocus = 524288,
666         UnsavedDocument = 1048576,
667         NoDocking = 2097152,
668         NoNav = 786432,
669         NoDecoration = 43,
670         NoInputs = 786944,
671         NavFlattened = 8388608,
672         ChildWindow = 16777216,
673         Tooltip = 33554432,
674         Popup = 67108864,
675         Modal = 134217728,
676         ChildMenu = 268435456,
677         DockNodeHost = 536870912,
678     }
679 
680     enum ImGuiCond {
681         None = 0,
682         Always = 1,
683         Once = 2,
684         FirstUseEver = 4,
685         Appearing = 8,
686     }
687 
688     enum ImGuiSelectableFlags {
689         None = 0,
690         DontClosePopups = 1,
691         SpanAllColumns = 2,
692         AllowDoubleClick = 4,
693         Disabled = 8,
694         AllowItemOverlap = 16,
695     }
696 
697     enum ImGuiNextWindowDataFlags {
698         None = 0,
699         HasPos = 1,
700         HasSize = 2,
701         HasContentSize = 4,
702         HasCollapsed = 8,
703         HasSizeConstraint = 16,
704         HasFocus = 32,
705         HasBgAlpha = 64,
706         HasScroll = 128,
707         HasViewport = 256,
708         HasDock = 512,
709         HasWindowClass = 1024,
710     }
711 
712     enum ImGuiStyleVar {
713         Alpha = 0,
714         DisabledAlpha = 1,
715         WindowPadding = 2,
716         WindowRounding = 3,
717         WindowBorderSize = 4,
718         WindowMinSize = 5,
719         WindowTitleAlign = 6,
720         ChildRounding = 7,
721         ChildBorderSize = 8,
722         PopupRounding = 9,
723         PopupBorderSize = 10,
724         FramePadding = 11,
725         FrameRounding = 12,
726         FrameBorderSize = 13,
727         ItemSpacing = 14,
728         ItemInnerSpacing = 15,
729         IndentSpacing = 16,
730         CellPadding = 17,
731         ScrollbarSize = 18,
732         ScrollbarRounding = 19,
733         GrabMinSize = 20,
734         GrabRounding = 21,
735         TabRounding = 22,
736         ButtonTextAlign = 23,
737         SelectableTextAlign = 24,
738         COUNT = 25,
739     }
740 
741     enum ImGuiInputTextFlagsI : ImGuiInputTextFlags {
742         Multiline = cast(ImGuiInputTextFlags)67108864,
743         NoMarkEdited = cast(ImGuiInputTextFlags)134217728,
744         MergedItem = cast(ImGuiInputTextFlags)268435456,
745     }
746 
747     enum ImGuiComboFlags {
748         None = 0,
749         PopupAlignLeft = 1,
750         HeightSmall = 2,
751         HeightRegular = 4,
752         HeightLarge = 8,
753         HeightLargest = 16,
754         NoArrowButton = 32,
755         NoPreview = 64,
756         HeightMask_ = 30,
757     }
758 
759     enum ImFontAtlasFlags {
760         None = 0,
761         NoPowerOfTwoHeight = 1,
762         NoMouseCursors = 2,
763         NoBakedLines = 4,
764     }
765 
766     enum ImGuiBackendFlags {
767         None = 0,
768         HasGamepad = 1,
769         HasMouseCursors = 2,
770         HasSetMousePos = 4,
771         RendererHasVtxOffset = 8,
772         PlatformHasViewports = 1024,
773         HasMouseHoveredViewport = 2048,
774         RendererHasViewports = 4096,
775     }
776 
777     enum ImGuiItemFlags {
778         None = 0,
779         NoTabStop = 1,
780         ButtonRepeat = 2,
781         Disabled = 4,
782         NoNav = 8,
783         NoNavDefaultFocus = 16,
784         SelectableDontClosePopup = 32,
785         MixedValue = 64,
786         ReadOnly = 128,
787         Inputable = 256,
788     }
789 
790     enum ImGuiNavLayer {
791         Main = 0,
792         Menu = 1,
793         COUNT = 2,
794     }
795 
796     enum ImGuiDockNodeState {
797         Unknown = 0,
798         HostWindowHiddenBecauseSingleWindow = 1,
799         HostWindowHiddenBecauseWindowsAreResizing = 2,
800         HostWindowVisible = 3,
801     }
802 
803     enum ImGuiAxis {
804         None = -1,
805         X = 0,
806         Y = 1,
807     }
808 
809     enum ImGuiButtonFlagsI : ImGuiButtonFlags {
810         PressedOnClick = cast(ImGuiButtonFlags)16,
811         PressedOnClickRelease = cast(ImGuiButtonFlags)32,
812         PressedOnClickReleaseAnywhere = cast(ImGuiButtonFlags)64,
813         PressedOnRelease = cast(ImGuiButtonFlags)128,
814         PressedOnDoubleClick = cast(ImGuiButtonFlags)256,
815         PressedOnDragDropHold = cast(ImGuiButtonFlags)512,
816         Repeat = cast(ImGuiButtonFlags)1024,
817         FlattenChildren = cast(ImGuiButtonFlags)2048,
818         AllowItemOverlap = cast(ImGuiButtonFlags)4096,
819         DontClosePopups = cast(ImGuiButtonFlags)8192,
820         AlignTextBaseLine = cast(ImGuiButtonFlags)32768,
821         NoKeyModifiers = cast(ImGuiButtonFlags)65536,
822         NoHoldingActiveId = cast(ImGuiButtonFlags)131072,
823         NoNavFocus = cast(ImGuiButtonFlags)262144,
824         NoHoveredOnFocus = cast(ImGuiButtonFlags)524288,
825         PressedOnMask_ = cast(ImGuiButtonFlags)1008,
826         PressedOnDefault_ = cast(ImGuiButtonFlags)32,
827     }
828 
829     enum ImGuiDragDropFlags {
830         None = 0,
831         SourceNoPreviewTooltip = 1,
832         SourceNoDisableHover = 2,
833         SourceNoHoldToOpenOthers = 4,
834         SourceAllowNullID = 8,
835         SourceExtern = 16,
836         SourceAutoExpirePayload = 32,
837         AcceptBeforeDelivery = 1024,
838         AcceptNoDrawDefaultRect = 2048,
839         AcceptNoPreviewTooltip = 4096,
840         AcceptPeekOnly = 3072,
841     }
842 
843     enum ImGuiLogType {
844         None = 0,
845         TTY = 1,
846         File = 2,
847         Buffer = 3,
848         Clipboard = 4,
849     }
850 
851     enum ImGuiNavHighlightFlags {
852         None = 0,
853         TypeDefault = 1,
854         TypeThin = 2,
855         AlwaysDraw = 4,
856         NoRounding = 8,
857     }
858 
859     enum ImGuiTableFlags {
860         None = 0,
861         Resizable = 1,
862         Reorderable = 2,
863         Hideable = 4,
864         Sortable = 8,
865         NoSavedSettings = 16,
866         ContextMenuInBody = 32,
867         RowBg = 64,
868         BordersInnerH = 128,
869         BordersOuterH = 256,
870         BordersInnerV = 512,
871         BordersOuterV = 1024,
872         BordersH = 384,
873         BordersV = 1536,
874         BordersInner = 640,
875         BordersOuter = 1280,
876         Borders = 1920,
877         NoBordersInBody = 2048,
878         NoBordersInBodyUntilResize = 4096,
879         SizingFixedFit = 8192,
880         SizingFixedSame = 16384,
881         SizingStretchProp = 24576,
882         SizingStretchSame = 32768,
883         NoHostExtendX = 65536,
884         NoHostExtendY = 131072,
885         NoKeepColumnsVisible = 262144,
886         PreciseWidths = 524288,
887         NoClip = 1048576,
888         PadOuterX = 2097152,
889         NoPadOuterX = 4194304,
890         NoPadInnerX = 8388608,
891         ScrollX = 16777216,
892         ScrollY = 33554432,
893         SortMulti = 67108864,
894         SortTristate = 134217728,
895         SizingMask_ = 57344,
896     }
897 
898     enum ImGuiTreeNodeFlagsI : ImGuiTreeNodeFlags {
899         ClipLabelForTrailingButton = cast(ImGuiTreeNodeFlags)1048576,
900     }
901 
902     enum ImDrawFlags {
903         None = 0,
904         Closed = 1,
905         RoundCornersTopLeft = 16,
906         RoundCornersTopRight = 32,
907         RoundCornersBottomLeft = 64,
908         RoundCornersBottomRight = 128,
909         RoundCornersNone = 256,
910         RoundCornersTop = 48,
911         RoundCornersBottom = 192,
912         RoundCornersLeft = 80,
913         RoundCornersRight = 160,
914         RoundCornersAll = 240,
915         RoundCornersDefault_ = 240,
916         RoundCornersMask_ = 496,
917     }
918 
919     enum ImGuiFocusedFlags {
920         None = 0,
921         ChildWindows = 1,
922         RootWindow = 2,
923         AnyWindow = 4,
924         NoPopupHierarchy = 8,
925         DockHierarchy = 16,
926         RootAndChildWindows = 3,
927     }
928 
929     enum ImGuiTabItemFlagsI : ImGuiTabItemFlags {
930         SectionMask_ = cast(ImGuiTabItemFlags)192,
931         NoCloseButton = cast(ImGuiTabItemFlags)1048576,
932         Button = cast(ImGuiTabItemFlags)2097152,
933         Unsorted = cast(ImGuiTabItemFlags)4194304,
934         Preview = cast(ImGuiTabItemFlags)8388608,
935     }
936 
937     enum ImGuiSliderFlags {
938         None = 0,
939         AlwaysClamp = 16,
940         Logarithmic = 32,
941         NoRoundToFormat = 64,
942         NoInput = 128,
943         InvalidMask_ = 1879048207,
944     }
945 
946     enum ImGuiDataType {
947         S8 = 0,
948         U8 = 1,
949         S16 = 2,
950         U16 = 3,
951         S32 = 4,
952         U32 = 5,
953         S64 = 6,
954         U64 = 7,
955         Float = 8,
956         Double = 9,
957         COUNT = 10,
958     }
959 
960     enum ImGuiComboFlagsI : ImGuiComboFlags {
961         CustomPreview = cast(ImGuiComboFlags)1048576,
962     }
963 
964     enum ImGuiKey {
965         Tab = 0,
966         LeftArrow = 1,
967         RightArrow = 2,
968         UpArrow = 3,
969         DownArrow = 4,
970         PageUp = 5,
971         PageDown = 6,
972         Home = 7,
973         End = 8,
974         Insert = 9,
975         Delete = 10,
976         Backspace = 11,
977         Space = 12,
978         Enter = 13,
979         Escape = 14,
980         KeyPadEnter = 15,
981         A = 16,
982         C = 17,
983         V = 18,
984         X = 19,
985         Y = 20,
986         Z = 21,
987         COUNT = 22,
988     }
989 
990     enum ImGuiCol {
991         Text = 0,
992         TextDisabled = 1,
993         WindowBg = 2,
994         ChildBg = 3,
995         PopupBg = 4,
996         Border = 5,
997         BorderShadow = 6,
998         FrameBg = 7,
999         FrameBgHovered = 8,
1000         FrameBgActive = 9,
1001         TitleBg = 10,
1002         TitleBgActive = 11,
1003         TitleBgCollapsed = 12,
1004         MenuBarBg = 13,
1005         ScrollbarBg = 14,
1006         ScrollbarGrab = 15,
1007         ScrollbarGrabHovered = 16,
1008         ScrollbarGrabActive = 17,
1009         CheckMark = 18,
1010         SliderGrab = 19,
1011         SliderGrabActive = 20,
1012         Button = 21,
1013         ButtonHovered = 22,
1014         ButtonActive = 23,
1015         Header = 24,
1016         HeaderHovered = 25,
1017         HeaderActive = 26,
1018         Separator = 27,
1019         SeparatorHovered = 28,
1020         SeparatorActive = 29,
1021         ResizeGrip = 30,
1022         ResizeGripHovered = 31,
1023         ResizeGripActive = 32,
1024         Tab = 33,
1025         TabHovered = 34,
1026         TabActive = 35,
1027         TabUnfocused = 36,
1028         TabUnfocusedActive = 37,
1029         DockingPreview = 38,
1030         DockingEmptyBg = 39,
1031         PlotLines = 40,
1032         PlotLinesHovered = 41,
1033         PlotHistogram = 42,
1034         PlotHistogramHovered = 43,
1035         TableHeaderBg = 44,
1036         TableBorderStrong = 45,
1037         TableBorderLight = 46,
1038         TableRowBg = 47,
1039         TableRowBgAlt = 48,
1040         TextSelectedBg = 49,
1041         DragDropTarget = 50,
1042         NavHighlight = 51,
1043         NavWindowingHighlight = 52,
1044         NavWindowingDimBg = 53,
1045         ModalWindowDimBg = 54,
1046         COUNT = 55,
1047     }
1048 
1049     enum ImGuiButtonFlags {
1050         None = 0,
1051         MouseButtonLeft = 1,
1052         MouseButtonRight = 2,
1053         MouseButtonMiddle = 4,
1054         MouseButtonMask_ = 7,
1055         MouseButtonDefault_ = 1,
1056     }
1057 
1058     enum ImGuiViewportFlags {
1059         None = 0,
1060         IsPlatformWindow = 1,
1061         IsPlatformMonitor = 2,
1062         OwnedByApp = 4,
1063         NoDecoration = 8,
1064         NoTaskBarIcon = 16,
1065         NoFocusOnAppearing = 32,
1066         NoFocusOnClick = 64,
1067         NoInputs = 128,
1068         NoRendererClear = 256,
1069         TopMost = 512,
1070         Minimized = 1024,
1071         NoAutoMerge = 2048,
1072         CanHostOtherWindows = 4096,
1073     }
1074 
1075     enum ImGuiSelectableFlagsI : ImGuiSelectableFlags {
1076         NoHoldingActiveID = cast(ImGuiSelectableFlags)1048576,
1077         SelectOnNav = cast(ImGuiSelectableFlags)2097152,
1078         SelectOnClick = cast(ImGuiSelectableFlags)4194304,
1079         SelectOnRelease = cast(ImGuiSelectableFlags)8388608,
1080         SpanAvailWidth = cast(ImGuiSelectableFlags)16777216,
1081         DrawHoveredWhenHeld = cast(ImGuiSelectableFlags)33554432,
1082         SetNavIdOnHover = cast(ImGuiSelectableFlags)67108864,
1083         NoPadWithHalfSpacing = cast(ImGuiSelectableFlags)134217728,
1084     }
1085 
1086     enum ImGuiInputSource {
1087         None = 0,
1088         Mouse = 1,
1089         Keyboard = 2,
1090         Gamepad = 3,
1091         Nav = 4,
1092         Clipboard = 5,
1093         COUNT = 6,
1094     }
1095 
1096     enum ImGuiMouseCursor {
1097         None = -1,
1098         Arrow = 0,
1099         TextInput = 1,
1100         ResizeAll = 2,
1101         ResizeNS = 3,
1102         ResizeEW = 4,
1103         ResizeNESW = 5,
1104         ResizeNWSE = 6,
1105         Hand = 7,
1106         NotAllowed = 8,
1107         COUNT = 9,
1108     }
1109 
1110     enum ImGuiPlotType {
1111         Lines = 0,
1112         Histogram = 1,
1113     }
1114 
1115     enum ImGuiDockRequestType {
1116         None = 0,
1117         Dock = 1,
1118         Undock = 2,
1119         Split = 3,
1120     }
1121 
1122     enum ImGuiDockNodeFlags {
1123         None = 0,
1124         KeepAliveOnly = 1,
1125         NoDockingInCentralNode = 4,
1126         PassthruCentralNode = 8,
1127         NoSplit = 16,
1128         NoResize = 32,
1129         AutoHideTabBar = 64,
1130     }
1131 
1132     enum ImGuiInputTextFlags {
1133         None = 0,
1134         CharsDecimal = 1,
1135         CharsHexadecimal = 2,
1136         CharsUppercase = 4,
1137         CharsNoBlank = 8,
1138         AutoSelectAll = 16,
1139         EnterReturnsTrue = 32,
1140         CallbackCompletion = 64,
1141         CallbackHistory = 128,
1142         CallbackAlways = 256,
1143         CallbackCharFilter = 512,
1144         AllowTabInput = 1024,
1145         CtrlEnterForNewLine = 2048,
1146         NoHorizontalScroll = 4096,
1147         AlwaysOverwrite = 8192,
1148         ReadOnly = 16384,
1149         Password = 32768,
1150         NoUndoRedo = 65536,
1151         CharsScientific = 131072,
1152         CallbackResize = 262144,
1153         CallbackEdit = 524288,
1154     }
1155 
1156     enum ImGuiPopupFlags {
1157         None = 0,
1158         MouseButtonLeft = 0,
1159         MouseButtonRight = 1,
1160         MouseButtonMiddle = 2,
1161         MouseButtonMask_ = 31,
1162         MouseButtonDefault_ = 1,
1163         NoOpenOverExistingPopup = 32,
1164         NoOpenOverItems = 64,
1165         AnyPopupId = 128,
1166         AnyPopupLevel = 256,
1167         AnyPopup = 384,
1168     }
1169 
1170     enum ImGuiActivateFlags {
1171         None = 0,
1172         PreferInput = 1,
1173         PreferTweak = 2,
1174         TryToPreserveState = 4,
1175     }
1176 
1177     enum ImGuiOldColumnFlags {
1178         None = 0,
1179         NoBorder = 1,
1180         NoResize = 2,
1181         NoPreserveWidths = 4,
1182         NoForceWithinWindow = 8,
1183         GrowParentContentsSize = 16,
1184     }
1185 
1186     enum ImGuiHoveredFlags {
1187         None = 0,
1188         ChildWindows = 1,
1189         RootWindow = 2,
1190         AnyWindow = 4,
1191         NoPopupHierarchy = 8,
1192         DockHierarchy = 16,
1193         AllowWhenBlockedByPopup = 32,
1194         AllowWhenBlockedByActiveItem = 128,
1195         AllowWhenOverlapped = 256,
1196         AllowWhenDisabled = 512,
1197         RectOnly = 416,
1198         RootAndChildWindows = 3,
1199     }
1200 
1201 
1202     struct ImGuiSizeCallbackData {
1203         void* UserData;
1204         ImVec2 Pos;
1205         ImVec2 CurrentSize;
1206         ImVec2 DesiredSize;
1207     }
1208 
1209     struct ImGuiMetricsConfig {
1210         bool ShowWindowsRects;
1211         bool ShowWindowsBeginOrder;
1212         bool ShowTablesRects;
1213         bool ShowDrawCmdMesh;
1214         bool ShowDrawCmdBoundingBoxes;
1215         bool ShowDockingNodes;
1216         int ShowWindowsRectsType;
1217         int ShowTablesRectsType;
1218     }
1219 
1220     struct ImGuiShrinkWidthItem {
1221         int Index;
1222         float Width;
1223     }
1224 
1225     struct ImGuiStyleMod {
1226         ImGuiStyleVar VarIdx;
1227         union { int[2] BackupInt; float[2] BackupFloat;} ;
1228     }
1229 
1230     struct ImRect {
1231         ImVec2 Min;
1232         ImVec2 Max;
1233     }
1234 
1235     struct ImFontGlyphRangesBuilder {
1236         ImVector!(ImU32) UsedChars;
1237     }
1238 
1239     struct ImGuiDataTypeTempStorage {
1240         ImU8[8] Data;
1241     }
1242 
1243     struct ImGuiIO {
1244         ImGuiConfigFlags ConfigFlags;
1245         ImGuiBackendFlags BackendFlags;
1246         ImVec2 DisplaySize;
1247         float DeltaTime;
1248         float IniSavingRate;
1249         const(char)* IniFilename;
1250         const(char)* LogFilename;
1251         float MouseDoubleClickTime;
1252         float MouseDoubleClickMaxDist;
1253         float MouseDragThreshold;
1254         int[ImGuiKey.COUNT] KeyMap;
1255         float KeyRepeatDelay;
1256         float KeyRepeatRate;
1257         void* UserData;
1258         ImFontAtlas* Fonts;
1259         float FontGlobalScale;
1260         bool FontAllowUserScaling;
1261         ImFont* FontDefault;
1262         ImVec2 DisplayFramebufferScale;
1263         bool ConfigDockingNoSplit;
1264         bool ConfigDockingAlwaysTabBar;
1265         bool ConfigDockingTransparentPayload;
1266         bool ConfigViewportsNoAutoMerge;
1267         bool ConfigViewportsNoTaskBarIcon;
1268         bool ConfigViewportsNoDecoration;
1269         bool ConfigViewportsNoDefaultParent;
1270         bool MouseDrawCursor;
1271         bool ConfigMacOSXBehaviors;
1272         bool ConfigInputTextCursorBlink;
1273         bool ConfigDragClickToInputText;
1274         bool ConfigWindowsResizeFromEdges;
1275         bool ConfigWindowsMoveFromTitleBarOnly;
1276         float ConfigMemoryCompactTimer;
1277         const(char)* BackendPlatformName;
1278         const(char)* BackendRendererName;
1279         void* BackendPlatformUserData;
1280         void* BackendRendererUserData;
1281         void* BackendLanguageUserData;
1282         const(char)* function(void* user_data) GetClipboardTextFn;
1283         void function(void* user_data,const(char)* text) SetClipboardTextFn;
1284         void* ClipboardUserData;
1285         ImVec2 MousePos;
1286         bool[5] MouseDown;
1287         float MouseWheel;
1288         float MouseWheelH;
1289         ImGuiID MouseHoveredViewport;
1290         bool KeyCtrl;
1291         bool KeyShift;
1292         bool KeyAlt;
1293         bool KeySuper;
1294         bool[512] KeysDown;
1295         float[ImGuiNavInput.COUNT] NavInputs;
1296         bool WantCaptureMouse;
1297         bool WantCaptureKeyboard;
1298         bool WantTextInput;
1299         bool WantSetMousePos;
1300         bool WantSaveIniSettings;
1301         bool NavActive;
1302         bool NavVisible;
1303         float Framerate;
1304         int MetricsRenderVertices;
1305         int MetricsRenderIndices;
1306         int MetricsRenderWindows;
1307         int MetricsActiveWindows;
1308         int MetricsActiveAllocations;
1309         ImVec2 MouseDelta;
1310         bool WantCaptureMouseUnlessPopupClose;
1311         ImGuiKeyModFlags KeyMods;
1312         ImGuiKeyModFlags KeyModsPrev;
1313         ImVec2 MousePosPrev;
1314         ImVec2[5] MouseClickedPos;
1315         double[5] MouseClickedTime;
1316         bool[5] MouseClicked;
1317         bool[5] MouseDoubleClicked;
1318         bool[5] MouseReleased;
1319         bool[5] MouseDownOwned;
1320         bool[5] MouseDownOwnedUnlessPopupClose;
1321         bool[5] MouseDownWasDoubleClick;
1322         float[5] MouseDownDuration;
1323         float[5] MouseDownDurationPrev;
1324         ImVec2[5] MouseDragMaxDistanceAbs;
1325         float[5] MouseDragMaxDistanceSqr;
1326         float[512] KeysDownDuration;
1327         float[512] KeysDownDurationPrev;
1328         float[ImGuiNavInput.COUNT] NavInputsDownDuration;
1329         float[ImGuiNavInput.COUNT] NavInputsDownDurationPrev;
1330         float PenPressure;
1331         bool AppFocusLost;
1332         ImWchar16 InputQueueSurrogate;
1333         ImVector!(ImWchar) InputQueueCharacters;
1334     }
1335 
1336     struct ImGuiTableTempData {
1337         int TableIndex;
1338         float LastTimeActive;
1339         ImVec2 UserOuterSize;
1340         ImDrawListSplitter DrawSplitter;
1341         ImRect HostBackupWorkRect;
1342         ImRect HostBackupParentWorkRect;
1343         ImVec2 HostBackupPrevLineSize;
1344         ImVec2 HostBackupCurrLineSize;
1345         ImVec2 HostBackupCursorMaxPos;
1346         ImVec1 HostBackupColumnsOffset;
1347         float HostBackupItemWidth;
1348         int HostBackupItemWidthStackSize;
1349     }
1350 
1351     struct ImGuiDataTypeInfo {
1352         size_t Size;
1353         const(char)* Name;
1354         const(char)* PrintFmt;
1355         const(char)* ScanFmt;
1356     }
1357 
1358     struct ImFontAtlasCustomRect {
1359         ushort Width;
1360         ushort Height;
1361         ushort X;
1362         ushort Y;
1363         uint GlyphID;
1364         float GlyphAdvanceX;
1365         ImVec2 GlyphOffset;
1366         ImFont* Font;
1367     }
1368 
1369     struct ImGuiPopupData {
1370         ImGuiID PopupId;
1371         ImGuiWindow* Window;
1372         ImGuiWindow* SourceWindow;
1373         int OpenFrameCount;
1374         ImGuiID OpenParentId;
1375         ImVec2 OpenPopupPos;
1376         ImVec2 OpenMousePos;
1377     }
1378 
1379     struct ImGuiTextFilter {
1380         char[256] InputBuf;
1381         ImVector!(ImGuiTextRange) Filters;
1382         int CountGrep;
1383     }
1384 
1385     struct ImGuiTabBar {
1386         ImVector!(ImGuiTabItem) Tabs;
1387         ImGuiTabBarFlags Flags;
1388         ImGuiID ID;
1389         ImGuiID SelectedTabId;
1390         ImGuiID NextSelectedTabId;
1391         ImGuiID VisibleTabId;
1392         int CurrFrameVisible;
1393         int PrevFrameVisible;
1394         ImRect BarRect;
1395         float CurrTabsContentsHeight;
1396         float PrevTabsContentsHeight;
1397         float WidthAllTabs;
1398         float WidthAllTabsIdeal;
1399         float ScrollingAnim;
1400         float ScrollingTarget;
1401         float ScrollingTargetDistToVisibility;
1402         float ScrollingSpeed;
1403         float ScrollingRectMinX;
1404         float ScrollingRectMaxX;
1405         ImGuiID ReorderRequestTabId;
1406         ImS16 ReorderRequestOffset;
1407         ImS8 BeginCount;
1408         bool WantLayout;
1409         bool VisibleTabWasSubmitted;
1410         bool TabsAddedNew;
1411         ImS16 TabsActiveCount;
1412         ImS16 LastTabItemIdx;
1413         float ItemSpacingY;
1414         ImVec2 FramePadding;
1415         ImVec2 BackupCursorPos;
1416         ImGuiTextBuffer TabsNames;
1417     }
1418 
1419     struct ImGuiWindow {
1420         char* Name;
1421         ImGuiID ID;
1422         ImGuiWindowFlags Flags;
1423         ImGuiWindowFlags FlagsPreviousFrame;
1424         ImGuiWindowClass WindowClass;
1425         ImGuiViewportP* Viewport;
1426         ImGuiID ViewportId;
1427         ImVec2 ViewportPos;
1428         int ViewportAllowPlatformMonitorExtend;
1429         ImVec2 Pos;
1430         ImVec2 Size;
1431         ImVec2 SizeFull;
1432         ImVec2 ContentSize;
1433         ImVec2 ContentSizeIdeal;
1434         ImVec2 ContentSizeExplicit;
1435         ImVec2 WindowPadding;
1436         float WindowRounding;
1437         float WindowBorderSize;
1438         int NameBufLen;
1439         ImGuiID MoveId;
1440         ImGuiID ChildId;
1441         ImVec2 Scroll;
1442         ImVec2 ScrollMax;
1443         ImVec2 ScrollTarget;
1444         ImVec2 ScrollTargetCenterRatio;
1445         ImVec2 ScrollTargetEdgeSnapDist;
1446         ImVec2 ScrollbarSizes;
1447         bool ScrollbarX;
1448         bool ScrollbarY;
1449         bool ViewportOwned;
1450         bool Active;
1451         bool WasActive;
1452         bool WriteAccessed;
1453         bool Collapsed;
1454         bool WantCollapseToggle;
1455         bool SkipItems;
1456         bool Appearing;
1457         bool Hidden;
1458         bool IsFallbackWindow;
1459         bool HasCloseButton;
1460         byte ResizeBorderHeld;
1461         short BeginCount;
1462         short BeginOrderWithinParent;
1463         short BeginOrderWithinContext;
1464         short FocusOrder;
1465         ImGuiID PopupId;
1466         ImS8 AutoFitFramesX;
1467         ImS8 AutoFitFramesY;
1468         ImS8 AutoFitChildAxises;
1469         bool AutoFitOnlyGrows;
1470         ImGuiDir AutoPosLastDirection;
1471         ImS8 HiddenFramesCanSkipItems;
1472         ImS8 HiddenFramesCannotSkipItems;
1473         ImS8 HiddenFramesForRenderOnly;
1474         ImS8 DisableInputsFrames;
1475         ImGuiCond SetWindowPosAllowFlags;
1476         ImGuiCond SetWindowSizeAllowFlags;
1477         ImGuiCond SetWindowCollapsedAllowFlags;
1478         ImGuiCond SetWindowDockAllowFlags;
1479         ImVec2 SetWindowPosVal;
1480         ImVec2 SetWindowPosPivot;
1481         ImVector!(ImGuiID) IDStack;
1482         ImGuiWindowTempData DC;
1483         ImRect OuterRectClipped;
1484         ImRect InnerRect;
1485         ImRect InnerClipRect;
1486         ImRect WorkRect;
1487         ImRect ParentWorkRect;
1488         ImRect ClipRect;
1489         ImRect ContentRegionRect;
1490         ImVec2ih HitTestHoleSize;
1491         ImVec2ih HitTestHoleOffset;
1492         int LastFrameActive;
1493         int LastFrameJustFocused;
1494         float LastTimeActive;
1495         float ItemWidthDefault;
1496         ImGuiStorage StateStorage;
1497         ImVector!(ImGuiOldColumns) ColumnsStorage;
1498         float FontWindowScale;
1499         float FontDpiScale;
1500         int SettingsOffset;
1501         ImDrawList* DrawList;
1502         ImDrawList DrawListInst;
1503         ImGuiWindow* ParentWindow;
1504         ImGuiWindow* RootWindow;
1505         ImGuiWindow* RootWindowPopupTree;
1506         ImGuiWindow* RootWindowDockTree;
1507         ImGuiWindow* RootWindowForTitleBarHighlight;
1508         ImGuiWindow* RootWindowForNav;
1509         ImGuiWindow* NavLastChildNavWindow;
1510         ImGuiID[ImGuiNavLayer.COUNT] NavLastIds;
1511         ImRect[ImGuiNavLayer.COUNT] NavRectRel;
1512         int MemoryDrawListIdxCapacity;
1513         int MemoryDrawListVtxCapacity;
1514         bool MemoryCompacted;
1515         bool DockIsActive;
1516         bool DockNodeIsVisible;
1517         bool DockTabIsVisible;
1518         bool DockTabWantClose;
1519         short DockOrder;
1520         ImGuiWindowDockStyle DockStyle;
1521         ImGuiDockNode* DockNode;
1522         ImGuiDockNode* DockNodeAsHost;
1523         ImGuiID DockId;
1524         ImGuiItemStatusFlags DockTabItemStatusFlags;
1525         ImRect DockTabItemRect;
1526     }
1527 
1528     struct ImGuiViewport {
1529         ImGuiID ID;
1530         ImGuiViewportFlags Flags;
1531         ImVec2 Pos;
1532         ImVec2 Size;
1533         ImVec2 WorkPos;
1534         ImVec2 WorkSize;
1535         float DpiScale;
1536         ImGuiID ParentViewportId;
1537         ImDrawData* DrawData;
1538         void* RendererUserData;
1539         void* PlatformUserData;
1540         void* PlatformHandle;
1541         void* PlatformHandleRaw;
1542         bool PlatformRequestMove;
1543         bool PlatformRequestResize;
1544         bool PlatformRequestClose;
1545     }
1546 
1547     struct ImVec2 {
1548         float x;
1549         float y;
1550     }
1551 
1552     struct ImGuiDockPreviewData {
1553         ImGuiDockNode FutureNode;
1554         bool IsDropAllowed;
1555         bool IsCenterAvailable;
1556         bool IsSidesAvailable;
1557         bool IsSplitDirExplicit;
1558         ImGuiDockNode* SplitNode;
1559         ImGuiDir SplitDir;
1560         float SplitRatio;
1561         ImRect[4+1] DropRectsDraw;
1562     }
1563 
1564     struct ImGuiPayload {
1565         void* Data;
1566         int DataSize;
1567         ImGuiID SourceId;
1568         ImGuiID SourceParentId;
1569         int DataFrameCount;
1570         char[32+1] DataType;
1571         bool Preview;
1572         bool Delivery;
1573     }
1574 
1575     struct ImBitVector {
1576         ImVector!(ImU32) Storage;
1577     }
1578 
1579     struct ImDrawVert {
1580         ImVec2 pos;
1581         ImVec2 uv;
1582         ImU32 col;
1583     }
1584 
1585     struct ImGuiOldColumnData {
1586         float OffsetNorm;
1587         float OffsetNormBeforeResize;
1588         ImGuiOldColumnFlags Flags;
1589         ImRect ClipRect;
1590     }
1591 
1592     struct ImGuiDockRequest {
1593         ImGuiDockRequestType Type;
1594         ImGuiWindow* DockTargetWindow;
1595         ImGuiDockNode* DockTargetNode;
1596         ImGuiWindow* DockPayload;
1597         ImGuiDir DockSplitDir;
1598         float DockSplitRatio;
1599         bool DockSplitOuter;
1600         ImGuiWindow* UndockTargetWindow;
1601         ImGuiDockNode* UndockTargetNode;
1602     }
1603 
1604     struct ImGuiTableSettings {
1605         ImGuiID ID;
1606         ImGuiTableFlags SaveFlags;
1607         float RefScale;
1608         ImGuiTableColumnIdx ColumnsCount;
1609         ImGuiTableColumnIdx ColumnsCountMax;
1610         bool WantApply;
1611     }
1612 
1613     struct ImGuiTable {
1614         ImGuiID ID;
1615         ImGuiTableFlags Flags;
1616         void* RawData;
1617         ImGuiTableTempData* TempData;
1618         ImSpan!(ImGuiTableColumn) Columns;
1619         ImSpan!(ImGuiTableColumnIdx) DisplayOrderToIndex;
1620         ImSpan!(ImGuiTableCellData) RowCellData;
1621         ImU64 EnabledMaskByDisplayOrder;
1622         ImU64 EnabledMaskByIndex;
1623         ImU64 VisibleMaskByIndex;
1624         ImU64 RequestOutputMaskByIndex;
1625         ImGuiTableFlags SettingsLoadedFlags;
1626         int SettingsOffset;
1627         int LastFrameActive;
1628         int ColumnsCount;
1629         int CurrentRow;
1630         int CurrentColumn;
1631         ImS16 InstanceCurrent;
1632         ImS16 InstanceInteracted;
1633         float RowPosY1;
1634         float RowPosY2;
1635         float RowMinHeight;
1636         float RowTextBaseline;
1637         float RowIndentOffsetX;
1638         ImGuiTableRowFlags RowFlags;
1639         ImGuiTableRowFlags LastRowFlags;
1640         int RowBgColorCounter;
1641         ImU32[2] RowBgColor;
1642         ImU32 BorderColorStrong;
1643         ImU32 BorderColorLight;
1644         float BorderX1;
1645         float BorderX2;
1646         float HostIndentX;
1647         float MinColumnWidth;
1648         float OuterPaddingX;
1649         float CellPaddingX;
1650         float CellPaddingY;
1651         float CellSpacingX1;
1652         float CellSpacingX2;
1653         float LastOuterHeight;
1654         float LastFirstRowHeight;
1655         float InnerWidth;
1656         float ColumnsGivenWidth;
1657         float ColumnsAutoFitWidth;
1658         float ResizedColumnNextWidth;
1659         float ResizeLockMinContentsX2;
1660         float RefScale;
1661         ImRect OuterRect;
1662         ImRect InnerRect;
1663         ImRect WorkRect;
1664         ImRect InnerClipRect;
1665         ImRect BgClipRect;
1666         ImRect Bg0ClipRectForDrawCmd;
1667         ImRect Bg2ClipRectForDrawCmd;
1668         ImRect HostClipRect;
1669         ImRect HostBackupInnerClipRect;
1670         ImGuiWindow* OuterWindow;
1671         ImGuiWindow* InnerWindow;
1672         ImGuiTextBuffer ColumnsNames;
1673         ImDrawListSplitter* DrawSplitter;
1674         ImGuiTableColumnSortSpecs SortSpecsSingle;
1675         ImVector!(ImGuiTableColumnSortSpecs) SortSpecsMulti;
1676         ImGuiTableSortSpecs SortSpecs;
1677         ImGuiTableColumnIdx SortSpecsCount;
1678         ImGuiTableColumnIdx ColumnsEnabledCount;
1679         ImGuiTableColumnIdx ColumnsEnabledFixedCount;
1680         ImGuiTableColumnIdx DeclColumnsCount;
1681         ImGuiTableColumnIdx HoveredColumnBody;
1682         ImGuiTableColumnIdx HoveredColumnBorder;
1683         ImGuiTableColumnIdx AutoFitSingleColumn;
1684         ImGuiTableColumnIdx ResizedColumn;
1685         ImGuiTableColumnIdx LastResizedColumn;
1686         ImGuiTableColumnIdx HeldHeaderColumn;
1687         ImGuiTableColumnIdx ReorderColumn;
1688         ImGuiTableColumnIdx ReorderColumnDir;
1689         ImGuiTableColumnIdx LeftMostEnabledColumn;
1690         ImGuiTableColumnIdx RightMostEnabledColumn;
1691         ImGuiTableColumnIdx LeftMostStretchedColumn;
1692         ImGuiTableColumnIdx RightMostStretchedColumn;
1693         ImGuiTableColumnIdx ContextPopupColumn;
1694         ImGuiTableColumnIdx FreezeRowsRequest;
1695         ImGuiTableColumnIdx FreezeRowsCount;
1696         ImGuiTableColumnIdx FreezeColumnsRequest;
1697         ImGuiTableColumnIdx FreezeColumnsCount;
1698         ImGuiTableColumnIdx RowCellDataCurrent;
1699         ImGuiTableDrawChannelIdx DummyDrawChannel;
1700         ImGuiTableDrawChannelIdx Bg2DrawChannelCurrent;
1701         ImGuiTableDrawChannelIdx Bg2DrawChannelUnfrozen;
1702         bool IsLayoutLocked;
1703         bool IsInsideRow;
1704         bool IsInitializing;
1705         bool IsSortSpecsDirty;
1706         bool IsUsingHeaders;
1707         bool IsContextPopupOpen;
1708         bool IsSettingsRequestLoad;
1709         bool IsSettingsDirty;
1710         bool IsDefaultDisplayOrder;
1711         bool IsResetAllRequest;
1712         bool IsResetDisplayOrderRequest;
1713         bool IsUnfrozenRows;
1714         bool IsDefaultSizingPolicy;
1715         bool MemoryCompacted;
1716         bool HostSkipItems;
1717     }
1718 
1719     struct ImGuiWindowClass {
1720         ImGuiID ClassId;
1721         ImGuiID ParentViewportId;
1722         ImGuiViewportFlags ViewportFlagsOverrideSet;
1723         ImGuiViewportFlags ViewportFlagsOverrideClear;
1724         ImGuiTabItemFlags TabItemFlagsOverrideSet;
1725         ImGuiDockNodeFlags DockNodeFlagsOverrideSet;
1726         bool DockingAlwaysTabBar;
1727         bool DockingAllowUnclassed;
1728     }
1729 
1730     struct ImGuiWindowTempData {
1731         ImVec2 CursorPos;
1732         ImVec2 CursorPosPrevLine;
1733         ImVec2 CursorStartPos;
1734         ImVec2 CursorMaxPos;
1735         ImVec2 IdealMaxPos;
1736         ImVec2 CurrLineSize;
1737         ImVec2 PrevLineSize;
1738         float CurrLineTextBaseOffset;
1739         float PrevLineTextBaseOffset;
1740         ImVec1 Indent;
1741         ImVec1 ColumnsOffset;
1742         ImVec1 GroupOffset;
1743         ImGuiNavLayer NavLayerCurrent;
1744         short NavLayersActiveMask;
1745         short NavLayersActiveMaskNext;
1746         ImGuiID NavFocusScopeIdCurrent;
1747         bool NavHideHighlightOneFrame;
1748         bool NavHasScroll;
1749         bool MenuBarAppending;
1750         ImVec2 MenuBarOffset;
1751         ImGuiMenuColumns MenuColumns;
1752         int TreeDepth;
1753         ImU32 TreeJumpToParentOnPopMask;
1754         ImVector!(ImGuiWindow*) ChildWindows;
1755         ImGuiStorage* StateStorage;
1756         ImGuiOldColumns* CurrentColumns;
1757         int CurrentTableIdx;
1758         ImGuiLayoutType LayoutType;
1759         ImGuiLayoutType ParentLayoutType;
1760         int FocusCounterRegular;
1761         int FocusCounterTabStop;
1762         float ItemWidth;
1763         float TextWrapPos;
1764         ImVector!(float) ItemWidthStack;
1765         ImVector!(float) TextWrapPosStack;
1766     }
1767 
1768     struct StbUndoRecord {
1769         int where;
1770         int insert_length;
1771         int delete_length;
1772         int char_storage;
1773     }
1774 
1775     struct ImGuiGroupData {
1776         ImGuiID WindowID;
1777         ImVec2 BackupCursorPos;
1778         ImVec2 BackupCursorMaxPos;
1779         ImVec1 BackupIndent;
1780         ImVec1 BackupGroupOffset;
1781         ImVec2 BackupCurrLineSize;
1782         float BackupCurrLineTextBaseOffset;
1783         ImGuiID BackupActiveIdIsAlive;
1784         bool BackupActiveIdPreviousFrameIsAlive;
1785         bool BackupHoveredIdIsAlive;
1786         bool EmitItem;
1787     }
1788 
1789     struct ImGuiColorMod {
1790         ImGuiCol Col;
1791         ImVec4 BackupValue;
1792     }
1793 
1794     struct ImColor {
1795         ImVec4 Value;
1796     }
1797 
1798     struct ImGuiInputTextCallbackData {
1799         ImGuiInputTextFlags EventFlag;
1800         ImGuiInputTextFlags Flags;
1801         void* UserData;
1802         ImWchar EventChar;
1803         ImGuiKey EventKey;
1804         char* Buf;
1805         int BufTextLen;
1806         int BufSize;
1807         bool BufDirty;
1808         int CursorPos;
1809         int SelectionStart;
1810         int SelectionEnd;
1811     }
1812 
1813     struct ImGuiOldColumns {
1814         ImGuiID ID;
1815         ImGuiOldColumnFlags Flags;
1816         bool IsFirstFrame;
1817         bool IsBeingResized;
1818         int Current;
1819         int Count;
1820         float OffMinX;
1821         float OffMaxX;
1822         float LineMinY;
1823         float LineMaxY;
1824         float HostCursorPosY;
1825         float HostCursorMaxPosX;
1826         ImRect HostInitialClipRect;
1827         ImRect HostBackupClipRect;
1828         ImRect HostBackupParentWorkRect;
1829         ImVector!(ImGuiOldColumnData) Columns;
1830         ImDrawListSplitter Splitter;
1831     }
1832 
1833     struct StbTexteditRow {
1834         float x0;
1835         float x1;
1836         float baseline_y_delta;
1837         float ymin;
1838         float ymax;
1839         int num_chars;
1840     }
1841 
1842     struct ImGuiPlatformIO {
1843         void function(ImGuiViewport* vp) Platform_CreateWindow;
1844         void function(ImGuiViewport* vp) Platform_DestroyWindow;
1845         void function(ImGuiViewport* vp) Platform_ShowWindow;
1846         void function(ImGuiViewport* vp,ImVec2 pos) Platform_SetWindowPos;
1847         ImVec2 function(ImGuiViewport* vp) Platform_GetWindowPos;
1848         void function(ImGuiViewport* vp,ImVec2 size) Platform_SetWindowSize;
1849         ImVec2 function(ImGuiViewport* vp) Platform_GetWindowSize;
1850         void function(ImGuiViewport* vp) Platform_SetWindowFocus;
1851         bool function(ImGuiViewport* vp) Platform_GetWindowFocus;
1852         bool function(ImGuiViewport* vp) Platform_GetWindowMinimized;
1853         void function(ImGuiViewport* vp,const(char)* str) Platform_SetWindowTitle;
1854         void function(ImGuiViewport* vp,float alpha) Platform_SetWindowAlpha;
1855         void function(ImGuiViewport* vp) Platform_UpdateWindow;
1856         void function(ImGuiViewport* vp,void* render_arg) Platform_RenderWindow;
1857         void function(ImGuiViewport* vp,void* render_arg) Platform_SwapBuffers;
1858         float function(ImGuiViewport* vp) Platform_GetWindowDpiScale;
1859         void function(ImGuiViewport* vp) Platform_OnChangedViewport;
1860         void function(ImGuiViewport* vp,ImVec2 pos) Platform_SetImeInputPos;
1861         int function(ImGuiViewport* vp,ImU64 vk_inst,const void* vk_allocators,ImU64* out_vk_surface) Platform_CreateVkSurface;
1862         void function(ImGuiViewport* vp) Renderer_CreateWindow;
1863         void function(ImGuiViewport* vp) Renderer_DestroyWindow;
1864         void function(ImGuiViewport* vp,ImVec2 size) Renderer_SetWindowSize;
1865         void function(ImGuiViewport* vp,void* render_arg) Renderer_RenderWindow;
1866         void function(ImGuiViewport* vp,void* render_arg) Renderer_SwapBuffers;
1867         ImVector!(ImGuiPlatformMonitor) Monitors;
1868         ImVector!(ImGuiViewport*) Viewports;
1869     }
1870 
1871     struct ImFontGlyph {
1872         uint Colored;
1873         uint Visible;
1874         uint Codepoint;
1875         float AdvanceX;
1876         float X0;
1877         float Y0;
1878         float X1;
1879         float Y1;
1880         float U0;
1881         float V0;
1882         float U1;
1883         float V1;
1884     }
1885 
1886     struct ImGuiNextItemData {
1887         ImGuiNextItemDataFlags Flags;
1888         float Width;
1889         ImGuiID FocusScopeId;
1890         ImGuiCond OpenCond;
1891         bool OpenVal;
1892     }
1893 
1894     struct ImFontAtlas {
1895         ImFontAtlasFlags Flags;
1896         ImTextureID TexID;
1897         int TexDesiredWidth;
1898         int TexGlyphPadding;
1899         bool Locked;
1900         bool TexReady;
1901         bool TexPixelsUseColors;
1902         char* TexPixelsAlpha8;
1903         uint* TexPixelsRGBA32;
1904         int TexWidth;
1905         int TexHeight;
1906         ImVec2 TexUvScale;
1907         ImVec2 TexUvWhitePixel;
1908         ImVector!(ImFont*) Fonts;
1909         ImVector!(ImFontAtlasCustomRect) CustomRects;
1910         ImVector!(ImFontConfig) ConfigData;
1911         ImVec4[(63)+1] TexUvLines;
1912         const ImFontBuilderIO* FontBuilderIO;
1913         uint FontBuilderFlags;
1914         int PackIdMouseCursors;
1915         int PackIdLines;
1916     }
1917 
1918     struct ImGuiStyle {
1919         float Alpha;
1920         float DisabledAlpha;
1921         ImVec2 WindowPadding;
1922         float WindowRounding;
1923         float WindowBorderSize;
1924         ImVec2 WindowMinSize;
1925         ImVec2 WindowTitleAlign;
1926         ImGuiDir WindowMenuButtonPosition;
1927         float ChildRounding;
1928         float ChildBorderSize;
1929         float PopupRounding;
1930         float PopupBorderSize;
1931         ImVec2 FramePadding;
1932         float FrameRounding;
1933         float FrameBorderSize;
1934         ImVec2 ItemSpacing;
1935         ImVec2 ItemInnerSpacing;
1936         ImVec2 CellPadding;
1937         ImVec2 TouchExtraPadding;
1938         float IndentSpacing;
1939         float ColumnsMinSpacing;
1940         float ScrollbarSize;
1941         float ScrollbarRounding;
1942         float GrabMinSize;
1943         float GrabRounding;
1944         float LogSliderDeadzone;
1945         float TabRounding;
1946         float TabBorderSize;
1947         float TabMinWidthForCloseButton;
1948         ImGuiDir ColorButtonPosition;
1949         ImVec2 ButtonTextAlign;
1950         ImVec2 SelectableTextAlign;
1951         ImVec2 DisplayWindowPadding;
1952         ImVec2 DisplaySafeAreaPadding;
1953         float MouseCursorScale;
1954         bool AntiAliasedLines;
1955         bool AntiAliasedLinesUseTex;
1956         bool AntiAliasedFill;
1957         float CurveTessellationTol;
1958         float CircleTessellationMaxError;
1959         ImVec4[ImGuiCol.COUNT] Colors;
1960     }
1961 
1962     struct ImGuiTableCellData {
1963         ImU32 BgColor;
1964         ImGuiTableColumnIdx Column;
1965     }
1966 
1967     struct ImGuiTextRange {
1968         const(char)* b;
1969         const(char)* e;
1970     }
1971 
1972     struct ImGuiWindowStackData {
1973         ImGuiWindow* Window;
1974         ImGuiLastItemData ParentLastItemDataBackup;
1975         ImGuiStackSizes StackSizesOnBegin;
1976     }
1977 
1978     struct ImGuiContext {
1979         bool Initialized;
1980         bool FontAtlasOwnedByContext;
1981         ImGuiIO IO;
1982         ImGuiPlatformIO PlatformIO;
1983         ImGuiStyle Style;
1984         ImGuiConfigFlags ConfigFlagsCurrFrame;
1985         ImGuiConfigFlags ConfigFlagsLastFrame;
1986         ImFont* Font;
1987         float FontSize;
1988         float FontBaseSize;
1989         ImDrawListSharedData DrawListSharedData;
1990         double Time;
1991         int FrameCount;
1992         int FrameCountEnded;
1993         int FrameCountPlatformEnded;
1994         int FrameCountRendered;
1995         bool WithinFrameScope;
1996         bool WithinFrameScopeWithImplicitWindow;
1997         bool WithinEndChild;
1998         bool GcCompactAll;
1999         bool TestEngineHookItems;
2000         ImGuiID TestEngineHookIdInfo;
2001         void* TestEngine;
2002         ImVector!(ImGuiWindow*) Windows;
2003         ImVector!(ImGuiWindow*) WindowsFocusOrder;
2004         ImVector!(ImGuiWindow*) WindowsTempSortBuffer;
2005         ImVector!(ImGuiWindowStackData) CurrentWindowStack;
2006         ImGuiStorage WindowsById;
2007         int WindowsActiveCount;
2008         ImVec2 WindowsHoverPadding;
2009         ImGuiWindow* CurrentWindow;
2010         ImGuiWindow* HoveredWindow;
2011         ImGuiWindow* HoveredWindowUnderMovingWindow;
2012         ImGuiDockNode* HoveredDockNode;
2013         ImGuiWindow* MovingWindow;
2014         ImGuiWindow* WheelingWindow;
2015         ImVec2 WheelingWindowRefMousePos;
2016         float WheelingWindowTimer;
2017         ImGuiID HoveredId;
2018         ImGuiID HoveredIdPreviousFrame;
2019         bool HoveredIdAllowOverlap;
2020         bool HoveredIdUsingMouseWheel;
2021         bool HoveredIdPreviousFrameUsingMouseWheel;
2022         bool HoveredIdDisabled;
2023         float HoveredIdTimer;
2024         float HoveredIdNotActiveTimer;
2025         ImGuiID ActiveId;
2026         ImGuiID ActiveIdIsAlive;
2027         float ActiveIdTimer;
2028         bool ActiveIdIsJustActivated;
2029         bool ActiveIdAllowOverlap;
2030         bool ActiveIdNoClearOnFocusLoss;
2031         bool ActiveIdHasBeenPressedBefore;
2032         bool ActiveIdHasBeenEditedBefore;
2033         bool ActiveIdHasBeenEditedThisFrame;
2034         bool ActiveIdUsingMouseWheel;
2035         ImU32 ActiveIdUsingNavDirMask;
2036         ImU32 ActiveIdUsingNavInputMask;
2037         ImU64 ActiveIdUsingKeyInputMask;
2038         ImVec2 ActiveIdClickOffset;
2039         ImGuiWindow* ActiveIdWindow;
2040         ImGuiInputSource ActiveIdSource;
2041         int ActiveIdMouseButton;
2042         ImGuiID ActiveIdPreviousFrame;
2043         bool ActiveIdPreviousFrameIsAlive;
2044         bool ActiveIdPreviousFrameHasBeenEditedBefore;
2045         ImGuiWindow* ActiveIdPreviousFrameWindow;
2046         ImGuiID LastActiveId;
2047         float LastActiveIdTimer;
2048         ImGuiItemFlags CurrentItemFlags;
2049         ImGuiNextItemData NextItemData;
2050         ImGuiLastItemData LastItemData;
2051         ImGuiNextWindowData NextWindowData;
2052         ImVector!(ImGuiColorMod) ColorStack;
2053         ImVector!(ImGuiStyleMod) StyleVarStack;
2054         ImVector!(ImFont*) FontStack;
2055         ImVector!(ImGuiID) FocusScopeStack;
2056         ImVector!(ImGuiItemFlags) ItemFlagsStack;
2057         ImVector!(ImGuiGroupData) GroupStack;
2058         ImVector!(ImGuiPopupData) OpenPopupStack;
2059         ImVector!(ImGuiPopupData) BeginPopupStack;
2060         ImVector!(ImGuiViewportP*) Viewports;
2061         float CurrentDpiScale;
2062         ImGuiViewportP* CurrentViewport;
2063         ImGuiViewportP* MouseViewport;
2064         ImGuiViewportP* MouseLastHoveredViewport;
2065         ImGuiID PlatformLastFocusedViewportId;
2066         ImGuiPlatformMonitor FallbackMonitor;
2067         int ViewportFrontMostStampCount;
2068         ImGuiWindow* NavWindow;
2069         ImGuiID NavId;
2070         ImGuiID NavFocusScopeId;
2071         ImGuiID NavActivateId;
2072         ImGuiID NavActivateDownId;
2073         ImGuiID NavActivatePressedId;
2074         ImGuiID NavActivateInputId;
2075         ImGuiActivateFlags NavActivateFlags;
2076         ImGuiID NavJustTabbedId;
2077         ImGuiID NavJustMovedToId;
2078         ImGuiID NavJustMovedToFocusScopeId;
2079         ImGuiKeyModFlags NavJustMovedToKeyMods;
2080         ImGuiID NavNextActivateId;
2081         ImGuiActivateFlags NavNextActivateFlags;
2082         ImGuiInputSource NavInputSource;
2083         ImGuiNavLayer NavLayer;
2084         int NavIdTabCounter;
2085         bool NavIdIsAlive;
2086         bool NavMousePosDirty;
2087         bool NavDisableHighlight;
2088         bool NavDisableMouseHover;
2089         bool NavAnyRequest;
2090         bool NavInitRequest;
2091         bool NavInitRequestFromMove;
2092         ImGuiID NavInitResultId;
2093         ImRect NavInitResultRectRel;
2094         bool NavMoveSubmitted;
2095         bool NavMoveScoringItems;
2096         bool NavMoveForwardToNextFrame;
2097         ImGuiNavMoveFlags NavMoveFlags;
2098         ImGuiKeyModFlags NavMoveKeyMods;
2099         ImGuiDir NavMoveDir;
2100         ImGuiDir NavMoveDirForDebug;
2101         ImGuiDir NavMoveClipDir;
2102         ImRect NavScoringRect;
2103         int NavScoringDebugCount;
2104         ImGuiNavItemData NavMoveResultLocal;
2105         ImGuiNavItemData NavMoveResultLocalVisible;
2106         ImGuiNavItemData NavMoveResultOther;
2107         ImGuiWindow* NavWindowingTarget;
2108         ImGuiWindow* NavWindowingTargetAnim;
2109         ImGuiWindow* NavWindowingListWindow;
2110         float NavWindowingTimer;
2111         float NavWindowingHighlightAlpha;
2112         bool NavWindowingToggleLayer;
2113         ImGuiWindow* TabFocusRequestCurrWindow;
2114         ImGuiWindow* TabFocusRequestNextWindow;
2115         int TabFocusRequestCurrCounterRegular;
2116         int TabFocusRequestCurrCounterTabStop;
2117         int TabFocusRequestNextCounterRegular;
2118         int TabFocusRequestNextCounterTabStop;
2119         bool TabFocusPressed;
2120         float DimBgRatio;
2121         ImGuiMouseCursor MouseCursor;
2122         bool DragDropActive;
2123         bool DragDropWithinSource;
2124         bool DragDropWithinTarget;
2125         ImGuiDragDropFlags DragDropSourceFlags;
2126         int DragDropSourceFrameCount;
2127         int DragDropMouseButton;
2128         ImGuiPayload DragDropPayload;
2129         ImRect DragDropTargetRect;
2130         ImGuiID DragDropTargetId;
2131         ImGuiDragDropFlags DragDropAcceptFlags;
2132         float DragDropAcceptIdCurrRectSurface;
2133         ImGuiID DragDropAcceptIdCurr;
2134         ImGuiID DragDropAcceptIdPrev;
2135         int DragDropAcceptFrameCount;
2136         ImGuiID DragDropHoldJustPressedId;
2137         ImVector!(char) DragDropPayloadBufHeap;
2138         char[16] DragDropPayloadBufLocal;
2139         ImGuiTable* CurrentTable;
2140         int CurrentTableStackIdx;
2141         ImPool_ImGuiTable Tables;
2142         ImVector!(ImGuiTableTempData) TablesTempDataStack;
2143         ImVector!(float) TablesLastTimeActive;
2144         ImVector!(ImDrawChannel) DrawChannelsTempMergeBuffer;
2145         ImGuiTabBar* CurrentTabBar;
2146         ImPool_ImGuiTabBar TabBars;
2147         ImVector!(ImGuiPtrOrIndex) CurrentTabBarStack;
2148         ImVector!(ImGuiShrinkWidthItem) ShrinkWidthBuffer;
2149         ImVec2 MouseLastValidPos;
2150         ImGuiInputTextState InputTextState;
2151         ImFont InputTextPasswordFont;
2152         ImGuiID TempInputId;
2153         ImGuiColorEditFlags ColorEditOptions;
2154         float ColorEditLastHue;
2155         float ColorEditLastSat;
2156         ImU32 ColorEditLastColor;
2157         ImVec4 ColorPickerRef;
2158         ImGuiComboPreviewData ComboPreviewData;
2159         float SliderCurrentAccum;
2160         bool SliderCurrentAccumDirty;
2161         bool DragCurrentAccumDirty;
2162         float DragCurrentAccum;
2163         float DragSpeedDefaultRatio;
2164         float ScrollbarClickDeltaToGrabCenter;
2165         float DisabledAlphaBackup;
2166         short DisabledStackSize;
2167         short TooltipOverrideCount;
2168         float TooltipSlowDelay;
2169         ImVector!(char) ClipboardHandlerData;
2170         ImVector!(ImGuiID) MenusIdSubmittedThisFrame;
2171         ImVec2 PlatformImePos;
2172         ImVec2 PlatformImeLastPos;
2173         ImGuiViewportP* PlatformImePosViewport;
2174         char PlatformLocaleDecimalPoint;
2175         ImGuiDockContext DockContext;
2176         bool SettingsLoaded;
2177         float SettingsDirtyTimer;
2178         ImGuiTextBuffer SettingsIniData;
2179         ImVector!(ImGuiSettingsHandler) SettingsHandlers;
2180         ImChunkStream_ImGuiWindowSettings SettingsWindows;
2181         ImChunkStream_ImGuiTableSettings SettingsTables;
2182         ImVector!(ImGuiContextHook) Hooks;
2183         ImGuiID HookIdNext;
2184         bool LogEnabled;
2185         ImGuiLogType LogType;
2186         ImFileHandle LogFile;
2187         ImGuiTextBuffer LogBuffer;
2188         const(char)* LogNextPrefix;
2189         const(char)* LogNextSuffix;
2190         float LogLinePosY;
2191         bool LogLineFirstItem;
2192         int LogDepthRef;
2193         int LogDepthToExpand;
2194         int LogDepthToExpandDefault;
2195         bool DebugItemPickerActive;
2196         ImGuiID DebugItemPickerBreakId;
2197         ImGuiMetricsConfig DebugMetricsConfig;
2198         float[120] FramerateSecPerFrame;
2199         int FramerateSecPerFrameIdx;
2200         int FramerateSecPerFrameCount;
2201         float FramerateSecPerFrameAccum;
2202         int WantCaptureMouseNextFrame;
2203         int WantCaptureKeyboardNextFrame;
2204         int WantTextInputNextFrame;
2205         char[1024*3+1] TempBuffer;
2206     }
2207 
2208     struct ImGuiTableColumn {
2209         ImGuiTableColumnFlags Flags;
2210         float WidthGiven;
2211         float MinX;
2212         float MaxX;
2213         float WidthRequest;
2214         float WidthAuto;
2215         float StretchWeight;
2216         float InitStretchWeightOrWidth;
2217         ImRect ClipRect;
2218         ImGuiID UserID;
2219         float WorkMinX;
2220         float WorkMaxX;
2221         float ItemWidth;
2222         float ContentMaxXFrozen;
2223         float ContentMaxXUnfrozen;
2224         float ContentMaxXHeadersUsed;
2225         float ContentMaxXHeadersIdeal;
2226         ImS16 NameOffset;
2227         ImGuiTableColumnIdx DisplayOrder;
2228         ImGuiTableColumnIdx IndexWithinEnabledSet;
2229         ImGuiTableColumnIdx PrevEnabledColumn;
2230         ImGuiTableColumnIdx NextEnabledColumn;
2231         ImGuiTableColumnIdx SortOrder;
2232         ImGuiTableDrawChannelIdx DrawChannelCurrent;
2233         ImGuiTableDrawChannelIdx DrawChannelFrozen;
2234         ImGuiTableDrawChannelIdx DrawChannelUnfrozen;
2235         bool IsEnabled;
2236         bool IsUserEnabled;
2237         bool IsUserEnabledNextFrame;
2238         bool IsVisibleX;
2239         bool IsVisibleY;
2240         bool IsRequestOutput;
2241         bool IsSkipItems;
2242         bool IsPreserveWidthAuto;
2243         ImS8 NavLayerCurrent;
2244         ImU8 AutoFitQueue;
2245         ImU8 CannotSkipItemsQueue;
2246         ImU8 SortDirection;
2247         ImU8 SortDirectionsAvailCount;
2248         ImU8 SortDirectionsAvailMask;
2249         ImU8 SortDirectionsAvailList;
2250     }
2251 
2252     struct ImFontConfig {
2253         void* FontData;
2254         int FontDataSize;
2255         bool FontDataOwnedByAtlas;
2256         int FontNo;
2257         float SizePixels;
2258         int OversampleH;
2259         int OversampleV;
2260         bool PixelSnapH;
2261         ImVec2 GlyphExtraSpacing;
2262         ImVec2 GlyphOffset;
2263         const ImWchar* GlyphRanges;
2264         float GlyphMinAdvanceX;
2265         float GlyphMaxAdvanceX;
2266         bool MergeMode;
2267         uint FontBuilderFlags;
2268         float RasterizerMultiply;
2269         ImWchar EllipsisChar;
2270         char[40] Name;
2271         ImFont* DstFont;
2272     }
2273 
2274     struct ImGuiLastItemData {
2275         ImGuiID ID;
2276         ImGuiItemFlags InFlags;
2277         ImGuiItemStatusFlags StatusFlags;
2278         ImRect Rect;
2279         ImRect NavRect;
2280         ImRect DisplayRect;
2281     }
2282 
2283     struct ImDrawCmdHeader {
2284         ImVec4 ClipRect;
2285         ImTextureID TextureId;
2286         uint VtxOffset;
2287     }
2288 
2289     struct ImDrawListSharedData {
2290         ImVec2 TexUvWhitePixel;
2291         ImFont* Font;
2292         float FontSize;
2293         float CurveTessellationTol;
2294         float CircleSegmentMaxError;
2295         ImVec4 ClipRectFullscreen;
2296         ImDrawListFlags InitialFlags;
2297         ImVec2[48] ArcFastVtx;
2298         float ArcFastRadiusCutoff;
2299         ImU8[64] CircleSegmentCounts;
2300         const ImVec4* TexUvLines;
2301     }
2302 
2303     struct ImDrawDataBuilder {
2304         ImVector!(ImDrawList*)[2] Layers;
2305     }
2306 
2307     struct ImGuiTableSortSpecs {
2308         const ImGuiTableColumnSortSpecs* Specs;
2309         int SpecsCount;
2310         bool SpecsDirty;
2311     }
2312 
2313     struct ImVec1 {
2314         float x;
2315     }
2316 
2317     struct ImGuiNavItemData {
2318         ImGuiWindow* Window;
2319         ImGuiID ID;
2320         ImGuiID FocusScopeId;
2321         ImRect RectRel;
2322         float DistBox;
2323         float DistCenter;
2324         float DistAxial;
2325     }
2326 
2327     struct ImGuiViewportP {
2328         ImGuiViewport _ImGuiViewport;
2329         int Idx;
2330         int LastFrameActive;
2331         int LastFrontMostStampCount;
2332         ImGuiID LastNameHash;
2333         ImVec2 LastPos;
2334         float Alpha;
2335         float LastAlpha;
2336         short PlatformMonitor;
2337         bool PlatformWindowCreated;
2338         ImGuiWindow* Window;
2339         int[2] DrawListsLastFrame;
2340         ImDrawList*[2] DrawLists;
2341         ImDrawData DrawDataP;
2342         ImDrawDataBuilder DrawDataBuilder;
2343         ImVec2 LastPlatformPos;
2344         ImVec2 LastPlatformSize;
2345         ImVec2 LastRendererSize;
2346         ImVec2 WorkOffsetMin;
2347         ImVec2 WorkOffsetMax;
2348         ImVec2 BuildWorkOffsetMin;
2349         ImVec2 BuildWorkOffsetMax;
2350     }
2351 
2352     struct ImDrawData {
2353         bool Valid;
2354         int CmdListsCount;
2355         int TotalIdxCount;
2356         int TotalVtxCount;
2357         ImDrawList** CmdLists;
2358         ImVec2 DisplayPos;
2359         ImVec2 DisplaySize;
2360         ImVec2 FramebufferScale;
2361         ImGuiViewport* OwnerViewport;
2362     }
2363 
2364     struct ImGuiInputTextState {
2365         ImGuiID ID;
2366         int CurLenW;
2367         int CurLenA;
2368         ImVector!(ImWchar) TextW;
2369         ImVector!(char) TextA;
2370         ImVector!(char) InitialTextA;
2371         bool TextAIsValid;
2372         int BufCapacityA;
2373         float ScrollX;
2374         STB_TexteditState Stb;
2375         float CursorAnim;
2376         bool CursorFollow;
2377         bool SelectedAllMouseLock;
2378         bool Edited;
2379         ImGuiInputTextFlags Flags;
2380         ImGuiInputTextCallback UserCallback;
2381         void* UserCallbackData;
2382     }
2383 
2384     struct ImGuiPtrOrIndex {
2385         void* Ptr;
2386         int Index;
2387     }
2388 
2389     struct ImGuiTableColumnSortSpecs {
2390         ImGuiID ColumnUserID;
2391         ImS16 ColumnIndex;
2392         ImS16 SortOrder;
2393         ImGuiSortDirection SortDirection;
2394     }
2395 
2396     struct ImFont {
2397         ImVector!(float) IndexAdvanceX;
2398         float FallbackAdvanceX;
2399         float FontSize;
2400         ImVector!(ImWchar) IndexLookup;
2401         ImVector!(ImFontGlyph) Glyphs;
2402         const ImFontGlyph* FallbackGlyph;
2403         ImFontAtlas* ContainerAtlas;
2404         const ImFontConfig* ConfigData;
2405         short ConfigDataCount;
2406         ImWchar FallbackChar;
2407         ImWchar EllipsisChar;
2408         ImWchar DotChar;
2409         bool DirtyLookupTables;
2410         float Scale;
2411         float Ascent;
2412         float Descent;
2413         int MetricsTotalSurface;
2414         ImU8[(0xFFFF+1)/4096/8] Used4kPagesMap;
2415     }
2416 
2417     struct ImGuiOnceUponAFrame {
2418         int RefFrame;
2419     }
2420 
2421     struct ImGuiWindowSettings {
2422         ImGuiID ID;
2423         ImVec2ih Pos;
2424         ImVec2ih Size;
2425         ImVec2ih ViewportPos;
2426         ImGuiID ViewportId;
2427         ImGuiID DockId;
2428         ImGuiID ClassId;
2429         short DockOrder;
2430         bool Collapsed;
2431         bool WantApply;
2432     }
2433 
2434     struct ImGuiStackSizes {
2435         short SizeOfIDStack;
2436         short SizeOfColorStack;
2437         short SizeOfStyleVarStack;
2438         short SizeOfFontStack;
2439         short SizeOfFocusScopeStack;
2440         short SizeOfGroupStack;
2441         short SizeOfItemFlagsStack;
2442         short SizeOfBeginPopupStack;
2443         short SizeOfDisabledStack;
2444     }
2445 
2446     struct ImVec4 {
2447         float x;
2448         float y;
2449         float z;
2450         float w;
2451     }
2452 
2453     struct ImGuiDockContext {
2454         ImGuiStorage Nodes;
2455         ImVector!(ImGuiDockRequest) Requests;
2456         ImVector!(ImGuiDockNodeSettings) NodesSettings;
2457         bool WantFullRebuild;
2458     }
2459 
2460     struct ImGuiSettingsHandler {
2461         const(char)* TypeName;
2462         ImGuiID TypeHash;
2463         void function(ImGuiContext* ctx,ImGuiSettingsHandler* handler) ClearAllFn;
2464         void function(ImGuiContext* ctx,ImGuiSettingsHandler* handler) ReadInitFn;
2465         void* function(ImGuiContext* ctx,ImGuiSettingsHandler* handler,const(char)* name) ReadOpenFn;
2466         void function(ImGuiContext* ctx,ImGuiSettingsHandler* handler,void* entry,const(char)* line) ReadLineFn;
2467         void function(ImGuiContext* ctx,ImGuiSettingsHandler* handler) ApplyAllFn;
2468         void function(ImGuiContext* ctx,ImGuiSettingsHandler* handler,ImGuiTextBuffer* out_buf) WriteAllFn;
2469         void* UserData;
2470     }
2471 
2472     struct ImDrawListSplitter {
2473         int _Current;
2474         int _Count;
2475         ImVector!(ImDrawChannel) _Channels;
2476     }
2477 
2478     struct STB_TexteditState {
2479         int cursor;
2480         int select_start;
2481         int select_end;
2482         char insert_mode;
2483         int row_count_per_page;
2484         char cursor_at_end_of_line;
2485         char initialized;
2486         char has_preferred_x;
2487         char single_line;
2488         char padding1;
2489         char padding2;
2490         char padding3;
2491         float preferred_x;
2492         StbUndoState undostate;
2493     }
2494 
2495     struct ImDrawList {
2496         ImVector!(ImDrawCmd) CmdBuffer;
2497         ImVector!(ImDrawIdx) IdxBuffer;
2498         ImVector!(ImDrawVert) VtxBuffer;
2499         ImDrawListFlags Flags;
2500         uint _VtxCurrentIdx;
2501         const ImDrawListSharedData* _Data;
2502         const(char)* _OwnerName;
2503         ImDrawVert* _VtxWritePtr;
2504         ImDrawIdx* _IdxWritePtr;
2505         ImVector!(ImVec4) _ClipRectStack;
2506         ImVector!(ImTextureID) _TextureIdStack;
2507         ImVector!(ImVec2) _Path;
2508         ImDrawCmdHeader _CmdHeader;
2509         ImDrawListSplitter _Splitter;
2510         float _FringeScale;
2511     }
2512 
2513     struct ImGuiStoragePair {
2514         ImGuiID key;
2515         union { int val_i; float val_f; void* val_p;} ;
2516     }
2517 
2518     struct ImDrawChannel {
2519         ImVector!(ImDrawCmd) _CmdBuffer;
2520         ImVector!(ImDrawIdx) _IdxBuffer;
2521     }
2522 
2523     struct ImDrawCmd {
2524         ImVec4 ClipRect;
2525         ImTextureID TextureId;
2526         uint VtxOffset;
2527         uint IdxOffset;
2528         uint ElemCount;
2529         ImDrawCallback UserCallback;
2530         void* UserCallbackData;
2531     }
2532 
2533     struct ImGuiContextHook {
2534         ImGuiID HookId;
2535         ImGuiContextHookType Type;
2536         ImGuiID Owner;
2537         ImGuiContextHookCallback Callback;
2538         void* UserData;
2539     }
2540 
2541     struct StbUndoState {
2542         StbUndoRecord[99] undo_rec;
2543         ImWchar[999] undo_char;
2544         short undo_point;
2545         short redo_point;
2546         int undo_char_point;
2547         int redo_char_point;
2548     }
2549 
2550     struct ImFontBuilderIO {
2551         bool function(ImFontAtlas* atlas) FontBuilder_Build;
2552     }
2553 
2554     struct ImGuiDockNodeSettings {
2555         ImGuiID ID;
2556         ImGuiID ParentNodeId;
2557         ImGuiID ParentWindowId;
2558         ImGuiID SelectedTabId;
2559         byte SplitAxis;
2560         char Depth;
2561         ImGuiDockNodeFlags Flags;
2562         ImVec2ih Pos;
2563         ImVec2ih Size;
2564         ImVec2ih SizeRef;
2565     }
2566 
2567     struct ImGuiComboPreviewData {
2568         ImRect PreviewRect;
2569         ImVec2 BackupCursorPos;
2570         ImVec2 BackupCursorMaxPos;
2571         ImVec2 BackupCursorPosPrevLine;
2572         float BackupPrevLineTextBaseOffset;
2573         ImGuiLayoutType BackupLayout;
2574     }
2575 
2576     struct ImGuiTableColumnSettings {
2577         float WidthOrWeight;
2578         ImGuiID UserID;
2579         ImGuiTableColumnIdx Index;
2580         ImGuiTableColumnIdx DisplayOrder;
2581         ImGuiTableColumnIdx SortOrder;
2582         ImU8 SortDirection;
2583         ImU8 IsEnabled;
2584         ImU8 IsStretch;
2585     }
2586 
2587     struct ImGuiListClipper {
2588         int DisplayStart;
2589         int DisplayEnd;
2590         int ItemsCount;
2591         int StepNo;
2592         int ItemsFrozen;
2593         float ItemsHeight;
2594         float StartPosY;
2595     }
2596 
2597     struct ImGuiMenuColumns {
2598         ImU32 TotalWidth;
2599         ImU32 NextTotalWidth;
2600         ImU16 Spacing;
2601         ImU16 OffsetIcon;
2602         ImU16 OffsetLabel;
2603         ImU16 OffsetShortcut;
2604         ImU16 OffsetMark;
2605         ImU16[4] Widths;
2606     }
2607 
2608     struct ImGuiTextBuffer {
2609         ImVector!(char) Buf;
2610     }
2611 
2612     struct ImGuiDockNode {
2613         ImGuiID ID;
2614         ImGuiDockNodeFlags SharedFlags;
2615         ImGuiDockNodeFlags LocalFlags;
2616         ImGuiDockNodeFlags LocalFlagsInWindows;
2617         ImGuiDockNodeFlags MergedFlags;
2618         ImGuiDockNodeState State;
2619         ImGuiDockNode* ParentNode;
2620         ImGuiDockNode*[2] ChildNodes;
2621         ImVector!(ImGuiWindow*) Windows;
2622         ImGuiTabBar* TabBar;
2623         ImVec2 Pos;
2624         ImVec2 Size;
2625         ImVec2 SizeRef;
2626         ImGuiAxis SplitAxis;
2627         ImGuiWindowClass WindowClass;
2628         ImGuiWindow* HostWindow;
2629         ImGuiWindow* VisibleWindow;
2630         ImGuiDockNode* CentralNode;
2631         ImGuiDockNode* OnlyNodeWithWindows;
2632         int CountNodeWithWindows;
2633         int LastFrameAlive;
2634         int LastFrameActive;
2635         int LastFrameFocused;
2636         ImGuiID LastFocusedNodeId;
2637         ImGuiID SelectedTabId;
2638         ImGuiID WantCloseTabId;
2639         ImGuiDataAuthority AuthorityForPos;
2640         ImGuiDataAuthority AuthorityForSize;
2641         ImGuiDataAuthority AuthorityForViewport;
2642         bool IsVisible;
2643         bool IsFocused;
2644         bool HasCloseButton;
2645         bool HasWindowMenuButton;
2646         bool HasCentralNodeChild;
2647         bool WantCloseAll;
2648         bool WantLockSizeOnce;
2649         bool WantMouseMove;
2650         bool WantHiddenTabBarUpdate;
2651         bool WantHiddenTabBarToggle;
2652         bool MarkedForPosSizeWrite;
2653     }
2654 
2655     struct ImVec2ih {
2656         short x;
2657         short y;
2658     }
2659 
2660     struct ImGuiNextWindowData {
2661         ImGuiNextWindowDataFlags Flags;
2662         ImGuiCond PosCond;
2663         ImGuiCond SizeCond;
2664         ImGuiCond CollapsedCond;
2665         ImGuiCond DockCond;
2666         ImVec2 PosVal;
2667         ImVec2 PosPivotVal;
2668         ImVec2 SizeVal;
2669         ImVec2 ContentSizeVal;
2670         ImVec2 ScrollVal;
2671         bool PosUndock;
2672         bool CollapsedVal;
2673         ImRect SizeConstraintRect;
2674         ImGuiSizeCallback SizeCallback;
2675         void* SizeCallbackUserData;
2676         float BgAlphaVal;
2677         ImGuiID ViewportId;
2678         ImGuiID DockId;
2679         ImGuiWindowClass WindowClass;
2680         ImVec2 MenuBarOffsetMinVal;
2681     }
2682 
2683     struct ImGuiPlatformMonitor {
2684         ImVec2 MainPos;
2685         ImVec2 MainSize;
2686         ImVec2 WorkPos;
2687         ImVec2 WorkSize;
2688         float DpiScale;
2689     }
2690 
2691     struct ImGuiStorage {
2692         ImVector!(ImGuiStoragePair) Data;
2693     }
2694 
2695     struct ImGuiTabItem {
2696         ImGuiID ID;
2697         ImGuiTabItemFlags Flags;
2698         ImGuiWindow* Window;
2699         int LastFrameVisible;
2700         int LastFrameSelected;
2701         float Offset;
2702         float Width;
2703         float ContentWidth;
2704         ImS32 NameOffset;
2705         ImS16 BeginOrder;
2706         ImS16 IndexDuringLayout;
2707         bool WantClose;
2708     }
2709 
2710     struct ImGuiWindowDockStyle {
2711         ImU32[ImGuiWindowDockStyleCol.COUNT] Colors;
2712     }
2713 
2714 
2715 }
2716 version (BindImGui_Static) {
2717     extern (C) @nogc nothrow {
2718         void ImDrawList_AddCircleFilled(ImDrawList* self, const ImVec2 center, float radius, ImU32 col, int num_segments = 0);
2719         ImGuiPlatformIO* ImGuiPlatformIO_ImGuiPlatformIO();
2720         void igDockContextQueueUndockWindow(ImGuiContext* ctx, ImGuiWindow* window);
2721         ImGuiComboPreviewData* ImGuiComboPreviewData_ImGuiComboPreviewData();
2722         void igEndTable();
2723         const ImWchar* ImFontAtlas_GetGlyphRangesChineseFull(ImFontAtlas* self);
2724         void igBringWindowToDisplayFront(ImGuiWindow* window);
2725         ImDrawList* igGetForegroundDrawList_Nil();
2726         ImDrawList* igGetForegroundDrawList_ViewportPtr(ImGuiViewport* viewport);
2727         ImDrawList* igGetForegroundDrawList_WindowPtr(ImGuiWindow* window);
2728         void igInitialize(ImGuiContext* context);
2729         int ImFontAtlas_AddCustomRectRegular(ImFontAtlas* self, int width, int height);
2730         bool igIsMouseDragPastThreshold(ImGuiMouseButton button, float lock_threshold = -1.0f);
2731         void igSetWindowFontScale(float scale);
2732         bool igSliderFloat(const(char)* label, float* v, float v_min, float v_max, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
2733         void igDestroyPlatformWindows();
2734         void igImMax(ImVec2* pOut, const ImVec2 lhs, const ImVec2 rhs);
2735         void ImRect_GetTR(ImVec2* pOut, ImRect* self);
2736         void igTableSetupColumn(const(char)* label, ImGuiTableColumnFlags flags = ImGuiTableColumnFlags.None, float init_width_or_weight = 0.0f, ImGuiID user_id = 0);
2737         const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self);
2738         void ImGuiInputTextState_ClearSelection(ImGuiInputTextState* self);
2739         void ImFont_GrowIndex(ImFont* self, int new_size);
2740         void igClosePopupsOverWindow(ImGuiWindow* ref_window, bool restore_focus_to_window_under_popup);
2741         void ImFontAtlas_ClearInputData(ImFontAtlas* self);
2742         void ImGuiWindowSettings_destroy(ImGuiWindowSettings* self);
2743         bool igIsMouseDragging(ImGuiMouseButton button, float lock_threshold = -1.0f);
2744         void igLoadIniSettingsFromDisk(const(char)* ini_filename);
2745         void igImBezierCubicCalc(ImVec2* pOut, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, float t);
2746         const(char)* ImGuiTextBuffer_end(ImGuiTextBuffer* self);
2747         void ImGuiTabBar_destroy(ImGuiTabBar* self);
2748         bool igDockContextCalcDropPosForDocking(ImGuiWindow* target, ImGuiDockNode* target_node, ImGuiWindow* payload, ImGuiDir split_dir, bool split_outer, ImVec2* out_pos);
2749         void igSetClipboardText(const(char)* text);
2750         void igRenderColorRectWithAlphaCheckerboard(ImDrawList* draw_list, ImVec2 p_min, ImVec2 p_max, ImU32 fill_col, float grid_step, ImVec2 grid_off, float rounding = 0.0f, ImDrawFlags flags = ImDrawFlags.None);
2751         void igFindBestWindowPosForPopup(ImVec2* pOut, ImGuiWindow* window);
2752         bool igRadioButton_Bool(const(char)* label, bool active);
2753         bool igRadioButton_IntPtr(const(char)* label, int* v, int v_button);
2754         void ImGuiTextFilter_Clear(ImGuiTextFilter* self);
2755         void ImRect_TranslateX(ImRect* self, float dx);
2756         void igGetWindowPos(ImVec2* pOut);
2757         void ImGuiIO_ClearInputCharacters(ImGuiIO* self);
2758         void igImBitArraySetBit(ImU32* arr, int n);
2759         void ImDrawDataBuilder_FlattenIntoSingleLayer(ImDrawDataBuilder* self);
2760         void igRenderTextWrapped(ImVec2 pos, const(char)* text, const(char)* text_end, float wrap_width);
2761         void igSpacing();
2762         void ImRect_TranslateY(ImRect* self, float dy);
2763         const(char)* ImGuiTextBuffer_c_str(ImGuiTextBuffer* self);
2764         ImGuiTabItem* igTabBarFindTabByID(ImGuiTabBar* tab_bar, ImGuiID tab_id);
2765         bool igDataTypeApplyOpFromText(const(char)* buf, const(char)* initial_value_buf, ImGuiDataType data_type, void* p_data, const(char)* format);
2766         void igNavMoveRequestSubmit(ImGuiDir move_dir, ImGuiDir clip_dir, ImGuiNavMoveFlags move_flags);
2767         void ImGuiInputTextState_destroy(ImGuiInputTextState* self);
2768         bool igBeginComboPreview();
2769         ImDrawData* igGetDrawData();
2770         void igPopItemWidth();
2771         bool igIsWindowAppearing();
2772         void igGetAllocatorFunctions(ImGuiMemAllocFunc* p_alloc_func, ImGuiMemFreeFunc* p_free_func, void** p_user_data);
2773         void igRenderRectFilledRangeH(ImDrawList* draw_list, const ImRect rect, ImU32 col, float x_start_norm, float x_end_norm, float rounding);
2774         void igSetWindowDock(ImGuiWindow* window, ImGuiID dock_id, ImGuiCond cond);
2775         const ImFontBuilderIO* igImFontAtlasGetBuilderForStbTruetype();
2776         ImGuiOldColumns* igFindOrCreateColumns(ImGuiWindow* window, ImGuiID id);
2777         void* ImGuiStorage_GetVoidPtr(ImGuiStorage* self, ImGuiID key);
2778         int ImGuiInputTextState_GetRedoAvailCount(ImGuiInputTextState* self);
2779         bool igIsPopupOpen_Str(const(char)* str_id, ImGuiPopupFlags flags = ImGuiPopupFlags.MouseButtonLeft);
2780         bool igIsPopupOpen_ID(ImGuiID id, ImGuiPopupFlags popup_flags);
2781         ImGuiTableSortSpecs* igTableGetSortSpecs();
2782         void igTableDrawBorders(ImGuiTable* table);
2783         ImGuiTable* ImGuiTable_ImGuiTable();
2784         bool igInputDouble(const(char)* label, double* v, double step = 0.0, double step_fast = 0.0, const(char)* format = "%.6f", ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
2785         void igUnindent(float indent_w = 0.0f);
2786         bool igIsDragDropPayloadBeingAccepted();
2787         float igGetFontSize();
2788         float ImGuiMenuColumns_DeclColumns(ImGuiMenuColumns* self, float w_icon, float w_label, float w_shortcut, float w_mark);
2789         void ImFontAtlas_CalcCustomRectUV(ImFontAtlas* self, const ImFontAtlasCustomRect* rect, ImVec2* out_uv_min, ImVec2* out_uv_max);
2790         float igGetFrameHeightWithSpacing();
2791         void ImDrawListSplitter_destroy(ImDrawListSplitter* self);
2792         void igGetItemRectMax(ImVec2* pOut);
2793         const(char)* igImStreolRange(const(char)* str, const(char)* str_end);
2794         bool igDragInt(const(char)* label, int* v, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
2795         ImFont* igGetFont();
2796         bool igDragFloatRange2(const(char)* label, float* v_current_min, float* v_current_max, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const(char)* format = "%.3f", const(char)* format_max = null, ImGuiSliderFlags flags = ImGuiSliderFlags.None);
2797         void igTableUpdateLayout(ImGuiTable* table);
2798         void ImGuiStorage_Clear(ImGuiStorage* self);
2799         void ImGuiViewportP_UpdateWorkRect(ImGuiViewportP* self);
2800         bool igTableNextColumn();
2801         ImGuiID ImGuiWindow_GetID_Str(ImGuiWindow* self, const(char)* str, const(char)* str_end = null);
2802         ImGuiID ImGuiWindow_GetID_Ptr(ImGuiWindow* self, const void* ptr);
2803         ImGuiID ImGuiWindow_GetID_Int(ImGuiWindow* self, int n);
2804         void igImFontAtlasBuildPackCustomRects(ImFontAtlas* atlas, void* stbrp_context_opaque);
2805         void ImGuiDockNode_Rect(ImRect* pOut, ImGuiDockNode* self);
2806         ImGuiDockNode* igDockBuilderGetNode(ImGuiID node_id);
2807         bool igIsActiveIdUsingKey(ImGuiKey key);
2808         ImGuiTableColumnFlags igTableGetColumnFlags(int column_n = -1);
2809         void igSetCursorScreenPos(const ImVec2 pos);
2810         const(char)* igImStristr(const(char)* haystack, const(char)* haystack_end, const(char)* needle, const(char)* needle_end);
2811         void igSetNextWindowViewport(ImGuiID viewport_id);
2812         const(char)* ImFont_GetDebugName(ImFont* self);
2813         bool igBeginPopupContextWindow(const(char)* str_id = null, ImGuiPopupFlags popup_flags = ImGuiPopupFlags.MouseButtonDefault_);
2814         bool igBeginTable(const(char)* str_id, int column, ImGuiTableFlags flags = ImGuiTableFlags.None, const ImVec2 outer_size = ImVec2(0.0f,0.0f), float inner_width = 0.0f);
2815         bool igButtonEx(const(char)* label, const ImVec2 size_arg = ImVec2(0,0), ImGuiButtonFlags flags = ImGuiButtonFlags.None);
2816         void igTextEx(const(char)* text, const(char)* text_end = null, ImGuiTextFlags flags = ImGuiTextFlags.None);
2817         bool ImGuiPayload_IsPreview(ImGuiPayload* self);
2818         void igLabelTextV(const(char)* label, const(char)* fmt, va_list args);
2819         void igNavInitRequestApplyResult();
2820         const(char)* igImStrSkipBlank(const(char)* str);
2821         void igPushColumnsBackground();
2822         ImGuiWindow* ImGuiWindow_ImGuiWindow(ImGuiContext* context, const(char)* name);
2823         float igGetScrollMaxX();
2824         void ImBitVector_Create(ImBitVector* self, int sz);
2825         void igCloseCurrentPopup();
2826         void igImBitArraySetBitRange(ImU32* arr, int n, int n2);
2827         ImGuiViewport* igFindViewportByPlatformHandle(void* platform_handle);
2828         ImGuiTableSortSpecs* ImGuiTableSortSpecs_ImGuiTableSortSpecs();
2829         void igGetMouseDragDelta(ImVec2* pOut, ImGuiMouseButton button = ImGuiMouseButton.Left, float lock_threshold = -1.0f);
2830         void igSetWindowCollapsed_Bool(bool collapsed, ImGuiCond cond = ImGuiCond.None);
2831         void igSetWindowCollapsed_Str(const(char)* name, bool collapsed, ImGuiCond cond = ImGuiCond.None);
2832         void igSetWindowCollapsed_WindowPtr(ImGuiWindow* window, bool collapsed, ImGuiCond cond = ImGuiCond.None);
2833         bool igSplitterBehavior(const ImRect bb, ImGuiID id, ImGuiAxis axis, float* size1, float* size2, float min_size1, float min_size2, float hover_extend = 0.0f, float hover_visibility_delay = 0.0f);
2834         void ImGuiNavItemData_destroy(ImGuiNavItemData* self);
2835         bool ImGuiDockNode_IsDockSpace(ImGuiDockNode* self);
2836         void igTableDrawContextMenu(ImGuiTable* table);
2837         void igTextDisabled(const(char)* fmt, ...);
2838         void igDebugNodeStorage(ImGuiStorage* storage, const(char)* label);
2839         void igFindBestWindowPosForPopupEx(ImVec2* pOut, const ImVec2 ref_pos, const ImVec2 size, ImGuiDir* last_dir, const ImRect r_outer, const ImRect r_avoid, ImGuiPopupPositionPolicy policy);
2840         void igTableSetColumnEnabled(int column_n, bool v);
2841         void igShowUserGuide();
2842         void igEndPopup();
2843         void igClearActiveID();
2844         bool igBeginChildFrame(ImGuiID id, const ImVec2 size, ImGuiWindowFlags flags = ImGuiWindowFlags.None);
2845         void ImGuiSettingsHandler_destroy(ImGuiSettingsHandler* self);
2846         void ImDrawList__ResetForNewFrame(ImDrawList* self);
2847         void ImGuiTextBuffer_append(ImGuiTextBuffer* self, const(char)* str, const(char)* str_end = null);
2848         int ImGuiInputTextState_GetUndoAvailCount(ImGuiInputTextState* self);
2849         void igEndFrame();
2850         void ImGuiTableColumn_destroy(ImGuiTableColumn* self);
2851         bool ImGuiTextRange_empty(ImGuiTextRange* self);
2852         void ImGuiInputTextState_ClearText(ImGuiInputTextState* self);
2853         bool igIsRectVisible_Nil(const ImVec2 size);
2854         bool igIsRectVisible_Vec2(const ImVec2 rect_min, const ImVec2 rect_max);
2855         bool ImGuiInputTextCallbackData_HasSelection(ImGuiInputTextCallbackData* self);
2856         float igCalcWrapWidthForPos(const ImVec2 pos, float wrap_pos_x);
2857         ImGuiID igGetIDWithSeed(const(char)* str_id_begin, const(char)* str_id_end, ImGuiID seed);
2858         int igImUpperPowerOfTwo(int v);
2859         void igColorConvertRGBtoHSV(float r, float g, float b, float* out_h, float* out_s, float* out_v);
2860         bool igIsMouseClicked(ImGuiMouseButton button, bool repeat = false);
2861         void igPushFocusScope(ImGuiID id);
2862         void igSetNextWindowFocus();
2863         ImFont* igGetDefaultFont();
2864         const(char)* igGetClipboardText();
2865         bool igIsAnyItemHovered();
2866         void igTableResetSettings(ImGuiTable* table);
2867         ImGuiListClipper* ImGuiListClipper_ImGuiListClipper();
2868         int igTableGetHoveredColumn();
2869         int igImStrlenW(const ImWchar* str);
2870         ImGuiDockNode* igGetWindowDockNode();
2871         bool igBeginPopup(const(char)* str_id, ImGuiWindowFlags flags = ImGuiWindowFlags.None);
2872         void ImGuiNavItemData_Clear(ImGuiNavItemData* self);
2873         int igTableGetRowIndex();
2874         ImU64 igImFileGetSize(ImFileHandle file);
2875         ImGuiSettingsHandler* ImGuiSettingsHandler_ImGuiSettingsHandler();
2876         bool igMenuItem_Bool(const(char)* label, const(char)* shortcut = null, bool selected = false, bool enabled = true);
2877         bool igMenuItem_BoolPtr(const(char)* label, const(char)* shortcut, bool* p_selected, bool enabled = true);
2878         void igDockBuilderFinish(ImGuiID node_id);
2879         ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Int(ImGuiStyleVar idx, int v);
2880         ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Float(ImGuiStyleVar idx, float v);
2881         ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Vec2(ImGuiStyleVar idx, ImVec2 v);
2882         void ImFontConfig_destroy(ImFontConfig* self);
2883         bool igBeginPopupEx(ImGuiID id, ImGuiWindowFlags extra_flags);
2884         bool igImCharIsBlankA(char c);
2885         void igImStrTrimBlanks(char* str);
2886         void ImGuiListClipper_End(ImGuiListClipper* self);
2887         void igResetMouseDragDelta(ImGuiMouseButton button = ImGuiMouseButton.Left);
2888         void igDestroyContext(ImGuiContext* ctx = null);
2889         void igSetNextWindowContentSize(const ImVec2 size);
2890         void igSaveIniSettingsToDisk(const(char)* ini_filename);
2891         void igGetWindowScrollbarRect(ImRect* pOut, ImGuiWindow* window, ImGuiAxis axis);
2892         bool igBeginComboPopup(ImGuiID popup_id, const ImRect bb, ImGuiComboFlags flags);
2893         void igTableSetupScrollFreeze(int cols, int rows);
2894         ImGuiTableColumnSettings* ImGuiTableSettings_GetColumnSettings(ImGuiTableSettings* self);
2895         bool igInputTextMultiline(const(char)* label, char* buf, size_t buf_size, const ImVec2 size = ImVec2(0,0), ImGuiInputTextFlags flags = ImGuiInputTextFlags.None, ImGuiInputTextCallback callback = null, void* user_data = null);
2896         bool igIsClippedEx(const ImRect bb, ImGuiID id);
2897         ImGuiID igGetWindowScrollbarID(ImGuiWindow* window, ImGuiAxis axis);
2898         bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self);
2899         ImDrawListSharedData* ImDrawListSharedData_ImDrawListSharedData();
2900         bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self, ImGuiMouseCursor cursor, ImVec2* out_offset, ImVec2* out_size, ImVec2[2]*/*[2]*/ out_uv_border, ImVec2[2]*/*[2]*/ out_uv_fill);
2901         void igLogText(const(char)* fmt, ...);
2902         bool igGetWindowAlwaysWantOwnTabBar(ImGuiWindow* window);
2903         ImGuiTableColumnSettings* ImGuiTableColumnSettings_ImGuiTableColumnSettings();
2904         void igBeginDockableDragDropTarget(ImGuiWindow* window);
2905         void ImGuiPlatformMonitor_destroy(ImGuiPlatformMonitor* self);
2906         void igColorEditOptionsPopup(const float* col, ImGuiColorEditFlags flags);
2907         float igGetTextLineHeightWithSpacing();
2908         void igTableFixColumnSortDirection(ImGuiTable* table, ImGuiTableColumn* column);
2909         void igPushStyleVar_Float(ImGuiStyleVar idx, float val);
2910         void igPushStyleVar_Vec2(ImGuiStyleVar idx, const ImVec2 val);
2911         bool igIsActiveIdUsingNavInput(ImGuiNavInput input);
2912         int igImStrnicmp(const(char)* str1, const(char)* str2, size_t count);
2913         ImGuiInputTextState* igGetInputTextState(ImGuiID id);
2914         const(char)* igFindRenderedTextEnd(const(char)* text, const(char)* text_end = null);
2915         void ImFontAtlas_ClearFonts(ImFontAtlas* self);
2916         void igTextColoredV(const ImVec4 col, const(char)* fmt, va_list args);
2917         ImGuiNavItemData* ImGuiNavItemData_ImGuiNavItemData();
2918         bool igIsKeyReleased(int user_key_index);
2919         void igTabItemLabelAndCloseButton(ImDrawList* draw_list, const ImRect bb, ImGuiTabItemFlags flags, ImVec2 frame_padding, const(char)* label, ImGuiID tab_id, ImGuiID close_button_id, bool is_contents_visible, bool* out_just_closed, bool* out_text_clipped);
2920         ImGuiTableColumnSortSpecs* ImGuiTableColumnSortSpecs_ImGuiTableColumnSortSpecs();
2921         void igLogToClipboard(int auto_open_depth = -1);
2922         const ImWchar* ImFontAtlas_GetGlyphRangesKorean(ImFontAtlas* self);
2923         void ImFontGlyphRangesBuilder_SetBit(ImFontGlyphRangesBuilder* self, size_t n);
2924         void igLogSetNextTextDecoration(const(char)* prefix, const(char)* suffix);
2925         void igStyleColorsClassic(ImGuiStyle* dst = null);
2926         int ImGuiTabBar_GetTabOrder(ImGuiTabBar* self, const ImGuiTabItem* tab);
2927         bool igBegin(const(char)* name, bool* p_open = null, ImGuiWindowFlags flags = ImGuiWindowFlags.None);
2928         bool igButton(const(char)* label, const ImVec2 size = ImVec2(0,0));
2929         bool igBeginMenuBar();
2930         bool igDataTypeClamp(ImGuiDataType data_type, void* p_data, const void* p_min, const void* p_max);
2931         void igRenderText(ImVec2 pos, const(char)* text, const(char)* text_end = null, bool hide_text_after_hash = true);
2932         void ImFontGlyphRangesBuilder_Clear(ImFontGlyphRangesBuilder* self);
2933         void ImGuiMenuColumns_destroy(ImGuiMenuColumns* self);
2934         void igImStrncpy(char* dst, const(char)* src, size_t count);
2935         ImGuiNextWindowData* ImGuiNextWindowData_ImGuiNextWindowData();
2936         void igImBezierCubicClosestPointCasteljau(ImVec2* pOut, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, const ImVec2 p, float tess_tol);
2937         bool igItemAdd(const ImRect bb, ImGuiID id, const ImRect* nav_bb = null, ImGuiItemFlags extra_flags = ImGuiItemFlags.None);
2938         bool igIsWindowNavFocusable(ImGuiWindow* window);
2939         float igGetScrollY();
2940         ImGuiOldColumnData* ImGuiOldColumnData_ImGuiOldColumnData();
2941         float ImRect_GetWidth(ImRect* self);
2942         void igEndListBox();
2943         ImGuiItemStatusFlags igGetItemStatusFlags();
2944         void igPopFocusScope();
2945         const ImVec4* igGetStyleColorVec4(ImGuiCol idx);
2946         ImGuiTable* igTableFindByID(ImGuiID id);
2947         void igShutdown(ImGuiContext* context);
2948         void igDockBuilderRemoveNodeDockedWindows(ImGuiID node_id, bool clear_settings_refs = true);
2949         void igTablePushBackgroundChannel();
2950         void ImRect_ClipWith(ImRect* self, const ImRect r);
2951         void ImRect_GetTL(ImVec2* pOut, ImRect* self);
2952         ImDrawListSplitter* ImDrawListSplitter_ImDrawListSplitter();
2953         int ImDrawList__CalcCircleAutoSegmentCount(ImDrawList* self, float radius);
2954         void igSetWindowFocus_Nil();
2955         void igSetWindowFocus_Str(const(char)* name);
2956         bool igInvisibleButton(const(char)* str_id, const ImVec2 size, ImGuiButtonFlags flags = ImGuiButtonFlags.None);
2957         void igScaleWindowsInViewport(ImGuiViewportP* viewport, float scale);
2958         void igRenderMouseCursor(ImDrawList* draw_list, ImVec2 pos, float scale, ImGuiMouseCursor mouse_cursor, ImU32 col_fill, ImU32 col_border, ImU32 col_shadow);
2959         void igImFontAtlasBuildInit(ImFontAtlas* atlas);
2960         void igTextColored(const ImVec4 col, const(char)* fmt, ...);
2961         bool igSliderScalar(const(char)* label, ImGuiDataType data_type, void* p_data, const void* p_min, const void* p_max, const(char)* format = null, ImGuiSliderFlags flags = ImGuiSliderFlags.None);
2962         bool igTableSetColumnIndex(int column_n);
2963         void igRenderPlatformWindowsDefault(void* platform_render_arg = null, void* renderer_render_arg = null);
2964         void ImDrawListSplitter_ClearFreeMemory(ImDrawListSplitter* self);
2965         ImGuiStyle* ImGuiStyle_ImGuiStyle();
2966         bool ImGuiDockNode_IsHiddenTabBar(ImGuiDockNode* self);
2967         void ImGuiOldColumnData_destroy(ImGuiOldColumnData* self);
2968         ImFontConfig* ImFontConfig_ImFontConfig();
2969         bool igIsMouseDown(ImGuiMouseButton button);
2970         const(char)* ImGuiTabBar_GetTabName(ImGuiTabBar* self, const ImGuiTabItem* tab);
2971         void igDebugNodeTabBar(ImGuiTabBar* tab_bar, const(char)* label);
2972         void igNewLine();
2973         ImGuiPlatformIO* igGetPlatformIO();
2974         void igMemFree(void* ptr);
2975         int igCalcTypematicRepeatAmount(float t0, float t1, float repeat_delay, float repeat_rate);
2976         void igNextColumn();
2977         void igRenderFrame(ImVec2 p_min, ImVec2 p_max, ImU32 fill_col, bool border = true, float rounding = 0.0f);
2978         void igLogButtons();
2979         void igDockBuilderRemoveNode(ImGuiID node_id);
2980         void ImFont_ClearOutputData(ImFont* self);
2981         ImFont* ImFont_ImFont();
2982         void igEndTabItem();
2983         bool igVSliderFloat(const(char)* label, const ImVec2 size, float* v, float v_min, float v_max, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
2984         void ImGuiIO_ClearInputKeys(ImGuiIO* self);
2985         void igRenderArrowPointingAt(ImDrawList* draw_list, ImVec2 pos, ImVec2 half_sz, ImGuiDir direction, ImU32 col);
2986         void igEndGroup();
2987         void igPlotLines_FloatPtr(const(char)* label, const float* values, int values_count, int values_offset = 0, const(char)* overlay_text = null, float scale_min = float.max, float scale_max = float.max, ImVec2 graph_size = ImVec2(0,0), int stride = float.sizeof);
2988         void igPlotLines_FnFloatPtr(const(char)* label, float function(void* data,int idx) values_getter, void* data, int values_count, int values_offset = 0, const(char)* overlay_text = null, float scale_min = float.max, float scale_max = float.max, ImVec2 graph_size = ImVec2(0,0));
2989         float igGetColumnNormFromOffset(const ImGuiOldColumns* columns, float offset);
2990         void igSetCurrentFont(ImFont* font);
2991         void igSetItemAllowOverlap();
2992         bool ImGuiDockNode_IsCentralNode(ImGuiDockNode* self);
2993         void** ImGuiStorage_GetVoidPtrRef(ImGuiStorage* self, ImGuiID key, void* default_val = null);
2994         bool igCheckboxFlags_IntPtr(const(char)* label, int* flags, int flags_value);
2995         bool igCheckboxFlags_UintPtr(const(char)* label, uint* flags, uint flags_value);
2996         bool igCheckboxFlags_S64Ptr(const(char)* label, ImS64* flags, ImS64 flags_value);
2997         bool igCheckboxFlags_U64Ptr(const(char)* label, ImU64* flags, ImU64 flags_value);
2998         void ImRect_destroy(ImRect* self);
2999         bool igTreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const(char)* label, const(char)* label_end = null);
3000         void igImTriangleBarycentricCoords(const ImVec2 a, const ImVec2 b, const ImVec2 c, const ImVec2 p, float* out_u, float* out_v, float* out_w);
3001         void ImFontGlyphRangesBuilder_AddRanges(ImFontGlyphRangesBuilder* self, const ImWchar* ranges);
3002         void igTableSetBgColor(ImGuiTableBgTarget target, ImU32 color, int column_n = -1);
3003         const ImWchar* ImFontAtlas_GetGlyphRangesVietnamese(ImFontAtlas* self);
3004         ImGuiContextHook* ImGuiContextHook_ImGuiContextHook();
3005         const(char)* igGetVersion();
3006         ImDrawList* ImDrawList_ImDrawList(const ImDrawListSharedData* shared_data);
3007         void igRenderTextEllipsis(ImDrawList* draw_list, const ImVec2 pos_min, const ImVec2 pos_max, float clip_max_x, float ellipsis_max_x, const(char)* text, const(char)* text_end, const ImVec2* text_size_if_known);
3008         void ImGuiListClipper_destroy(ImGuiListClipper* self);
3009         void igTableUpdateBorders(ImGuiTable* table);
3010         void ImGuiTableSortSpecs_destroy(ImGuiTableSortSpecs* self);
3011         void igPushOverrideID(ImGuiID id);
3012         void igImMul(ImVec2* pOut, const ImVec2 lhs, const ImVec2 rhs);
3013         void igSetScrollY_Float(float scroll_y);
3014         void igSetScrollY_WindowPtr(ImGuiWindow* window, float scroll_y);
3015         const(char)* ImFont_CalcWordWrapPositionA(ImFont* self, float scale, const(char)* text, const(char)* text_end, float wrap_width);
3016         bool igSmallButton(const(char)* label);
3017         void ImGuiWindow_destroy(ImGuiWindow* self);
3018         ImGuiTableColumn* ImGuiTableColumn_ImGuiTableColumn();
3019         void ImGuiComboPreviewData_destroy(ImGuiComboPreviewData* self);
3020         ImGuiID igTableGetColumnResizeID(const ImGuiTable* table, int column_n, int instance_no = 0);
3021         bool igCombo_Str_arr(const(char)* label, int* current_item, const(char)** items, int items_count, int popup_max_height_in_items = -1);
3022         bool igCombo_Str(const(char)* label, int* current_item, const(char)* items_separated_by_zeros, int popup_max_height_in_items = -1);
3023         bool igCombo_FnBoolPtr(const(char)* label, int* current_item, bool function(void* data,int idx,const(char)** out_text) items_getter, void* data, int items_count, int popup_max_height_in_items = -1);
3024         bool igIsWindowChildOf(ImGuiWindow* window, ImGuiWindow* potential_parent, bool popup_hierarchy, bool dock_hierarchy);
3025         float ImGuiWindow_CalcFontSize(ImGuiWindow* self);
3026         void igTableSetColumnWidth(int column_n, float width);
3027         void ImDrawList_AddLine(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, ImU32 col, float thickness = 1.0f);
3028         void ImDrawList_AddCircle(ImDrawList* self, const ImVec2 center, float radius, ImU32 col, int num_segments = 0, float thickness = 1.0f);
3029         void ImGuiInputTextState_SelectAll(ImGuiInputTextState* self);
3030         const(char)* igImParseFormatTrimDecorations(const(char)* format, char* buf, size_t buf_size);
3031         ImGuiMetricsConfig* ImGuiMetricsConfig_ImGuiMetricsConfig();
3032         ImGuiTabBar* ImGuiTabBar_ImGuiTabBar();
3033         void ImGuiViewport_GetCenter(ImVec2* pOut, ImGuiViewport* self);
3034         void igDebugDrawItemRect(ImU32 col = 4278190335);
3035         void igDockBuilderSetNodeSize(ImGuiID node_id, ImVec2 size);
3036         bool igTreeNodeBehaviorIsOpen(ImGuiID id, ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags.None);
3037         int igImTextCountUtf8BytesFromChar(const(char)* in_text, const(char)* in_text_end);
3038         void igSetMouseCursor(ImGuiMouseCursor cursor_type);
3039         void igBeginColumns(const(char)* str_id, int count, ImGuiOldColumnFlags flags = ImGuiOldColumnFlags.None);
3040         ImGuiIO* igGetIO();
3041         bool igDragBehavior(ImGuiID id, ImGuiDataType data_type, void* p_v, float v_speed, const void* p_min, const void* p_max, const(char)* format, ImGuiSliderFlags flags);
3042         int igImModPositive(int a, int b);
3043         void ImFontAtlasCustomRect_destroy(ImFontAtlasCustomRect* self);
3044         void ImGuiPayload_destroy(ImGuiPayload* self);
3045         void igEndMenu();
3046         float igImSaturate(float f);
3047         void ImDrawList_PrimRect(ImDrawList* self, const ImVec2 a, const ImVec2 b, ImU32 col);
3048         float igImLinearSweep(float current, float target, float speed);
3049         void igItemInputable(ImGuiWindow* window, ImGuiID id);
3050         void ImDrawList_AddRectFilled(ImDrawList* self, const ImVec2 p_min, const ImVec2 p_max, ImU32 col, float rounding = 0.0f, ImDrawFlags flags = ImDrawFlags.None);
3051         void ImGuiPopupData_destroy(ImGuiPopupData* self);
3052         ImGuiSettingsHandler* igFindSettingsHandler(const(char)* type_name);
3053         bool igDragInt2(const(char)* label, int[2]*/*[2]*/ v, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3054         void igBeginDocked(ImGuiWindow* window, bool* p_open);
3055         void igSetColorEditOptions(ImGuiColorEditFlags flags);
3056         bool igIsAnyMouseDown();
3057         void igUpdateMouseMovingWindowNewFrame();
3058         ImGuiDockContext* ImGuiDockContext_ImGuiDockContext();
3059         void ImGuiTextFilter_Build(ImGuiTextFilter* self);
3060         void igTabItemCalcSize(ImVec2* pOut, const(char)* label, bool has_close_button);
3061         void igSetNextWindowCollapsed(bool collapsed, ImGuiCond cond = ImGuiCond.None);
3062         void igSetLastItemData(ImGuiID item_id, ImGuiItemFlags in_flags, ImGuiItemStatusFlags status_flags, const ImRect item_rect);
3063         void igLogToBuffer(int auto_open_depth = -1);
3064         void ImGuiTableTempData_destroy(ImGuiTableTempData* self);
3065         void* igImFileLoadToMemory(const(char)* filename, const(char)* mode, size_t* out_file_size = null, int padding_bytes = 0);
3066         const ImWchar* ImFontAtlas_GetGlyphRangesCyrillic(ImFontAtlas* self);
3067         void ImGuiStyle_destroy(ImGuiStyle* self);
3068         void ImDrawList_destroy(ImDrawList* self);
3069         void ImVec4_destroy(ImVec4* self);
3070         void igRenderCheckMark(ImDrawList* draw_list, ImVec2 pos, ImU32 col, float sz);
3071         bool igTreeNodeEx_Str(const(char)* label, ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags.None);
3072         bool igTreeNodeEx_StrStr(const(char)* str_id, ImGuiTreeNodeFlags flags, const(char)* fmt, ...);
3073         bool igTreeNodeEx_Ptr(const void* ptr_id, ImGuiTreeNodeFlags flags, const(char)* fmt, ...);
3074         void ImBitVector_SetBit(ImBitVector* self, int n);
3075         void igSetColumnWidth(int column_index, float width);
3076         void ImGuiDockNode_destroy(ImGuiDockNode* self);
3077         bool igIsItemClicked(ImGuiMouseButton mouse_button = ImGuiMouseButton.Left);
3078         void igTableOpenContextMenu(int column_n = -1);
3079         void ImDrawList_AddCallback(ImDrawList* self, ImDrawCallback callback, void* callback_data);
3080         void igGetMousePos(ImVec2* pOut);
3081         int igDataTypeCompare(ImGuiDataType data_type, const void* arg_1, const void* arg_2);
3082         void igDockContextQueueUndockNode(ImGuiContext* ctx, ImGuiDockNode* node);
3083         bool igImageButtonEx(ImGuiID id, ImTextureID texture_id, const ImVec2 size, const ImVec2 uv0, const ImVec2 uv1, const ImVec2 padding, const ImVec4 bg_col, const ImVec4 tint_col);
3084         void ImDrawListSharedData_SetCircleTessellationMaxError(ImDrawListSharedData* self, float max_error);
3085         void igBullet();
3086         void igRenderArrowDockMenu(ImDrawList* draw_list, ImVec2 p_min, float sz, ImU32 col);
3087         void igTableSaveSettings(ImGuiTable* table);
3088         ImGuiTableSettings* igTableGetBoundSettings(ImGuiTable* table);
3089         ImGuiID igGetHoveredID();
3090         void igGetWindowContentRegionMin(ImVec2* pOut);
3091         void igTableHeadersRow();
3092         void ImDrawList_AddNgonFilled(ImDrawList* self, const ImVec2 center, float radius, ImU32 col, int num_segments);
3093         bool igDragScalar(const(char)* label, ImGuiDataType data_type, void* p_data, float v_speed = 1.0f, const void* p_min = null, const void* p_max = null, const(char)* format = null, ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3094         ImGuiDockNode* ImGuiDockNode_ImGuiDockNode(ImGuiID id);
3095         void igSetCursorPos(const ImVec2 local_pos);
3096         void igGcCompactTransientMiscBuffers();
3097         void igEndColumns();
3098         void igSetTooltip(const(char)* fmt, ...);
3099         const(char)* igTableGetColumnName_Int(int column_n = -1);
3100         const(char)* igTableGetColumnName_TablePtr(const ImGuiTable* table, int column_n);
3101         void ImGuiViewportP_destroy(ImGuiViewportP* self);
3102         bool igBeginTabBarEx(ImGuiTabBar* tab_bar, const ImRect bb, ImGuiTabBarFlags flags, ImGuiDockNode* dock_node);
3103         void igShadeVertsLinearColorGradientKeepAlpha(ImDrawList* draw_list, int vert_start_idx, int vert_end_idx, ImVec2 gradient_p0, ImVec2 gradient_p1, ImU32 col0, ImU32 col1);
3104         bool ImGuiInputTextState_HasSelection(ImGuiInputTextState* self);
3105         ImGuiDockNode* igDockNodeGetRootNode(ImGuiDockNode* node);
3106         bool ImGuiDockNode_IsSplitNode(ImGuiDockNode* self);
3107         float igCalcItemWidth();
3108         void igDockContextRebuildNodes(ImGuiContext* ctx);
3109         void igPushItemWidth(float item_width);
3110         bool igScrollbarEx(const ImRect bb, ImGuiID id, ImGuiAxis axis, float* p_scroll_v, float avail_v, float contents_v, ImDrawFlags flags);
3111         void ImDrawList_ChannelsMerge(ImDrawList* self);
3112         void igSetAllocatorFunctions(ImGuiMemAllocFunc alloc_func, ImGuiMemFreeFunc free_func, void* user_data = null);
3113         const ImFontGlyph* ImFont_FindGlyph(ImFont* self, ImWchar c);
3114         void igErrorCheckEndWindowRecover(ImGuiErrorLogCallback log_callback, void* user_data = null);
3115         int igDockNodeGetDepth(const ImGuiDockNode* node);
3116         void igDebugStartItemPicker();
3117         void ImGuiNextWindowData_destroy(ImGuiNextWindowData* self);
3118         bool ImGuiPayload_IsDelivery(ImGuiPayload* self);
3119         const ImWchar* ImFontAtlas_GetGlyphRangesJapanese(ImFontAtlas* self);
3120         bool ImRect_Overlaps(ImRect* self, const ImRect r);
3121         void igCaptureMouseFromApp(bool want_capture_mouse_value = true);
3122         ImGuiID igAddContextHook(ImGuiContext* context, const ImGuiContextHook* hook);
3123         int ImGuiInputTextState_GetCursorPos(ImGuiInputTextState* self);
3124         ImGuiID igImHashData(const void* data, size_t data_size, ImU32 seed = 0);
3125         void ImGuiViewportP_GetBuildWorkRect(ImRect* pOut, ImGuiViewportP* self);
3126         void ImGuiInputTextCallbackData_InsertChars(ImGuiInputTextCallbackData* self, int pos, const(char)* text, const(char)* text_end = null);
3127         bool igDragFloat2(const(char)* label, float[2]*/*[2]*/ v, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3128         void igTreePushOverrideID(ImGuiID id);
3129         void igUpdateHoveredWindowAndCaptureFlags();
3130         void ImFont_destroy(ImFont* self);
3131         void igEndMenuBar();
3132         void igGetWindowSize(ImVec2* pOut);
3133         bool igInputInt4(const(char)* label, int[4]*/*[4]*/ v, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
3134         float igImSign_Float(float x);
3135         double igImSign_double(double x);
3136         void ImDrawList_AddBezierQuadratic(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, ImU32 col, float thickness, int num_segments = 0);
3137         ImGuiMouseCursor igGetMouseCursor();
3138         bool igIsMouseDoubleClicked(ImGuiMouseButton button);
3139         void igLabelText(const(char)* label, const(char)* fmt, ...);
3140         void ImDrawList_PathClear(ImDrawList* self);
3141         void ImDrawCmd_destroy(ImDrawCmd* self);
3142         ImGuiStorage* igGetStateStorage();
3143         bool igInputInt2(const(char)* label, int[2]*/*[2]*/ v, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
3144         ImU64 igImFileRead(void* data, ImU64 size, ImU64 count, ImFileHandle file);
3145         void igImFontAtlasBuildRender32bppRectFromString(ImFontAtlas* atlas, int x, int y, int w, int h, const(char)* in_str, char in_marker_char, uint in_marker_pixel_value);
3146         void ImGuiOldColumns_destroy(ImGuiOldColumns* self);
3147         void igSetNextWindowScroll(const ImVec2 scroll);
3148         float igGetFrameHeight();
3149         ImU64 igImFileWrite(const void* data, ImU64 size, ImU64 count, ImFileHandle file);
3150         bool igInputText(const(char)* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None, ImGuiInputTextCallback callback = null, void* user_data = null);
3151         bool igTreeNodeExV_Str(const(char)* str_id, ImGuiTreeNodeFlags flags, const(char)* fmt, va_list args);
3152         bool igTreeNodeExV_Ptr(const void* ptr_id, ImGuiTreeNodeFlags flags, const(char)* fmt, va_list args);
3153         bool igIsAnyItemFocused();
3154         void ImDrawDataBuilder_Clear(ImDrawDataBuilder* self);
3155         ImVec2ih* ImVec2ih_ImVec2ih_Nil();
3156         ImVec2ih* ImVec2ih_ImVec2ih_short(short _x, short _y);
3157         ImVec2ih* ImVec2ih_ImVec2ih_Vec2(const ImVec2 rhs);
3158         void igDockContextQueueDock(ImGuiContext* ctx, ImGuiWindow* target, ImGuiDockNode* target_node, ImGuiWindow* payload, ImGuiDir split_dir, float split_ratio, bool split_outer);
3159         void igTableSetColumnSortDirection(int column_n, ImGuiSortDirection sort_direction, bool append_to_sort_specs);
3160         ImVec1* ImVec1_ImVec1_Nil();
3161         ImVec1* ImVec1_ImVec1_Float(float _x);
3162         void igCalcItemSize(ImVec2* pOut, ImVec2 size, float default_w, float default_h);
3163         bool ImFontAtlasCustomRect_IsPacked(ImFontAtlasCustomRect* self);
3164         void igPopStyleColor(int count = 1);
3165         bool igColorEdit4(const(char)* label, float[4]*/*[4]*/ col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None);
3166         int igPlotEx(ImGuiPlotType plot_type, const(char)* label, float function(void* data,int idx) values_getter, void* data, int values_count, int values_offset, const(char)* overlay_text, float scale_min, float scale_max, ImVec2 frame_size);
3167         void igGetCursorStartPos(ImVec2* pOut);
3168         void igShowFontAtlas(ImFontAtlas* atlas);
3169         ImGuiID igDockSpaceOverViewport(const ImGuiViewport* viewport = null, ImGuiDockNodeFlags flags = ImGuiDockNodeFlags.None, const ImGuiWindowClass* window_class = null);
3170         void ImGuiInputTextCallbackData_destroy(ImGuiInputTextCallbackData* self);
3171         bool ImFontAtlas_IsBuilt(ImFontAtlas* self);
3172         const(char)* ImGuiTextBuffer_begin(ImGuiTextBuffer* self);
3173         void ImGuiTable_destroy(ImGuiTable* self);
3174         ImGuiID ImGuiWindow_GetIDNoKeepAlive_Str(ImGuiWindow* self, const(char)* str, const(char)* str_end = null);
3175         ImGuiID ImGuiWindow_GetIDNoKeepAlive_Ptr(ImGuiWindow* self, const void* ptr);
3176         ImGuiID ImGuiWindow_GetIDNoKeepAlive_Int(ImGuiWindow* self, int n);
3177         void ImFont_BuildLookupTable(ImFont* self);
3178         void ImGuiTextBuffer_appendfv(ImGuiTextBuffer* self, const(char)* fmt, va_list args);
3179         ImVec4* ImVec4_ImVec4_Nil();
3180         ImVec4* ImVec4_ImVec4_Float(float _x, float _y, float _z, float _w);
3181         bool ImGuiDockNode_IsEmpty(ImGuiDockNode* self);
3182         void igClearIniSettings();
3183         void ImDrawList_PathLineToMergeDuplicate(ImDrawList* self, const ImVec2 pos);
3184         ImGuiIO* ImGuiIO_ImGuiIO();
3185         bool igDragInt4(const(char)* label, int[4]*/*[4]*/ v, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3186         bool igBeginDragDropTarget();
3187         int igImTextCountCharsFromUtf8(const(char)* in_text, const(char)* in_text_end);
3188         void igTablePopBackgroundChannel();
3189         void igSetNextWindowClass(const ImGuiWindowClass* window_class);
3190         void ImGuiTextBuffer_clear(ImGuiTextBuffer* self);
3191         int igImStricmp(const(char)* str1, const(char)* str2);
3192         void igMarkItemEdited(ImGuiID id);
3193         bool igIsWindowFocused(ImGuiFocusedFlags flags = ImGuiFocusedFlags.None);
3194         ImGuiTableSettings* igTableSettingsCreate(ImGuiID id, int columns_count);
3195         void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self, const(char)* str);
3196         void ImGuiTableSettings_destroy(ImGuiTableSettings* self);
3197         bool igIsWindowAbove(ImGuiWindow* potential_above, ImGuiWindow* potential_below);
3198         void ImDrawList__PathArcToN(ImDrawList* self, const ImVec2 center, float radius, float a_min, float a_max, int num_segments);
3199         void igColorTooltip(const(char)* text, const float* col, ImGuiColorEditFlags flags);
3200         void igSetCurrentContext(ImGuiContext* ctx);
3201         void igImTriangleClosestPoint(ImVec2* pOut, const ImVec2 a, const ImVec2 b, const ImVec2 c, const ImVec2 p);
3202         bool igSliderInt4(const(char)* label, int[4]*/*[4]*/ v, int v_min, int v_max, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3203         void igGetItemRectMin(ImVec2* pOut);
3204         void igTableUpdateColumnsWeightFromWidth(ImGuiTable* table);
3205         void ImDrawList_PrimReserve(ImDrawList* self, int idx_count, int vtx_count);
3206         ImGuiMenuColumns* ImGuiMenuColumns_ImGuiMenuColumns();
3207         ImGuiDockNode* igDockBuilderGetCentralNode(ImGuiID node_id);
3208         void ImDrawList_AddRectFilledMultiColor(ImDrawList* self, const ImVec2 p_min, const ImVec2 p_max, ImU32 col_upr_left, ImU32 col_upr_right, ImU32 col_bot_right, ImU32 col_bot_left);
3209         void ImGuiDockNodeSettings_destroy(ImGuiDockNodeSettings* self);
3210         ImGuiViewport* igGetWindowViewport();
3211         void igSetStateStorage(ImGuiStorage* storage);
3212         void ImGuiStorage_SetAllInt(ImGuiStorage* self, int val);
3213         bool ImGuiListClipper_Step(ImGuiListClipper* self);
3214         void ImGuiOnceUponAFrame_destroy(ImGuiOnceUponAFrame* self);
3215         void ImGuiInputTextCallbackData_DeleteChars(ImGuiInputTextCallbackData* self, int pos, int bytes_count);
3216         void igImFontAtlasBuildSetupFont(ImFontAtlas* atlas, ImFont* font, ImFontConfig* font_config, float ascent, float descent);
3217         bool ImGuiTextBuffer_empty(ImGuiTextBuffer* self);
3218         void igShowDemoWindow(bool* p_open = null);
3219         float igImPow_Float(float x, float y);
3220         double igImPow_double(double x, double y);
3221         void ImGuiTextRange_destroy(ImGuiTextRange* self);
3222         void ImGuiStorage_SetVoidPtr(ImGuiStorage* self, ImGuiID key, void* val);
3223         float igImInvLength(const ImVec2 lhs, float fail_value);
3224         ImGuiID igGetFocusScope();
3225         bool igCloseButton(ImGuiID id, const ImVec2 pos);
3226         void igTableSettingsInstallHandler(ImGuiContext* context);
3227         void ImDrawList_PushTextureID(ImDrawList* self, ImTextureID texture_id);
3228         void ImDrawList_PathLineTo(ImDrawList* self, const ImVec2 pos);
3229         void igSetWindowHitTestHole(ImGuiWindow* window, const ImVec2 pos, const ImVec2 size);
3230         void igSeparatorEx(ImGuiSeparatorFlags flags);
3231         void ImRect_Add_Vec2(ImRect* self, const ImVec2 p);
3232         void ImRect_Add_Rect(ImRect* self, const ImRect r);
3233         void igShowMetricsWindow(bool* p_open = null);
3234         void ImDrawList__PopUnusedDrawCmd(ImDrawList* self);
3235         void ImDrawList_AddImageRounded(ImDrawList* self, ImTextureID user_texture_id, const ImVec2 p_min, const ImVec2 p_max, const ImVec2 uv_min, const ImVec2 uv_max, ImU32 col, float rounding, ImDrawFlags flags = ImDrawFlags.None);
3236         void ImGuiStyleMod_destroy(ImGuiStyleMod* self);
3237         void ImGuiMenuColumns_CalcNextTotalWidth(ImGuiMenuColumns* self, bool update_offsets);
3238         void ImGuiStorage_BuildSortByKey(ImGuiStorage* self);
3239         void ImDrawList_PathRect(ImDrawList* self, const ImVec2 rect_min, const ImVec2 rect_max, float rounding = 0.0f, ImDrawFlags flags = ImDrawFlags.None);
3240         bool igInputTextEx(const(char)* label, const(char)* hint, char* buf, int buf_size, const ImVec2 size_arg, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback = null, void* user_data = null);
3241         bool igColorEdit3(const(char)* label, float[3]*/*[3]*/ col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None);
3242         void ImColor_destroy(ImColor* self);
3243         bool igIsItemToggledSelection();
3244         bool igTabItemEx(ImGuiTabBar* tab_bar, const(char)* label, bool* p_open, ImGuiTabItemFlags flags, ImGuiWindow* docked_window);
3245         bool igIsKeyPressedMap(ImGuiKey key, bool repeat = true);
3246         void igTableSetupDrawChannels(ImGuiTable* table);
3247         void igLogFinish();
3248         void igGetItemRectSize(ImVec2* pOut);
3249         ImGuiID igGetWindowResizeCornerID(ImGuiWindow* window, int n);
3250         const(char)* igImParseFormatFindStart(const(char)* format);
3251         ImGuiDockRequest* ImGuiDockRequest_ImGuiDockRequest();
3252         ImDrawData* ImDrawData_ImDrawData();
3253         void igDockNodeEndAmendTabBar();
3254         bool igDragScalarN(const(char)* label, ImGuiDataType data_type, void* p_data, int components, float v_speed = 1.0f, const void* p_min = null, const void* p_max = null, const(char)* format = null, ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3255         float igImDot(const ImVec2 a, const ImVec2 b);
3256         void igMarkIniSettingsDirty_Nil();
3257         void igMarkIniSettingsDirty_WindowPtr(ImGuiWindow* window);
3258         int igTableGetColumnCount();
3259         float igGetWindowWidth();
3260         void igBulletTextV(const(char)* fmt, va_list args);
3261         void igDockBuilderCopyNode(ImGuiID src_node_id, ImGuiID dst_node_id, ImVector!(ImGuiID)* out_node_remap_pairs);
3262         void ImDrawListSplitter_SetCurrentChannel(ImDrawListSplitter* self, ImDrawList* draw_list, int channel_idx);
3263         void ImGuiStorage_SetBool(ImGuiStorage* self, ImGuiID key, bool val);
3264         void igAlignTextToFramePadding();
3265         bool igIsWindowHovered(ImGuiHoveredFlags flags = ImGuiHoveredFlags.None);
3266         void igDockBuilderCopyDockSpace(ImGuiID src_dockspace_id, ImGuiID dst_dockspace_id, ImVector!(const(char)*)* in_window_remap_pairs);
3267         ImGuiTableTempData* ImGuiTableTempData_ImGuiTableTempData();
3268         void ImRect_GetCenter(ImVec2* pOut, ImRect* self);
3269         void ImDrawList_PathArcTo(ImDrawList* self, const ImVec2 center, float radius, float a_min, float a_max, int num_segments = 0);
3270         bool igIsAnyItemActive();
3271         void igPushTextWrapPos(float wrap_local_pos_x = 0.0f);
3272         float igGetTreeNodeToLabelSpacing();
3273         void igSameLine(float offset_from_start_x = 0.0f, float spacing = -1.0f);
3274         void igStyleColorsDark(ImGuiStyle* dst = null);
3275         void igDebugNodeDockNode(ImGuiDockNode* node, const(char)* label);
3276         void igDummy(const ImVec2 size);
3277         ImGuiID igGetItemID();
3278         bool igImageButton(ImTextureID user_texture_id, const ImVec2 size, const ImVec2 uv0 = ImVec2(0,0), const ImVec2 uv1 = ImVec2(1,1), int frame_padding = -1, const ImVec4 bg_col = ImVec4(0,0,0,0), const ImVec4 tint_col = ImVec4(1,1,1,1));
3279         void igGetWindowContentRegionMax(ImVec2* pOut);
3280         void igTabBarQueueReorder(ImGuiTabBar* tab_bar, const ImGuiTabItem* tab, int offset);
3281         int igGetKeyPressedAmount(int key_index, float repeat_delay, float rate);
3282         void igRenderTextClipped(const ImVec2 pos_min, const ImVec2 pos_max, const(char)* text, const(char)* text_end, const ImVec2* text_size_if_known, const ImVec2 alignment = ImVec2(0,0), const ImRect* clip_rect = null);
3283         bool igImIsPowerOfTwo_Int(int v);
3284         bool igImIsPowerOfTwo_U64(ImU64 v);
3285         void igSetNextWindowSizeConstraints(const ImVec2 size_min, const ImVec2 size_max, ImGuiSizeCallback custom_callback = null, void* custom_callback_data = null);
3286         void igTableGcCompactTransientBuffers_TablePtr(ImGuiTable* table);
3287         void igTableGcCompactTransientBuffers_TableTempDataPtr(ImGuiTableTempData* table);
3288         const ImFontGlyph* ImFont_FindGlyphNoFallback(ImFont* self, ImWchar c);
3289         bool igShowStyleSelector(const(char)* label);
3290         void igNavMoveRequestForward(ImGuiDir move_dir, ImGuiDir clip_dir, ImGuiNavMoveFlags move_flags);
3291         void igNavInitWindow(ImGuiWindow* window, bool force_reinit);
3292         ImFileHandle igImFileOpen(const(char)* filename, const(char)* mode);
3293         void igEndDragDropTarget();
3294         ImGuiWindowSettings* ImGuiWindowSettings_ImGuiWindowSettings();
3295         void ImDrawListSharedData_destroy(ImDrawListSharedData* self);
3296         bool ImFontAtlas_Build(ImFontAtlas* self);
3297         void ImGuiDockPreviewData_destroy(ImGuiDockPreviewData* self);
3298         void igSetScrollFromPosX_Float(float local_x, float center_x_ratio = 0.5f);
3299         void igSetScrollFromPosX_WindowPtr(ImGuiWindow* window, float local_x, float center_x_ratio);
3300         bool igIsKeyPressed(int user_key_index, bool repeat = true);
3301         void igEndTooltip();
3302         ImGuiWindowSettings* igFindWindowSettings(ImGuiID id);
3303         void igDebugRenderViewportThumbnail(ImDrawList* draw_list, ImGuiViewportP* viewport, const ImRect bb);
3304         void ImGuiDockNode_UpdateMergedFlags(ImGuiDockNode* self);
3305         void igKeepAliveID(ImGuiID id);
3306         float igGetColumnOffsetFromNorm(const ImGuiOldColumns* columns, float offset_norm);
3307         bool ImFont_IsLoaded(ImFont* self);
3308         void igDebugNodeDrawCmdShowMeshAndBoundingBox(ImDrawList* out_draw_list, const ImDrawList* draw_list, const ImDrawCmd* draw_cmd, bool show_mesh, bool show_aabb);
3309         bool igBeginDragDropSource(ImGuiDragDropFlags flags = ImGuiDragDropFlags.None);
3310         void ImBitVector_ClearBit(ImBitVector* self, int n);
3311         int ImDrawDataBuilder_GetDrawListCount(ImDrawDataBuilder* self);
3312         void ImGuiDockRequest_destroy(ImGuiDockRequest* self);
3313         void igSetScrollFromPosY_Float(float local_y, float center_y_ratio = 0.5f);
3314         void igSetScrollFromPosY_WindowPtr(ImGuiWindow* window, float local_y, float center_y_ratio);
3315         bool igColorButton(const(char)* desc_id, const ImVec4 col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None, ImVec2 size = ImVec2(0,0));
3316         const ImGuiPayload* igAcceptDragDropPayload(const(char)* type, ImGuiDragDropFlags flags = ImGuiDragDropFlags.None);
3317         void igDockContextShutdown(ImGuiContext* ctx);
3318         void ImDrawList_PopClipRect(ImDrawList* self);
3319         float igGetCursorPosX();
3320         float igGetScrollMaxY();
3321         ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Int(ImGuiID _key, int _val_i);
3322         ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Float(ImGuiID _key, float _val_f);
3323         ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Ptr(ImGuiID _key, void* _val_p);
3324         void igEndMainMenuBar();
3325         float ImRect_GetArea(ImRect* self);
3326         ImGuiPlatformMonitor* ImGuiPlatformMonitor_ImGuiPlatformMonitor();
3327         bool igIsItemActive();
3328         void ImGuiViewportP_GetMainRect(ImRect* pOut, ImGuiViewportP* self);
3329         void igShowAboutWindow(bool* p_open = null);
3330         int ImGuiInputTextState_GetSelectionStart(ImGuiInputTextState* self);
3331         void igPushFont(ImFont* font);
3332         const(char)* igImStrchrRange(const(char)* str_begin, const(char)* str_end, char c);
3333         void igSetNextItemWidth(float item_width);
3334         void igGetContentRegionAvail(ImVec2* pOut);
3335         ImGuiPayload* ImGuiPayload_ImGuiPayload();
3336         bool igCheckbox(const(char)* label, bool* v);
3337         ImGuiTextRange* ImGuiTextRange_ImGuiTextRange_Nil();
3338         ImGuiTextRange* ImGuiTextRange_ImGuiTextRange_Str(const(char)* _b, const(char)* _e);
3339         void ImFontAtlas_destroy(ImFontAtlas* self);
3340         void ImGuiMenuColumns_Update(ImGuiMenuColumns* self, float spacing, bool window_reappearing);
3341         void igGcCompactTransientWindowBuffers(ImGuiWindow* window);
3342         void igTableSortSpecsBuild(ImGuiTable* table);
3343         void igNavMoveRequestTryWrapping(ImGuiWindow* window, ImGuiNavMoveFlags move_flags);
3344         int ImGuiInputTextState_GetSelectionEnd(ImGuiInputTextState* self);
3345         bool igIsWindowDocked();
3346         void ImVec2_destroy(ImVec2* self);
3347         void igTableBeginRow(ImGuiTable* table);
3348         ImGuiWindow* igGetCurrentWindow();
3349         bool igSetDragDropPayload(const(char)* type, const void* data, size_t sz, ImGuiCond cond = ImGuiCond.None);
3350         ImGuiID igGetID_Str(const(char)* str_id);
3351         ImGuiID igGetID_StrStr(const(char)* str_id_begin, const(char)* str_id_end);
3352         ImGuiID igGetID_Ptr(const void* ptr_id);
3353         ImFontAtlas* ImFontAtlas_ImFontAtlas();
3354         void igBeginGroup();
3355         void igGetContentRegionMax(ImVec2* pOut);
3356         void igEndChildFrame();
3357         void igActivateItem(ImGuiID id);
3358         void igImFontAtlasBuildMultiplyCalcLookupTable(char[256]*/*[256]*/ out_table, float in_multiply_factor);
3359         void ImDrawList_PushClipRectFullScreen(ImDrawList* self);
3360         bool ImRect_Contains_Vec2(ImRect* self, const ImVec2 p);
3361         bool ImRect_Contains_Rect(ImRect* self, const ImRect r);
3362         ImDrawList* igGetBackgroundDrawList_Nil();
3363         ImDrawList* igGetBackgroundDrawList_ViewportPtr(ImGuiViewport* viewport);
3364         void igSetColumnOffset(int column_index, float offset_x);
3365         void igSetKeyboardFocusHere(int offset = 0);
3366         void igLoadIniSettingsFromMemory(const(char)* ini_data, size_t ini_size = 0);
3367         void igIndent(float indent_w = 0.0f);
3368         void igPopStyleVar(int count = 1);
3369         const ImGuiPlatformMonitor* igGetViewportPlatformMonitor(ImGuiViewport* viewport);
3370         void igSetNextWindowSize(const ImVec2 size, ImGuiCond cond = ImGuiCond.None);
3371         bool igInputFloat3(const(char)* label, float[3]*/*[3]*/ v, const(char)* format = "%.3f", ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
3372         bool igIsKeyDown(int user_key_index);
3373         void igTableBeginApplyRequests(ImGuiTable* table);
3374         bool igDockNodeBeginAmendTabBar(ImGuiDockNode* node);
3375         bool igBeginMenuEx(const(char)* label, const(char)* icon, bool enabled = true);
3376         void igTextUnformatted(const(char)* text, const(char)* text_end = null);
3377         void igTextV(const(char)* fmt, va_list args);
3378         float igImLengthSqr_Vec2(const ImVec2 lhs);
3379         float igImLengthSqr_Vec4(const ImVec4 lhs);
3380         bool ImGuiTextFilter_Draw(ImGuiTextFilter* self, const(char)* label = "Filter(inc,-exc)", float width = 0.0f);
3381         void igFocusWindow(ImGuiWindow* window);
3382         void igPushClipRect(const ImVec2 clip_rect_min, const ImVec2 clip_rect_max, bool intersect_with_current_clip_rect);
3383         ImGuiViewportP* ImGuiViewportP_ImGuiViewportP();
3384         bool igBeginMainMenuBar();
3385         void ImRect_GetBR(ImVec2* pOut, ImRect* self);
3386         bool igCollapsingHeader_TreeNodeFlags(const(char)* label, ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags.None);
3387         bool igCollapsingHeader_BoolPtr(const(char)* label, bool* p_visible, ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags.None);
3388         ImGuiWindow* igGetCurrentWindowRead();
3389         void ImDrawList__PathArcToFastEx(ImDrawList* self, const ImVec2 center, float radius, int a_min_sample, int a_max_sample, int a_step);
3390         bool igSliderInt3(const(char)* label, int[3]*/*[3]*/ v, int v_min, int v_max, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3391         void igTabBarAddTab(ImGuiTabBar* tab_bar, ImGuiTabItemFlags tab_flags, ImGuiWindow* window);
3392         ImGuiTableSettings* ImGuiTableSettings_ImGuiTableSettings();
3393         void igPushStyleColor_U32(ImGuiCol idx, ImU32 col);
3394         void igPushStyleColor_Vec4(ImGuiCol idx, const ImVec4 col);
3395         int igImFormatString(char* buf, size_t buf_size, const(char)* fmt, ...);
3396         bool igTabItemButton(const(char)* label, ImGuiTabItemFlags flags = ImGuiTabItemFlags.None);
3397         bool igIsMouseReleased(ImGuiMouseButton button);
3398         void ImGuiInputTextState_CursorClamp(ImGuiInputTextState* self);
3399         void igRemoveContextHook(ImGuiContext* context, ImGuiID hook_to_remove);
3400         ImFontAtlasCustomRect* ImFontAtlasCustomRect_ImFontAtlasCustomRect();
3401         void ImGuiIO_AddInputCharacter(ImGuiIO* self, uint c);
3402         bool igTabBarProcessReorder(ImGuiTabBar* tab_bar);
3403         float igGetNavInputAmount(ImGuiNavInput n, ImGuiInputReadMode mode);
3404         void igClearDragDrop();
3405         float igGetTextLineHeight();
3406         void ImDrawList_AddBezierCubic(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, ImU32 col, float thickness, int num_segments = 0);
3407         void igDockContextNewFrameUpdateDocking(ImGuiContext* ctx);
3408         void igDataTypeApplyOp(ImGuiDataType data_type, int op, void* output, const void* arg_1, const void* arg_2);
3409         void ImDrawList_AddQuadFilled(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, ImU32 col);
3410         void igDockContextNewFrameUpdateUndocking(ImGuiContext* ctx);
3411         void ImGuiInputTextCallbackData_SelectAll(ImGuiInputTextCallbackData* self);
3412         ImGuiNextItemData* ImGuiNextItemData_ImGuiNextItemData();
3413         void igLogRenderedText(const ImVec2* ref_pos, const(char)* text, const(char)* text_end = null);
3414         bool igBeginMenu(const(char)* label, bool enabled = true);
3415         void igSetNextWindowBgAlpha(float alpha);
3416         int* ImGuiStorage_GetIntRef(ImGuiStorage* self, ImGuiID key, int default_val = 0);
3417         int igImTextCountUtf8BytesFromStr(const ImWchar* in_text, const ImWchar* in_text_end);
3418         void igEndCombo();
3419         bool igIsNavInputTest(ImGuiNavInput n, ImGuiInputReadMode rm);
3420         void igImage(ImTextureID user_texture_id, const ImVec2 size, const ImVec2 uv0 = ImVec2(0,0), const ImVec2 uv1 = ImVec2(1,1), const ImVec4 tint_col = ImVec4(1,1,1,1), const ImVec4 border_col = ImVec4(0,0,0,0));
3421         void ImDrawList_AddPolyline(ImDrawList* self, const ImVec2* points, int num_points, ImU32 col, ImDrawFlags flags, float thickness);
3422         bool igTreeNode_Str(const(char)* label);
3423         bool igTreeNode_StrStr(const(char)* str_id, const(char)* fmt, ...);
3424         bool igTreeNode_Ptr(const void* ptr_id, const(char)* fmt, ...);
3425         void igPopClipRect();
3426         void ImDrawList_PushClipRect(ImDrawList* self, ImVec2 clip_rect_min, ImVec2 clip_rect_max, bool intersect_with_current_clip_rect = false);
3427         void igImBitArrayClearBit(ImU32* arr, int n);
3428         bool igArrowButtonEx(const(char)* str_id, ImGuiDir dir, ImVec2 size_arg, ImGuiButtonFlags flags = ImGuiButtonFlags.None);
3429         bool igSelectable_Bool(const(char)* label, bool selected = false, ImGuiSelectableFlags flags = ImGuiSelectableFlags.None, const ImVec2 size = ImVec2(0,0));
3430         bool igSelectable_BoolPtr(const(char)* label, bool* p_selected, ImGuiSelectableFlags flags = ImGuiSelectableFlags.None, const ImVec2 size = ImVec2(0,0));
3431         void igTableSetColumnWidthAutoSingle(ImGuiTable* table, int column_n);
3432         void igBeginTooltipEx(ImGuiWindowFlags extra_flags, ImGuiTooltipFlags tooltip_flags);
3433         ImGuiID igGetFocusID();
3434         void igEndComboPreview();
3435         void ImDrawData_DeIndexAllBuffers(ImDrawData* self);
3436         ImDrawCmd* ImDrawCmd_ImDrawCmd();
3437         void ImDrawData_ScaleClipRects(ImDrawData* self, const ImVec2 fb_scale);
3438         bool igBeginViewportSideBar(const(char)* name, ImGuiViewport* viewport, ImGuiDir dir, float size, ImGuiWindowFlags window_flags);
3439         void igSetNextItemOpen(bool is_open, ImGuiCond cond = ImGuiCond.None);
3440         int igDataTypeFormatString(char* buf, int buf_size, ImGuiDataType data_type, const void* p_data, const(char)* format);
3441         void igTabItemBackground(ImDrawList* draw_list, const ImRect bb, ImGuiTabItemFlags flags, ImU32 col);
3442         void ImDrawList_AddTriangle(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, ImU32 col, float thickness = 1.0f);
3443         void igDockContextClearNodes(ImGuiContext* ctx, ImGuiID root_id, bool clear_settings_refs);
3444         void ImGuiContextHook_destroy(ImGuiContextHook* self);
3445         void igLogToFile(int auto_open_depth = -1, const(char)* filename = null);
3446         ImGuiID igGetWindowResizeBorderID(ImGuiWindow* window, ImGuiDir dir);
3447         void ImGuiNextItemData_destroy(ImGuiNextItemData* self);
3448         void ImGuiViewportP_ClearRequestFlags(ImGuiViewportP* self);
3449         ImGuiKeyModFlags igGetMergedKeyModFlags();
3450         bool igTempInputIsActive(ImGuiID id);
3451         ImTextureID ImDrawCmd_GetTexID(ImDrawCmd* self);
3452         void igDebugNodeWindowSettings(ImGuiWindowSettings* settings);
3453         void igSetNextWindowDockID(ImGuiID dock_id, ImGuiCond cond = ImGuiCond.None);
3454         void ImRect_ToVec4(ImVec4* pOut, ImRect* self);
3455         void igTableGcCompactSettings();
3456         void igPushMultiItemsWidths(int components, float width_full);
3457         ImGuiContext* igCreateContext(ImFontAtlas* shared_font_atlas = null);
3458         void igTableNextRow(ImGuiTableRowFlags row_flags = ImGuiTableRowFlags.None, float min_row_height = 0.0f);
3459         void ImGuiStackSizes_CompareWithCurrentState(ImGuiStackSizes* self);
3460         ImColor* ImColor_ImColor_Nil();
3461         ImColor* ImColor_ImColor_Int(int r, int g, int b, int a = 255);
3462         ImColor* ImColor_ImColor_U32(ImU32 rgba);
3463         ImColor* ImColor_ImColor_Float(float r, float g, float b, float a = 1.0f);
3464         ImColor* ImColor_ImColor_Vec4(const ImVec4 col);
3465         float igTableGetMaxColumnWidth(const ImGuiTable* table, int column_n);
3466         void ImGuiViewportP_CalcWorkRectPos(ImVec2* pOut, ImGuiViewportP* self, const ImVec2 off_min);
3467         ImGuiID igDockContextGenNodeID(ImGuiContext* ctx);
3468         void ImDrawList__ClearFreeMemory(ImDrawList* self);
3469         void igSetNavID(ImGuiID id, ImGuiNavLayer nav_layer, ImGuiID focus_scope_id, const ImRect rect_rel);
3470         ImDrawList* igGetWindowDrawList();
3471         void ImRect_GetBL(ImVec2* pOut, ImRect* self);
3472         float igTableGetHeaderRowHeight();
3473         bool igIsMousePosValid(const ImVec2* mouse_pos = null);
3474         float ImGuiStorage_GetFloat(ImGuiStorage* self, ImGuiID key, float default_val = 0.0f);
3475         bool ImGuiDockNode_IsLeafNode(ImGuiDockNode* self);
3476         void igTableEndCell(ImGuiTable* table);
3477         bool igSliderFloat4(const(char)* label, float[4]*/*[4]*/ v, float v_min, float v_max, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3478         bool igIsItemDeactivatedAfterEdit();
3479         void igPlotHistogram_FloatPtr(const(char)* label, const float* values, int values_count, int values_offset = 0, const(char)* overlay_text = null, float scale_min = float.max, float scale_max = float.max, ImVec2 graph_size = ImVec2(0,0), int stride = float.sizeof);
3480         void igPlotHistogram_FnFloatPtr(const(char)* label, float function(void* data,int idx) values_getter, void* data, int values_count, int values_offset = 0, const(char)* overlay_text = null, float scale_min = float.max, float scale_max = float.max, ImVec2 graph_size = ImVec2(0,0));
3481         bool igIsItemEdited();
3482         void igShowStyleEditor(ImGuiStyle* reference = null);
3483         void igTextWrappedV(const(char)* fmt, va_list args);
3484         void igTableBeginCell(ImGuiTable* table, int column_n);
3485         ImGuiSortDirection igTableGetColumnNextSortDirection(ImGuiTableColumn* column);
3486         bool igDebugCheckVersionAndDataLayout(const(char)* version_str, size_t sz_io, size_t sz_style, size_t sz_vec2, size_t sz_vec4, size_t sz_drawvert, size_t sz_drawidx);
3487         void ImGuiTextBuffer_appendf(ImGuiTextBuffer* self, const(char)* fmt, ...);
3488         int ImFontAtlas_AddCustomRectFontGlyph(ImFontAtlas* self, ImFont* font, ImWchar id, int width, int height, float advance_x, const ImVec2 offset = ImVec2(0,0));
3489         bool igInputTextWithHint(const(char)* label, const(char)* hint, char* buf, size_t buf_size, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None, ImGuiInputTextCallback callback = null, void* user_data = null);
3490         ImU32 igImAlphaBlendColors(ImU32 col_a, ImU32 col_b);
3491         bool* ImGuiStorage_GetBoolRef(ImGuiStorage* self, ImGuiID key, bool default_val = false);
3492         bool igBeginPopupContextVoid(const(char)* str_id = null, ImGuiPopupFlags popup_flags = ImGuiPopupFlags.MouseButtonDefault_);
3493         void igSetScrollX_Float(float scroll_x);
3494         void igSetScrollX_WindowPtr(ImGuiWindow* window, float scroll_x);
3495         void igRenderNavHighlight(const ImRect bb, ImGuiID id, ImGuiNavHighlightFlags flags = ImGuiNavHighlightFlags.TypeDefault);
3496         void igBringWindowToFocusFront(ImGuiWindow* window);
3497         bool igSliderInt(const(char)* label, int* v, int v_min, int v_max, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3498         void igUpdateMouseMovingWindowEndFrame();
3499         bool igSliderInt2(const(char)* label, int[2]*/*[2]*/ v, int v_min, int v_max, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3500         void igGetContentRegionMaxAbs(ImVec2* pOut);
3501         bool igIsMouseHoveringRect(const ImVec2 r_min, const ImVec2 r_max, bool clip = true);
3502         int igImTextStrFromUtf8(ImWchar* out_buf, int out_buf_size, const(char)* in_text, const(char)* in_text_end, const char** in_remaining = null);
3503         bool igIsActiveIdUsingNavDir(ImGuiDir dir);
3504         void ImGuiListClipper_Begin(ImGuiListClipper* self, int items_count, float items_height = -1.0f);
3505         void igStartMouseMovingWindow(ImGuiWindow* window);
3506         bool igIsItemHovered(ImGuiHoveredFlags flags = ImGuiHoveredFlags.None);
3507         void igTableEndRow(ImGuiTable* table);
3508         void ImGuiIO_destroy(ImGuiIO* self);
3509         void igEndDragDropSource();
3510         void ImGuiStackSizes_SetToCurrentState(ImGuiStackSizes* self);
3511         const ImGuiPayload* igGetDragDropPayload();
3512         void igGetPopupAllowedExtentRect(ImRect* pOut, ImGuiWindow* window);
3513         void ImGuiStorage_SetInt(ImGuiStorage* self, ImGuiID key, int val);
3514         void ImGuiWindow_MenuBarRect(ImRect* pOut, ImGuiWindow* self);
3515         int ImGuiStorage_GetInt(ImGuiStorage* self, ImGuiID key, int default_val = 0);
3516         void igShowFontSelector(const(char)* label);
3517         void igDestroyPlatformWindow(ImGuiViewportP* viewport);
3518         void igImMin(ImVec2* pOut, const ImVec2 lhs, const ImVec2 rhs);
3519         void igPopButtonRepeat();
3520         void igTableSetColumnWidthAutoAll(ImGuiTable* table);
3521         int igImAbs_Int(int x);
3522         float igImAbs_Float(float x);
3523         double igImAbs_double(double x);
3524         void igPushButtonRepeat(bool repeat);
3525         void ImGuiWindow_Rect(ImRect* pOut, ImGuiWindow* self);
3526         void ImGuiViewportP_GetWorkRect(ImRect* pOut, ImGuiViewportP* self);
3527         void ImRect_Floor(ImRect* self);
3528         void igTreePush_Str(const(char)* str_id);
3529         void igTreePush_Ptr(const void* ptr_id = null);
3530         ImU32 igColorConvertFloat4ToU32(const ImVec4 inItem);
3531         ImGuiStyle* igGetStyle();
3532         void igGetCursorPos(ImVec2* pOut);
3533         int igGetFrameCount();
3534         void ImDrawList_AddNgon(ImDrawList* self, const ImVec2 center, float radius, ImU32 col, int num_segments, float thickness = 1.0f);
3535         void igDebugNodeDrawList(ImGuiWindow* window, ImGuiViewportP* viewport, const ImDrawList* draw_list, const(char)* label);
3536         void igEnd();
3537         void igTabBarCloseTab(ImGuiTabBar* tab_bar, ImGuiTabItem* tab);
3538         bool igIsItemActivated();
3539         void igBeginDisabled(bool disabled = true);
3540         ImGuiInputTextState* ImGuiInputTextState_ImGuiInputTextState();
3541         float ImRect_GetHeight(ImRect* self);
3542         ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* self, const ImFontConfig* font_cfg = null);
3543         void ImDrawList__OnChangedTextureID(ImDrawList* self);
3544         int igGetColumnsCount();
3545         void igEndChild();
3546         bool igNavMoveRequestButNoResultYet();
3547         void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self, float scale_factor);
3548         bool igArrowButton(const(char)* str_id, ImGuiDir dir);
3549         void igSetCursorPosY(float local_y);
3550         bool ImGuiDockNode_IsFloatingNode(ImGuiDockNode* self);
3551         ImGuiTextFilter* ImGuiTextFilter_ImGuiTextFilter(const(char)* default_filter = "");
3552         void ImGuiStorage_SetFloat(ImGuiStorage* self, ImGuiID key, float val);
3553         void igShadeVertsLinearUV(ImDrawList* draw_list, int vert_start_idx, int vert_end_idx, const ImVec2 a, const ImVec2 b, const ImVec2 uv_a, const ImVec2 uv_b, bool clamp);
3554         int igTableGetColumnIndex();
3555         double igGetTime();
3556         bool igBeginPopupContextItem(const(char)* str_id = null, ImGuiPopupFlags popup_flags = ImGuiPopupFlags.MouseButtonDefault_);
3557         float igImRsqrt_Float(float x);
3558         double igImRsqrt_double(double x);
3559         void igTableLoadSettings(ImGuiTable* table);
3560         void igSetScrollHereX(float center_x_ratio = 0.5f);
3561         bool igSliderScalarN(const(char)* label, ImGuiDataType data_type, void* p_data, int components, const void* p_min, const void* p_max, const(char)* format = null, ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3562         void ImDrawList_PathBezierQuadraticCurveTo(ImDrawList* self, const ImVec2 p2, const ImVec2 p3, int num_segments = 0);
3563         const ImWchar* ImFontAtlas_GetGlyphRangesChineseSimplifiedCommon(ImFontAtlas* self);
3564         void igGetMousePosOnOpeningCurrentPopup(ImVec2* pOut);
3565         bool igVSliderScalar(const(char)* label, const ImVec2 size, ImGuiDataType data_type, void* p_data, const void* p_min, const void* p_max, const(char)* format = null, ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3566         void igDockBuilderSetNodePos(ImGuiID node_id, ImVec2 pos);
3567         void ImFont_RenderChar(ImFont* self, ImDrawList* draw_list, float size, ImVec2 pos, ImU32 col, ImWchar c);
3568         void ImFont_RenderText(ImFont* self, ImDrawList* draw_list, float size, ImVec2 pos, ImU32 col, const ImVec4 clip_rect, const(char)* text_begin, const(char)* text_end, float wrap_width = 0.0f, bool cpu_fine_clip = false);
3569         void igOpenPopupEx(ImGuiID id, ImGuiPopupFlags popup_flags = ImGuiPopupFlags.None);
3570         void ImFontAtlas_SetTexID(ImFontAtlas* self, ImTextureID id);
3571         void igImFontAtlasBuildRender8bppRectFromString(ImFontAtlas* atlas, int x, int y, int w, int h, const(char)* in_str, char in_marker_char, char in_marker_pixel_value);
3572         void ImFontAtlas_Clear(ImFontAtlas* self);
3573         void igBeginDockableDragDropSource(ImGuiWindow* window);
3574         bool ImBitVector_TestBit(ImBitVector* self, int n);
3575         void ImGuiTextFilter_destroy(ImGuiTextFilter* self);
3576         bool igBeginPopupModal(const(char)* name, bool* p_open = null, ImGuiWindowFlags flags = ImGuiWindowFlags.None);
3577         ImGuiID igGetFocusedFocusScope();
3578         void igDebugNodeColumns(ImGuiOldColumns* columns);
3579         void igDebugNodeWindow(ImGuiWindow* window, const(char)* label);
3580         float igGetWindowDpiScale();
3581         bool igInputFloat(const(char)* label, float* v, float step = 0.0f, float step_fast = 0.0f, const(char)* format = "%.3f", ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
3582         bool igDragIntRange2(const(char)* label, int* v_current_min, int* v_current_max, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const(char)* format = "%d", const(char)* format_max = null, ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3583         void ImVec2ih_destroy(ImVec2ih* self);
3584         void ImDrawList_GetClipRectMax(ImVec2* pOut, ImDrawList* self);
3585         bool igInputFloat2(const(char)* label, float[2]*/*[2]*/ v, const(char)* format = "%.3f", ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
3586         void ImDrawDataBuilder_ClearFreeMemory(ImDrawDataBuilder* self);
3587         void ImGuiLastItemData_destroy(ImGuiLastItemData* self);
3588         char* ImGuiWindowSettings_GetName(ImGuiWindowSettings* self);
3589         char* igImStrdup(const(char)* str);
3590         int igImFormatStringV(char* buf, size_t buf_size, const(char)* fmt, va_list args);
3591         void igSetTooltipV(const(char)* fmt, va_list args);
3592         const ImGuiDataTypeInfo* igDataTypeGetInfo(ImGuiDataType data_type);
3593         bool igVSliderInt(const(char)* label, const ImVec2 size, int* v, int v_min, int v_max, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3594         void igSetWindowClipRectBeforeSetChannel(ImGuiWindow* window, const ImRect clip_rect);
3595         ImFontGlyphRangesBuilder* ImFontGlyphRangesBuilder_ImFontGlyphRangesBuilder();
3596         ImGuiID igGetWindowDockID();
3597         void igPopTextWrapPos();
3598         void ImGuiWindowClass_destroy(ImGuiWindowClass* self);
3599         float ImGuiWindow_TitleBarHeight(ImGuiWindow* self);
3600         void ImDrawList_GetClipRectMin(ImVec2* pOut, ImDrawList* self);
3601         void ImDrawList_PathStroke(ImDrawList* self, ImU32 col, ImDrawFlags flags = ImDrawFlags.None, float thickness = 1.0f);
3602         void igBeginTooltip();
3603         void igOpenPopupOnItemClick(const(char)* str_id = null, ImGuiPopupFlags popup_flags = ImGuiPopupFlags.MouseButtonDefault_);
3604         void ImDrawListSplitter_Merge(ImDrawListSplitter* self, ImDrawList* draw_list);
3605         float ImGuiWindow_MenuBarHeight(ImGuiWindow* self);
3606         void ImColor_HSV(ImColor* pOut, float h, float s, float v, float a = 1.0f);
3607         bool igBeginTableEx(const(char)* name, ImGuiID id, int columns_count, ImGuiTableFlags flags = ImGuiTableFlags.None, const ImVec2 outer_size = ImVec2(0,0), float inner_width = 0.0f);
3608         void igSetTabItemClosed(const(char)* tab_or_docked_window_label);
3609         void ImFont_AddGlyph(ImFont* self, const ImFontConfig* src_cfg, ImWchar c, float x0, float y0, float x1, float y1, float u0, float v0, float u1, float v1, float advance_x);
3610         void igSetHoveredID(ImGuiID id);
3611         void igStartMouseMovingWindowOrNode(ImGuiWindow* window, ImGuiDockNode* node, bool undock_floating_node);
3612         void ImFontGlyphRangesBuilder_AddText(ImFontGlyphRangesBuilder* self, const(char)* text, const(char)* text_end = null);
3613         void ImGuiPtrOrIndex_destroy(ImGuiPtrOrIndex* self);
3614         ImGuiInputTextCallbackData* ImGuiInputTextCallbackData_ImGuiInputTextCallbackData();
3615         char* igImStrdupcpy(char* dst, size_t* p_dst_size, const(char)* str);
3616         bool ImGuiDockNode_IsNoTabBar(ImGuiDockNode* self);
3617         void igColorConvertHSVtoRGB(float h, float s, float v, float* out_r, float* out_g, float* out_b);
3618         ImGuiID igDockBuilderSplitNode(ImGuiID node_id, ImGuiDir split_dir, float size_ratio_for_node_at_dir, ImGuiID* out_id_at_dir, ImGuiID* out_id_at_opposite_dir);
3619         bool igColorPicker4(const(char)* label, float[4]*/*[4]*/ col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None, const float* ref_col = null);
3620         bool igImBitArrayTestBit(const ImU32* arr, int n);
3621         ImGuiWindow* igFindWindowByID(ImGuiID id);
3622         void ImDrawList_PathBezierCubicCurveTo(ImDrawList* self, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, int num_segments = 0);
3623         bool igBeginDragDropTargetCustom(const ImRect bb, ImGuiID id);
3624         void ImGuiContext_destroy(ImGuiContext* self);
3625         bool igDragInt3(const(char)* label, int[3]*/*[3]*/ v, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3626         ImGuiID igImHashStr(const(char)* data, size_t data_size = 0, ImU32 seed = 0);
3627         void ImDrawList_AddTriangleFilled(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, ImU32 col);
3628         void igDebugNodeFont(ImFont* font);
3629         void igRenderArrow(ImDrawList* draw_list, ImVec2 pos, ImU32 col, ImGuiDir dir, float scale = 1.0f);
3630         void igNewFrame();
3631         ImGuiTabItem* ImGuiTabItem_ImGuiTabItem();
3632         void ImDrawList_ChannelsSetCurrent(ImDrawList* self, int n);
3633         void igClosePopupToLevel(int remaining, bool restore_focus_to_window_under_popup);
3634         ImGuiContext* ImGuiContext_ImGuiContext(ImFontAtlas* shared_font_atlas);
3635         bool igSliderFloat2(const(char)* label, float[2]*/*[2]*/ v, float v_min, float v_max, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3636         bool igTempInputScalar(const ImRect bb, ImGuiID id, const(char)* label, ImGuiDataType data_type, void* p_data, const(char)* format, const void* p_clamp_min = null, const void* p_clamp_max = null);
3637         ImGuiPopupData* ImGuiPopupData_ImGuiPopupData();
3638         void ImDrawList_AddImageQuad(ImDrawList* self, ImTextureID user_texture_id, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, const ImVec2 uv1 = ImVec2(0,0), const ImVec2 uv2 = ImVec2(1,0), const ImVec2 uv3 = ImVec2(1,1), const ImVec2 uv4 = ImVec2(0,1), ImU32 col = 4294967295);
3639         bool igBeginListBox(const(char)* label, const ImVec2 size = ImVec2(0,0));
3640         ImFontAtlasCustomRect* ImFontAtlas_GetCustomRectByIndex(ImFontAtlas* self, int index);
3641         void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* self, char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel = null);
3642         void igGcAwakeTransientWindowBuffers(ImGuiWindow* window);
3643         void ImDrawList__OnChangedClipRect(ImDrawList* self);
3644         ImGuiWindowClass* ImGuiWindowClass_ImGuiWindowClass();
3645         void igDockBuilderRemoveNodeChildNodes(ImGuiID node_id);
3646         ImGuiID igGetColumnsID(const(char)* str_id, int count);
3647         void ImGuiDockNode_SetLocalFlags(ImGuiDockNode* self, ImGuiDockNodeFlags flags);
3648         void igPushAllowKeyboardFocus(bool allow_keyboard_focus);
3649         void ImDrawList_PopTextureID(ImDrawList* self);
3650         void igColumns(int count = 1, const(char)* id = null, bool border = true);
3651         void ImFontGlyphRangesBuilder_AddChar(ImFontGlyphRangesBuilder* self, ImWchar c);
3652         int igGetColumnIndex();
3653         void igBringWindowToDisplayBack(ImGuiWindow* window);
3654         void ImDrawList_PrimVtx(ImDrawList* self, const ImVec2 pos, const ImVec2 uv, ImU32 col);
3655         void ImDrawListSplitter_Clear(ImDrawListSplitter* self);
3656         const(char)* igImTextCharToUtf8(char[5]*/*[5]*/ out_buf, uint c);
3657         void igTableBeginInitMemory(ImGuiTable* table, int columns_count);
3658         void ImDrawList_AddConvexPolyFilled(ImDrawList* self, const ImVec2* points, int num_points, ImU32 col);
3659         void igGetCursorScreenPos(ImVec2* pOut);
3660         bool igListBox_Str_arr(const(char)* label, int* current_item, const(char)** items, int items_count, int height_in_items = -1);
3661         bool igListBox_FnBoolPtr(const(char)* label, int* current_item, bool function(void* data,int idx,const(char)** out_text) items_getter, void* data, int items_count, int height_in_items = -1);
3662         void igPopItemFlag();
3663         void igImBezierCubicClosestPoint(ImVec2* pOut, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, const ImVec2 p, int num_segments);
3664         ImGuiItemFlags igGetItemFlags();
3665         void igPopColumnsBackground();
3666         void igLogBegin(ImGuiLogType type, int auto_open_depth);
3667         bool igTreeNodeV_Str(const(char)* str_id, const(char)* fmt, va_list args);
3668         bool igTreeNodeV_Ptr(const void* ptr_id, const(char)* fmt, va_list args);
3669         void igRenderTextClippedEx(ImDrawList* draw_list, const ImVec2 pos_min, const ImVec2 pos_max, const(char)* text, const(char)* text_end, const ImVec2* text_size_if_known, const ImVec2 alignment = ImVec2(0,0), const ImRect* clip_rect = null);
3670         ImGuiTableSettings* igTableSettingsFindByID(ImGuiID id);
3671         void ImGuiIO_AddInputCharacterUTF16(ImGuiIO* self, ImWchar16 c);
3672         float* ImGuiStorage_GetFloatRef(ImGuiStorage* self, ImGuiID key, float default_val = 0.0f);
3673         const ImWchar* igImStrbolW(const ImWchar* buf_mid_line, const ImWchar* buf_begin);
3674         ImGuiStackSizes* ImGuiStackSizes_ImGuiStackSizes();
3675         bool igSliderBehavior(const ImRect bb, ImGuiID id, ImGuiDataType data_type, void* p_v, const void* p_min, const void* p_max, const(char)* format, ImGuiSliderFlags flags, ImRect* out_grab_bb);
3676         void igValue_Bool(const(char)* prefix, bool b);
3677         void igValue_Int(const(char)* prefix, int v);
3678         void igValue_Uint(const(char)* prefix, uint v);
3679         void igValue_Float(const(char)* prefix, float v, const(char)* float_format = null);
3680         bool igBeginTabItem(const(char)* label, bool* p_open = null, ImGuiTabItemFlags flags = ImGuiTabItemFlags.None);
3681         void igDebugNodeTable(ImGuiTable* table);
3682         void ImGuiViewport_destroy(ImGuiViewport* self);
3683         bool igIsNavInputDown(ImGuiNavInput n);
3684         void ImGuiInputTextState_ClearFreeMemory(ImGuiInputTextState* self);
3685         void ImGuiViewport_GetWorkCenter(ImVec2* pOut, ImGuiViewport* self);
3686         void igRenderBullet(ImDrawList* draw_list, ImVec2 pos, ImU32 col);
3687         bool igDragFloat4(const(char)* label, float[4]*/*[4]*/ v, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3688         void ImDrawList__OnChangedVtxOffset(ImDrawList* self);
3689         void igTableSortSpecsSanitize(ImGuiTable* table);
3690         void igFocusTopMostWindowUnderOne(ImGuiWindow* under_this_window, ImGuiWindow* ignore_window);
3691         void igPushID_Str(const(char)* str_id);
3692         void igPushID_StrStr(const(char)* str_id_begin, const(char)* str_id_end);
3693         void igPushID_Ptr(const void* ptr_id);
3694         void igPushID_Int(int int_id);
3695         bool igItemHoverable(const ImRect bb, ImGuiID id);
3696         ImFont* ImFontAtlas_AddFontFromMemoryTTF(ImFontAtlas* self, void* font_data, int font_size, float size_pixels, const ImFontConfig* font_cfg = null, const ImWchar* glyph_ranges = null);
3697         void igDockBuilderDockWindow(const(char)* window_name, ImGuiID node_id);
3698         void igImFontAtlasBuildMultiplyRectAlpha8(const char[256]*/*[256]*/ table, char* pixels, int x, int y, int w, int h, int stride);
3699         void igTextDisabledV(const(char)* fmt, va_list args);
3700         bool igInputScalar(const(char)* label, ImGuiDataType data_type, void* p_data, const void* p_step = null, const void* p_step_fast = null, const(char)* format = null, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
3701         ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr);
3702         ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int(int index);
3703         void igImLerp_Vec2Float(ImVec2* pOut, const ImVec2 a, const ImVec2 b, float t);
3704         void igImLerp_Vec2Vec2(ImVec2* pOut, const ImVec2 a, const ImVec2 b, const ImVec2 t);
3705         void igImLerp_Vec4(ImVec4* pOut, const ImVec4 a, const ImVec4 b, float t);
3706         void igItemSize_Vec2(const ImVec2 size, float text_baseline_y = -1.0f);
3707         void igItemSize_Rect(const ImRect bb, float text_baseline_y = -1.0f);
3708         void ImColor_SetHSV(ImColor* self, float h, float s, float v, float a = 1.0f);
3709         bool ImFont_IsGlyphRangeUnused(ImFont* self, uint c_begin, uint c_last);
3710         void igImBezierQuadraticCalc(ImVec2* pOut, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, float t);
3711         int igImParseFormatPrecision(const(char)* format, int default_value);
3712         void igLogToTTY(int auto_open_depth = -1);
3713         float igTableGetColumnWidthAuto(ImGuiTable* table, ImGuiTableColumn* column);
3714         bool igButtonBehavior(const ImRect bb, ImGuiID id, bool* out_hovered, bool* out_held, ImGuiButtonFlags flags = ImGuiButtonFlags.None);
3715         void ImGuiInputTextState_OnKeyPressed(ImGuiInputTextState* self, int key);
3716         float igImLog_Float(float x);
3717         double igImLog_double(double x);
3718         void igSetFocusID(ImGuiID id, ImGuiWindow* window);
3719         ImGuiID igGetActiveID();
3720         void igImLineClosestPoint(ImVec2* pOut, const ImVec2 a, const ImVec2 b, const ImVec2 p);
3721         bool igIsItemVisible();
3722         void igRender();
3723         float igImTriangleArea(const ImVec2 a, const ImVec2 b, const ImVec2 c);
3724         bool igBeginChild_Str(const(char)* str_id, const ImVec2 size = ImVec2(0,0), bool border = false, ImGuiWindowFlags flags = ImGuiWindowFlags.None);
3725         bool igBeginChild_ID(ImGuiID id, const ImVec2 size = ImVec2(0,0), bool border = false, ImGuiWindowFlags flags = ImGuiWindowFlags.None);
3726         void igStyleColorsLight(ImGuiStyle* dst = null);
3727         float igGetScrollX();
3728         void igCallContextHooks(ImGuiContext* context, ImGuiContextHookType type);
3729         void ImFontAtlas_GetTexDataAsRGBA32(ImFontAtlas* self, char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel = null);
3730         ImGuiOnceUponAFrame* ImGuiOnceUponAFrame_ImGuiOnceUponAFrame();
3731         void ImDrawData_destroy(ImDrawData* self);
3732         const(char)* igSaveIniSettingsToMemory(size_t* out_ini_size = null);
3733         void igTabBarRemoveTab(ImGuiTabBar* tab_bar, ImGuiID tab_id);
3734         float igGetWindowHeight();
3735         ImGuiViewport* igGetMainViewport();
3736         bool ImGuiTextFilter_PassFilter(ImGuiTextFilter* self, const(char)* text, const(char)* text_end = null);
3737         ImFont* ImFontAtlas_AddFontFromMemoryCompressedBase85TTF(ImFontAtlas* self, const(char)* compressed_font_data_base85, float size_pixels, const ImFontConfig* font_cfg = null, const ImWchar* glyph_ranges = null);
3738         ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* self, const(char)* filename, float size_pixels, const ImFontConfig* font_cfg = null, const ImWchar* glyph_ranges = null);
3739         void igEndDisabled();
3740         void ImGuiViewportP_CalcWorkRectSize(ImVec2* pOut, ImGuiViewportP* self, const ImVec2 off_min, const ImVec2 off_max);
3741         ImGuiContext* igGetCurrentContext();
3742         void igColorConvertU32ToFloat4(ImVec4* pOut, ImU32 inItem);
3743         void ImDrawList_PathArcToFast(ImDrawList* self, const ImVec2 center, float radius, int a_min_of_12, int a_max_of_12);
3744         bool igDragFloat(const(char)* label, float* v, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3745         const(char)* igGetStyleColorName(ImGuiCol idx);
3746         void igSetItemDefaultFocus();
3747         ImGuiDockNodeSettings* ImGuiDockNodeSettings_ImGuiDockNodeSettings();
3748         void igCalcListClipping(int items_count, float items_height, int* out_items_display_start, int* out_items_display_end);
3749         void igSetNextWindowPos(const ImVec2 pos, ImGuiCond cond = ImGuiCond.None, const ImVec2 pivot = ImVec2(0,0));
3750         bool igDragFloat3(const(char)* label, float[3]*/*[3]*/ v, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3751         void igCaptureKeyboardFromApp(bool want_capture_keyboard_value = true);
3752         ImGuiTable* igGetCurrentTable();
3753         void ImDrawData_Clear(ImDrawData* self);
3754         ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF(ImFontAtlas* self, const void* compressed_font_data, int compressed_font_size, float size_pixels, const ImFontConfig* font_cfg = null, const ImWchar* glyph_ranges = null);
3755         void ImGuiStoragePair_destroy(ImGuiStoragePair* self);
3756         bool igIsItemToggledOpen();
3757         bool igInputInt3(const(char)* label, int[3]*/*[3]*/ v, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
3758         void igShrinkWidths(ImGuiShrinkWidthItem* items, int count, float width_excess);
3759         void igClosePopupsExceptModals();
3760         void ImDrawList_AddText_Vec2(ImDrawList* self, const ImVec2 pos, ImU32 col, const(char)* text_begin, const(char)* text_end = null);
3761         void ImDrawList_AddText_FontPtr(ImDrawList* self, const ImFont* font, float font_size, const ImVec2 pos, ImU32 col, const(char)* text_begin, const(char)* text_end = null, float wrap_width = 0.0f, const ImVec4* cpu_fine_clip_rect = null);
3762         void ImDrawList_PrimRectUV(ImDrawList* self, const ImVec2 a, const ImVec2 b, const ImVec2 uv_a, const ImVec2 uv_b, ImU32 col);
3763         void ImDrawList_PrimWriteIdx(ImDrawList* self, ImDrawIdx idx);
3764         ImGuiOldColumns* ImGuiOldColumns_ImGuiOldColumns();
3765         void igTableRemove(ImGuiTable* table);
3766         void igDebugNodeTableSettings(ImGuiTableSettings* settings);
3767         bool ImGuiStorage_GetBool(ImGuiStorage* self, ImGuiID key, bool default_val = false);
3768         void igRenderFrameBorder(ImVec2 p_min, ImVec2 p_max, float rounding = 0.0f);
3769         ImGuiWindow* igFindWindowByName(const(char)* name);
3770         ImGuiLastItemData* ImGuiLastItemData_ImGuiLastItemData();
3771         int igImTextStrToUtf8(char* out_buf, int out_buf_size, const ImWchar* in_text, const ImWchar* in_text_end);
3772         void igScrollToBringRectIntoView(ImVec2* pOut, ImGuiWindow* window, const ImRect item_rect);
3773         bool igInputInt(const(char)* label, int* v, int step = 1, int step_fast = 100, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
3774         ImVec2* ImVec2_ImVec2_Nil();
3775         ImVec2* ImVec2_ImVec2_Float(float _x, float _y);
3776         int ImGuiTextBuffer_size(ImGuiTextBuffer* self);
3777         const ImWchar* ImFontAtlas_GetGlyphRangesDefault(ImFontAtlas* self);
3778         void igUpdatePlatformWindows();
3779         void igTextWrapped(const(char)* fmt, ...);
3780         void ImFontAtlas_ClearTexData(ImFontAtlas* self);
3781         float ImFont_GetCharAdvance(ImFont* self, ImWchar c);
3782         bool igSliderFloat3(const(char)* label, float[3]*/*[3]*/ v, float v_min, float v_max, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3783         void ImDrawList_PathFillConvex(ImDrawList* self, ImU32 col);
3784         ImGuiTextBuffer* ImGuiTextBuffer_ImGuiTextBuffer();
3785         void ImGuiTabItem_destroy(ImGuiTabItem* self);
3786         bool igSliderAngle(const(char)* label, float* v_rad, float v_degrees_min = -360.0f, float v_degrees_max = +360.0f, const(char)* format = "%.0f deg", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3787         void ImGuiTableColumnSortSpecs_destroy(ImGuiTableColumnSortSpecs* self);
3788         void igSetWindowPos_Vec2(const ImVec2 pos, ImGuiCond cond = ImGuiCond.None);
3789         void igSetWindowPos_Str(const(char)* name, const ImVec2 pos, ImGuiCond cond = ImGuiCond.None);
3790         void igSetWindowPos_WindowPtr(ImGuiWindow* window, const ImVec2 pos, ImGuiCond cond = ImGuiCond.None);
3791         bool igTempInputText(const ImRect bb, ImGuiID id, const(char)* label, char* buf, int buf_size, ImGuiInputTextFlags flags);
3792         void igSetScrollHereY(float center_y_ratio = 0.5f);
3793         bool igMenuItemEx(const(char)* label, const(char)* icon, const(char)* shortcut = null, bool selected = false, bool enabled = true);
3794         void ImGuiIO_AddFocusEvent(ImGuiIO* self, bool focused);
3795         ImGuiViewport* ImGuiViewport_ImGuiViewport();
3796         void igProgressBar(float fraction, const ImVec2 size_arg = ImVec2(-float.min_normal,0), const(char)* overlay = null);
3797         ImDrawList* ImDrawList_CloneOutput(ImDrawList* self);
3798         void ImFontGlyphRangesBuilder_destroy(ImFontGlyphRangesBuilder* self);
3799         void ImVec1_destroy(ImVec1* self);
3800         void igPushColumnClipRect(int column_index);
3801         void igTabBarQueueReorderFromMousePos(ImGuiTabBar* tab_bar, const ImGuiTabItem* tab, ImVec2 mouse_pos);
3802         void igLogTextV(const(char)* fmt, va_list args);
3803         void igDockBuilderCopyWindowSettings(const(char)* src_name, const(char)* dst_name);
3804         int igImTextCharFromUtf8(uint* out_char, const(char)* in_text, const(char)* in_text_end);
3805         ImRect* ImRect_ImRect_Nil();
3806         ImRect* ImRect_ImRect_Vec2(const ImVec2 min, const ImVec2 max);
3807         ImRect* ImRect_ImRect_Vec4(const ImVec4 v);
3808         ImRect* ImRect_ImRect_Float(float x1, float y1, float x2, float y2);
3809         ImGuiWindow* igGetTopMostPopupModal();
3810         void ImDrawListSplitter_Split(ImDrawListSplitter* self, ImDrawList* draw_list, int count);
3811         void igBulletText(const(char)* fmt, ...);
3812         void igImFontAtlasBuildFinish(ImFontAtlas* atlas);
3813         void igDebugNodeViewport(ImGuiViewportP* viewport);
3814         void ImDrawList_AddQuad(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, ImU32 col, float thickness = 1.0f);
3815         ImGuiID igDockSpace(ImGuiID id, const ImVec2 size = ImVec2(0,0), ImGuiDockNodeFlags flags = ImGuiDockNodeFlags.None, const ImGuiWindowClass* window_class = null);
3816         ImU32 igGetColorU32_Col(ImGuiCol idx, float alpha_mul = 1.0f);
3817         ImU32 igGetColorU32_Vec4(const ImVec4 col);
3818         ImU32 igGetColorU32_U32(ImU32 col);
3819         ImGuiID ImGuiWindow_GetIDFromRectangle(ImGuiWindow* self, const ImRect r_abs);
3820         void ImDrawList_AddDrawCmd(ImDrawList* self);
3821         void igUpdateWindowParentAndRootLinks(ImGuiWindow* window, ImGuiWindowFlags flags, ImGuiWindow* parent_window);
3822         bool igIsItemDeactivated();
3823         void igSetCursorPosX(float local_x);
3824         bool igInputFloat4(const(char)* label, float[4]*/*[4]*/ v, const(char)* format = "%.3f", ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
3825         void igSeparator();
3826         void ImRect_Translate(ImRect* self, const ImVec2 d);
3827         void ImDrawList_PrimUnreserve(ImDrawList* self, int idx_count, int vtx_count);
3828         void igColorPickerOptionsPopup(const float* ref_col, ImGuiColorEditFlags flags);
3829         bool ImRect_IsInverted(ImRect* self);
3830         int igGetKeyIndex(ImGuiKey imgui_key);
3831         ImGuiViewport* igFindViewportByID(ImGuiID id);
3832         void ImGuiMetricsConfig_destroy(ImGuiMetricsConfig* self);
3833         void igPushItemFlag(ImGuiItemFlags option, bool enabled);
3834         void igScrollbar(ImGuiAxis axis);
3835         void igDebugNodeWindowsList(ImVector!(ImGuiWindow*)* windows, const(char)* label);
3836         void ImDrawList_PrimWriteVtx(ImDrawList* self, const ImVec2 pos, const ImVec2 uv, ImU32 col);
3837         void ImGuiDockContext_destroy(ImGuiDockContext* self);
3838         bool ImGuiPayload_IsDataType(ImGuiPayload* self, const(char)* type);
3839         void igSetActiveID(ImGuiID id, ImGuiWindow* window);
3840         void ImFontGlyphRangesBuilder_BuildRanges(ImFontGlyphRangesBuilder* self, ImVector!(ImWchar)* out_ranges);
3841         ImGuiDockPreviewData* ImGuiDockPreviewData_ImGuiDockPreviewData();
3842         void igSetWindowSize_Vec2(const ImVec2 size, ImGuiCond cond = ImGuiCond.None);
3843         void igSetWindowSize_Str(const(char)* name, const ImVec2 size, ImGuiCond cond = ImGuiCond.None);
3844         void igSetWindowSize_WindowPtr(ImGuiWindow* window, const ImVec2 size, ImGuiCond cond = ImGuiCond.None);
3845         void igTreePop();
3846         void igTableGetCellBgRect(ImRect* pOut, const ImGuiTable* table, int column_n);
3847         void ImFont_AddRemapChar(ImFont* self, ImWchar dst, ImWchar src, bool overwrite_dst = true);
3848         void igNavMoveRequestCancel();
3849         void igText(const(char)* fmt, ...);
3850         bool igCollapseButton(ImGuiID id, const ImVec2 pos, ImGuiDockNode* dock_node);
3851         void ImGuiWindow_TitleBarRect(ImRect* pOut, ImGuiWindow* self);
3852         bool igIsItemFocused();
3853         void igTranslateWindowsInViewport(ImGuiViewportP* viewport, const ImVec2 old_pos, const ImVec2 new_pos);
3854         void* igMemAlloc(size_t size);
3855         void ImGuiStackSizes_destroy(ImGuiStackSizes* self);
3856         bool igColorPicker3(const(char)* label, float[3]*/*[3]*/ col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None);
3857         void ImGuiTextBuffer_destroy(ImGuiTextBuffer* self);
3858         float igGetColumnOffset(int column_index = -1);
3859         void igSetCurrentViewport(ImGuiWindow* window, ImGuiViewportP* viewport);
3860         void ImRect_GetSize(ImVec2* pOut, ImRect* self);
3861         void igSetItemUsingMouseWheel();
3862         bool igIsWindowCollapsed();
3863         void ImGuiNextItemData_ClearFlags(ImGuiNextItemData* self);
3864         bool igBeginCombo(const(char)* label, const(char)* preview_value, ImGuiComboFlags flags = ImGuiComboFlags.None);
3865         void ImRect_Expand_Float(ImRect* self, const float amount);
3866         void ImRect_Expand_Vec2(ImRect* self, const ImVec2 amount);
3867         void igNavMoveRequestApplyResult();
3868         void igOpenPopup_Str(const(char)* str_id, ImGuiPopupFlags popup_flags = ImGuiPopupFlags.MouseButtonLeft);
3869         void igOpenPopup_ID(ImGuiID id, ImGuiPopupFlags popup_flags = ImGuiPopupFlags.MouseButtonLeft);
3870         bool igImCharIsBlankW(uint c);
3871         void ImFont_SetGlyphVisible(ImFont* self, ImWchar c, bool visible);
3872         ImGuiWindowSettings* igFindOrCreateWindowSettings(const(char)* name);
3873         float igImFloorSigned(float f);
3874         bool igInputScalarN(const(char)* label, ImGuiDataType data_type, void* p_data, int components, const void* p_step = null, const void* p_step_fast = null, const(char)* format = null, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
3875         void ImDrawList_PrimQuadUV(ImDrawList* self, const ImVec2 a, const ImVec2 b, const ImVec2 c, const ImVec2 d, const ImVec2 uv_a, const ImVec2 uv_b, const ImVec2 uv_c, const ImVec2 uv_d, ImU32 col);
3876         void igPopID();
3877         void igEndTabBar();
3878         void igPopAllowKeyboardFocus();
3879         void ImDrawList_AddImage(ImDrawList* self, ImTextureID user_texture_id, const ImVec2 p_min, const ImVec2 p_max, const ImVec2 uv_min = ImVec2(0,0), const ImVec2 uv_max = ImVec2(1,1), ImU32 col = 4294967295);
3880         bool igBeginTabBar(const(char)* str_id, ImGuiTabBarFlags flags = ImGuiTabBarFlags.None);
3881         float igGetCursorPosY();
3882         void igCalcTextSize(ImVec2* pOut, const(char)* text, const(char)* text_end = null, bool hide_text_after_double_hash = false, float wrap_width = -1.0f);
3883         void igSetActiveIdUsingNavAndKeys();
3884         void ImFont_CalcTextSizeA(ImVec2* pOut, ImFont* self, float size, float max_width, float wrap_width, const(char)* text_begin, const(char)* text_end = null, const char** remaining = null);
3885         void igImClamp(ImVec2* pOut, const ImVec2 v, const ImVec2 mn, ImVec2 mx);
3886         float igGetColumnWidth(int column_index = -1);
3887         void igTableHeader(const(char)* label);
3888         ImGuiTabItem* igTabBarFindMostRecentlySelectedTabForActiveWindow(ImGuiTabBar* tab_bar);
3889         void ImGuiPayload_Clear(ImGuiPayload* self);
3890         void ImGuiTextBuffer_reserve(ImGuiTextBuffer* self, int capacity);
3891         void ImDrawList__TryMergeDrawCmds(ImDrawList* self);
3892         void ImGuiInputTextState_CursorAnimReset(ImGuiInputTextState* self);
3893         void ImRect_ClipWithFull(ImRect* self, const ImRect r);
3894         void igGetFontTexUvWhitePixel(ImVec2* pOut);
3895         void ImDrawList_ChannelsSplit(ImDrawList* self, int count);
3896         void igCalcWindowNextAutoFitSize(ImVec2* pOut, ImGuiWindow* window);
3897         void igPopFont();
3898         bool igImTriangleContainsPoint(const ImVec2 a, const ImVec2 b, const ImVec2 c, const ImVec2 p);
3899         void igRenderRectFilledWithHole(ImDrawList* draw_list, ImRect outer, ImRect inner, ImU32 col, float rounding);
3900         float igImFloor_Float(float f);
3901         void igImFloor_Vec2(ImVec2* pOut, const ImVec2 v);
3902         void ImDrawList_AddRect(ImDrawList* self, const ImVec2 p_min, const ImVec2 p_max, ImU32 col, float rounding = 0.0f, ImDrawFlags flags = ImDrawFlags.None, float thickness = 1.0f);
3903         const(char)* igImParseFormatFindEnd(const(char)* format);
3904         void ImGuiPlatformIO_destroy(ImGuiPlatformIO* self);
3905         void ImGuiTableColumnSettings_destroy(ImGuiTableColumnSettings* self);
3906         void ImGuiInputTextCallbackData_ClearSelection(ImGuiInputTextCallbackData* self);
3907         void igErrorCheckEndFrameRecover(ImGuiErrorLogCallback log_callback, void* user_data = null);
3908         void ImGuiTextRange_split(ImGuiTextRange* self, char separator, ImVector!(ImGuiTextRange)* outItem);
3909         void ImBitVector_Clear(ImBitVector* self);
3910         ImGuiID igDockBuilderAddNode(ImGuiID node_id = 0, ImGuiDockNodeFlags flags = ImGuiDockNodeFlags.None);
3911         ImGuiWindowSettings* igCreateNewWindowSettings(const(char)* name);
3912         ImGuiID igDockNodeGetWindowMenuButtonId(const ImGuiDockNode* node);
3913         bool ImGuiDockNode_IsRootNode(ImGuiDockNode* self);
3914         void igDockContextInitialize(ImGuiContext* ctx);
3915         ImDrawListSharedData* igGetDrawListSharedData();
3916         bool igBeginChildEx(const(char)* name, ImGuiID id, const ImVec2 size_arg, bool border, ImGuiWindowFlags flags);
3917         void ImGuiNextWindowData_ClearFlags(ImGuiNextWindowData* self);
3918         bool igImFileClose(ImFileHandle file);
3919         bool ImFontGlyphRangesBuilder_GetBit(ImFontGlyphRangesBuilder* self, size_t n);
3920         void igImRotate(ImVec2* pOut, const ImVec2 v, float cos_a, float sin_a);
3921         ImGuiDir igImGetDirQuadrantFromDelta(float dx, float dy);
3922         void igTableMergeDrawChannels(ImGuiTable* table);
3923         ImFont* ImFontAtlas_AddFont(ImFontAtlas* self, const ImFontConfig* font_cfg);
3924         void igGetNavInputAmount2d(ImVec2* pOut, ImGuiNavDirSourceFlags dir_sources, ImGuiInputReadMode mode, float slow_factor = 0.0f, float fast_factor = 0.0f);
3925     }
3926     extern (C) @nogc nothrow {
3927         version (USE_GLFW) {
3928             import bindbc.sdl;
3929 
3930             void ImGui_ImplGlfw_MonitorCallback(GLFWmonitor* monitor, int event);
3931             void ImGui_ImplGlfw_NewFrame();
3932             bool ImGui_ImplGlfw_InitForOther(GLFWwindow* window, bool install_callbacks);
3933             bool ImGui_ImplGlfw_InitForVulkan(GLFWwindow* window, bool install_callbacks);
3934             void ImGui_ImplGlfw_CharCallback(GLFWwindow* window, uint c);
3935             bool ImGui_ImplGlfw_InitForOpenGL(GLFWwindow* window, bool install_callbacks);
3936             void ImGui_ImplGlfw_KeyCallback(GLFWwindow* window, int key, int scancode, int action, int mods);
3937             void ImGui_ImplGlfw_ScrollCallback(GLFWwindow* window, double xoffset, double yoffset);
3938             void ImGui_ImplGlfw_MouseButtonCallback(GLFWwindow* window, int button, int action, int mods);
3939             void ImGui_ImplGlfw_WindowFocusCallback(GLFWwindow* window, int focused);
3940             void ImGui_ImplGlfw_Shutdown();
3941             void ImGui_ImplGlfw_CursorEnterCallback(GLFWwindow* window, int entered);
3942         }
3943         version (USE_OpenGL3) {
3944 
3945             void ImGui_ImplOpenGL3_DestroyFontsTexture();
3946             bool ImGui_ImplOpenGL3_CreateFontsTexture();
3947             bool ImGui_ImplOpenGL3_CreateDeviceObjects();
3948             bool ImGui_ImplOpenGL3_Init(const(char)* glsl_version = null);
3949             void ImGui_ImplOpenGL3_DestroyDeviceObjects();
3950             void ImGui_ImplOpenGL3_NewFrame();
3951             void ImGui_ImplOpenGL3_Shutdown();
3952             void ImGui_ImplOpenGL3_RenderDrawData(ImDrawData* draw_data);
3953         }
3954         version (USE_SDL2) {
3955             import bindbc.sdl;
3956 
3957             void ImGui_ImplSDL2_Shutdown();
3958             bool ImGui_ImplSDL2_InitForMetal(SDL_Window* window);
3959             bool ImGui_ImplSDL2_InitForOpenGL(SDL_Window* window, void* sdl_gl_context);
3960             bool ImGui_ImplSDL2_InitForVulkan(SDL_Window* window);
3961             bool ImGui_ImplSDL2_InitForD3D(SDL_Window* window);
3962             bool ImGui_ImplSDL2_ProcessEvent(const SDL_Event* event);
3963             bool ImGui_ImplSDL2_InitForSDLRenderer(SDL_Window* window);
3964             void ImGui_ImplSDL2_NewFrame();
3965         }
3966         version (USE_OpenGL2) {
3967 
3968             bool ImGui_ImplOpenGL2_CreateDeviceObjects();
3969             bool ImGui_ImplOpenGL2_Init();
3970             void ImGui_ImplOpenGL2_DestroyDeviceObjects();
3971             void ImGui_ImplOpenGL2_NewFrame();
3972             void ImGui_ImplOpenGL2_RenderDrawData(ImDrawData* draw_data);
3973             bool ImGui_ImplOpenGL2_CreateFontsTexture();
3974             void ImGui_ImplOpenGL2_Shutdown();
3975             void ImGui_ImplOpenGL2_DestroyFontsTexture();
3976         }
3977     }
3978 } else {
3979     extern (C) @nogc nothrow {
3980         alias pImDrawList_AddCircleFilled = void function(ImDrawList* self, const ImVec2 center, float radius, ImU32 col, int num_segments = 0);
3981         alias pImGuiPlatformIO_ImGuiPlatformIO = ImGuiPlatformIO* function();
3982         alias pigDockContextQueueUndockWindow = void function(ImGuiContext* ctx, ImGuiWindow* window);
3983         alias pImGuiComboPreviewData_ImGuiComboPreviewData = ImGuiComboPreviewData* function();
3984         alias pigEndTable = void function();
3985         alias pImFontAtlas_GetGlyphRangesChineseFull = const ImWchar* function(ImFontAtlas* self);
3986         alias pigBringWindowToDisplayFront = void function(ImGuiWindow* window);
3987         alias pigGetForegroundDrawList_Nil = ImDrawList* function();
3988         alias pigGetForegroundDrawList_ViewportPtr = ImDrawList* function(ImGuiViewport* viewport);
3989         alias pigGetForegroundDrawList_WindowPtr = ImDrawList* function(ImGuiWindow* window);
3990         alias pigInitialize = void function(ImGuiContext* context);
3991         alias pImFontAtlas_AddCustomRectRegular = int function(ImFontAtlas* self, int width, int height);
3992         alias pigIsMouseDragPastThreshold = bool function(ImGuiMouseButton button, float lock_threshold = -1.0f);
3993         alias pigSetWindowFontScale = void function(float scale);
3994         alias pigSliderFloat = bool function(const(char)* label, float* v, float v_min, float v_max, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
3995         alias pigDestroyPlatformWindows = void function();
3996         alias pigImMax = void function(ImVec2* pOut, const ImVec2 lhs, const ImVec2 rhs);
3997         alias pImRect_GetTR = void function(ImVec2* pOut, ImRect* self);
3998         alias pigTableSetupColumn = void function(const(char)* label, ImGuiTableColumnFlags flags = ImGuiTableColumnFlags.None, float init_width_or_weight = 0.0f, ImGuiID user_id = 0);
3999         alias pImFontAtlas_GetGlyphRangesThai = const ImWchar* function(ImFontAtlas* self);
4000         alias pImGuiInputTextState_ClearSelection = void function(ImGuiInputTextState* self);
4001         alias pImFont_GrowIndex = void function(ImFont* self, int new_size);
4002         alias pigClosePopupsOverWindow = void function(ImGuiWindow* ref_window, bool restore_focus_to_window_under_popup);
4003         alias pImFontAtlas_ClearInputData = void function(ImFontAtlas* self);
4004         alias pImGuiWindowSettings_destroy = void function(ImGuiWindowSettings* self);
4005         alias pigIsMouseDragging = bool function(ImGuiMouseButton button, float lock_threshold = -1.0f);
4006         alias pigLoadIniSettingsFromDisk = void function(const(char)* ini_filename);
4007         alias pigImBezierCubicCalc = void function(ImVec2* pOut, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, float t);
4008         alias pImGuiTextBuffer_end = const(char)* function(ImGuiTextBuffer* self);
4009         alias pImGuiTabBar_destroy = void function(ImGuiTabBar* self);
4010         alias pigDockContextCalcDropPosForDocking = bool function(ImGuiWindow* target, ImGuiDockNode* target_node, ImGuiWindow* payload, ImGuiDir split_dir, bool split_outer, ImVec2* out_pos);
4011         alias pigSetClipboardText = void function(const(char)* text);
4012         alias pigRenderColorRectWithAlphaCheckerboard = void function(ImDrawList* draw_list, ImVec2 p_min, ImVec2 p_max, ImU32 fill_col, float grid_step, ImVec2 grid_off, float rounding = 0.0f, ImDrawFlags flags = ImDrawFlags.None);
4013         alias pigFindBestWindowPosForPopup = void function(ImVec2* pOut, ImGuiWindow* window);
4014         alias pigRadioButton_Bool = bool function(const(char)* label, bool active);
4015         alias pigRadioButton_IntPtr = bool function(const(char)* label, int* v, int v_button);
4016         alias pImGuiTextFilter_Clear = void function(ImGuiTextFilter* self);
4017         alias pImRect_TranslateX = void function(ImRect* self, float dx);
4018         alias pigGetWindowPos = void function(ImVec2* pOut);
4019         alias pImGuiIO_ClearInputCharacters = void function(ImGuiIO* self);
4020         alias pigImBitArraySetBit = void function(ImU32* arr, int n);
4021         alias pImDrawDataBuilder_FlattenIntoSingleLayer = void function(ImDrawDataBuilder* self);
4022         alias pigRenderTextWrapped = void function(ImVec2 pos, const(char)* text, const(char)* text_end, float wrap_width);
4023         alias pigSpacing = void function();
4024         alias pImRect_TranslateY = void function(ImRect* self, float dy);
4025         alias pImGuiTextBuffer_c_str = const(char)* function(ImGuiTextBuffer* self);
4026         alias pigTabBarFindTabByID = ImGuiTabItem* function(ImGuiTabBar* tab_bar, ImGuiID tab_id);
4027         alias pigDataTypeApplyOpFromText = bool function(const(char)* buf, const(char)* initial_value_buf, ImGuiDataType data_type, void* p_data, const(char)* format);
4028         alias pigNavMoveRequestSubmit = void function(ImGuiDir move_dir, ImGuiDir clip_dir, ImGuiNavMoveFlags move_flags);
4029         alias pImGuiInputTextState_destroy = void function(ImGuiInputTextState* self);
4030         alias pigBeginComboPreview = bool function();
4031         alias pigGetDrawData = ImDrawData* function();
4032         alias pigPopItemWidth = void function();
4033         alias pigIsWindowAppearing = bool function();
4034         alias pigGetAllocatorFunctions = void function(ImGuiMemAllocFunc* p_alloc_func, ImGuiMemFreeFunc* p_free_func, void** p_user_data);
4035         alias pigRenderRectFilledRangeH = void function(ImDrawList* draw_list, const ImRect rect, ImU32 col, float x_start_norm, float x_end_norm, float rounding);
4036         alias pigSetWindowDock = void function(ImGuiWindow* window, ImGuiID dock_id, ImGuiCond cond);
4037         alias pigImFontAtlasGetBuilderForStbTruetype = const ImFontBuilderIO* function();
4038         alias pigFindOrCreateColumns = ImGuiOldColumns* function(ImGuiWindow* window, ImGuiID id);
4039         alias pImGuiStorage_GetVoidPtr = void* function(ImGuiStorage* self, ImGuiID key);
4040         alias pImGuiInputTextState_GetRedoAvailCount = int function(ImGuiInputTextState* self);
4041         alias pigIsPopupOpen_Str = bool function(const(char)* str_id, ImGuiPopupFlags flags = ImGuiPopupFlags.MouseButtonLeft);
4042         alias pigIsPopupOpen_ID = bool function(ImGuiID id, ImGuiPopupFlags popup_flags);
4043         alias pigTableGetSortSpecs = ImGuiTableSortSpecs* function();
4044         alias pigTableDrawBorders = void function(ImGuiTable* table);
4045         alias pImGuiTable_ImGuiTable = ImGuiTable* function();
4046         alias pigInputDouble = bool function(const(char)* label, double* v, double step = 0.0, double step_fast = 0.0, const(char)* format = "%.6f", ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
4047         alias pigUnindent = void function(float indent_w = 0.0f);
4048         alias pigIsDragDropPayloadBeingAccepted = bool function();
4049         alias pigGetFontSize = float function();
4050         alias pImGuiMenuColumns_DeclColumns = float function(ImGuiMenuColumns* self, float w_icon, float w_label, float w_shortcut, float w_mark);
4051         alias pImFontAtlas_CalcCustomRectUV = void function(ImFontAtlas* self, const ImFontAtlasCustomRect* rect, ImVec2* out_uv_min, ImVec2* out_uv_max);
4052         alias pigGetFrameHeightWithSpacing = float function();
4053         alias pImDrawListSplitter_destroy = void function(ImDrawListSplitter* self);
4054         alias pigGetItemRectMax = void function(ImVec2* pOut);
4055         alias pigImStreolRange = const(char)* function(const(char)* str, const(char)* str_end);
4056         alias pigDragInt = bool function(const(char)* label, int* v, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4057         alias pigGetFont = ImFont* function();
4058         alias pigDragFloatRange2 = bool function(const(char)* label, float* v_current_min, float* v_current_max, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const(char)* format = "%.3f", const(char)* format_max = null, ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4059         alias pigTableUpdateLayout = void function(ImGuiTable* table);
4060         alias pImGuiStorage_Clear = void function(ImGuiStorage* self);
4061         alias pImGuiViewportP_UpdateWorkRect = void function(ImGuiViewportP* self);
4062         alias pigTableNextColumn = bool function();
4063         alias pImGuiWindow_GetID_Str = ImGuiID function(ImGuiWindow* self, const(char)* str, const(char)* str_end = null);
4064         alias pImGuiWindow_GetID_Ptr = ImGuiID function(ImGuiWindow* self, const void* ptr);
4065         alias pImGuiWindow_GetID_Int = ImGuiID function(ImGuiWindow* self, int n);
4066         alias pigImFontAtlasBuildPackCustomRects = void function(ImFontAtlas* atlas, void* stbrp_context_opaque);
4067         alias pImGuiDockNode_Rect = void function(ImRect* pOut, ImGuiDockNode* self);
4068         alias pigDockBuilderGetNode = ImGuiDockNode* function(ImGuiID node_id);
4069         alias pigIsActiveIdUsingKey = bool function(ImGuiKey key);
4070         alias pigTableGetColumnFlags = ImGuiTableColumnFlags function(int column_n = -1);
4071         alias pigSetCursorScreenPos = void function(const ImVec2 pos);
4072         alias pigImStristr = const(char)* function(const(char)* haystack, const(char)* haystack_end, const(char)* needle, const(char)* needle_end);
4073         alias pigSetNextWindowViewport = void function(ImGuiID viewport_id);
4074         alias pImFont_GetDebugName = const(char)* function(ImFont* self);
4075         alias pigBeginPopupContextWindow = bool function(const(char)* str_id = null, ImGuiPopupFlags popup_flags = ImGuiPopupFlags.MouseButtonDefault_);
4076         alias pigBeginTable = bool function(const(char)* str_id, int column, ImGuiTableFlags flags = ImGuiTableFlags.None, const ImVec2 outer_size = ImVec2(0.0f,0.0f), float inner_width = 0.0f);
4077         alias pigButtonEx = bool function(const(char)* label, const ImVec2 size_arg = ImVec2(0,0), ImGuiButtonFlags flags = ImGuiButtonFlags.None);
4078         alias pigTextEx = void function(const(char)* text, const(char)* text_end = null, ImGuiTextFlags flags = ImGuiTextFlags.None);
4079         alias pImGuiPayload_IsPreview = bool function(ImGuiPayload* self);
4080         alias pigLabelTextV = void function(const(char)* label, const(char)* fmt, va_list args);
4081         alias pigNavInitRequestApplyResult = void function();
4082         alias pigImStrSkipBlank = const(char)* function(const(char)* str);
4083         alias pigPushColumnsBackground = void function();
4084         alias pImGuiWindow_ImGuiWindow = ImGuiWindow* function(ImGuiContext* context, const(char)* name);
4085         alias pigGetScrollMaxX = float function();
4086         alias pImBitVector_Create = void function(ImBitVector* self, int sz);
4087         alias pigCloseCurrentPopup = void function();
4088         alias pigImBitArraySetBitRange = void function(ImU32* arr, int n, int n2);
4089         alias pigFindViewportByPlatformHandle = ImGuiViewport* function(void* platform_handle);
4090         alias pImGuiTableSortSpecs_ImGuiTableSortSpecs = ImGuiTableSortSpecs* function();
4091         alias pigGetMouseDragDelta = void function(ImVec2* pOut, ImGuiMouseButton button = ImGuiMouseButton.Left, float lock_threshold = -1.0f);
4092         alias pigSetWindowCollapsed_Bool = void function(bool collapsed, ImGuiCond cond = ImGuiCond.None);
4093         alias pigSetWindowCollapsed_Str = void function(const(char)* name, bool collapsed, ImGuiCond cond = ImGuiCond.None);
4094         alias pigSetWindowCollapsed_WindowPtr = void function(ImGuiWindow* window, bool collapsed, ImGuiCond cond = ImGuiCond.None);
4095         alias pigSplitterBehavior = bool function(const ImRect bb, ImGuiID id, ImGuiAxis axis, float* size1, float* size2, float min_size1, float min_size2, float hover_extend = 0.0f, float hover_visibility_delay = 0.0f);
4096         alias pImGuiNavItemData_destroy = void function(ImGuiNavItemData* self);
4097         alias pImGuiDockNode_IsDockSpace = bool function(ImGuiDockNode* self);
4098         alias pigTableDrawContextMenu = void function(ImGuiTable* table);
4099         alias pigTextDisabled = void function(const(char)* fmt, ...);
4100         alias pigDebugNodeStorage = void function(ImGuiStorage* storage, const(char)* label);
4101         alias pigFindBestWindowPosForPopupEx = void function(ImVec2* pOut, const ImVec2 ref_pos, const ImVec2 size, ImGuiDir* last_dir, const ImRect r_outer, const ImRect r_avoid, ImGuiPopupPositionPolicy policy);
4102         alias pigTableSetColumnEnabled = void function(int column_n, bool v);
4103         alias pigShowUserGuide = void function();
4104         alias pigEndPopup = void function();
4105         alias pigClearActiveID = void function();
4106         alias pigBeginChildFrame = bool function(ImGuiID id, const ImVec2 size, ImGuiWindowFlags flags = ImGuiWindowFlags.None);
4107         alias pImGuiSettingsHandler_destroy = void function(ImGuiSettingsHandler* self);
4108         alias pImDrawList__ResetForNewFrame = void function(ImDrawList* self);
4109         alias pImGuiTextBuffer_append = void function(ImGuiTextBuffer* self, const(char)* str, const(char)* str_end = null);
4110         alias pImGuiInputTextState_GetUndoAvailCount = int function(ImGuiInputTextState* self);
4111         alias pigEndFrame = void function();
4112         alias pImGuiTableColumn_destroy = void function(ImGuiTableColumn* self);
4113         alias pImGuiTextRange_empty = bool function(ImGuiTextRange* self);
4114         alias pImGuiInputTextState_ClearText = void function(ImGuiInputTextState* self);
4115         alias pigIsRectVisible_Nil = bool function(const ImVec2 size);
4116         alias pigIsRectVisible_Vec2 = bool function(const ImVec2 rect_min, const ImVec2 rect_max);
4117         alias pImGuiInputTextCallbackData_HasSelection = bool function(ImGuiInputTextCallbackData* self);
4118         alias pigCalcWrapWidthForPos = float function(const ImVec2 pos, float wrap_pos_x);
4119         alias pigGetIDWithSeed = ImGuiID function(const(char)* str_id_begin, const(char)* str_id_end, ImGuiID seed);
4120         alias pigImUpperPowerOfTwo = int function(int v);
4121         alias pigColorConvertRGBtoHSV = void function(float r, float g, float b, float* out_h, float* out_s, float* out_v);
4122         alias pigIsMouseClicked = bool function(ImGuiMouseButton button, bool repeat = false);
4123         alias pigPushFocusScope = void function(ImGuiID id);
4124         alias pigSetNextWindowFocus = void function();
4125         alias pigGetDefaultFont = ImFont* function();
4126         alias pigGetClipboardText = const(char)* function();
4127         alias pigIsAnyItemHovered = bool function();
4128         alias pigTableResetSettings = void function(ImGuiTable* table);
4129         alias pImGuiListClipper_ImGuiListClipper = ImGuiListClipper* function();
4130         alias pigTableGetHoveredColumn = int function();
4131         alias pigImStrlenW = int function(const ImWchar* str);
4132         alias pigGetWindowDockNode = ImGuiDockNode* function();
4133         alias pigBeginPopup = bool function(const(char)* str_id, ImGuiWindowFlags flags = ImGuiWindowFlags.None);
4134         alias pImGuiNavItemData_Clear = void function(ImGuiNavItemData* self);
4135         alias pigTableGetRowIndex = int function();
4136         alias pigImFileGetSize = ImU64 function(ImFileHandle file);
4137         alias pImGuiSettingsHandler_ImGuiSettingsHandler = ImGuiSettingsHandler* function();
4138         alias pigMenuItem_Bool = bool function(const(char)* label, const(char)* shortcut = null, bool selected = false, bool enabled = true);
4139         alias pigMenuItem_BoolPtr = bool function(const(char)* label, const(char)* shortcut, bool* p_selected, bool enabled = true);
4140         alias pigDockBuilderFinish = void function(ImGuiID node_id);
4141         alias pImGuiStyleMod_ImGuiStyleMod_Int = ImGuiStyleMod* function(ImGuiStyleVar idx, int v);
4142         alias pImGuiStyleMod_ImGuiStyleMod_Float = ImGuiStyleMod* function(ImGuiStyleVar idx, float v);
4143         alias pImGuiStyleMod_ImGuiStyleMod_Vec2 = ImGuiStyleMod* function(ImGuiStyleVar idx, ImVec2 v);
4144         alias pImFontConfig_destroy = void function(ImFontConfig* self);
4145         alias pigBeginPopupEx = bool function(ImGuiID id, ImGuiWindowFlags extra_flags);
4146         alias pigImCharIsBlankA = bool function(char c);
4147         alias pigImStrTrimBlanks = void function(char* str);
4148         alias pImGuiListClipper_End = void function(ImGuiListClipper* self);
4149         alias pigResetMouseDragDelta = void function(ImGuiMouseButton button = ImGuiMouseButton.Left);
4150         alias pigDestroyContext = void function(ImGuiContext* ctx = null);
4151         alias pigSetNextWindowContentSize = void function(const ImVec2 size);
4152         alias pigSaveIniSettingsToDisk = void function(const(char)* ini_filename);
4153         alias pigGetWindowScrollbarRect = void function(ImRect* pOut, ImGuiWindow* window, ImGuiAxis axis);
4154         alias pigBeginComboPopup = bool function(ImGuiID popup_id, const ImRect bb, ImGuiComboFlags flags);
4155         alias pigTableSetupScrollFreeze = void function(int cols, int rows);
4156         alias pImGuiTableSettings_GetColumnSettings = ImGuiTableColumnSettings* function(ImGuiTableSettings* self);
4157         alias pigInputTextMultiline = bool function(const(char)* label, char* buf, size_t buf_size, const ImVec2 size = ImVec2(0,0), ImGuiInputTextFlags flags = ImGuiInputTextFlags.None, ImGuiInputTextCallback callback = null, void* user_data = null);
4158         alias pigIsClippedEx = bool function(const ImRect bb, ImGuiID id);
4159         alias pigGetWindowScrollbarID = ImGuiID function(ImGuiWindow* window, ImGuiAxis axis);
4160         alias pImGuiTextFilter_IsActive = bool function(ImGuiTextFilter* self);
4161         alias pImDrawListSharedData_ImDrawListSharedData = ImDrawListSharedData* function();
4162         alias pImFontAtlas_GetMouseCursorTexData = bool function(ImFontAtlas* self, ImGuiMouseCursor cursor, ImVec2* out_offset, ImVec2* out_size, ImVec2[2]*/*[2]*/ out_uv_border, ImVec2[2]*/*[2]*/ out_uv_fill);
4163         alias pigLogText = void function(const(char)* fmt, ...);
4164         alias pigGetWindowAlwaysWantOwnTabBar = bool function(ImGuiWindow* window);
4165         alias pImGuiTableColumnSettings_ImGuiTableColumnSettings = ImGuiTableColumnSettings* function();
4166         alias pigBeginDockableDragDropTarget = void function(ImGuiWindow* window);
4167         alias pImGuiPlatformMonitor_destroy = void function(ImGuiPlatformMonitor* self);
4168         alias pigColorEditOptionsPopup = void function(const float* col, ImGuiColorEditFlags flags);
4169         alias pigGetTextLineHeightWithSpacing = float function();
4170         alias pigTableFixColumnSortDirection = void function(ImGuiTable* table, ImGuiTableColumn* column);
4171         alias pigPushStyleVar_Float = void function(ImGuiStyleVar idx, float val);
4172         alias pigPushStyleVar_Vec2 = void function(ImGuiStyleVar idx, const ImVec2 val);
4173         alias pigIsActiveIdUsingNavInput = bool function(ImGuiNavInput input);
4174         alias pigImStrnicmp = int function(const(char)* str1, const(char)* str2, size_t count);
4175         alias pigGetInputTextState = ImGuiInputTextState* function(ImGuiID id);
4176         alias pigFindRenderedTextEnd = const(char)* function(const(char)* text, const(char)* text_end = null);
4177         alias pImFontAtlas_ClearFonts = void function(ImFontAtlas* self);
4178         alias pigTextColoredV = void function(const ImVec4 col, const(char)* fmt, va_list args);
4179         alias pImGuiNavItemData_ImGuiNavItemData = ImGuiNavItemData* function();
4180         alias pigIsKeyReleased = bool function(int user_key_index);
4181         alias pigTabItemLabelAndCloseButton = void function(ImDrawList* draw_list, const ImRect bb, ImGuiTabItemFlags flags, ImVec2 frame_padding, const(char)* label, ImGuiID tab_id, ImGuiID close_button_id, bool is_contents_visible, bool* out_just_closed, bool* out_text_clipped);
4182         alias pImGuiTableColumnSortSpecs_ImGuiTableColumnSortSpecs = ImGuiTableColumnSortSpecs* function();
4183         alias pigLogToClipboard = void function(int auto_open_depth = -1);
4184         alias pImFontAtlas_GetGlyphRangesKorean = const ImWchar* function(ImFontAtlas* self);
4185         alias pImFontGlyphRangesBuilder_SetBit = void function(ImFontGlyphRangesBuilder* self, size_t n);
4186         alias pigLogSetNextTextDecoration = void function(const(char)* prefix, const(char)* suffix);
4187         alias pigStyleColorsClassic = void function(ImGuiStyle* dst = null);
4188         alias pImGuiTabBar_GetTabOrder = int function(ImGuiTabBar* self, const ImGuiTabItem* tab);
4189         alias pigBegin = bool function(const(char)* name, bool* p_open = null, ImGuiWindowFlags flags = ImGuiWindowFlags.None);
4190         alias pigButton = bool function(const(char)* label, const ImVec2 size = ImVec2(0,0));
4191         alias pigBeginMenuBar = bool function();
4192         alias pigDataTypeClamp = bool function(ImGuiDataType data_type, void* p_data, const void* p_min, const void* p_max);
4193         alias pigRenderText = void function(ImVec2 pos, const(char)* text, const(char)* text_end = null, bool hide_text_after_hash = true);
4194         alias pImFontGlyphRangesBuilder_Clear = void function(ImFontGlyphRangesBuilder* self);
4195         alias pImGuiMenuColumns_destroy = void function(ImGuiMenuColumns* self);
4196         alias pigImStrncpy = void function(char* dst, const(char)* src, size_t count);
4197         alias pImGuiNextWindowData_ImGuiNextWindowData = ImGuiNextWindowData* function();
4198         alias pigImBezierCubicClosestPointCasteljau = void function(ImVec2* pOut, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, const ImVec2 p, float tess_tol);
4199         alias pigItemAdd = bool function(const ImRect bb, ImGuiID id, const ImRect* nav_bb = null, ImGuiItemFlags extra_flags = ImGuiItemFlags.None);
4200         alias pigIsWindowNavFocusable = bool function(ImGuiWindow* window);
4201         alias pigGetScrollY = float function();
4202         alias pImGuiOldColumnData_ImGuiOldColumnData = ImGuiOldColumnData* function();
4203         alias pImRect_GetWidth = float function(ImRect* self);
4204         alias pigEndListBox = void function();
4205         alias pigGetItemStatusFlags = ImGuiItemStatusFlags function();
4206         alias pigPopFocusScope = void function();
4207         alias pigGetStyleColorVec4 = const ImVec4* function(ImGuiCol idx);
4208         alias pigTableFindByID = ImGuiTable* function(ImGuiID id);
4209         alias pigShutdown = void function(ImGuiContext* context);
4210         alias pigDockBuilderRemoveNodeDockedWindows = void function(ImGuiID node_id, bool clear_settings_refs = true);
4211         alias pigTablePushBackgroundChannel = void function();
4212         alias pImRect_ClipWith = void function(ImRect* self, const ImRect r);
4213         alias pImRect_GetTL = void function(ImVec2* pOut, ImRect* self);
4214         alias pImDrawListSplitter_ImDrawListSplitter = ImDrawListSplitter* function();
4215         alias pImDrawList__CalcCircleAutoSegmentCount = int function(ImDrawList* self, float radius);
4216         alias pigSetWindowFocus_Nil = void function();
4217         alias pigSetWindowFocus_Str = void function(const(char)* name);
4218         alias pigInvisibleButton = bool function(const(char)* str_id, const ImVec2 size, ImGuiButtonFlags flags = ImGuiButtonFlags.None);
4219         alias pigScaleWindowsInViewport = void function(ImGuiViewportP* viewport, float scale);
4220         alias pigRenderMouseCursor = void function(ImDrawList* draw_list, ImVec2 pos, float scale, ImGuiMouseCursor mouse_cursor, ImU32 col_fill, ImU32 col_border, ImU32 col_shadow);
4221         alias pigImFontAtlasBuildInit = void function(ImFontAtlas* atlas);
4222         alias pigTextColored = void function(const ImVec4 col, const(char)* fmt, ...);
4223         alias pigSliderScalar = bool function(const(char)* label, ImGuiDataType data_type, void* p_data, const void* p_min, const void* p_max, const(char)* format = null, ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4224         alias pigTableSetColumnIndex = bool function(int column_n);
4225         alias pigRenderPlatformWindowsDefault = void function(void* platform_render_arg = null, void* renderer_render_arg = null);
4226         alias pImDrawListSplitter_ClearFreeMemory = void function(ImDrawListSplitter* self);
4227         alias pImGuiStyle_ImGuiStyle = ImGuiStyle* function();
4228         alias pImGuiDockNode_IsHiddenTabBar = bool function(ImGuiDockNode* self);
4229         alias pImGuiOldColumnData_destroy = void function(ImGuiOldColumnData* self);
4230         alias pImFontConfig_ImFontConfig = ImFontConfig* function();
4231         alias pigIsMouseDown = bool function(ImGuiMouseButton button);
4232         alias pImGuiTabBar_GetTabName = const(char)* function(ImGuiTabBar* self, const ImGuiTabItem* tab);
4233         alias pigDebugNodeTabBar = void function(ImGuiTabBar* tab_bar, const(char)* label);
4234         alias pigNewLine = void function();
4235         alias pigGetPlatformIO = ImGuiPlatformIO* function();
4236         alias pigMemFree = void function(void* ptr);
4237         alias pigCalcTypematicRepeatAmount = int function(float t0, float t1, float repeat_delay, float repeat_rate);
4238         alias pigNextColumn = void function();
4239         alias pigRenderFrame = void function(ImVec2 p_min, ImVec2 p_max, ImU32 fill_col, bool border = true, float rounding = 0.0f);
4240         alias pigLogButtons = void function();
4241         alias pigDockBuilderRemoveNode = void function(ImGuiID node_id);
4242         alias pImFont_ClearOutputData = void function(ImFont* self);
4243         alias pImFont_ImFont = ImFont* function();
4244         alias pigEndTabItem = void function();
4245         alias pigVSliderFloat = bool function(const(char)* label, const ImVec2 size, float* v, float v_min, float v_max, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4246         alias pImGuiIO_ClearInputKeys = void function(ImGuiIO* self);
4247         alias pigRenderArrowPointingAt = void function(ImDrawList* draw_list, ImVec2 pos, ImVec2 half_sz, ImGuiDir direction, ImU32 col);
4248         alias pigEndGroup = void function();
4249         alias pigPlotLines_FloatPtr = void function(const(char)* label, const float* values, int values_count, int values_offset = 0, const(char)* overlay_text = null, float scale_min = float.max, float scale_max = float.max, ImVec2 graph_size = ImVec2(0,0), int stride = float.sizeof);
4250         alias pigPlotLines_FnFloatPtr = void function(const(char)* label, float function(void* data,int idx) values_getter, void* data, int values_count, int values_offset = 0, const(char)* overlay_text = null, float scale_min = float.max, float scale_max = float.max, ImVec2 graph_size = ImVec2(0,0));
4251         alias pigGetColumnNormFromOffset = float function(const ImGuiOldColumns* columns, float offset);
4252         alias pigSetCurrentFont = void function(ImFont* font);
4253         alias pigSetItemAllowOverlap = void function();
4254         alias pImGuiDockNode_IsCentralNode = bool function(ImGuiDockNode* self);
4255         alias pImGuiStorage_GetVoidPtrRef = void** function(ImGuiStorage* self, ImGuiID key, void* default_val = null);
4256         alias pigCheckboxFlags_IntPtr = bool function(const(char)* label, int* flags, int flags_value);
4257         alias pigCheckboxFlags_UintPtr = bool function(const(char)* label, uint* flags, uint flags_value);
4258         alias pigCheckboxFlags_S64Ptr = bool function(const(char)* label, ImS64* flags, ImS64 flags_value);
4259         alias pigCheckboxFlags_U64Ptr = bool function(const(char)* label, ImU64* flags, ImU64 flags_value);
4260         alias pImRect_destroy = void function(ImRect* self);
4261         alias pigTreeNodeBehavior = bool function(ImGuiID id, ImGuiTreeNodeFlags flags, const(char)* label, const(char)* label_end = null);
4262         alias pigImTriangleBarycentricCoords = void function(const ImVec2 a, const ImVec2 b, const ImVec2 c, const ImVec2 p, float* out_u, float* out_v, float* out_w);
4263         alias pImFontGlyphRangesBuilder_AddRanges = void function(ImFontGlyphRangesBuilder* self, const ImWchar* ranges);
4264         alias pigTableSetBgColor = void function(ImGuiTableBgTarget target, ImU32 color, int column_n = -1);
4265         alias pImFontAtlas_GetGlyphRangesVietnamese = const ImWchar* function(ImFontAtlas* self);
4266         alias pImGuiContextHook_ImGuiContextHook = ImGuiContextHook* function();
4267         alias pigGetVersion = const(char)* function();
4268         alias pImDrawList_ImDrawList = ImDrawList* function(const ImDrawListSharedData* shared_data);
4269         alias pigRenderTextEllipsis = void function(ImDrawList* draw_list, const ImVec2 pos_min, const ImVec2 pos_max, float clip_max_x, float ellipsis_max_x, const(char)* text, const(char)* text_end, const ImVec2* text_size_if_known);
4270         alias pImGuiListClipper_destroy = void function(ImGuiListClipper* self);
4271         alias pigTableUpdateBorders = void function(ImGuiTable* table);
4272         alias pImGuiTableSortSpecs_destroy = void function(ImGuiTableSortSpecs* self);
4273         alias pigPushOverrideID = void function(ImGuiID id);
4274         alias pigImMul = void function(ImVec2* pOut, const ImVec2 lhs, const ImVec2 rhs);
4275         alias pigSetScrollY_Float = void function(float scroll_y);
4276         alias pigSetScrollY_WindowPtr = void function(ImGuiWindow* window, float scroll_y);
4277         alias pImFont_CalcWordWrapPositionA = const(char)* function(ImFont* self, float scale, const(char)* text, const(char)* text_end, float wrap_width);
4278         alias pigSmallButton = bool function(const(char)* label);
4279         alias pImGuiWindow_destroy = void function(ImGuiWindow* self);
4280         alias pImGuiTableColumn_ImGuiTableColumn = ImGuiTableColumn* function();
4281         alias pImGuiComboPreviewData_destroy = void function(ImGuiComboPreviewData* self);
4282         alias pigTableGetColumnResizeID = ImGuiID function(const ImGuiTable* table, int column_n, int instance_no = 0);
4283         alias pigCombo_Str_arr = bool function(const(char)* label, int* current_item, const(char)** items, int items_count, int popup_max_height_in_items = -1);
4284         alias pigCombo_Str = bool function(const(char)* label, int* current_item, const(char)* items_separated_by_zeros, int popup_max_height_in_items = -1);
4285         alias pigCombo_FnBoolPtr = bool function(const(char)* label, int* current_item, bool function(void* data,int idx,const(char)** out_text) items_getter, void* data, int items_count, int popup_max_height_in_items = -1);
4286         alias pigIsWindowChildOf = bool function(ImGuiWindow* window, ImGuiWindow* potential_parent, bool popup_hierarchy, bool dock_hierarchy);
4287         alias pImGuiWindow_CalcFontSize = float function(ImGuiWindow* self);
4288         alias pigTableSetColumnWidth = void function(int column_n, float width);
4289         alias pImDrawList_AddLine = void function(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, ImU32 col, float thickness = 1.0f);
4290         alias pImDrawList_AddCircle = void function(ImDrawList* self, const ImVec2 center, float radius, ImU32 col, int num_segments = 0, float thickness = 1.0f);
4291         alias pImGuiInputTextState_SelectAll = void function(ImGuiInputTextState* self);
4292         alias pigImParseFormatTrimDecorations = const(char)* function(const(char)* format, char* buf, size_t buf_size);
4293         alias pImGuiMetricsConfig_ImGuiMetricsConfig = ImGuiMetricsConfig* function();
4294         alias pImGuiTabBar_ImGuiTabBar = ImGuiTabBar* function();
4295         alias pImGuiViewport_GetCenter = void function(ImVec2* pOut, ImGuiViewport* self);
4296         alias pigDebugDrawItemRect = void function(ImU32 col = 4278190335);
4297         alias pigDockBuilderSetNodeSize = void function(ImGuiID node_id, ImVec2 size);
4298         alias pigTreeNodeBehaviorIsOpen = bool function(ImGuiID id, ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags.None);
4299         alias pigImTextCountUtf8BytesFromChar = int function(const(char)* in_text, const(char)* in_text_end);
4300         alias pigSetMouseCursor = void function(ImGuiMouseCursor cursor_type);
4301         alias pigBeginColumns = void function(const(char)* str_id, int count, ImGuiOldColumnFlags flags = ImGuiOldColumnFlags.None);
4302         alias pigGetIO = ImGuiIO* function();
4303         alias pigDragBehavior = bool function(ImGuiID id, ImGuiDataType data_type, void* p_v, float v_speed, const void* p_min, const void* p_max, const(char)* format, ImGuiSliderFlags flags);
4304         alias pigImModPositive = int function(int a, int b);
4305         alias pImFontAtlasCustomRect_destroy = void function(ImFontAtlasCustomRect* self);
4306         alias pImGuiPayload_destroy = void function(ImGuiPayload* self);
4307         alias pigEndMenu = void function();
4308         alias pigImSaturate = float function(float f);
4309         alias pImDrawList_PrimRect = void function(ImDrawList* self, const ImVec2 a, const ImVec2 b, ImU32 col);
4310         alias pigImLinearSweep = float function(float current, float target, float speed);
4311         alias pigItemInputable = void function(ImGuiWindow* window, ImGuiID id);
4312         alias pImDrawList_AddRectFilled = void function(ImDrawList* self, const ImVec2 p_min, const ImVec2 p_max, ImU32 col, float rounding = 0.0f, ImDrawFlags flags = ImDrawFlags.None);
4313         alias pImGuiPopupData_destroy = void function(ImGuiPopupData* self);
4314         alias pigFindSettingsHandler = ImGuiSettingsHandler* function(const(char)* type_name);
4315         alias pigDragInt2 = bool function(const(char)* label, int[2]*/*[2]*/ v, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4316         alias pigBeginDocked = void function(ImGuiWindow* window, bool* p_open);
4317         alias pigSetColorEditOptions = void function(ImGuiColorEditFlags flags);
4318         alias pigIsAnyMouseDown = bool function();
4319         alias pigUpdateMouseMovingWindowNewFrame = void function();
4320         alias pImGuiDockContext_ImGuiDockContext = ImGuiDockContext* function();
4321         alias pImGuiTextFilter_Build = void function(ImGuiTextFilter* self);
4322         alias pigTabItemCalcSize = void function(ImVec2* pOut, const(char)* label, bool has_close_button);
4323         alias pigSetNextWindowCollapsed = void function(bool collapsed, ImGuiCond cond = ImGuiCond.None);
4324         alias pigSetLastItemData = void function(ImGuiID item_id, ImGuiItemFlags in_flags, ImGuiItemStatusFlags status_flags, const ImRect item_rect);
4325         alias pigLogToBuffer = void function(int auto_open_depth = -1);
4326         alias pImGuiTableTempData_destroy = void function(ImGuiTableTempData* self);
4327         alias pigImFileLoadToMemory = void* function(const(char)* filename, const(char)* mode, size_t* out_file_size = null, int padding_bytes = 0);
4328         alias pImFontAtlas_GetGlyphRangesCyrillic = const ImWchar* function(ImFontAtlas* self);
4329         alias pImGuiStyle_destroy = void function(ImGuiStyle* self);
4330         alias pImDrawList_destroy = void function(ImDrawList* self);
4331         alias pImVec4_destroy = void function(ImVec4* self);
4332         alias pigRenderCheckMark = void function(ImDrawList* draw_list, ImVec2 pos, ImU32 col, float sz);
4333         alias pigTreeNodeEx_Str = bool function(const(char)* label, ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags.None);
4334         alias pigTreeNodeEx_StrStr = bool function(const(char)* str_id, ImGuiTreeNodeFlags flags, const(char)* fmt, ...);
4335         alias pigTreeNodeEx_Ptr = bool function(const void* ptr_id, ImGuiTreeNodeFlags flags, const(char)* fmt, ...);
4336         alias pImBitVector_SetBit = void function(ImBitVector* self, int n);
4337         alias pigSetColumnWidth = void function(int column_index, float width);
4338         alias pImGuiDockNode_destroy = void function(ImGuiDockNode* self);
4339         alias pigIsItemClicked = bool function(ImGuiMouseButton mouse_button = ImGuiMouseButton.Left);
4340         alias pigTableOpenContextMenu = void function(int column_n = -1);
4341         alias pImDrawList_AddCallback = void function(ImDrawList* self, ImDrawCallback callback, void* callback_data);
4342         alias pigGetMousePos = void function(ImVec2* pOut);
4343         alias pigDataTypeCompare = int function(ImGuiDataType data_type, const void* arg_1, const void* arg_2);
4344         alias pigDockContextQueueUndockNode = void function(ImGuiContext* ctx, ImGuiDockNode* node);
4345         alias pigImageButtonEx = bool function(ImGuiID id, ImTextureID texture_id, const ImVec2 size, const ImVec2 uv0, const ImVec2 uv1, const ImVec2 padding, const ImVec4 bg_col, const ImVec4 tint_col);
4346         alias pImDrawListSharedData_SetCircleTessellationMaxError = void function(ImDrawListSharedData* self, float max_error);
4347         alias pigBullet = void function();
4348         alias pigRenderArrowDockMenu = void function(ImDrawList* draw_list, ImVec2 p_min, float sz, ImU32 col);
4349         alias pigTableSaveSettings = void function(ImGuiTable* table);
4350         alias pigTableGetBoundSettings = ImGuiTableSettings* function(ImGuiTable* table);
4351         alias pigGetHoveredID = ImGuiID function();
4352         alias pigGetWindowContentRegionMin = void function(ImVec2* pOut);
4353         alias pigTableHeadersRow = void function();
4354         alias pImDrawList_AddNgonFilled = void function(ImDrawList* self, const ImVec2 center, float radius, ImU32 col, int num_segments);
4355         alias pigDragScalar = bool function(const(char)* label, ImGuiDataType data_type, void* p_data, float v_speed = 1.0f, const void* p_min = null, const void* p_max = null, const(char)* format = null, ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4356         alias pImGuiDockNode_ImGuiDockNode = ImGuiDockNode* function(ImGuiID id);
4357         alias pigSetCursorPos = void function(const ImVec2 local_pos);
4358         alias pigGcCompactTransientMiscBuffers = void function();
4359         alias pigEndColumns = void function();
4360         alias pigSetTooltip = void function(const(char)* fmt, ...);
4361         alias pigTableGetColumnName_Int = const(char)* function(int column_n = -1);
4362         alias pigTableGetColumnName_TablePtr = const(char)* function(const ImGuiTable* table, int column_n);
4363         alias pImGuiViewportP_destroy = void function(ImGuiViewportP* self);
4364         alias pigBeginTabBarEx = bool function(ImGuiTabBar* tab_bar, const ImRect bb, ImGuiTabBarFlags flags, ImGuiDockNode* dock_node);
4365         alias pigShadeVertsLinearColorGradientKeepAlpha = void function(ImDrawList* draw_list, int vert_start_idx, int vert_end_idx, ImVec2 gradient_p0, ImVec2 gradient_p1, ImU32 col0, ImU32 col1);
4366         alias pImGuiInputTextState_HasSelection = bool function(ImGuiInputTextState* self);
4367         alias pigDockNodeGetRootNode = ImGuiDockNode* function(ImGuiDockNode* node);
4368         alias pImGuiDockNode_IsSplitNode = bool function(ImGuiDockNode* self);
4369         alias pigCalcItemWidth = float function();
4370         alias pigDockContextRebuildNodes = void function(ImGuiContext* ctx);
4371         alias pigPushItemWidth = void function(float item_width);
4372         alias pigScrollbarEx = bool function(const ImRect bb, ImGuiID id, ImGuiAxis axis, float* p_scroll_v, float avail_v, float contents_v, ImDrawFlags flags);
4373         alias pImDrawList_ChannelsMerge = void function(ImDrawList* self);
4374         alias pigSetAllocatorFunctions = void function(ImGuiMemAllocFunc alloc_func, ImGuiMemFreeFunc free_func, void* user_data = null);
4375         alias pImFont_FindGlyph = const ImFontGlyph* function(ImFont* self, ImWchar c);
4376         alias pigErrorCheckEndWindowRecover = void function(ImGuiErrorLogCallback log_callback, void* user_data = null);
4377         alias pigDockNodeGetDepth = int function(const ImGuiDockNode* node);
4378         alias pigDebugStartItemPicker = void function();
4379         alias pImGuiNextWindowData_destroy = void function(ImGuiNextWindowData* self);
4380         alias pImGuiPayload_IsDelivery = bool function(ImGuiPayload* self);
4381         alias pImFontAtlas_GetGlyphRangesJapanese = const ImWchar* function(ImFontAtlas* self);
4382         alias pImRect_Overlaps = bool function(ImRect* self, const ImRect r);
4383         alias pigCaptureMouseFromApp = void function(bool want_capture_mouse_value = true);
4384         alias pigAddContextHook = ImGuiID function(ImGuiContext* context, const ImGuiContextHook* hook);
4385         alias pImGuiInputTextState_GetCursorPos = int function(ImGuiInputTextState* self);
4386         alias pigImHashData = ImGuiID function(const void* data, size_t data_size, ImU32 seed = 0);
4387         alias pImGuiViewportP_GetBuildWorkRect = void function(ImRect* pOut, ImGuiViewportP* self);
4388         alias pImGuiInputTextCallbackData_InsertChars = void function(ImGuiInputTextCallbackData* self, int pos, const(char)* text, const(char)* text_end = null);
4389         alias pigDragFloat2 = bool function(const(char)* label, float[2]*/*[2]*/ v, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4390         alias pigTreePushOverrideID = void function(ImGuiID id);
4391         alias pigUpdateHoveredWindowAndCaptureFlags = void function();
4392         alias pImFont_destroy = void function(ImFont* self);
4393         alias pigEndMenuBar = void function();
4394         alias pigGetWindowSize = void function(ImVec2* pOut);
4395         alias pigInputInt4 = bool function(const(char)* label, int[4]*/*[4]*/ v, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
4396         alias pigImSign_Float = float function(float x);
4397         alias pigImSign_double = double function(double x);
4398         alias pImDrawList_AddBezierQuadratic = void function(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, ImU32 col, float thickness, int num_segments = 0);
4399         alias pigGetMouseCursor = ImGuiMouseCursor function();
4400         alias pigIsMouseDoubleClicked = bool function(ImGuiMouseButton button);
4401         alias pigLabelText = void function(const(char)* label, const(char)* fmt, ...);
4402         alias pImDrawList_PathClear = void function(ImDrawList* self);
4403         alias pImDrawCmd_destroy = void function(ImDrawCmd* self);
4404         alias pigGetStateStorage = ImGuiStorage* function();
4405         alias pigInputInt2 = bool function(const(char)* label, int[2]*/*[2]*/ v, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
4406         alias pigImFileRead = ImU64 function(void* data, ImU64 size, ImU64 count, ImFileHandle file);
4407         alias pigImFontAtlasBuildRender32bppRectFromString = void function(ImFontAtlas* atlas, int x, int y, int w, int h, const(char)* in_str, char in_marker_char, uint in_marker_pixel_value);
4408         alias pImGuiOldColumns_destroy = void function(ImGuiOldColumns* self);
4409         alias pigSetNextWindowScroll = void function(const ImVec2 scroll);
4410         alias pigGetFrameHeight = float function();
4411         alias pigImFileWrite = ImU64 function(const void* data, ImU64 size, ImU64 count, ImFileHandle file);
4412         alias pigInputText = bool function(const(char)* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None, ImGuiInputTextCallback callback = null, void* user_data = null);
4413         alias pigTreeNodeExV_Str = bool function(const(char)* str_id, ImGuiTreeNodeFlags flags, const(char)* fmt, va_list args);
4414         alias pigTreeNodeExV_Ptr = bool function(const void* ptr_id, ImGuiTreeNodeFlags flags, const(char)* fmt, va_list args);
4415         alias pigIsAnyItemFocused = bool function();
4416         alias pImDrawDataBuilder_Clear = void function(ImDrawDataBuilder* self);
4417         alias pImVec2ih_ImVec2ih_Nil = ImVec2ih* function();
4418         alias pImVec2ih_ImVec2ih_short = ImVec2ih* function(short _x, short _y);
4419         alias pImVec2ih_ImVec2ih_Vec2 = ImVec2ih* function(const ImVec2 rhs);
4420         alias pigDockContextQueueDock = void function(ImGuiContext* ctx, ImGuiWindow* target, ImGuiDockNode* target_node, ImGuiWindow* payload, ImGuiDir split_dir, float split_ratio, bool split_outer);
4421         alias pigTableSetColumnSortDirection = void function(int column_n, ImGuiSortDirection sort_direction, bool append_to_sort_specs);
4422         alias pImVec1_ImVec1_Nil = ImVec1* function();
4423         alias pImVec1_ImVec1_Float = ImVec1* function(float _x);
4424         alias pigCalcItemSize = void function(ImVec2* pOut, ImVec2 size, float default_w, float default_h);
4425         alias pImFontAtlasCustomRect_IsPacked = bool function(ImFontAtlasCustomRect* self);
4426         alias pigPopStyleColor = void function(int count = 1);
4427         alias pigColorEdit4 = bool function(const(char)* label, float[4]*/*[4]*/ col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None);
4428         alias pigPlotEx = int function(ImGuiPlotType plot_type, const(char)* label, float function(void* data,int idx) values_getter, void* data, int values_count, int values_offset, const(char)* overlay_text, float scale_min, float scale_max, ImVec2 frame_size);
4429         alias pigGetCursorStartPos = void function(ImVec2* pOut);
4430         alias pigShowFontAtlas = void function(ImFontAtlas* atlas);
4431         alias pigDockSpaceOverViewport = ImGuiID function(const ImGuiViewport* viewport = null, ImGuiDockNodeFlags flags = ImGuiDockNodeFlags.None, const ImGuiWindowClass* window_class = null);
4432         alias pImGuiInputTextCallbackData_destroy = void function(ImGuiInputTextCallbackData* self);
4433         alias pImFontAtlas_IsBuilt = bool function(ImFontAtlas* self);
4434         alias pImGuiTextBuffer_begin = const(char)* function(ImGuiTextBuffer* self);
4435         alias pImGuiTable_destroy = void function(ImGuiTable* self);
4436         alias pImGuiWindow_GetIDNoKeepAlive_Str = ImGuiID function(ImGuiWindow* self, const(char)* str, const(char)* str_end = null);
4437         alias pImGuiWindow_GetIDNoKeepAlive_Ptr = ImGuiID function(ImGuiWindow* self, const void* ptr);
4438         alias pImGuiWindow_GetIDNoKeepAlive_Int = ImGuiID function(ImGuiWindow* self, int n);
4439         alias pImFont_BuildLookupTable = void function(ImFont* self);
4440         alias pImGuiTextBuffer_appendfv = void function(ImGuiTextBuffer* self, const(char)* fmt, va_list args);
4441         alias pImVec4_ImVec4_Nil = ImVec4* function();
4442         alias pImVec4_ImVec4_Float = ImVec4* function(float _x, float _y, float _z, float _w);
4443         alias pImGuiDockNode_IsEmpty = bool function(ImGuiDockNode* self);
4444         alias pigClearIniSettings = void function();
4445         alias pImDrawList_PathLineToMergeDuplicate = void function(ImDrawList* self, const ImVec2 pos);
4446         alias pImGuiIO_ImGuiIO = ImGuiIO* function();
4447         alias pigDragInt4 = bool function(const(char)* label, int[4]*/*[4]*/ v, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4448         alias pigBeginDragDropTarget = bool function();
4449         alias pigImTextCountCharsFromUtf8 = int function(const(char)* in_text, const(char)* in_text_end);
4450         alias pigTablePopBackgroundChannel = void function();
4451         alias pigSetNextWindowClass = void function(const ImGuiWindowClass* window_class);
4452         alias pImGuiTextBuffer_clear = void function(ImGuiTextBuffer* self);
4453         alias pigImStricmp = int function(const(char)* str1, const(char)* str2);
4454         alias pigMarkItemEdited = void function(ImGuiID id);
4455         alias pigIsWindowFocused = bool function(ImGuiFocusedFlags flags = ImGuiFocusedFlags.None);
4456         alias pigTableSettingsCreate = ImGuiTableSettings* function(ImGuiID id, int columns_count);
4457         alias pImGuiIO_AddInputCharactersUTF8 = void function(ImGuiIO* self, const(char)* str);
4458         alias pImGuiTableSettings_destroy = void function(ImGuiTableSettings* self);
4459         alias pigIsWindowAbove = bool function(ImGuiWindow* potential_above, ImGuiWindow* potential_below);
4460         alias pImDrawList__PathArcToN = void function(ImDrawList* self, const ImVec2 center, float radius, float a_min, float a_max, int num_segments);
4461         alias pigColorTooltip = void function(const(char)* text, const float* col, ImGuiColorEditFlags flags);
4462         alias pigSetCurrentContext = void function(ImGuiContext* ctx);
4463         alias pigImTriangleClosestPoint = void function(ImVec2* pOut, const ImVec2 a, const ImVec2 b, const ImVec2 c, const ImVec2 p);
4464         alias pigSliderInt4 = bool function(const(char)* label, int[4]*/*[4]*/ v, int v_min, int v_max, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4465         alias pigGetItemRectMin = void function(ImVec2* pOut);
4466         alias pigTableUpdateColumnsWeightFromWidth = void function(ImGuiTable* table);
4467         alias pImDrawList_PrimReserve = void function(ImDrawList* self, int idx_count, int vtx_count);
4468         alias pImGuiMenuColumns_ImGuiMenuColumns = ImGuiMenuColumns* function();
4469         alias pigDockBuilderGetCentralNode = ImGuiDockNode* function(ImGuiID node_id);
4470         alias pImDrawList_AddRectFilledMultiColor = void function(ImDrawList* self, const ImVec2 p_min, const ImVec2 p_max, ImU32 col_upr_left, ImU32 col_upr_right, ImU32 col_bot_right, ImU32 col_bot_left);
4471         alias pImGuiDockNodeSettings_destroy = void function(ImGuiDockNodeSettings* self);
4472         alias pigGetWindowViewport = ImGuiViewport* function();
4473         alias pigSetStateStorage = void function(ImGuiStorage* storage);
4474         alias pImGuiStorage_SetAllInt = void function(ImGuiStorage* self, int val);
4475         alias pImGuiListClipper_Step = bool function(ImGuiListClipper* self);
4476         alias pImGuiOnceUponAFrame_destroy = void function(ImGuiOnceUponAFrame* self);
4477         alias pImGuiInputTextCallbackData_DeleteChars = void function(ImGuiInputTextCallbackData* self, int pos, int bytes_count);
4478         alias pigImFontAtlasBuildSetupFont = void function(ImFontAtlas* atlas, ImFont* font, ImFontConfig* font_config, float ascent, float descent);
4479         alias pImGuiTextBuffer_empty = bool function(ImGuiTextBuffer* self);
4480         alias pigShowDemoWindow = void function(bool* p_open = null);
4481         alias pigImPow_Float = float function(float x, float y);
4482         alias pigImPow_double = double function(double x, double y);
4483         alias pImGuiTextRange_destroy = void function(ImGuiTextRange* self);
4484         alias pImGuiStorage_SetVoidPtr = void function(ImGuiStorage* self, ImGuiID key, void* val);
4485         alias pigImInvLength = float function(const ImVec2 lhs, float fail_value);
4486         alias pigGetFocusScope = ImGuiID function();
4487         alias pigCloseButton = bool function(ImGuiID id, const ImVec2 pos);
4488         alias pigTableSettingsInstallHandler = void function(ImGuiContext* context);
4489         alias pImDrawList_PushTextureID = void function(ImDrawList* self, ImTextureID texture_id);
4490         alias pImDrawList_PathLineTo = void function(ImDrawList* self, const ImVec2 pos);
4491         alias pigSetWindowHitTestHole = void function(ImGuiWindow* window, const ImVec2 pos, const ImVec2 size);
4492         alias pigSeparatorEx = void function(ImGuiSeparatorFlags flags);
4493         alias pImRect_Add_Vec2 = void function(ImRect* self, const ImVec2 p);
4494         alias pImRect_Add_Rect = void function(ImRect* self, const ImRect r);
4495         alias pigShowMetricsWindow = void function(bool* p_open = null);
4496         alias pImDrawList__PopUnusedDrawCmd = void function(ImDrawList* self);
4497         alias pImDrawList_AddImageRounded = void function(ImDrawList* self, ImTextureID user_texture_id, const ImVec2 p_min, const ImVec2 p_max, const ImVec2 uv_min, const ImVec2 uv_max, ImU32 col, float rounding, ImDrawFlags flags = ImDrawFlags.None);
4498         alias pImGuiStyleMod_destroy = void function(ImGuiStyleMod* self);
4499         alias pImGuiMenuColumns_CalcNextTotalWidth = void function(ImGuiMenuColumns* self, bool update_offsets);
4500         alias pImGuiStorage_BuildSortByKey = void function(ImGuiStorage* self);
4501         alias pImDrawList_PathRect = void function(ImDrawList* self, const ImVec2 rect_min, const ImVec2 rect_max, float rounding = 0.0f, ImDrawFlags flags = ImDrawFlags.None);
4502         alias pigInputTextEx = bool function(const(char)* label, const(char)* hint, char* buf, int buf_size, const ImVec2 size_arg, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback = null, void* user_data = null);
4503         alias pigColorEdit3 = bool function(const(char)* label, float[3]*/*[3]*/ col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None);
4504         alias pImColor_destroy = void function(ImColor* self);
4505         alias pigIsItemToggledSelection = bool function();
4506         alias pigTabItemEx = bool function(ImGuiTabBar* tab_bar, const(char)* label, bool* p_open, ImGuiTabItemFlags flags, ImGuiWindow* docked_window);
4507         alias pigIsKeyPressedMap = bool function(ImGuiKey key, bool repeat = true);
4508         alias pigTableSetupDrawChannels = void function(ImGuiTable* table);
4509         alias pigLogFinish = void function();
4510         alias pigGetItemRectSize = void function(ImVec2* pOut);
4511         alias pigGetWindowResizeCornerID = ImGuiID function(ImGuiWindow* window, int n);
4512         alias pigImParseFormatFindStart = const(char)* function(const(char)* format);
4513         alias pImGuiDockRequest_ImGuiDockRequest = ImGuiDockRequest* function();
4514         alias pImDrawData_ImDrawData = ImDrawData* function();
4515         alias pigDockNodeEndAmendTabBar = void function();
4516         alias pigDragScalarN = bool function(const(char)* label, ImGuiDataType data_type, void* p_data, int components, float v_speed = 1.0f, const void* p_min = null, const void* p_max = null, const(char)* format = null, ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4517         alias pigImDot = float function(const ImVec2 a, const ImVec2 b);
4518         alias pigMarkIniSettingsDirty_Nil = void function();
4519         alias pigMarkIniSettingsDirty_WindowPtr = void function(ImGuiWindow* window);
4520         alias pigTableGetColumnCount = int function();
4521         alias pigGetWindowWidth = float function();
4522         alias pigBulletTextV = void function(const(char)* fmt, va_list args);
4523         alias pigDockBuilderCopyNode = void function(ImGuiID src_node_id, ImGuiID dst_node_id, ImVector!(ImGuiID)* out_node_remap_pairs);
4524         alias pImDrawListSplitter_SetCurrentChannel = void function(ImDrawListSplitter* self, ImDrawList* draw_list, int channel_idx);
4525         alias pImGuiStorage_SetBool = void function(ImGuiStorage* self, ImGuiID key, bool val);
4526         alias pigAlignTextToFramePadding = void function();
4527         alias pigIsWindowHovered = bool function(ImGuiHoveredFlags flags = ImGuiHoveredFlags.None);
4528         alias pigDockBuilderCopyDockSpace = void function(ImGuiID src_dockspace_id, ImGuiID dst_dockspace_id, ImVector!(const(char)*)* in_window_remap_pairs);
4529         alias pImGuiTableTempData_ImGuiTableTempData = ImGuiTableTempData* function();
4530         alias pImRect_GetCenter = void function(ImVec2* pOut, ImRect* self);
4531         alias pImDrawList_PathArcTo = void function(ImDrawList* self, const ImVec2 center, float radius, float a_min, float a_max, int num_segments = 0);
4532         alias pigIsAnyItemActive = bool function();
4533         alias pigPushTextWrapPos = void function(float wrap_local_pos_x = 0.0f);
4534         alias pigGetTreeNodeToLabelSpacing = float function();
4535         alias pigSameLine = void function(float offset_from_start_x = 0.0f, float spacing = -1.0f);
4536         alias pigStyleColorsDark = void function(ImGuiStyle* dst = null);
4537         alias pigDebugNodeDockNode = void function(ImGuiDockNode* node, const(char)* label);
4538         alias pigDummy = void function(const ImVec2 size);
4539         alias pigGetItemID = ImGuiID function();
4540         alias pigImageButton = bool function(ImTextureID user_texture_id, const ImVec2 size, const ImVec2 uv0 = ImVec2(0,0), const ImVec2 uv1 = ImVec2(1,1), int frame_padding = -1, const ImVec4 bg_col = ImVec4(0,0,0,0), const ImVec4 tint_col = ImVec4(1,1,1,1));
4541         alias pigGetWindowContentRegionMax = void function(ImVec2* pOut);
4542         alias pigTabBarQueueReorder = void function(ImGuiTabBar* tab_bar, const ImGuiTabItem* tab, int offset);
4543         alias pigGetKeyPressedAmount = int function(int key_index, float repeat_delay, float rate);
4544         alias pigRenderTextClipped = void function(const ImVec2 pos_min, const ImVec2 pos_max, const(char)* text, const(char)* text_end, const ImVec2* text_size_if_known, const ImVec2 alignment = ImVec2(0,0), const ImRect* clip_rect = null);
4545         alias pigImIsPowerOfTwo_Int = bool function(int v);
4546         alias pigImIsPowerOfTwo_U64 = bool function(ImU64 v);
4547         alias pigSetNextWindowSizeConstraints = void function(const ImVec2 size_min, const ImVec2 size_max, ImGuiSizeCallback custom_callback = null, void* custom_callback_data = null);
4548         alias pigTableGcCompactTransientBuffers_TablePtr = void function(ImGuiTable* table);
4549         alias pigTableGcCompactTransientBuffers_TableTempDataPtr = void function(ImGuiTableTempData* table);
4550         alias pImFont_FindGlyphNoFallback = const ImFontGlyph* function(ImFont* self, ImWchar c);
4551         alias pigShowStyleSelector = bool function(const(char)* label);
4552         alias pigNavMoveRequestForward = void function(ImGuiDir move_dir, ImGuiDir clip_dir, ImGuiNavMoveFlags move_flags);
4553         alias pigNavInitWindow = void function(ImGuiWindow* window, bool force_reinit);
4554         alias pigImFileOpen = ImFileHandle function(const(char)* filename, const(char)* mode);
4555         alias pigEndDragDropTarget = void function();
4556         alias pImGuiWindowSettings_ImGuiWindowSettings = ImGuiWindowSettings* function();
4557         alias pImDrawListSharedData_destroy = void function(ImDrawListSharedData* self);
4558         alias pImFontAtlas_Build = bool function(ImFontAtlas* self);
4559         alias pImGuiDockPreviewData_destroy = void function(ImGuiDockPreviewData* self);
4560         alias pigSetScrollFromPosX_Float = void function(float local_x, float center_x_ratio = 0.5f);
4561         alias pigSetScrollFromPosX_WindowPtr = void function(ImGuiWindow* window, float local_x, float center_x_ratio);
4562         alias pigIsKeyPressed = bool function(int user_key_index, bool repeat = true);
4563         alias pigEndTooltip = void function();
4564         alias pigFindWindowSettings = ImGuiWindowSettings* function(ImGuiID id);
4565         alias pigDebugRenderViewportThumbnail = void function(ImDrawList* draw_list, ImGuiViewportP* viewport, const ImRect bb);
4566         alias pImGuiDockNode_UpdateMergedFlags = void function(ImGuiDockNode* self);
4567         alias pigKeepAliveID = void function(ImGuiID id);
4568         alias pigGetColumnOffsetFromNorm = float function(const ImGuiOldColumns* columns, float offset_norm);
4569         alias pImFont_IsLoaded = bool function(ImFont* self);
4570         alias pigDebugNodeDrawCmdShowMeshAndBoundingBox = void function(ImDrawList* out_draw_list, const ImDrawList* draw_list, const ImDrawCmd* draw_cmd, bool show_mesh, bool show_aabb);
4571         alias pigBeginDragDropSource = bool function(ImGuiDragDropFlags flags = ImGuiDragDropFlags.None);
4572         alias pImBitVector_ClearBit = void function(ImBitVector* self, int n);
4573         alias pImDrawDataBuilder_GetDrawListCount = int function(ImDrawDataBuilder* self);
4574         alias pImGuiDockRequest_destroy = void function(ImGuiDockRequest* self);
4575         alias pigSetScrollFromPosY_Float = void function(float local_y, float center_y_ratio = 0.5f);
4576         alias pigSetScrollFromPosY_WindowPtr = void function(ImGuiWindow* window, float local_y, float center_y_ratio);
4577         alias pigColorButton = bool function(const(char)* desc_id, const ImVec4 col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None, ImVec2 size = ImVec2(0,0));
4578         alias pigAcceptDragDropPayload = const ImGuiPayload* function(const(char)* type, ImGuiDragDropFlags flags = ImGuiDragDropFlags.None);
4579         alias pigDockContextShutdown = void function(ImGuiContext* ctx);
4580         alias pImDrawList_PopClipRect = void function(ImDrawList* self);
4581         alias pigGetCursorPosX = float function();
4582         alias pigGetScrollMaxY = float function();
4583         alias pImGuiStoragePair_ImGuiStoragePair_Int = ImGuiStoragePair* function(ImGuiID _key, int _val_i);
4584         alias pImGuiStoragePair_ImGuiStoragePair_Float = ImGuiStoragePair* function(ImGuiID _key, float _val_f);
4585         alias pImGuiStoragePair_ImGuiStoragePair_Ptr = ImGuiStoragePair* function(ImGuiID _key, void* _val_p);
4586         alias pigEndMainMenuBar = void function();
4587         alias pImRect_GetArea = float function(ImRect* self);
4588         alias pImGuiPlatformMonitor_ImGuiPlatformMonitor = ImGuiPlatformMonitor* function();
4589         alias pigIsItemActive = bool function();
4590         alias pImGuiViewportP_GetMainRect = void function(ImRect* pOut, ImGuiViewportP* self);
4591         alias pigShowAboutWindow = void function(bool* p_open = null);
4592         alias pImGuiInputTextState_GetSelectionStart = int function(ImGuiInputTextState* self);
4593         alias pigPushFont = void function(ImFont* font);
4594         alias pigImStrchrRange = const(char)* function(const(char)* str_begin, const(char)* str_end, char c);
4595         alias pigSetNextItemWidth = void function(float item_width);
4596         alias pigGetContentRegionAvail = void function(ImVec2* pOut);
4597         alias pImGuiPayload_ImGuiPayload = ImGuiPayload* function();
4598         alias pigCheckbox = bool function(const(char)* label, bool* v);
4599         alias pImGuiTextRange_ImGuiTextRange_Nil = ImGuiTextRange* function();
4600         alias pImGuiTextRange_ImGuiTextRange_Str = ImGuiTextRange* function(const(char)* _b, const(char)* _e);
4601         alias pImFontAtlas_destroy = void function(ImFontAtlas* self);
4602         alias pImGuiMenuColumns_Update = void function(ImGuiMenuColumns* self, float spacing, bool window_reappearing);
4603         alias pigGcCompactTransientWindowBuffers = void function(ImGuiWindow* window);
4604         alias pigTableSortSpecsBuild = void function(ImGuiTable* table);
4605         alias pigNavMoveRequestTryWrapping = void function(ImGuiWindow* window, ImGuiNavMoveFlags move_flags);
4606         alias pImGuiInputTextState_GetSelectionEnd = int function(ImGuiInputTextState* self);
4607         alias pigIsWindowDocked = bool function();
4608         alias pImVec2_destroy = void function(ImVec2* self);
4609         alias pigTableBeginRow = void function(ImGuiTable* table);
4610         alias pigGetCurrentWindow = ImGuiWindow* function();
4611         alias pigSetDragDropPayload = bool function(const(char)* type, const void* data, size_t sz, ImGuiCond cond = ImGuiCond.None);
4612         alias pigGetID_Str = ImGuiID function(const(char)* str_id);
4613         alias pigGetID_StrStr = ImGuiID function(const(char)* str_id_begin, const(char)* str_id_end);
4614         alias pigGetID_Ptr = ImGuiID function(const void* ptr_id);
4615         alias pImFontAtlas_ImFontAtlas = ImFontAtlas* function();
4616         alias pigBeginGroup = void function();
4617         alias pigGetContentRegionMax = void function(ImVec2* pOut);
4618         alias pigEndChildFrame = void function();
4619         alias pigActivateItem = void function(ImGuiID id);
4620         alias pigImFontAtlasBuildMultiplyCalcLookupTable = void function(char[256]*/*[256]*/ out_table, float in_multiply_factor);
4621         alias pImDrawList_PushClipRectFullScreen = void function(ImDrawList* self);
4622         alias pImRect_Contains_Vec2 = bool function(ImRect* self, const ImVec2 p);
4623         alias pImRect_Contains_Rect = bool function(ImRect* self, const ImRect r);
4624         alias pigGetBackgroundDrawList_Nil = ImDrawList* function();
4625         alias pigGetBackgroundDrawList_ViewportPtr = ImDrawList* function(ImGuiViewport* viewport);
4626         alias pigSetColumnOffset = void function(int column_index, float offset_x);
4627         alias pigSetKeyboardFocusHere = void function(int offset = 0);
4628         alias pigLoadIniSettingsFromMemory = void function(const(char)* ini_data, size_t ini_size = 0);
4629         alias pigIndent = void function(float indent_w = 0.0f);
4630         alias pigPopStyleVar = void function(int count = 1);
4631         alias pigGetViewportPlatformMonitor = const ImGuiPlatformMonitor* function(ImGuiViewport* viewport);
4632         alias pigSetNextWindowSize = void function(const ImVec2 size, ImGuiCond cond = ImGuiCond.None);
4633         alias pigInputFloat3 = bool function(const(char)* label, float[3]*/*[3]*/ v, const(char)* format = "%.3f", ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
4634         alias pigIsKeyDown = bool function(int user_key_index);
4635         alias pigTableBeginApplyRequests = void function(ImGuiTable* table);
4636         alias pigDockNodeBeginAmendTabBar = bool function(ImGuiDockNode* node);
4637         alias pigBeginMenuEx = bool function(const(char)* label, const(char)* icon, bool enabled = true);
4638         alias pigTextUnformatted = void function(const(char)* text, const(char)* text_end = null);
4639         alias pigTextV = void function(const(char)* fmt, va_list args);
4640         alias pigImLengthSqr_Vec2 = float function(const ImVec2 lhs);
4641         alias pigImLengthSqr_Vec4 = float function(const ImVec4 lhs);
4642         alias pImGuiTextFilter_Draw = bool function(ImGuiTextFilter* self, const(char)* label = "Filter(inc,-exc)", float width = 0.0f);
4643         alias pigFocusWindow = void function(ImGuiWindow* window);
4644         alias pigPushClipRect = void function(const ImVec2 clip_rect_min, const ImVec2 clip_rect_max, bool intersect_with_current_clip_rect);
4645         alias pImGuiViewportP_ImGuiViewportP = ImGuiViewportP* function();
4646         alias pigBeginMainMenuBar = bool function();
4647         alias pImRect_GetBR = void function(ImVec2* pOut, ImRect* self);
4648         alias pigCollapsingHeader_TreeNodeFlags = bool function(const(char)* label, ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags.None);
4649         alias pigCollapsingHeader_BoolPtr = bool function(const(char)* label, bool* p_visible, ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags.None);
4650         alias pigGetCurrentWindowRead = ImGuiWindow* function();
4651         alias pImDrawList__PathArcToFastEx = void function(ImDrawList* self, const ImVec2 center, float radius, int a_min_sample, int a_max_sample, int a_step);
4652         alias pigSliderInt3 = bool function(const(char)* label, int[3]*/*[3]*/ v, int v_min, int v_max, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4653         alias pigTabBarAddTab = void function(ImGuiTabBar* tab_bar, ImGuiTabItemFlags tab_flags, ImGuiWindow* window);
4654         alias pImGuiTableSettings_ImGuiTableSettings = ImGuiTableSettings* function();
4655         alias pigPushStyleColor_U32 = void function(ImGuiCol idx, ImU32 col);
4656         alias pigPushStyleColor_Vec4 = void function(ImGuiCol idx, const ImVec4 col);
4657         alias pigImFormatString = int function(char* buf, size_t buf_size, const(char)* fmt, ...);
4658         alias pigTabItemButton = bool function(const(char)* label, ImGuiTabItemFlags flags = ImGuiTabItemFlags.None);
4659         alias pigIsMouseReleased = bool function(ImGuiMouseButton button);
4660         alias pImGuiInputTextState_CursorClamp = void function(ImGuiInputTextState* self);
4661         alias pigRemoveContextHook = void function(ImGuiContext* context, ImGuiID hook_to_remove);
4662         alias pImFontAtlasCustomRect_ImFontAtlasCustomRect = ImFontAtlasCustomRect* function();
4663         alias pImGuiIO_AddInputCharacter = void function(ImGuiIO* self, uint c);
4664         alias pigTabBarProcessReorder = bool function(ImGuiTabBar* tab_bar);
4665         alias pigGetNavInputAmount = float function(ImGuiNavInput n, ImGuiInputReadMode mode);
4666         alias pigClearDragDrop = void function();
4667         alias pigGetTextLineHeight = float function();
4668         alias pImDrawList_AddBezierCubic = void function(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, ImU32 col, float thickness, int num_segments = 0);
4669         alias pigDockContextNewFrameUpdateDocking = void function(ImGuiContext* ctx);
4670         alias pigDataTypeApplyOp = void function(ImGuiDataType data_type, int op, void* output, const void* arg_1, const void* arg_2);
4671         alias pImDrawList_AddQuadFilled = void function(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, ImU32 col);
4672         alias pigDockContextNewFrameUpdateUndocking = void function(ImGuiContext* ctx);
4673         alias pImGuiInputTextCallbackData_SelectAll = void function(ImGuiInputTextCallbackData* self);
4674         alias pImGuiNextItemData_ImGuiNextItemData = ImGuiNextItemData* function();
4675         alias pigLogRenderedText = void function(const ImVec2* ref_pos, const(char)* text, const(char)* text_end = null);
4676         alias pigBeginMenu = bool function(const(char)* label, bool enabled = true);
4677         alias pigSetNextWindowBgAlpha = void function(float alpha);
4678         alias pImGuiStorage_GetIntRef = int* function(ImGuiStorage* self, ImGuiID key, int default_val = 0);
4679         alias pigImTextCountUtf8BytesFromStr = int function(const ImWchar* in_text, const ImWchar* in_text_end);
4680         alias pigEndCombo = void function();
4681         alias pigIsNavInputTest = bool function(ImGuiNavInput n, ImGuiInputReadMode rm);
4682         alias pigImage = void function(ImTextureID user_texture_id, const ImVec2 size, const ImVec2 uv0 = ImVec2(0,0), const ImVec2 uv1 = ImVec2(1,1), const ImVec4 tint_col = ImVec4(1,1,1,1), const ImVec4 border_col = ImVec4(0,0,0,0));
4683         alias pImDrawList_AddPolyline = void function(ImDrawList* self, const ImVec2* points, int num_points, ImU32 col, ImDrawFlags flags, float thickness);
4684         alias pigTreeNode_Str = bool function(const(char)* label);
4685         alias pigTreeNode_StrStr = bool function(const(char)* str_id, const(char)* fmt, ...);
4686         alias pigTreeNode_Ptr = bool function(const void* ptr_id, const(char)* fmt, ...);
4687         alias pigPopClipRect = void function();
4688         alias pImDrawList_PushClipRect = void function(ImDrawList* self, ImVec2 clip_rect_min, ImVec2 clip_rect_max, bool intersect_with_current_clip_rect = false);
4689         alias pigImBitArrayClearBit = void function(ImU32* arr, int n);
4690         alias pigArrowButtonEx = bool function(const(char)* str_id, ImGuiDir dir, ImVec2 size_arg, ImGuiButtonFlags flags = ImGuiButtonFlags.None);
4691         alias pigSelectable_Bool = bool function(const(char)* label, bool selected = false, ImGuiSelectableFlags flags = ImGuiSelectableFlags.None, const ImVec2 size = ImVec2(0,0));
4692         alias pigSelectable_BoolPtr = bool function(const(char)* label, bool* p_selected, ImGuiSelectableFlags flags = ImGuiSelectableFlags.None, const ImVec2 size = ImVec2(0,0));
4693         alias pigTableSetColumnWidthAutoSingle = void function(ImGuiTable* table, int column_n);
4694         alias pigBeginTooltipEx = void function(ImGuiWindowFlags extra_flags, ImGuiTooltipFlags tooltip_flags);
4695         alias pigGetFocusID = ImGuiID function();
4696         alias pigEndComboPreview = void function();
4697         alias pImDrawData_DeIndexAllBuffers = void function(ImDrawData* self);
4698         alias pImDrawCmd_ImDrawCmd = ImDrawCmd* function();
4699         alias pImDrawData_ScaleClipRects = void function(ImDrawData* self, const ImVec2 fb_scale);
4700         alias pigBeginViewportSideBar = bool function(const(char)* name, ImGuiViewport* viewport, ImGuiDir dir, float size, ImGuiWindowFlags window_flags);
4701         alias pigSetNextItemOpen = void function(bool is_open, ImGuiCond cond = ImGuiCond.None);
4702         alias pigDataTypeFormatString = int function(char* buf, int buf_size, ImGuiDataType data_type, const void* p_data, const(char)* format);
4703         alias pigTabItemBackground = void function(ImDrawList* draw_list, const ImRect bb, ImGuiTabItemFlags flags, ImU32 col);
4704         alias pImDrawList_AddTriangle = void function(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, ImU32 col, float thickness = 1.0f);
4705         alias pigDockContextClearNodes = void function(ImGuiContext* ctx, ImGuiID root_id, bool clear_settings_refs);
4706         alias pImGuiContextHook_destroy = void function(ImGuiContextHook* self);
4707         alias pigLogToFile = void function(int auto_open_depth = -1, const(char)* filename = null);
4708         alias pigGetWindowResizeBorderID = ImGuiID function(ImGuiWindow* window, ImGuiDir dir);
4709         alias pImGuiNextItemData_destroy = void function(ImGuiNextItemData* self);
4710         alias pImGuiViewportP_ClearRequestFlags = void function(ImGuiViewportP* self);
4711         alias pigGetMergedKeyModFlags = ImGuiKeyModFlags function();
4712         alias pigTempInputIsActive = bool function(ImGuiID id);
4713         alias pImDrawCmd_GetTexID = ImTextureID function(ImDrawCmd* self);
4714         alias pigDebugNodeWindowSettings = void function(ImGuiWindowSettings* settings);
4715         alias pigSetNextWindowDockID = void function(ImGuiID dock_id, ImGuiCond cond = ImGuiCond.None);
4716         alias pImRect_ToVec4 = void function(ImVec4* pOut, ImRect* self);
4717         alias pigTableGcCompactSettings = void function();
4718         alias pigPushMultiItemsWidths = void function(int components, float width_full);
4719         alias pigCreateContext = ImGuiContext* function(ImFontAtlas* shared_font_atlas = null);
4720         alias pigTableNextRow = void function(ImGuiTableRowFlags row_flags = ImGuiTableRowFlags.None, float min_row_height = 0.0f);
4721         alias pImGuiStackSizes_CompareWithCurrentState = void function(ImGuiStackSizes* self);
4722         alias pImColor_ImColor_Nil = ImColor* function();
4723         alias pImColor_ImColor_Int = ImColor* function(int r, int g, int b, int a = 255);
4724         alias pImColor_ImColor_U32 = ImColor* function(ImU32 rgba);
4725         alias pImColor_ImColor_Float = ImColor* function(float r, float g, float b, float a = 1.0f);
4726         alias pImColor_ImColor_Vec4 = ImColor* function(const ImVec4 col);
4727         alias pigTableGetMaxColumnWidth = float function(const ImGuiTable* table, int column_n);
4728         alias pImGuiViewportP_CalcWorkRectPos = void function(ImVec2* pOut, ImGuiViewportP* self, const ImVec2 off_min);
4729         alias pigDockContextGenNodeID = ImGuiID function(ImGuiContext* ctx);
4730         alias pImDrawList__ClearFreeMemory = void function(ImDrawList* self);
4731         alias pigSetNavID = void function(ImGuiID id, ImGuiNavLayer nav_layer, ImGuiID focus_scope_id, const ImRect rect_rel);
4732         alias pigGetWindowDrawList = ImDrawList* function();
4733         alias pImRect_GetBL = void function(ImVec2* pOut, ImRect* self);
4734         alias pigTableGetHeaderRowHeight = float function();
4735         alias pigIsMousePosValid = bool function(const ImVec2* mouse_pos = null);
4736         alias pImGuiStorage_GetFloat = float function(ImGuiStorage* self, ImGuiID key, float default_val = 0.0f);
4737         alias pImGuiDockNode_IsLeafNode = bool function(ImGuiDockNode* self);
4738         alias pigTableEndCell = void function(ImGuiTable* table);
4739         alias pigSliderFloat4 = bool function(const(char)* label, float[4]*/*[4]*/ v, float v_min, float v_max, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4740         alias pigIsItemDeactivatedAfterEdit = bool function();
4741         alias pigPlotHistogram_FloatPtr = void function(const(char)* label, const float* values, int values_count, int values_offset = 0, const(char)* overlay_text = null, float scale_min = float.max, float scale_max = float.max, ImVec2 graph_size = ImVec2(0,0), int stride = float.sizeof);
4742         alias pigPlotHistogram_FnFloatPtr = void function(const(char)* label, float function(void* data,int idx) values_getter, void* data, int values_count, int values_offset = 0, const(char)* overlay_text = null, float scale_min = float.max, float scale_max = float.max, ImVec2 graph_size = ImVec2(0,0));
4743         alias pigIsItemEdited = bool function();
4744         alias pigShowStyleEditor = void function(ImGuiStyle* reference = null);
4745         alias pigTextWrappedV = void function(const(char)* fmt, va_list args);
4746         alias pigTableBeginCell = void function(ImGuiTable* table, int column_n);
4747         alias pigTableGetColumnNextSortDirection = ImGuiSortDirection function(ImGuiTableColumn* column);
4748         alias pigDebugCheckVersionAndDataLayout = bool function(const(char)* version_str, size_t sz_io, size_t sz_style, size_t sz_vec2, size_t sz_vec4, size_t sz_drawvert, size_t sz_drawidx);
4749         alias pImGuiTextBuffer_appendf = void function(ImGuiTextBuffer* self, const(char)* fmt, ...);
4750         alias pImFontAtlas_AddCustomRectFontGlyph = int function(ImFontAtlas* self, ImFont* font, ImWchar id, int width, int height, float advance_x, const ImVec2 offset = ImVec2(0,0));
4751         alias pigInputTextWithHint = bool function(const(char)* label, const(char)* hint, char* buf, size_t buf_size, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None, ImGuiInputTextCallback callback = null, void* user_data = null);
4752         alias pigImAlphaBlendColors = ImU32 function(ImU32 col_a, ImU32 col_b);
4753         alias pImGuiStorage_GetBoolRef = bool* function(ImGuiStorage* self, ImGuiID key, bool default_val = false);
4754         alias pigBeginPopupContextVoid = bool function(const(char)* str_id = null, ImGuiPopupFlags popup_flags = ImGuiPopupFlags.MouseButtonDefault_);
4755         alias pigSetScrollX_Float = void function(float scroll_x);
4756         alias pigSetScrollX_WindowPtr = void function(ImGuiWindow* window, float scroll_x);
4757         alias pigRenderNavHighlight = void function(const ImRect bb, ImGuiID id, ImGuiNavHighlightFlags flags = ImGuiNavHighlightFlags.TypeDefault);
4758         alias pigBringWindowToFocusFront = void function(ImGuiWindow* window);
4759         alias pigSliderInt = bool function(const(char)* label, int* v, int v_min, int v_max, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4760         alias pigUpdateMouseMovingWindowEndFrame = void function();
4761         alias pigSliderInt2 = bool function(const(char)* label, int[2]*/*[2]*/ v, int v_min, int v_max, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4762         alias pigGetContentRegionMaxAbs = void function(ImVec2* pOut);
4763         alias pigIsMouseHoveringRect = bool function(const ImVec2 r_min, const ImVec2 r_max, bool clip = true);
4764         alias pigImTextStrFromUtf8 = int function(ImWchar* out_buf, int out_buf_size, const(char)* in_text, const(char)* in_text_end, const char** in_remaining = null);
4765         alias pigIsActiveIdUsingNavDir = bool function(ImGuiDir dir);
4766         alias pImGuiListClipper_Begin = void function(ImGuiListClipper* self, int items_count, float items_height = -1.0f);
4767         alias pigStartMouseMovingWindow = void function(ImGuiWindow* window);
4768         alias pigIsItemHovered = bool function(ImGuiHoveredFlags flags = ImGuiHoveredFlags.None);
4769         alias pigTableEndRow = void function(ImGuiTable* table);
4770         alias pImGuiIO_destroy = void function(ImGuiIO* self);
4771         alias pigEndDragDropSource = void function();
4772         alias pImGuiStackSizes_SetToCurrentState = void function(ImGuiStackSizes* self);
4773         alias pigGetDragDropPayload = const ImGuiPayload* function();
4774         alias pigGetPopupAllowedExtentRect = void function(ImRect* pOut, ImGuiWindow* window);
4775         alias pImGuiStorage_SetInt = void function(ImGuiStorage* self, ImGuiID key, int val);
4776         alias pImGuiWindow_MenuBarRect = void function(ImRect* pOut, ImGuiWindow* self);
4777         alias pImGuiStorage_GetInt = int function(ImGuiStorage* self, ImGuiID key, int default_val = 0);
4778         alias pigShowFontSelector = void function(const(char)* label);
4779         alias pigDestroyPlatformWindow = void function(ImGuiViewportP* viewport);
4780         alias pigImMin = void function(ImVec2* pOut, const ImVec2 lhs, const ImVec2 rhs);
4781         alias pigPopButtonRepeat = void function();
4782         alias pigTableSetColumnWidthAutoAll = void function(ImGuiTable* table);
4783         alias pigImAbs_Int = int function(int x);
4784         alias pigImAbs_Float = float function(float x);
4785         alias pigImAbs_double = double function(double x);
4786         alias pigPushButtonRepeat = void function(bool repeat);
4787         alias pImGuiWindow_Rect = void function(ImRect* pOut, ImGuiWindow* self);
4788         alias pImGuiViewportP_GetWorkRect = void function(ImRect* pOut, ImGuiViewportP* self);
4789         alias pImRect_Floor = void function(ImRect* self);
4790         alias pigTreePush_Str = void function(const(char)* str_id);
4791         alias pigTreePush_Ptr = void function(const void* ptr_id = null);
4792         alias pigColorConvertFloat4ToU32 = ImU32 function(const ImVec4 inItem);
4793         alias pigGetStyle = ImGuiStyle* function();
4794         alias pigGetCursorPos = void function(ImVec2* pOut);
4795         alias pigGetFrameCount = int function();
4796         alias pImDrawList_AddNgon = void function(ImDrawList* self, const ImVec2 center, float radius, ImU32 col, int num_segments, float thickness = 1.0f);
4797         alias pigDebugNodeDrawList = void function(ImGuiWindow* window, ImGuiViewportP* viewport, const ImDrawList* draw_list, const(char)* label);
4798         alias pigEnd = void function();
4799         alias pigTabBarCloseTab = void function(ImGuiTabBar* tab_bar, ImGuiTabItem* tab);
4800         alias pigIsItemActivated = bool function();
4801         alias pigBeginDisabled = void function(bool disabled = true);
4802         alias pImGuiInputTextState_ImGuiInputTextState = ImGuiInputTextState* function();
4803         alias pImRect_GetHeight = float function(ImRect* self);
4804         alias pImFontAtlas_AddFontDefault = ImFont* function(ImFontAtlas* self, const ImFontConfig* font_cfg = null);
4805         alias pImDrawList__OnChangedTextureID = void function(ImDrawList* self);
4806         alias pigGetColumnsCount = int function();
4807         alias pigEndChild = void function();
4808         alias pigNavMoveRequestButNoResultYet = bool function();
4809         alias pImGuiStyle_ScaleAllSizes = void function(ImGuiStyle* self, float scale_factor);
4810         alias pigArrowButton = bool function(const(char)* str_id, ImGuiDir dir);
4811         alias pigSetCursorPosY = void function(float local_y);
4812         alias pImGuiDockNode_IsFloatingNode = bool function(ImGuiDockNode* self);
4813         alias pImGuiTextFilter_ImGuiTextFilter = ImGuiTextFilter* function(const(char)* default_filter = "");
4814         alias pImGuiStorage_SetFloat = void function(ImGuiStorage* self, ImGuiID key, float val);
4815         alias pigShadeVertsLinearUV = void function(ImDrawList* draw_list, int vert_start_idx, int vert_end_idx, const ImVec2 a, const ImVec2 b, const ImVec2 uv_a, const ImVec2 uv_b, bool clamp);
4816         alias pigTableGetColumnIndex = int function();
4817         alias pigGetTime = double function();
4818         alias pigBeginPopupContextItem = bool function(const(char)* str_id = null, ImGuiPopupFlags popup_flags = ImGuiPopupFlags.MouseButtonDefault_);
4819         alias pigImRsqrt_Float = float function(float x);
4820         alias pigImRsqrt_double = double function(double x);
4821         alias pigTableLoadSettings = void function(ImGuiTable* table);
4822         alias pigSetScrollHereX = void function(float center_x_ratio = 0.5f);
4823         alias pigSliderScalarN = bool function(const(char)* label, ImGuiDataType data_type, void* p_data, int components, const void* p_min, const void* p_max, const(char)* format = null, ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4824         alias pImDrawList_PathBezierQuadraticCurveTo = void function(ImDrawList* self, const ImVec2 p2, const ImVec2 p3, int num_segments = 0);
4825         alias pImFontAtlas_GetGlyphRangesChineseSimplifiedCommon = const ImWchar* function(ImFontAtlas* self);
4826         alias pigGetMousePosOnOpeningCurrentPopup = void function(ImVec2* pOut);
4827         alias pigVSliderScalar = bool function(const(char)* label, const ImVec2 size, ImGuiDataType data_type, void* p_data, const void* p_min, const void* p_max, const(char)* format = null, ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4828         alias pigDockBuilderSetNodePos = void function(ImGuiID node_id, ImVec2 pos);
4829         alias pImFont_RenderChar = void function(ImFont* self, ImDrawList* draw_list, float size, ImVec2 pos, ImU32 col, ImWchar c);
4830         alias pImFont_RenderText = void function(ImFont* self, ImDrawList* draw_list, float size, ImVec2 pos, ImU32 col, const ImVec4 clip_rect, const(char)* text_begin, const(char)* text_end, float wrap_width = 0.0f, bool cpu_fine_clip = false);
4831         alias pigOpenPopupEx = void function(ImGuiID id, ImGuiPopupFlags popup_flags = ImGuiPopupFlags.None);
4832         alias pImFontAtlas_SetTexID = void function(ImFontAtlas* self, ImTextureID id);
4833         alias pigImFontAtlasBuildRender8bppRectFromString = void function(ImFontAtlas* atlas, int x, int y, int w, int h, const(char)* in_str, char in_marker_char, char in_marker_pixel_value);
4834         alias pImFontAtlas_Clear = void function(ImFontAtlas* self);
4835         alias pigBeginDockableDragDropSource = void function(ImGuiWindow* window);
4836         alias pImBitVector_TestBit = bool function(ImBitVector* self, int n);
4837         alias pImGuiTextFilter_destroy = void function(ImGuiTextFilter* self);
4838         alias pigBeginPopupModal = bool function(const(char)* name, bool* p_open = null, ImGuiWindowFlags flags = ImGuiWindowFlags.None);
4839         alias pigGetFocusedFocusScope = ImGuiID function();
4840         alias pigDebugNodeColumns = void function(ImGuiOldColumns* columns);
4841         alias pigDebugNodeWindow = void function(ImGuiWindow* window, const(char)* label);
4842         alias pigGetWindowDpiScale = float function();
4843         alias pigInputFloat = bool function(const(char)* label, float* v, float step = 0.0f, float step_fast = 0.0f, const(char)* format = "%.3f", ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
4844         alias pigDragIntRange2 = bool function(const(char)* label, int* v_current_min, int* v_current_max, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const(char)* format = "%d", const(char)* format_max = null, ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4845         alias pImVec2ih_destroy = void function(ImVec2ih* self);
4846         alias pImDrawList_GetClipRectMax = void function(ImVec2* pOut, ImDrawList* self);
4847         alias pigInputFloat2 = bool function(const(char)* label, float[2]*/*[2]*/ v, const(char)* format = "%.3f", ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
4848         alias pImDrawDataBuilder_ClearFreeMemory = void function(ImDrawDataBuilder* self);
4849         alias pImGuiLastItemData_destroy = void function(ImGuiLastItemData* self);
4850         alias pImGuiWindowSettings_GetName = char* function(ImGuiWindowSettings* self);
4851         alias pigImStrdup = char* function(const(char)* str);
4852         alias pigImFormatStringV = int function(char* buf, size_t buf_size, const(char)* fmt, va_list args);
4853         alias pigSetTooltipV = void function(const(char)* fmt, va_list args);
4854         alias pigDataTypeGetInfo = const ImGuiDataTypeInfo* function(ImGuiDataType data_type);
4855         alias pigVSliderInt = bool function(const(char)* label, const ImVec2 size, int* v, int v_min, int v_max, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4856         alias pigSetWindowClipRectBeforeSetChannel = void function(ImGuiWindow* window, const ImRect clip_rect);
4857         alias pImFontGlyphRangesBuilder_ImFontGlyphRangesBuilder = ImFontGlyphRangesBuilder* function();
4858         alias pigGetWindowDockID = ImGuiID function();
4859         alias pigPopTextWrapPos = void function();
4860         alias pImGuiWindowClass_destroy = void function(ImGuiWindowClass* self);
4861         alias pImGuiWindow_TitleBarHeight = float function(ImGuiWindow* self);
4862         alias pImDrawList_GetClipRectMin = void function(ImVec2* pOut, ImDrawList* self);
4863         alias pImDrawList_PathStroke = void function(ImDrawList* self, ImU32 col, ImDrawFlags flags = ImDrawFlags.None, float thickness = 1.0f);
4864         alias pigBeginTooltip = void function();
4865         alias pigOpenPopupOnItemClick = void function(const(char)* str_id = null, ImGuiPopupFlags popup_flags = ImGuiPopupFlags.MouseButtonDefault_);
4866         alias pImDrawListSplitter_Merge = void function(ImDrawListSplitter* self, ImDrawList* draw_list);
4867         alias pImGuiWindow_MenuBarHeight = float function(ImGuiWindow* self);
4868         alias pImColor_HSV = void function(ImColor* pOut, float h, float s, float v, float a = 1.0f);
4869         alias pigBeginTableEx = bool function(const(char)* name, ImGuiID id, int columns_count, ImGuiTableFlags flags = ImGuiTableFlags.None, const ImVec2 outer_size = ImVec2(0,0), float inner_width = 0.0f);
4870         alias pigSetTabItemClosed = void function(const(char)* tab_or_docked_window_label);
4871         alias pImFont_AddGlyph = void function(ImFont* self, const ImFontConfig* src_cfg, ImWchar c, float x0, float y0, float x1, float y1, float u0, float v0, float u1, float v1, float advance_x);
4872         alias pigSetHoveredID = void function(ImGuiID id);
4873         alias pigStartMouseMovingWindowOrNode = void function(ImGuiWindow* window, ImGuiDockNode* node, bool undock_floating_node);
4874         alias pImFontGlyphRangesBuilder_AddText = void function(ImFontGlyphRangesBuilder* self, const(char)* text, const(char)* text_end = null);
4875         alias pImGuiPtrOrIndex_destroy = void function(ImGuiPtrOrIndex* self);
4876         alias pImGuiInputTextCallbackData_ImGuiInputTextCallbackData = ImGuiInputTextCallbackData* function();
4877         alias pigImStrdupcpy = char* function(char* dst, size_t* p_dst_size, const(char)* str);
4878         alias pImGuiDockNode_IsNoTabBar = bool function(ImGuiDockNode* self);
4879         alias pigColorConvertHSVtoRGB = void function(float h, float s, float v, float* out_r, float* out_g, float* out_b);
4880         alias pigDockBuilderSplitNode = ImGuiID function(ImGuiID node_id, ImGuiDir split_dir, float size_ratio_for_node_at_dir, ImGuiID* out_id_at_dir, ImGuiID* out_id_at_opposite_dir);
4881         alias pigColorPicker4 = bool function(const(char)* label, float[4]*/*[4]*/ col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None, const float* ref_col = null);
4882         alias pigImBitArrayTestBit = bool function(const ImU32* arr, int n);
4883         alias pigFindWindowByID = ImGuiWindow* function(ImGuiID id);
4884         alias pImDrawList_PathBezierCubicCurveTo = void function(ImDrawList* self, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, int num_segments = 0);
4885         alias pigBeginDragDropTargetCustom = bool function(const ImRect bb, ImGuiID id);
4886         alias pImGuiContext_destroy = void function(ImGuiContext* self);
4887         alias pigDragInt3 = bool function(const(char)* label, int[3]*/*[3]*/ v, float v_speed = 1.0f, int v_min = 0, int v_max = 0, const(char)* format = "%d", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4888         alias pigImHashStr = ImGuiID function(const(char)* data, size_t data_size = 0, ImU32 seed = 0);
4889         alias pImDrawList_AddTriangleFilled = void function(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, ImU32 col);
4890         alias pigDebugNodeFont = void function(ImFont* font);
4891         alias pigRenderArrow = void function(ImDrawList* draw_list, ImVec2 pos, ImU32 col, ImGuiDir dir, float scale = 1.0f);
4892         alias pigNewFrame = void function();
4893         alias pImGuiTabItem_ImGuiTabItem = ImGuiTabItem* function();
4894         alias pImDrawList_ChannelsSetCurrent = void function(ImDrawList* self, int n);
4895         alias pigClosePopupToLevel = void function(int remaining, bool restore_focus_to_window_under_popup);
4896         alias pImGuiContext_ImGuiContext = ImGuiContext* function(ImFontAtlas* shared_font_atlas);
4897         alias pigSliderFloat2 = bool function(const(char)* label, float[2]*/*[2]*/ v, float v_min, float v_max, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4898         alias pigTempInputScalar = bool function(const ImRect bb, ImGuiID id, const(char)* label, ImGuiDataType data_type, void* p_data, const(char)* format, const void* p_clamp_min = null, const void* p_clamp_max = null);
4899         alias pImGuiPopupData_ImGuiPopupData = ImGuiPopupData* function();
4900         alias pImDrawList_AddImageQuad = void function(ImDrawList* self, ImTextureID user_texture_id, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, const ImVec2 uv1 = ImVec2(0,0), const ImVec2 uv2 = ImVec2(1,0), const ImVec2 uv3 = ImVec2(1,1), const ImVec2 uv4 = ImVec2(0,1), ImU32 col = 4294967295);
4901         alias pigBeginListBox = bool function(const(char)* label, const ImVec2 size = ImVec2(0,0));
4902         alias pImFontAtlas_GetCustomRectByIndex = ImFontAtlasCustomRect* function(ImFontAtlas* self, int index);
4903         alias pImFontAtlas_GetTexDataAsAlpha8 = void function(ImFontAtlas* self, char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel = null);
4904         alias pigGcAwakeTransientWindowBuffers = void function(ImGuiWindow* window);
4905         alias pImDrawList__OnChangedClipRect = void function(ImDrawList* self);
4906         alias pImGuiWindowClass_ImGuiWindowClass = ImGuiWindowClass* function();
4907         alias pigDockBuilderRemoveNodeChildNodes = void function(ImGuiID node_id);
4908         alias pigGetColumnsID = ImGuiID function(const(char)* str_id, int count);
4909         alias pImGuiDockNode_SetLocalFlags = void function(ImGuiDockNode* self, ImGuiDockNodeFlags flags);
4910         alias pigPushAllowKeyboardFocus = void function(bool allow_keyboard_focus);
4911         alias pImDrawList_PopTextureID = void function(ImDrawList* self);
4912         alias pigColumns = void function(int count = 1, const(char)* id = null, bool border = true);
4913         alias pImFontGlyphRangesBuilder_AddChar = void function(ImFontGlyphRangesBuilder* self, ImWchar c);
4914         alias pigGetColumnIndex = int function();
4915         alias pigBringWindowToDisplayBack = void function(ImGuiWindow* window);
4916         alias pImDrawList_PrimVtx = void function(ImDrawList* self, const ImVec2 pos, const ImVec2 uv, ImU32 col);
4917         alias pImDrawListSplitter_Clear = void function(ImDrawListSplitter* self);
4918         alias pigImTextCharToUtf8 = const(char)* function(char[5]*/*[5]*/ out_buf, uint c);
4919         alias pigTableBeginInitMemory = void function(ImGuiTable* table, int columns_count);
4920         alias pImDrawList_AddConvexPolyFilled = void function(ImDrawList* self, const ImVec2* points, int num_points, ImU32 col);
4921         alias pigGetCursorScreenPos = void function(ImVec2* pOut);
4922         alias pigListBox_Str_arr = bool function(const(char)* label, int* current_item, const(char)** items, int items_count, int height_in_items = -1);
4923         alias pigListBox_FnBoolPtr = bool function(const(char)* label, int* current_item, bool function(void* data,int idx,const(char)** out_text) items_getter, void* data, int items_count, int height_in_items = -1);
4924         alias pigPopItemFlag = void function();
4925         alias pigImBezierCubicClosestPoint = void function(ImVec2* pOut, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, const ImVec2 p, int num_segments);
4926         alias pigGetItemFlags = ImGuiItemFlags function();
4927         alias pigPopColumnsBackground = void function();
4928         alias pigLogBegin = void function(ImGuiLogType type, int auto_open_depth);
4929         alias pigTreeNodeV_Str = bool function(const(char)* str_id, const(char)* fmt, va_list args);
4930         alias pigTreeNodeV_Ptr = bool function(const void* ptr_id, const(char)* fmt, va_list args);
4931         alias pigRenderTextClippedEx = void function(ImDrawList* draw_list, const ImVec2 pos_min, const ImVec2 pos_max, const(char)* text, const(char)* text_end, const ImVec2* text_size_if_known, const ImVec2 alignment = ImVec2(0,0), const ImRect* clip_rect = null);
4932         alias pigTableSettingsFindByID = ImGuiTableSettings* function(ImGuiID id);
4933         alias pImGuiIO_AddInputCharacterUTF16 = void function(ImGuiIO* self, ImWchar16 c);
4934         alias pImGuiStorage_GetFloatRef = float* function(ImGuiStorage* self, ImGuiID key, float default_val = 0.0f);
4935         alias pigImStrbolW = const ImWchar* function(const ImWchar* buf_mid_line, const ImWchar* buf_begin);
4936         alias pImGuiStackSizes_ImGuiStackSizes = ImGuiStackSizes* function();
4937         alias pigSliderBehavior = bool function(const ImRect bb, ImGuiID id, ImGuiDataType data_type, void* p_v, const void* p_min, const void* p_max, const(char)* format, ImGuiSliderFlags flags, ImRect* out_grab_bb);
4938         alias pigValue_Bool = void function(const(char)* prefix, bool b);
4939         alias pigValue_Int = void function(const(char)* prefix, int v);
4940         alias pigValue_Uint = void function(const(char)* prefix, uint v);
4941         alias pigValue_Float = void function(const(char)* prefix, float v, const(char)* float_format = null);
4942         alias pigBeginTabItem = bool function(const(char)* label, bool* p_open = null, ImGuiTabItemFlags flags = ImGuiTabItemFlags.None);
4943         alias pigDebugNodeTable = void function(ImGuiTable* table);
4944         alias pImGuiViewport_destroy = void function(ImGuiViewport* self);
4945         alias pigIsNavInputDown = bool function(ImGuiNavInput n);
4946         alias pImGuiInputTextState_ClearFreeMemory = void function(ImGuiInputTextState* self);
4947         alias pImGuiViewport_GetWorkCenter = void function(ImVec2* pOut, ImGuiViewport* self);
4948         alias pigRenderBullet = void function(ImDrawList* draw_list, ImVec2 pos, ImU32 col);
4949         alias pigDragFloat4 = bool function(const(char)* label, float[4]*/*[4]*/ v, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
4950         alias pImDrawList__OnChangedVtxOffset = void function(ImDrawList* self);
4951         alias pigTableSortSpecsSanitize = void function(ImGuiTable* table);
4952         alias pigFocusTopMostWindowUnderOne = void function(ImGuiWindow* under_this_window, ImGuiWindow* ignore_window);
4953         alias pigPushID_Str = void function(const(char)* str_id);
4954         alias pigPushID_StrStr = void function(const(char)* str_id_begin, const(char)* str_id_end);
4955         alias pigPushID_Ptr = void function(const void* ptr_id);
4956         alias pigPushID_Int = void function(int int_id);
4957         alias pigItemHoverable = bool function(const ImRect bb, ImGuiID id);
4958         alias pImFontAtlas_AddFontFromMemoryTTF = ImFont* function(ImFontAtlas* self, void* font_data, int font_size, float size_pixels, const ImFontConfig* font_cfg = null, const ImWchar* glyph_ranges = null);
4959         alias pigDockBuilderDockWindow = void function(const(char)* window_name, ImGuiID node_id);
4960         alias pigImFontAtlasBuildMultiplyRectAlpha8 = void function(const char[256]*/*[256]*/ table, char* pixels, int x, int y, int w, int h, int stride);
4961         alias pigTextDisabledV = void function(const(char)* fmt, va_list args);
4962         alias pigInputScalar = bool function(const(char)* label, ImGuiDataType data_type, void* p_data, const void* p_step = null, const void* p_step_fast = null, const(char)* format = null, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
4963         alias pImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr = ImGuiPtrOrIndex* function(void* ptr);
4964         alias pImGuiPtrOrIndex_ImGuiPtrOrIndex_Int = ImGuiPtrOrIndex* function(int index);
4965         alias pigImLerp_Vec2Float = void function(ImVec2* pOut, const ImVec2 a, const ImVec2 b, float t);
4966         alias pigImLerp_Vec2Vec2 = void function(ImVec2* pOut, const ImVec2 a, const ImVec2 b, const ImVec2 t);
4967         alias pigImLerp_Vec4 = void function(ImVec4* pOut, const ImVec4 a, const ImVec4 b, float t);
4968         alias pigItemSize_Vec2 = void function(const ImVec2 size, float text_baseline_y = -1.0f);
4969         alias pigItemSize_Rect = void function(const ImRect bb, float text_baseline_y = -1.0f);
4970         alias pImColor_SetHSV = void function(ImColor* self, float h, float s, float v, float a = 1.0f);
4971         alias pImFont_IsGlyphRangeUnused = bool function(ImFont* self, uint c_begin, uint c_last);
4972         alias pigImBezierQuadraticCalc = void function(ImVec2* pOut, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, float t);
4973         alias pigImParseFormatPrecision = int function(const(char)* format, int default_value);
4974         alias pigLogToTTY = void function(int auto_open_depth = -1);
4975         alias pigTableGetColumnWidthAuto = float function(ImGuiTable* table, ImGuiTableColumn* column);
4976         alias pigButtonBehavior = bool function(const ImRect bb, ImGuiID id, bool* out_hovered, bool* out_held, ImGuiButtonFlags flags = ImGuiButtonFlags.None);
4977         alias pImGuiInputTextState_OnKeyPressed = void function(ImGuiInputTextState* self, int key);
4978         alias pigImLog_Float = float function(float x);
4979         alias pigImLog_double = double function(double x);
4980         alias pigSetFocusID = void function(ImGuiID id, ImGuiWindow* window);
4981         alias pigGetActiveID = ImGuiID function();
4982         alias pigImLineClosestPoint = void function(ImVec2* pOut, const ImVec2 a, const ImVec2 b, const ImVec2 p);
4983         alias pigIsItemVisible = bool function();
4984         alias pigRender = void function();
4985         alias pigImTriangleArea = float function(const ImVec2 a, const ImVec2 b, const ImVec2 c);
4986         alias pigBeginChild_Str = bool function(const(char)* str_id, const ImVec2 size = ImVec2(0,0), bool border = false, ImGuiWindowFlags flags = ImGuiWindowFlags.None);
4987         alias pigBeginChild_ID = bool function(ImGuiID id, const ImVec2 size = ImVec2(0,0), bool border = false, ImGuiWindowFlags flags = ImGuiWindowFlags.None);
4988         alias pigStyleColorsLight = void function(ImGuiStyle* dst = null);
4989         alias pigGetScrollX = float function();
4990         alias pigCallContextHooks = void function(ImGuiContext* context, ImGuiContextHookType type);
4991         alias pImFontAtlas_GetTexDataAsRGBA32 = void function(ImFontAtlas* self, char** out_pixels, int* out_width, int* out_height, int* out_bytes_per_pixel = null);
4992         alias pImGuiOnceUponAFrame_ImGuiOnceUponAFrame = ImGuiOnceUponAFrame* function();
4993         alias pImDrawData_destroy = void function(ImDrawData* self);
4994         alias pigSaveIniSettingsToMemory = const(char)* function(size_t* out_ini_size = null);
4995         alias pigTabBarRemoveTab = void function(ImGuiTabBar* tab_bar, ImGuiID tab_id);
4996         alias pigGetWindowHeight = float function();
4997         alias pigGetMainViewport = ImGuiViewport* function();
4998         alias pImGuiTextFilter_PassFilter = bool function(ImGuiTextFilter* self, const(char)* text, const(char)* text_end = null);
4999         alias pImFontAtlas_AddFontFromMemoryCompressedBase85TTF = ImFont* function(ImFontAtlas* self, const(char)* compressed_font_data_base85, float size_pixels, const ImFontConfig* font_cfg = null, const ImWchar* glyph_ranges = null);
5000         alias pImFontAtlas_AddFontFromFileTTF = ImFont* function(ImFontAtlas* self, const(char)* filename, float size_pixels, const ImFontConfig* font_cfg = null, const ImWchar* glyph_ranges = null);
5001         alias pigEndDisabled = void function();
5002         alias pImGuiViewportP_CalcWorkRectSize = void function(ImVec2* pOut, ImGuiViewportP* self, const ImVec2 off_min, const ImVec2 off_max);
5003         alias pigGetCurrentContext = ImGuiContext* function();
5004         alias pigColorConvertU32ToFloat4 = void function(ImVec4* pOut, ImU32 inItem);
5005         alias pImDrawList_PathArcToFast = void function(ImDrawList* self, const ImVec2 center, float radius, int a_min_of_12, int a_max_of_12);
5006         alias pigDragFloat = bool function(const(char)* label, float* v, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
5007         alias pigGetStyleColorName = const(char)* function(ImGuiCol idx);
5008         alias pigSetItemDefaultFocus = void function();
5009         alias pImGuiDockNodeSettings_ImGuiDockNodeSettings = ImGuiDockNodeSettings* function();
5010         alias pigCalcListClipping = void function(int items_count, float items_height, int* out_items_display_start, int* out_items_display_end);
5011         alias pigSetNextWindowPos = void function(const ImVec2 pos, ImGuiCond cond = ImGuiCond.None, const ImVec2 pivot = ImVec2(0,0));
5012         alias pigDragFloat3 = bool function(const(char)* label, float[3]*/*[3]*/ v, float v_speed = 1.0f, float v_min = 0.0f, float v_max = 0.0f, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
5013         alias pigCaptureKeyboardFromApp = void function(bool want_capture_keyboard_value = true);
5014         alias pigGetCurrentTable = ImGuiTable* function();
5015         alias pImDrawData_Clear = void function(ImDrawData* self);
5016         alias pImFontAtlas_AddFontFromMemoryCompressedTTF = ImFont* function(ImFontAtlas* self, const void* compressed_font_data, int compressed_font_size, float size_pixels, const ImFontConfig* font_cfg = null, const ImWchar* glyph_ranges = null);
5017         alias pImGuiStoragePair_destroy = void function(ImGuiStoragePair* self);
5018         alias pigIsItemToggledOpen = bool function();
5019         alias pigInputInt3 = bool function(const(char)* label, int[3]*/*[3]*/ v, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
5020         alias pigShrinkWidths = void function(ImGuiShrinkWidthItem* items, int count, float width_excess);
5021         alias pigClosePopupsExceptModals = void function();
5022         alias pImDrawList_AddText_Vec2 = void function(ImDrawList* self, const ImVec2 pos, ImU32 col, const(char)* text_begin, const(char)* text_end = null);
5023         alias pImDrawList_AddText_FontPtr = void function(ImDrawList* self, const ImFont* font, float font_size, const ImVec2 pos, ImU32 col, const(char)* text_begin, const(char)* text_end = null, float wrap_width = 0.0f, const ImVec4* cpu_fine_clip_rect = null);
5024         alias pImDrawList_PrimRectUV = void function(ImDrawList* self, const ImVec2 a, const ImVec2 b, const ImVec2 uv_a, const ImVec2 uv_b, ImU32 col);
5025         alias pImDrawList_PrimWriteIdx = void function(ImDrawList* self, ImDrawIdx idx);
5026         alias pImGuiOldColumns_ImGuiOldColumns = ImGuiOldColumns* function();
5027         alias pigTableRemove = void function(ImGuiTable* table);
5028         alias pigDebugNodeTableSettings = void function(ImGuiTableSettings* settings);
5029         alias pImGuiStorage_GetBool = bool function(ImGuiStorage* self, ImGuiID key, bool default_val = false);
5030         alias pigRenderFrameBorder = void function(ImVec2 p_min, ImVec2 p_max, float rounding = 0.0f);
5031         alias pigFindWindowByName = ImGuiWindow* function(const(char)* name);
5032         alias pImGuiLastItemData_ImGuiLastItemData = ImGuiLastItemData* function();
5033         alias pigImTextStrToUtf8 = int function(char* out_buf, int out_buf_size, const ImWchar* in_text, const ImWchar* in_text_end);
5034         alias pigScrollToBringRectIntoView = void function(ImVec2* pOut, ImGuiWindow* window, const ImRect item_rect);
5035         alias pigInputInt = bool function(const(char)* label, int* v, int step = 1, int step_fast = 100, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
5036         alias pImVec2_ImVec2_Nil = ImVec2* function();
5037         alias pImVec2_ImVec2_Float = ImVec2* function(float _x, float _y);
5038         alias pImGuiTextBuffer_size = int function(ImGuiTextBuffer* self);
5039         alias pImFontAtlas_GetGlyphRangesDefault = const ImWchar* function(ImFontAtlas* self);
5040         alias pigUpdatePlatformWindows = void function();
5041         alias pigTextWrapped = void function(const(char)* fmt, ...);
5042         alias pImFontAtlas_ClearTexData = void function(ImFontAtlas* self);
5043         alias pImFont_GetCharAdvance = float function(ImFont* self, ImWchar c);
5044         alias pigSliderFloat3 = bool function(const(char)* label, float[3]*/*[3]*/ v, float v_min, float v_max, const(char)* format = "%.3f", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
5045         alias pImDrawList_PathFillConvex = void function(ImDrawList* self, ImU32 col);
5046         alias pImGuiTextBuffer_ImGuiTextBuffer = ImGuiTextBuffer* function();
5047         alias pImGuiTabItem_destroy = void function(ImGuiTabItem* self);
5048         alias pigSliderAngle = bool function(const(char)* label, float* v_rad, float v_degrees_min = -360.0f, float v_degrees_max = +360.0f, const(char)* format = "%.0f deg", ImGuiSliderFlags flags = ImGuiSliderFlags.None);
5049         alias pImGuiTableColumnSortSpecs_destroy = void function(ImGuiTableColumnSortSpecs* self);
5050         alias pigSetWindowPos_Vec2 = void function(const ImVec2 pos, ImGuiCond cond = ImGuiCond.None);
5051         alias pigSetWindowPos_Str = void function(const(char)* name, const ImVec2 pos, ImGuiCond cond = ImGuiCond.None);
5052         alias pigSetWindowPos_WindowPtr = void function(ImGuiWindow* window, const ImVec2 pos, ImGuiCond cond = ImGuiCond.None);
5053         alias pigTempInputText = bool function(const ImRect bb, ImGuiID id, const(char)* label, char* buf, int buf_size, ImGuiInputTextFlags flags);
5054         alias pigSetScrollHereY = void function(float center_y_ratio = 0.5f);
5055         alias pigMenuItemEx = bool function(const(char)* label, const(char)* icon, const(char)* shortcut = null, bool selected = false, bool enabled = true);
5056         alias pImGuiIO_AddFocusEvent = void function(ImGuiIO* self, bool focused);
5057         alias pImGuiViewport_ImGuiViewport = ImGuiViewport* function();
5058         alias pigProgressBar = void function(float fraction, const ImVec2 size_arg = ImVec2(-float.min_normal,0), const(char)* overlay = null);
5059         alias pImDrawList_CloneOutput = ImDrawList* function(ImDrawList* self);
5060         alias pImFontGlyphRangesBuilder_destroy = void function(ImFontGlyphRangesBuilder* self);
5061         alias pImVec1_destroy = void function(ImVec1* self);
5062         alias pigPushColumnClipRect = void function(int column_index);
5063         alias pigTabBarQueueReorderFromMousePos = void function(ImGuiTabBar* tab_bar, const ImGuiTabItem* tab, ImVec2 mouse_pos);
5064         alias pigLogTextV = void function(const(char)* fmt, va_list args);
5065         alias pigDockBuilderCopyWindowSettings = void function(const(char)* src_name, const(char)* dst_name);
5066         alias pigImTextCharFromUtf8 = int function(uint* out_char, const(char)* in_text, const(char)* in_text_end);
5067         alias pImRect_ImRect_Nil = ImRect* function();
5068         alias pImRect_ImRect_Vec2 = ImRect* function(const ImVec2 min, const ImVec2 max);
5069         alias pImRect_ImRect_Vec4 = ImRect* function(const ImVec4 v);
5070         alias pImRect_ImRect_Float = ImRect* function(float x1, float y1, float x2, float y2);
5071         alias pigGetTopMostPopupModal = ImGuiWindow* function();
5072         alias pImDrawListSplitter_Split = void function(ImDrawListSplitter* self, ImDrawList* draw_list, int count);
5073         alias pigBulletText = void function(const(char)* fmt, ...);
5074         alias pigImFontAtlasBuildFinish = void function(ImFontAtlas* atlas);
5075         alias pigDebugNodeViewport = void function(ImGuiViewportP* viewport);
5076         alias pImDrawList_AddQuad = void function(ImDrawList* self, const ImVec2 p1, const ImVec2 p2, const ImVec2 p3, const ImVec2 p4, ImU32 col, float thickness = 1.0f);
5077         alias pigDockSpace = ImGuiID function(ImGuiID id, const ImVec2 size = ImVec2(0,0), ImGuiDockNodeFlags flags = ImGuiDockNodeFlags.None, const ImGuiWindowClass* window_class = null);
5078         alias pigGetColorU32_Col = ImU32 function(ImGuiCol idx, float alpha_mul = 1.0f);
5079         alias pigGetColorU32_Vec4 = ImU32 function(const ImVec4 col);
5080         alias pigGetColorU32_U32 = ImU32 function(ImU32 col);
5081         alias pImGuiWindow_GetIDFromRectangle = ImGuiID function(ImGuiWindow* self, const ImRect r_abs);
5082         alias pImDrawList_AddDrawCmd = void function(ImDrawList* self);
5083         alias pigUpdateWindowParentAndRootLinks = void function(ImGuiWindow* window, ImGuiWindowFlags flags, ImGuiWindow* parent_window);
5084         alias pigIsItemDeactivated = bool function();
5085         alias pigSetCursorPosX = void function(float local_x);
5086         alias pigInputFloat4 = bool function(const(char)* label, float[4]*/*[4]*/ v, const(char)* format = "%.3f", ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
5087         alias pigSeparator = void function();
5088         alias pImRect_Translate = void function(ImRect* self, const ImVec2 d);
5089         alias pImDrawList_PrimUnreserve = void function(ImDrawList* self, int idx_count, int vtx_count);
5090         alias pigColorPickerOptionsPopup = void function(const float* ref_col, ImGuiColorEditFlags flags);
5091         alias pImRect_IsInverted = bool function(ImRect* self);
5092         alias pigGetKeyIndex = int function(ImGuiKey imgui_key);
5093         alias pigFindViewportByID = ImGuiViewport* function(ImGuiID id);
5094         alias pImGuiMetricsConfig_destroy = void function(ImGuiMetricsConfig* self);
5095         alias pigPushItemFlag = void function(ImGuiItemFlags option, bool enabled);
5096         alias pigScrollbar = void function(ImGuiAxis axis);
5097         alias pigDebugNodeWindowsList = void function(ImVector!(ImGuiWindow*)* windows, const(char)* label);
5098         alias pImDrawList_PrimWriteVtx = void function(ImDrawList* self, const ImVec2 pos, const ImVec2 uv, ImU32 col);
5099         alias pImGuiDockContext_destroy = void function(ImGuiDockContext* self);
5100         alias pImGuiPayload_IsDataType = bool function(ImGuiPayload* self, const(char)* type);
5101         alias pigSetActiveID = void function(ImGuiID id, ImGuiWindow* window);
5102         alias pImFontGlyphRangesBuilder_BuildRanges = void function(ImFontGlyphRangesBuilder* self, ImVector!(ImWchar)* out_ranges);
5103         alias pImGuiDockPreviewData_ImGuiDockPreviewData = ImGuiDockPreviewData* function();
5104         alias pigSetWindowSize_Vec2 = void function(const ImVec2 size, ImGuiCond cond = ImGuiCond.None);
5105         alias pigSetWindowSize_Str = void function(const(char)* name, const ImVec2 size, ImGuiCond cond = ImGuiCond.None);
5106         alias pigSetWindowSize_WindowPtr = void function(ImGuiWindow* window, const ImVec2 size, ImGuiCond cond = ImGuiCond.None);
5107         alias pigTreePop = void function();
5108         alias pigTableGetCellBgRect = void function(ImRect* pOut, const ImGuiTable* table, int column_n);
5109         alias pImFont_AddRemapChar = void function(ImFont* self, ImWchar dst, ImWchar src, bool overwrite_dst = true);
5110         alias pigNavMoveRequestCancel = void function();
5111         alias pigText = void function(const(char)* fmt, ...);
5112         alias pigCollapseButton = bool function(ImGuiID id, const ImVec2 pos, ImGuiDockNode* dock_node);
5113         alias pImGuiWindow_TitleBarRect = void function(ImRect* pOut, ImGuiWindow* self);
5114         alias pigIsItemFocused = bool function();
5115         alias pigTranslateWindowsInViewport = void function(ImGuiViewportP* viewport, const ImVec2 old_pos, const ImVec2 new_pos);
5116         alias pigMemAlloc = void* function(size_t size);
5117         alias pImGuiStackSizes_destroy = void function(ImGuiStackSizes* self);
5118         alias pigColorPicker3 = bool function(const(char)* label, float[3]*/*[3]*/ col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None);
5119         alias pImGuiTextBuffer_destroy = void function(ImGuiTextBuffer* self);
5120         alias pigGetColumnOffset = float function(int column_index = -1);
5121         alias pigSetCurrentViewport = void function(ImGuiWindow* window, ImGuiViewportP* viewport);
5122         alias pImRect_GetSize = void function(ImVec2* pOut, ImRect* self);
5123         alias pigSetItemUsingMouseWheel = void function();
5124         alias pigIsWindowCollapsed = bool function();
5125         alias pImGuiNextItemData_ClearFlags = void function(ImGuiNextItemData* self);
5126         alias pigBeginCombo = bool function(const(char)* label, const(char)* preview_value, ImGuiComboFlags flags = ImGuiComboFlags.None);
5127         alias pImRect_Expand_Float = void function(ImRect* self, const float amount);
5128         alias pImRect_Expand_Vec2 = void function(ImRect* self, const ImVec2 amount);
5129         alias pigNavMoveRequestApplyResult = void function();
5130         alias pigOpenPopup_Str = void function(const(char)* str_id, ImGuiPopupFlags popup_flags = ImGuiPopupFlags.MouseButtonLeft);
5131         alias pigOpenPopup_ID = void function(ImGuiID id, ImGuiPopupFlags popup_flags = ImGuiPopupFlags.MouseButtonLeft);
5132         alias pigImCharIsBlankW = bool function(uint c);
5133         alias pImFont_SetGlyphVisible = void function(ImFont* self, ImWchar c, bool visible);
5134         alias pigFindOrCreateWindowSettings = ImGuiWindowSettings* function(const(char)* name);
5135         alias pigImFloorSigned = float function(float f);
5136         alias pigInputScalarN = bool function(const(char)* label, ImGuiDataType data_type, void* p_data, int components, const void* p_step = null, const void* p_step_fast = null, const(char)* format = null, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None);
5137         alias pImDrawList_PrimQuadUV = void function(ImDrawList* self, const ImVec2 a, const ImVec2 b, const ImVec2 c, const ImVec2 d, const ImVec2 uv_a, const ImVec2 uv_b, const ImVec2 uv_c, const ImVec2 uv_d, ImU32 col);
5138         alias pigPopID = void function();
5139         alias pigEndTabBar = void function();
5140         alias pigPopAllowKeyboardFocus = void function();
5141         alias pImDrawList_AddImage = void function(ImDrawList* self, ImTextureID user_texture_id, const ImVec2 p_min, const ImVec2 p_max, const ImVec2 uv_min = ImVec2(0,0), const ImVec2 uv_max = ImVec2(1,1), ImU32 col = 4294967295);
5142         alias pigBeginTabBar = bool function(const(char)* str_id, ImGuiTabBarFlags flags = ImGuiTabBarFlags.None);
5143         alias pigGetCursorPosY = float function();
5144         alias pigCalcTextSize = void function(ImVec2* pOut, const(char)* text, const(char)* text_end = null, bool hide_text_after_double_hash = false, float wrap_width = -1.0f);
5145         alias pigSetActiveIdUsingNavAndKeys = void function();
5146         alias pImFont_CalcTextSizeA = void function(ImVec2* pOut, ImFont* self, float size, float max_width, float wrap_width, const(char)* text_begin, const(char)* text_end = null, const char** remaining = null);
5147         alias pigImClamp = void function(ImVec2* pOut, const ImVec2 v, const ImVec2 mn, ImVec2 mx);
5148         alias pigGetColumnWidth = float function(int column_index = -1);
5149         alias pigTableHeader = void function(const(char)* label);
5150         alias pigTabBarFindMostRecentlySelectedTabForActiveWindow = ImGuiTabItem* function(ImGuiTabBar* tab_bar);
5151         alias pImGuiPayload_Clear = void function(ImGuiPayload* self);
5152         alias pImGuiTextBuffer_reserve = void function(ImGuiTextBuffer* self, int capacity);
5153         alias pImDrawList__TryMergeDrawCmds = void function(ImDrawList* self);
5154         alias pImGuiInputTextState_CursorAnimReset = void function(ImGuiInputTextState* self);
5155         alias pImRect_ClipWithFull = void function(ImRect* self, const ImRect r);
5156         alias pigGetFontTexUvWhitePixel = void function(ImVec2* pOut);
5157         alias pImDrawList_ChannelsSplit = void function(ImDrawList* self, int count);
5158         alias pigCalcWindowNextAutoFitSize = void function(ImVec2* pOut, ImGuiWindow* window);
5159         alias pigPopFont = void function();
5160         alias pigImTriangleContainsPoint = bool function(const ImVec2 a, const ImVec2 b, const ImVec2 c, const ImVec2 p);
5161         alias pigRenderRectFilledWithHole = void function(ImDrawList* draw_list, ImRect outer, ImRect inner, ImU32 col, float rounding);
5162         alias pigImFloor_Float = float function(float f);
5163         alias pigImFloor_Vec2 = void function(ImVec2* pOut, const ImVec2 v);
5164         alias pImDrawList_AddRect = void function(ImDrawList* self, const ImVec2 p_min, const ImVec2 p_max, ImU32 col, float rounding = 0.0f, ImDrawFlags flags = ImDrawFlags.None, float thickness = 1.0f);
5165         alias pigImParseFormatFindEnd = const(char)* function(const(char)* format);
5166         alias pImGuiPlatformIO_destroy = void function(ImGuiPlatformIO* self);
5167         alias pImGuiTableColumnSettings_destroy = void function(ImGuiTableColumnSettings* self);
5168         alias pImGuiInputTextCallbackData_ClearSelection = void function(ImGuiInputTextCallbackData* self);
5169         alias pigErrorCheckEndFrameRecover = void function(ImGuiErrorLogCallback log_callback, void* user_data = null);
5170         alias pImGuiTextRange_split = void function(ImGuiTextRange* self, char separator, ImVector!(ImGuiTextRange)* outItem);
5171         alias pImBitVector_Clear = void function(ImBitVector* self);
5172         alias pigDockBuilderAddNode = ImGuiID function(ImGuiID node_id = 0, ImGuiDockNodeFlags flags = ImGuiDockNodeFlags.None);
5173         alias pigCreateNewWindowSettings = ImGuiWindowSettings* function(const(char)* name);
5174         alias pigDockNodeGetWindowMenuButtonId = ImGuiID function(const ImGuiDockNode* node);
5175         alias pImGuiDockNode_IsRootNode = bool function(ImGuiDockNode* self);
5176         alias pigDockContextInitialize = void function(ImGuiContext* ctx);
5177         alias pigGetDrawListSharedData = ImDrawListSharedData* function();
5178         alias pigBeginChildEx = bool function(const(char)* name, ImGuiID id, const ImVec2 size_arg, bool border, ImGuiWindowFlags flags);
5179         alias pImGuiNextWindowData_ClearFlags = void function(ImGuiNextWindowData* self);
5180         alias pigImFileClose = bool function(ImFileHandle file);
5181         alias pImFontGlyphRangesBuilder_GetBit = bool function(ImFontGlyphRangesBuilder* self, size_t n);
5182         alias pigImRotate = void function(ImVec2* pOut, const ImVec2 v, float cos_a, float sin_a);
5183         alias pigImGetDirQuadrantFromDelta = ImGuiDir function(float dx, float dy);
5184         alias pigTableMergeDrawChannels = void function(ImGuiTable* table);
5185         alias pImFontAtlas_AddFont = ImFont* function(ImFontAtlas* self, const ImFontConfig* font_cfg);
5186         alias pigGetNavInputAmount2d = void function(ImVec2* pOut, ImGuiNavDirSourceFlags dir_sources, ImGuiInputReadMode mode, float slow_factor = 0.0f, float fast_factor = 0.0f);
5187         __gshared {
5188             pImDrawList_AddCircleFilled ImDrawList_AddCircleFilled;
5189             pImGuiPlatformIO_ImGuiPlatformIO ImGuiPlatformIO_ImGuiPlatformIO;
5190             pigDockContextQueueUndockWindow igDockContextQueueUndockWindow;
5191             pImGuiComboPreviewData_ImGuiComboPreviewData ImGuiComboPreviewData_ImGuiComboPreviewData;
5192             pigEndTable igEndTable;
5193             pImFontAtlas_GetGlyphRangesChineseFull ImFontAtlas_GetGlyphRangesChineseFull;
5194             pigBringWindowToDisplayFront igBringWindowToDisplayFront;
5195             pigGetForegroundDrawList_Nil igGetForegroundDrawList_Nil;
5196             pigGetForegroundDrawList_ViewportPtr igGetForegroundDrawList_ViewportPtr;
5197             pigGetForegroundDrawList_WindowPtr igGetForegroundDrawList_WindowPtr;
5198             pigInitialize igInitialize;
5199             pImFontAtlas_AddCustomRectRegular ImFontAtlas_AddCustomRectRegular;
5200             pigIsMouseDragPastThreshold igIsMouseDragPastThreshold;
5201             pigSetWindowFontScale igSetWindowFontScale;
5202             pigSliderFloat igSliderFloat;
5203             pigDestroyPlatformWindows igDestroyPlatformWindows;
5204             pigImMax igImMax;
5205             pImRect_GetTR ImRect_GetTR;
5206             pigTableSetupColumn igTableSetupColumn;
5207             pImFontAtlas_GetGlyphRangesThai ImFontAtlas_GetGlyphRangesThai;
5208             pImGuiInputTextState_ClearSelection ImGuiInputTextState_ClearSelection;
5209             pImFont_GrowIndex ImFont_GrowIndex;
5210             pigClosePopupsOverWindow igClosePopupsOverWindow;
5211             pImFontAtlas_ClearInputData ImFontAtlas_ClearInputData;
5212             pImGuiWindowSettings_destroy ImGuiWindowSettings_destroy;
5213             pigIsMouseDragging igIsMouseDragging;
5214             pigLoadIniSettingsFromDisk igLoadIniSettingsFromDisk;
5215             pigImBezierCubicCalc igImBezierCubicCalc;
5216             pImGuiTextBuffer_end ImGuiTextBuffer_end;
5217             pImGuiTabBar_destroy ImGuiTabBar_destroy;
5218             pigDockContextCalcDropPosForDocking igDockContextCalcDropPosForDocking;
5219             pigSetClipboardText igSetClipboardText;
5220             pigRenderColorRectWithAlphaCheckerboard igRenderColorRectWithAlphaCheckerboard;
5221             pigFindBestWindowPosForPopup igFindBestWindowPosForPopup;
5222             pigRadioButton_Bool igRadioButton_Bool;
5223             pigRadioButton_IntPtr igRadioButton_IntPtr;
5224             pImGuiTextFilter_Clear ImGuiTextFilter_Clear;
5225             pImRect_TranslateX ImRect_TranslateX;
5226             pigGetWindowPos igGetWindowPos;
5227             pImGuiIO_ClearInputCharacters ImGuiIO_ClearInputCharacters;
5228             pigImBitArraySetBit igImBitArraySetBit;
5229             pImDrawDataBuilder_FlattenIntoSingleLayer ImDrawDataBuilder_FlattenIntoSingleLayer;
5230             pigRenderTextWrapped igRenderTextWrapped;
5231             pigSpacing igSpacing;
5232             pImRect_TranslateY ImRect_TranslateY;
5233             pImGuiTextBuffer_c_str ImGuiTextBuffer_c_str;
5234             pigTabBarFindTabByID igTabBarFindTabByID;
5235             pigDataTypeApplyOpFromText igDataTypeApplyOpFromText;
5236             pigNavMoveRequestSubmit igNavMoveRequestSubmit;
5237             pImGuiInputTextState_destroy ImGuiInputTextState_destroy;
5238             pigBeginComboPreview igBeginComboPreview;
5239             pigGetDrawData igGetDrawData;
5240             pigPopItemWidth igPopItemWidth;
5241             pigIsWindowAppearing igIsWindowAppearing;
5242             pigGetAllocatorFunctions igGetAllocatorFunctions;
5243             pigRenderRectFilledRangeH igRenderRectFilledRangeH;
5244             pigSetWindowDock igSetWindowDock;
5245             pigImFontAtlasGetBuilderForStbTruetype igImFontAtlasGetBuilderForStbTruetype;
5246             pigFindOrCreateColumns igFindOrCreateColumns;
5247             pImGuiStorage_GetVoidPtr ImGuiStorage_GetVoidPtr;
5248             pImGuiInputTextState_GetRedoAvailCount ImGuiInputTextState_GetRedoAvailCount;
5249             pigIsPopupOpen_Str igIsPopupOpen_Str;
5250             pigIsPopupOpen_ID igIsPopupOpen_ID;
5251             pigTableGetSortSpecs igTableGetSortSpecs;
5252             pigTableDrawBorders igTableDrawBorders;
5253             pImGuiTable_ImGuiTable ImGuiTable_ImGuiTable;
5254             pigInputDouble igInputDouble;
5255             pigUnindent igUnindent;
5256             pigIsDragDropPayloadBeingAccepted igIsDragDropPayloadBeingAccepted;
5257             pigGetFontSize igGetFontSize;
5258             pImGuiMenuColumns_DeclColumns ImGuiMenuColumns_DeclColumns;
5259             pImFontAtlas_CalcCustomRectUV ImFontAtlas_CalcCustomRectUV;
5260             pigGetFrameHeightWithSpacing igGetFrameHeightWithSpacing;
5261             pImDrawListSplitter_destroy ImDrawListSplitter_destroy;
5262             pigGetItemRectMax igGetItemRectMax;
5263             pigImStreolRange igImStreolRange;
5264             pigDragInt igDragInt;
5265             pigGetFont igGetFont;
5266             pigDragFloatRange2 igDragFloatRange2;
5267             pigTableUpdateLayout igTableUpdateLayout;
5268             pImGuiStorage_Clear ImGuiStorage_Clear;
5269             pImGuiViewportP_UpdateWorkRect ImGuiViewportP_UpdateWorkRect;
5270             pigTableNextColumn igTableNextColumn;
5271             pImGuiWindow_GetID_Str ImGuiWindow_GetID_Str;
5272             pImGuiWindow_GetID_Ptr ImGuiWindow_GetID_Ptr;
5273             pImGuiWindow_GetID_Int ImGuiWindow_GetID_Int;
5274             pigImFontAtlasBuildPackCustomRects igImFontAtlasBuildPackCustomRects;
5275             pImGuiDockNode_Rect ImGuiDockNode_Rect;
5276             pigDockBuilderGetNode igDockBuilderGetNode;
5277             pigIsActiveIdUsingKey igIsActiveIdUsingKey;
5278             pigTableGetColumnFlags igTableGetColumnFlags;
5279             pigSetCursorScreenPos igSetCursorScreenPos;
5280             pigImStristr igImStristr;
5281             pigSetNextWindowViewport igSetNextWindowViewport;
5282             pImFont_GetDebugName ImFont_GetDebugName;
5283             pigBeginPopupContextWindow igBeginPopupContextWindow;
5284             pigBeginTable igBeginTable;
5285             pigButtonEx igButtonEx;
5286             pigTextEx igTextEx;
5287             pImGuiPayload_IsPreview ImGuiPayload_IsPreview;
5288             pigLabelTextV igLabelTextV;
5289             pigNavInitRequestApplyResult igNavInitRequestApplyResult;
5290             pigImStrSkipBlank igImStrSkipBlank;
5291             pigPushColumnsBackground igPushColumnsBackground;
5292             pImGuiWindow_ImGuiWindow ImGuiWindow_ImGuiWindow;
5293             pigGetScrollMaxX igGetScrollMaxX;
5294             pImBitVector_Create ImBitVector_Create;
5295             pigCloseCurrentPopup igCloseCurrentPopup;
5296             pigImBitArraySetBitRange igImBitArraySetBitRange;
5297             pigFindViewportByPlatformHandle igFindViewportByPlatformHandle;
5298             pImGuiTableSortSpecs_ImGuiTableSortSpecs ImGuiTableSortSpecs_ImGuiTableSortSpecs;
5299             pigGetMouseDragDelta igGetMouseDragDelta;
5300             pigSetWindowCollapsed_Bool igSetWindowCollapsed_Bool;
5301             pigSetWindowCollapsed_Str igSetWindowCollapsed_Str;
5302             pigSetWindowCollapsed_WindowPtr igSetWindowCollapsed_WindowPtr;
5303             pigSplitterBehavior igSplitterBehavior;
5304             pImGuiNavItemData_destroy ImGuiNavItemData_destroy;
5305             pImGuiDockNode_IsDockSpace ImGuiDockNode_IsDockSpace;
5306             pigTableDrawContextMenu igTableDrawContextMenu;
5307             pigTextDisabled igTextDisabled;
5308             pigDebugNodeStorage igDebugNodeStorage;
5309             pigFindBestWindowPosForPopupEx igFindBestWindowPosForPopupEx;
5310             pigTableSetColumnEnabled igTableSetColumnEnabled;
5311             pigShowUserGuide igShowUserGuide;
5312             pigEndPopup igEndPopup;
5313             pigClearActiveID igClearActiveID;
5314             pigBeginChildFrame igBeginChildFrame;
5315             pImGuiSettingsHandler_destroy ImGuiSettingsHandler_destroy;
5316             pImDrawList__ResetForNewFrame ImDrawList__ResetForNewFrame;
5317             pImGuiTextBuffer_append ImGuiTextBuffer_append;
5318             pImGuiInputTextState_GetUndoAvailCount ImGuiInputTextState_GetUndoAvailCount;
5319             pigEndFrame igEndFrame;
5320             pImGuiTableColumn_destroy ImGuiTableColumn_destroy;
5321             pImGuiTextRange_empty ImGuiTextRange_empty;
5322             pImGuiInputTextState_ClearText ImGuiInputTextState_ClearText;
5323             pigIsRectVisible_Nil igIsRectVisible_Nil;
5324             pigIsRectVisible_Vec2 igIsRectVisible_Vec2;
5325             pImGuiInputTextCallbackData_HasSelection ImGuiInputTextCallbackData_HasSelection;
5326             pigCalcWrapWidthForPos igCalcWrapWidthForPos;
5327             pigGetIDWithSeed igGetIDWithSeed;
5328             pigImUpperPowerOfTwo igImUpperPowerOfTwo;
5329             pigColorConvertRGBtoHSV igColorConvertRGBtoHSV;
5330             pigIsMouseClicked igIsMouseClicked;
5331             pigPushFocusScope igPushFocusScope;
5332             pigSetNextWindowFocus igSetNextWindowFocus;
5333             pigGetDefaultFont igGetDefaultFont;
5334             pigGetClipboardText igGetClipboardText;
5335             pigIsAnyItemHovered igIsAnyItemHovered;
5336             pigTableResetSettings igTableResetSettings;
5337             pImGuiListClipper_ImGuiListClipper ImGuiListClipper_ImGuiListClipper;
5338             pigTableGetHoveredColumn igTableGetHoveredColumn;
5339             pigImStrlenW igImStrlenW;
5340             pigGetWindowDockNode igGetWindowDockNode;
5341             pigBeginPopup igBeginPopup;
5342             pImGuiNavItemData_Clear ImGuiNavItemData_Clear;
5343             pigTableGetRowIndex igTableGetRowIndex;
5344             pigImFileGetSize igImFileGetSize;
5345             pImGuiSettingsHandler_ImGuiSettingsHandler ImGuiSettingsHandler_ImGuiSettingsHandler;
5346             pigMenuItem_Bool igMenuItem_Bool;
5347             pigMenuItem_BoolPtr igMenuItem_BoolPtr;
5348             pigDockBuilderFinish igDockBuilderFinish;
5349             pImGuiStyleMod_ImGuiStyleMod_Int ImGuiStyleMod_ImGuiStyleMod_Int;
5350             pImGuiStyleMod_ImGuiStyleMod_Float ImGuiStyleMod_ImGuiStyleMod_Float;
5351             pImGuiStyleMod_ImGuiStyleMod_Vec2 ImGuiStyleMod_ImGuiStyleMod_Vec2;
5352             pImFontConfig_destroy ImFontConfig_destroy;
5353             pigBeginPopupEx igBeginPopupEx;
5354             pigImCharIsBlankA igImCharIsBlankA;
5355             pigImStrTrimBlanks igImStrTrimBlanks;
5356             pImGuiListClipper_End ImGuiListClipper_End;
5357             pigResetMouseDragDelta igResetMouseDragDelta;
5358             pigDestroyContext igDestroyContext;
5359             pigSetNextWindowContentSize igSetNextWindowContentSize;
5360             pigSaveIniSettingsToDisk igSaveIniSettingsToDisk;
5361             pigGetWindowScrollbarRect igGetWindowScrollbarRect;
5362             pigBeginComboPopup igBeginComboPopup;
5363             pigTableSetupScrollFreeze igTableSetupScrollFreeze;
5364             pImGuiTableSettings_GetColumnSettings ImGuiTableSettings_GetColumnSettings;
5365             pigInputTextMultiline igInputTextMultiline;
5366             pigIsClippedEx igIsClippedEx;
5367             pigGetWindowScrollbarID igGetWindowScrollbarID;
5368             pImGuiTextFilter_IsActive ImGuiTextFilter_IsActive;
5369             pImDrawListSharedData_ImDrawListSharedData ImDrawListSharedData_ImDrawListSharedData;
5370             pImFontAtlas_GetMouseCursorTexData ImFontAtlas_GetMouseCursorTexData;
5371             pigLogText igLogText;
5372             pigGetWindowAlwaysWantOwnTabBar igGetWindowAlwaysWantOwnTabBar;
5373             pImGuiTableColumnSettings_ImGuiTableColumnSettings ImGuiTableColumnSettings_ImGuiTableColumnSettings;
5374             pigBeginDockableDragDropTarget igBeginDockableDragDropTarget;
5375             pImGuiPlatformMonitor_destroy ImGuiPlatformMonitor_destroy;
5376             pigColorEditOptionsPopup igColorEditOptionsPopup;
5377             pigGetTextLineHeightWithSpacing igGetTextLineHeightWithSpacing;
5378             pigTableFixColumnSortDirection igTableFixColumnSortDirection;
5379             pigPushStyleVar_Float igPushStyleVar_Float;
5380             pigPushStyleVar_Vec2 igPushStyleVar_Vec2;
5381             pigIsActiveIdUsingNavInput igIsActiveIdUsingNavInput;
5382             pigImStrnicmp igImStrnicmp;
5383             pigGetInputTextState igGetInputTextState;
5384             pigFindRenderedTextEnd igFindRenderedTextEnd;
5385             pImFontAtlas_ClearFonts ImFontAtlas_ClearFonts;
5386             pigTextColoredV igTextColoredV;
5387             pImGuiNavItemData_ImGuiNavItemData ImGuiNavItemData_ImGuiNavItemData;
5388             pigIsKeyReleased igIsKeyReleased;
5389             pigTabItemLabelAndCloseButton igTabItemLabelAndCloseButton;
5390             pImGuiTableColumnSortSpecs_ImGuiTableColumnSortSpecs ImGuiTableColumnSortSpecs_ImGuiTableColumnSortSpecs;
5391             pigLogToClipboard igLogToClipboard;
5392             pImFontAtlas_GetGlyphRangesKorean ImFontAtlas_GetGlyphRangesKorean;
5393             pImFontGlyphRangesBuilder_SetBit ImFontGlyphRangesBuilder_SetBit;
5394             pigLogSetNextTextDecoration igLogSetNextTextDecoration;
5395             pigStyleColorsClassic igStyleColorsClassic;
5396             pImGuiTabBar_GetTabOrder ImGuiTabBar_GetTabOrder;
5397             pigBegin igBegin;
5398             pigButton igButton;
5399             pigBeginMenuBar igBeginMenuBar;
5400             pigDataTypeClamp igDataTypeClamp;
5401             pigRenderText igRenderText;
5402             pImFontGlyphRangesBuilder_Clear ImFontGlyphRangesBuilder_Clear;
5403             pImGuiMenuColumns_destroy ImGuiMenuColumns_destroy;
5404             pigImStrncpy igImStrncpy;
5405             pImGuiNextWindowData_ImGuiNextWindowData ImGuiNextWindowData_ImGuiNextWindowData;
5406             pigImBezierCubicClosestPointCasteljau igImBezierCubicClosestPointCasteljau;
5407             pigItemAdd igItemAdd;
5408             pigIsWindowNavFocusable igIsWindowNavFocusable;
5409             pigGetScrollY igGetScrollY;
5410             pImGuiOldColumnData_ImGuiOldColumnData ImGuiOldColumnData_ImGuiOldColumnData;
5411             pImRect_GetWidth ImRect_GetWidth;
5412             pigEndListBox igEndListBox;
5413             pigGetItemStatusFlags igGetItemStatusFlags;
5414             pigPopFocusScope igPopFocusScope;
5415             pigGetStyleColorVec4 igGetStyleColorVec4;
5416             pigTableFindByID igTableFindByID;
5417             pigShutdown igShutdown;
5418             pigDockBuilderRemoveNodeDockedWindows igDockBuilderRemoveNodeDockedWindows;
5419             pigTablePushBackgroundChannel igTablePushBackgroundChannel;
5420             pImRect_ClipWith ImRect_ClipWith;
5421             pImRect_GetTL ImRect_GetTL;
5422             pImDrawListSplitter_ImDrawListSplitter ImDrawListSplitter_ImDrawListSplitter;
5423             pImDrawList__CalcCircleAutoSegmentCount ImDrawList__CalcCircleAutoSegmentCount;
5424             pigSetWindowFocus_Nil igSetWindowFocus_Nil;
5425             pigSetWindowFocus_Str igSetWindowFocus_Str;
5426             pigInvisibleButton igInvisibleButton;
5427             pigScaleWindowsInViewport igScaleWindowsInViewport;
5428             pigRenderMouseCursor igRenderMouseCursor;
5429             pigImFontAtlasBuildInit igImFontAtlasBuildInit;
5430             pigTextColored igTextColored;
5431             pigSliderScalar igSliderScalar;
5432             pigTableSetColumnIndex igTableSetColumnIndex;
5433             pigRenderPlatformWindowsDefault igRenderPlatformWindowsDefault;
5434             pImDrawListSplitter_ClearFreeMemory ImDrawListSplitter_ClearFreeMemory;
5435             pImGuiStyle_ImGuiStyle ImGuiStyle_ImGuiStyle;
5436             pImGuiDockNode_IsHiddenTabBar ImGuiDockNode_IsHiddenTabBar;
5437             pImGuiOldColumnData_destroy ImGuiOldColumnData_destroy;
5438             pImFontConfig_ImFontConfig ImFontConfig_ImFontConfig;
5439             pigIsMouseDown igIsMouseDown;
5440             pImGuiTabBar_GetTabName ImGuiTabBar_GetTabName;
5441             pigDebugNodeTabBar igDebugNodeTabBar;
5442             pigNewLine igNewLine;
5443             pigGetPlatformIO igGetPlatformIO;
5444             pigMemFree igMemFree;
5445             pigCalcTypematicRepeatAmount igCalcTypematicRepeatAmount;
5446             pigNextColumn igNextColumn;
5447             pigRenderFrame igRenderFrame;
5448             pigLogButtons igLogButtons;
5449             pigDockBuilderRemoveNode igDockBuilderRemoveNode;
5450             pImFont_ClearOutputData ImFont_ClearOutputData;
5451             pImFont_ImFont ImFont_ImFont;
5452             pigEndTabItem igEndTabItem;
5453             pigVSliderFloat igVSliderFloat;
5454             pImGuiIO_ClearInputKeys ImGuiIO_ClearInputKeys;
5455             pigRenderArrowPointingAt igRenderArrowPointingAt;
5456             pigEndGroup igEndGroup;
5457             pigPlotLines_FloatPtr igPlotLines_FloatPtr;
5458             pigPlotLines_FnFloatPtr igPlotLines_FnFloatPtr;
5459             pigGetColumnNormFromOffset igGetColumnNormFromOffset;
5460             pigSetCurrentFont igSetCurrentFont;
5461             pigSetItemAllowOverlap igSetItemAllowOverlap;
5462             pImGuiDockNode_IsCentralNode ImGuiDockNode_IsCentralNode;
5463             pImGuiStorage_GetVoidPtrRef ImGuiStorage_GetVoidPtrRef;
5464             pigCheckboxFlags_IntPtr igCheckboxFlags_IntPtr;
5465             pigCheckboxFlags_UintPtr igCheckboxFlags_UintPtr;
5466             pigCheckboxFlags_S64Ptr igCheckboxFlags_S64Ptr;
5467             pigCheckboxFlags_U64Ptr igCheckboxFlags_U64Ptr;
5468             pImRect_destroy ImRect_destroy;
5469             pigTreeNodeBehavior igTreeNodeBehavior;
5470             pigImTriangleBarycentricCoords igImTriangleBarycentricCoords;
5471             pImFontGlyphRangesBuilder_AddRanges ImFontGlyphRangesBuilder_AddRanges;
5472             pigTableSetBgColor igTableSetBgColor;
5473             pImFontAtlas_GetGlyphRangesVietnamese ImFontAtlas_GetGlyphRangesVietnamese;
5474             pImGuiContextHook_ImGuiContextHook ImGuiContextHook_ImGuiContextHook;
5475             pigGetVersion igGetVersion;
5476             pImDrawList_ImDrawList ImDrawList_ImDrawList;
5477             pigRenderTextEllipsis igRenderTextEllipsis;
5478             pImGuiListClipper_destroy ImGuiListClipper_destroy;
5479             pigTableUpdateBorders igTableUpdateBorders;
5480             pImGuiTableSortSpecs_destroy ImGuiTableSortSpecs_destroy;
5481             pigPushOverrideID igPushOverrideID;
5482             pigImMul igImMul;
5483             pigSetScrollY_Float igSetScrollY_Float;
5484             pigSetScrollY_WindowPtr igSetScrollY_WindowPtr;
5485             pImFont_CalcWordWrapPositionA ImFont_CalcWordWrapPositionA;
5486             pigSmallButton igSmallButton;
5487             pImGuiWindow_destroy ImGuiWindow_destroy;
5488             pImGuiTableColumn_ImGuiTableColumn ImGuiTableColumn_ImGuiTableColumn;
5489             pImGuiComboPreviewData_destroy ImGuiComboPreviewData_destroy;
5490             pigTableGetColumnResizeID igTableGetColumnResizeID;
5491             pigCombo_Str_arr igCombo_Str_arr;
5492             pigCombo_Str igCombo_Str;
5493             pigCombo_FnBoolPtr igCombo_FnBoolPtr;
5494             pigIsWindowChildOf igIsWindowChildOf;
5495             pImGuiWindow_CalcFontSize ImGuiWindow_CalcFontSize;
5496             pigTableSetColumnWidth igTableSetColumnWidth;
5497             pImDrawList_AddLine ImDrawList_AddLine;
5498             pImDrawList_AddCircle ImDrawList_AddCircle;
5499             pImGuiInputTextState_SelectAll ImGuiInputTextState_SelectAll;
5500             pigImParseFormatTrimDecorations igImParseFormatTrimDecorations;
5501             pImGuiMetricsConfig_ImGuiMetricsConfig ImGuiMetricsConfig_ImGuiMetricsConfig;
5502             pImGuiTabBar_ImGuiTabBar ImGuiTabBar_ImGuiTabBar;
5503             pImGuiViewport_GetCenter ImGuiViewport_GetCenter;
5504             pigDebugDrawItemRect igDebugDrawItemRect;
5505             pigDockBuilderSetNodeSize igDockBuilderSetNodeSize;
5506             pigTreeNodeBehaviorIsOpen igTreeNodeBehaviorIsOpen;
5507             pigImTextCountUtf8BytesFromChar igImTextCountUtf8BytesFromChar;
5508             pigSetMouseCursor igSetMouseCursor;
5509             pigBeginColumns igBeginColumns;
5510             pigGetIO igGetIO;
5511             pigDragBehavior igDragBehavior;
5512             pigImModPositive igImModPositive;
5513             pImFontAtlasCustomRect_destroy ImFontAtlasCustomRect_destroy;
5514             pImGuiPayload_destroy ImGuiPayload_destroy;
5515             pigEndMenu igEndMenu;
5516             pigImSaturate igImSaturate;
5517             pImDrawList_PrimRect ImDrawList_PrimRect;
5518             pigImLinearSweep igImLinearSweep;
5519             pigItemInputable igItemInputable;
5520             pImDrawList_AddRectFilled ImDrawList_AddRectFilled;
5521             pImGuiPopupData_destroy ImGuiPopupData_destroy;
5522             pigFindSettingsHandler igFindSettingsHandler;
5523             pigDragInt2 igDragInt2;
5524             pigBeginDocked igBeginDocked;
5525             pigSetColorEditOptions igSetColorEditOptions;
5526             pigIsAnyMouseDown igIsAnyMouseDown;
5527             pigUpdateMouseMovingWindowNewFrame igUpdateMouseMovingWindowNewFrame;
5528             pImGuiDockContext_ImGuiDockContext ImGuiDockContext_ImGuiDockContext;
5529             pImGuiTextFilter_Build ImGuiTextFilter_Build;
5530             pigTabItemCalcSize igTabItemCalcSize;
5531             pigSetNextWindowCollapsed igSetNextWindowCollapsed;
5532             pigSetLastItemData igSetLastItemData;
5533             pigLogToBuffer igLogToBuffer;
5534             pImGuiTableTempData_destroy ImGuiTableTempData_destroy;
5535             pigImFileLoadToMemory igImFileLoadToMemory;
5536             pImFontAtlas_GetGlyphRangesCyrillic ImFontAtlas_GetGlyphRangesCyrillic;
5537             pImGuiStyle_destroy ImGuiStyle_destroy;
5538             pImDrawList_destroy ImDrawList_destroy;
5539             pImVec4_destroy ImVec4_destroy;
5540             pigRenderCheckMark igRenderCheckMark;
5541             pigTreeNodeEx_Str igTreeNodeEx_Str;
5542             pigTreeNodeEx_StrStr igTreeNodeEx_StrStr;
5543             pigTreeNodeEx_Ptr igTreeNodeEx_Ptr;
5544             pImBitVector_SetBit ImBitVector_SetBit;
5545             pigSetColumnWidth igSetColumnWidth;
5546             pImGuiDockNode_destroy ImGuiDockNode_destroy;
5547             pigIsItemClicked igIsItemClicked;
5548             pigTableOpenContextMenu igTableOpenContextMenu;
5549             pImDrawList_AddCallback ImDrawList_AddCallback;
5550             pigGetMousePos igGetMousePos;
5551             pigDataTypeCompare igDataTypeCompare;
5552             pigDockContextQueueUndockNode igDockContextQueueUndockNode;
5553             pigImageButtonEx igImageButtonEx;
5554             pImDrawListSharedData_SetCircleTessellationMaxError ImDrawListSharedData_SetCircleTessellationMaxError;
5555             pigBullet igBullet;
5556             pigRenderArrowDockMenu igRenderArrowDockMenu;
5557             pigTableSaveSettings igTableSaveSettings;
5558             pigTableGetBoundSettings igTableGetBoundSettings;
5559             pigGetHoveredID igGetHoveredID;
5560             pigGetWindowContentRegionMin igGetWindowContentRegionMin;
5561             pigTableHeadersRow igTableHeadersRow;
5562             pImDrawList_AddNgonFilled ImDrawList_AddNgonFilled;
5563             pigDragScalar igDragScalar;
5564             pImGuiDockNode_ImGuiDockNode ImGuiDockNode_ImGuiDockNode;
5565             pigSetCursorPos igSetCursorPos;
5566             pigGcCompactTransientMiscBuffers igGcCompactTransientMiscBuffers;
5567             pigEndColumns igEndColumns;
5568             pigSetTooltip igSetTooltip;
5569             pigTableGetColumnName_Int igTableGetColumnName_Int;
5570             pigTableGetColumnName_TablePtr igTableGetColumnName_TablePtr;
5571             pImGuiViewportP_destroy ImGuiViewportP_destroy;
5572             pigBeginTabBarEx igBeginTabBarEx;
5573             pigShadeVertsLinearColorGradientKeepAlpha igShadeVertsLinearColorGradientKeepAlpha;
5574             pImGuiInputTextState_HasSelection ImGuiInputTextState_HasSelection;
5575             pigDockNodeGetRootNode igDockNodeGetRootNode;
5576             pImGuiDockNode_IsSplitNode ImGuiDockNode_IsSplitNode;
5577             pigCalcItemWidth igCalcItemWidth;
5578             pigDockContextRebuildNodes igDockContextRebuildNodes;
5579             pigPushItemWidth igPushItemWidth;
5580             pigScrollbarEx igScrollbarEx;
5581             pImDrawList_ChannelsMerge ImDrawList_ChannelsMerge;
5582             pigSetAllocatorFunctions igSetAllocatorFunctions;
5583             pImFont_FindGlyph ImFont_FindGlyph;
5584             pigErrorCheckEndWindowRecover igErrorCheckEndWindowRecover;
5585             pigDockNodeGetDepth igDockNodeGetDepth;
5586             pigDebugStartItemPicker igDebugStartItemPicker;
5587             pImGuiNextWindowData_destroy ImGuiNextWindowData_destroy;
5588             pImGuiPayload_IsDelivery ImGuiPayload_IsDelivery;
5589             pImFontAtlas_GetGlyphRangesJapanese ImFontAtlas_GetGlyphRangesJapanese;
5590             pImRect_Overlaps ImRect_Overlaps;
5591             pigCaptureMouseFromApp igCaptureMouseFromApp;
5592             pigAddContextHook igAddContextHook;
5593             pImGuiInputTextState_GetCursorPos ImGuiInputTextState_GetCursorPos;
5594             pigImHashData igImHashData;
5595             pImGuiViewportP_GetBuildWorkRect ImGuiViewportP_GetBuildWorkRect;
5596             pImGuiInputTextCallbackData_InsertChars ImGuiInputTextCallbackData_InsertChars;
5597             pigDragFloat2 igDragFloat2;
5598             pigTreePushOverrideID igTreePushOverrideID;
5599             pigUpdateHoveredWindowAndCaptureFlags igUpdateHoveredWindowAndCaptureFlags;
5600             pImFont_destroy ImFont_destroy;
5601             pigEndMenuBar igEndMenuBar;
5602             pigGetWindowSize igGetWindowSize;
5603             pigInputInt4 igInputInt4;
5604             pigImSign_Float igImSign_Float;
5605             pigImSign_double igImSign_double;
5606             pImDrawList_AddBezierQuadratic ImDrawList_AddBezierQuadratic;
5607             pigGetMouseCursor igGetMouseCursor;
5608             pigIsMouseDoubleClicked igIsMouseDoubleClicked;
5609             pigLabelText igLabelText;
5610             pImDrawList_PathClear ImDrawList_PathClear;
5611             pImDrawCmd_destroy ImDrawCmd_destroy;
5612             pigGetStateStorage igGetStateStorage;
5613             pigInputInt2 igInputInt2;
5614             pigImFileRead igImFileRead;
5615             pigImFontAtlasBuildRender32bppRectFromString igImFontAtlasBuildRender32bppRectFromString;
5616             pImGuiOldColumns_destroy ImGuiOldColumns_destroy;
5617             pigSetNextWindowScroll igSetNextWindowScroll;
5618             pigGetFrameHeight igGetFrameHeight;
5619             pigImFileWrite igImFileWrite;
5620             pigInputText igInputText;
5621             pigTreeNodeExV_Str igTreeNodeExV_Str;
5622             pigTreeNodeExV_Ptr igTreeNodeExV_Ptr;
5623             pigIsAnyItemFocused igIsAnyItemFocused;
5624             pImDrawDataBuilder_Clear ImDrawDataBuilder_Clear;
5625             pImVec2ih_ImVec2ih_Nil ImVec2ih_ImVec2ih_Nil;
5626             pImVec2ih_ImVec2ih_short ImVec2ih_ImVec2ih_short;
5627             pImVec2ih_ImVec2ih_Vec2 ImVec2ih_ImVec2ih_Vec2;
5628             pigDockContextQueueDock igDockContextQueueDock;
5629             pigTableSetColumnSortDirection igTableSetColumnSortDirection;
5630             pImVec1_ImVec1_Nil ImVec1_ImVec1_Nil;
5631             pImVec1_ImVec1_Float ImVec1_ImVec1_Float;
5632             pigCalcItemSize igCalcItemSize;
5633             pImFontAtlasCustomRect_IsPacked ImFontAtlasCustomRect_IsPacked;
5634             pigPopStyleColor igPopStyleColor;
5635             pigColorEdit4 igColorEdit4;
5636             pigPlotEx igPlotEx;
5637             pigGetCursorStartPos igGetCursorStartPos;
5638             pigShowFontAtlas igShowFontAtlas;
5639             pigDockSpaceOverViewport igDockSpaceOverViewport;
5640             pImGuiInputTextCallbackData_destroy ImGuiInputTextCallbackData_destroy;
5641             pImFontAtlas_IsBuilt ImFontAtlas_IsBuilt;
5642             pImGuiTextBuffer_begin ImGuiTextBuffer_begin;
5643             pImGuiTable_destroy ImGuiTable_destroy;
5644             pImGuiWindow_GetIDNoKeepAlive_Str ImGuiWindow_GetIDNoKeepAlive_Str;
5645             pImGuiWindow_GetIDNoKeepAlive_Ptr ImGuiWindow_GetIDNoKeepAlive_Ptr;
5646             pImGuiWindow_GetIDNoKeepAlive_Int ImGuiWindow_GetIDNoKeepAlive_Int;
5647             pImFont_BuildLookupTable ImFont_BuildLookupTable;
5648             pImGuiTextBuffer_appendfv ImGuiTextBuffer_appendfv;
5649             pImVec4_ImVec4_Nil ImVec4_ImVec4_Nil;
5650             pImVec4_ImVec4_Float ImVec4_ImVec4_Float;
5651             pImGuiDockNode_IsEmpty ImGuiDockNode_IsEmpty;
5652             pigClearIniSettings igClearIniSettings;
5653             pImDrawList_PathLineToMergeDuplicate ImDrawList_PathLineToMergeDuplicate;
5654             pImGuiIO_ImGuiIO ImGuiIO_ImGuiIO;
5655             pigDragInt4 igDragInt4;
5656             pigBeginDragDropTarget igBeginDragDropTarget;
5657             pigImTextCountCharsFromUtf8 igImTextCountCharsFromUtf8;
5658             pigTablePopBackgroundChannel igTablePopBackgroundChannel;
5659             pigSetNextWindowClass igSetNextWindowClass;
5660             pImGuiTextBuffer_clear ImGuiTextBuffer_clear;
5661             pigImStricmp igImStricmp;
5662             pigMarkItemEdited igMarkItemEdited;
5663             pigIsWindowFocused igIsWindowFocused;
5664             pigTableSettingsCreate igTableSettingsCreate;
5665             pImGuiIO_AddInputCharactersUTF8 ImGuiIO_AddInputCharactersUTF8;
5666             pImGuiTableSettings_destroy ImGuiTableSettings_destroy;
5667             pigIsWindowAbove igIsWindowAbove;
5668             pImDrawList__PathArcToN ImDrawList__PathArcToN;
5669             pigColorTooltip igColorTooltip;
5670             pigSetCurrentContext igSetCurrentContext;
5671             pigImTriangleClosestPoint igImTriangleClosestPoint;
5672             pigSliderInt4 igSliderInt4;
5673             pigGetItemRectMin igGetItemRectMin;
5674             pigTableUpdateColumnsWeightFromWidth igTableUpdateColumnsWeightFromWidth;
5675             pImDrawList_PrimReserve ImDrawList_PrimReserve;
5676             pImGuiMenuColumns_ImGuiMenuColumns ImGuiMenuColumns_ImGuiMenuColumns;
5677             pigDockBuilderGetCentralNode igDockBuilderGetCentralNode;
5678             pImDrawList_AddRectFilledMultiColor ImDrawList_AddRectFilledMultiColor;
5679             pImGuiDockNodeSettings_destroy ImGuiDockNodeSettings_destroy;
5680             pigGetWindowViewport igGetWindowViewport;
5681             pigSetStateStorage igSetStateStorage;
5682             pImGuiStorage_SetAllInt ImGuiStorage_SetAllInt;
5683             pImGuiListClipper_Step ImGuiListClipper_Step;
5684             pImGuiOnceUponAFrame_destroy ImGuiOnceUponAFrame_destroy;
5685             pImGuiInputTextCallbackData_DeleteChars ImGuiInputTextCallbackData_DeleteChars;
5686             pigImFontAtlasBuildSetupFont igImFontAtlasBuildSetupFont;
5687             pImGuiTextBuffer_empty ImGuiTextBuffer_empty;
5688             pigShowDemoWindow igShowDemoWindow;
5689             pigImPow_Float igImPow_Float;
5690             pigImPow_double igImPow_double;
5691             pImGuiTextRange_destroy ImGuiTextRange_destroy;
5692             pImGuiStorage_SetVoidPtr ImGuiStorage_SetVoidPtr;
5693             pigImInvLength igImInvLength;
5694             pigGetFocusScope igGetFocusScope;
5695             pigCloseButton igCloseButton;
5696             pigTableSettingsInstallHandler igTableSettingsInstallHandler;
5697             pImDrawList_PushTextureID ImDrawList_PushTextureID;
5698             pImDrawList_PathLineTo ImDrawList_PathLineTo;
5699             pigSetWindowHitTestHole igSetWindowHitTestHole;
5700             pigSeparatorEx igSeparatorEx;
5701             pImRect_Add_Vec2 ImRect_Add_Vec2;
5702             pImRect_Add_Rect ImRect_Add_Rect;
5703             pigShowMetricsWindow igShowMetricsWindow;
5704             pImDrawList__PopUnusedDrawCmd ImDrawList__PopUnusedDrawCmd;
5705             pImDrawList_AddImageRounded ImDrawList_AddImageRounded;
5706             pImGuiStyleMod_destroy ImGuiStyleMod_destroy;
5707             pImGuiMenuColumns_CalcNextTotalWidth ImGuiMenuColumns_CalcNextTotalWidth;
5708             pImGuiStorage_BuildSortByKey ImGuiStorage_BuildSortByKey;
5709             pImDrawList_PathRect ImDrawList_PathRect;
5710             pigInputTextEx igInputTextEx;
5711             pigColorEdit3 igColorEdit3;
5712             pImColor_destroy ImColor_destroy;
5713             pigIsItemToggledSelection igIsItemToggledSelection;
5714             pigTabItemEx igTabItemEx;
5715             pigIsKeyPressedMap igIsKeyPressedMap;
5716             pigTableSetupDrawChannels igTableSetupDrawChannels;
5717             pigLogFinish igLogFinish;
5718             pigGetItemRectSize igGetItemRectSize;
5719             pigGetWindowResizeCornerID igGetWindowResizeCornerID;
5720             pigImParseFormatFindStart igImParseFormatFindStart;
5721             pImGuiDockRequest_ImGuiDockRequest ImGuiDockRequest_ImGuiDockRequest;
5722             pImDrawData_ImDrawData ImDrawData_ImDrawData;
5723             pigDockNodeEndAmendTabBar igDockNodeEndAmendTabBar;
5724             pigDragScalarN igDragScalarN;
5725             pigImDot igImDot;
5726             pigMarkIniSettingsDirty_Nil igMarkIniSettingsDirty_Nil;
5727             pigMarkIniSettingsDirty_WindowPtr igMarkIniSettingsDirty_WindowPtr;
5728             pigTableGetColumnCount igTableGetColumnCount;
5729             pigGetWindowWidth igGetWindowWidth;
5730             pigBulletTextV igBulletTextV;
5731             pigDockBuilderCopyNode igDockBuilderCopyNode;
5732             pImDrawListSplitter_SetCurrentChannel ImDrawListSplitter_SetCurrentChannel;
5733             pImGuiStorage_SetBool ImGuiStorage_SetBool;
5734             pigAlignTextToFramePadding igAlignTextToFramePadding;
5735             pigIsWindowHovered igIsWindowHovered;
5736             pigDockBuilderCopyDockSpace igDockBuilderCopyDockSpace;
5737             pImGuiTableTempData_ImGuiTableTempData ImGuiTableTempData_ImGuiTableTempData;
5738             pImRect_GetCenter ImRect_GetCenter;
5739             pImDrawList_PathArcTo ImDrawList_PathArcTo;
5740             pigIsAnyItemActive igIsAnyItemActive;
5741             pigPushTextWrapPos igPushTextWrapPos;
5742             pigGetTreeNodeToLabelSpacing igGetTreeNodeToLabelSpacing;
5743             pigSameLine igSameLine;
5744             pigStyleColorsDark igStyleColorsDark;
5745             pigDebugNodeDockNode igDebugNodeDockNode;
5746             pigDummy igDummy;
5747             pigGetItemID igGetItemID;
5748             pigImageButton igImageButton;
5749             pigGetWindowContentRegionMax igGetWindowContentRegionMax;
5750             pigTabBarQueueReorder igTabBarQueueReorder;
5751             pigGetKeyPressedAmount igGetKeyPressedAmount;
5752             pigRenderTextClipped igRenderTextClipped;
5753             pigImIsPowerOfTwo_Int igImIsPowerOfTwo_Int;
5754             pigImIsPowerOfTwo_U64 igImIsPowerOfTwo_U64;
5755             pigSetNextWindowSizeConstraints igSetNextWindowSizeConstraints;
5756             pigTableGcCompactTransientBuffers_TablePtr igTableGcCompactTransientBuffers_TablePtr;
5757             pigTableGcCompactTransientBuffers_TableTempDataPtr igTableGcCompactTransientBuffers_TableTempDataPtr;
5758             pImFont_FindGlyphNoFallback ImFont_FindGlyphNoFallback;
5759             pigShowStyleSelector igShowStyleSelector;
5760             pigNavMoveRequestForward igNavMoveRequestForward;
5761             pigNavInitWindow igNavInitWindow;
5762             pigImFileOpen igImFileOpen;
5763             pigEndDragDropTarget igEndDragDropTarget;
5764             pImGuiWindowSettings_ImGuiWindowSettings ImGuiWindowSettings_ImGuiWindowSettings;
5765             pImDrawListSharedData_destroy ImDrawListSharedData_destroy;
5766             pImFontAtlas_Build ImFontAtlas_Build;
5767             pImGuiDockPreviewData_destroy ImGuiDockPreviewData_destroy;
5768             pigSetScrollFromPosX_Float igSetScrollFromPosX_Float;
5769             pigSetScrollFromPosX_WindowPtr igSetScrollFromPosX_WindowPtr;
5770             pigIsKeyPressed igIsKeyPressed;
5771             pigEndTooltip igEndTooltip;
5772             pigFindWindowSettings igFindWindowSettings;
5773             pigDebugRenderViewportThumbnail igDebugRenderViewportThumbnail;
5774             pImGuiDockNode_UpdateMergedFlags ImGuiDockNode_UpdateMergedFlags;
5775             pigKeepAliveID igKeepAliveID;
5776             pigGetColumnOffsetFromNorm igGetColumnOffsetFromNorm;
5777             pImFont_IsLoaded ImFont_IsLoaded;
5778             pigDebugNodeDrawCmdShowMeshAndBoundingBox igDebugNodeDrawCmdShowMeshAndBoundingBox;
5779             pigBeginDragDropSource igBeginDragDropSource;
5780             pImBitVector_ClearBit ImBitVector_ClearBit;
5781             pImDrawDataBuilder_GetDrawListCount ImDrawDataBuilder_GetDrawListCount;
5782             pImGuiDockRequest_destroy ImGuiDockRequest_destroy;
5783             pigSetScrollFromPosY_Float igSetScrollFromPosY_Float;
5784             pigSetScrollFromPosY_WindowPtr igSetScrollFromPosY_WindowPtr;
5785             pigColorButton igColorButton;
5786             pigAcceptDragDropPayload igAcceptDragDropPayload;
5787             pigDockContextShutdown igDockContextShutdown;
5788             pImDrawList_PopClipRect ImDrawList_PopClipRect;
5789             pigGetCursorPosX igGetCursorPosX;
5790             pigGetScrollMaxY igGetScrollMaxY;
5791             pImGuiStoragePair_ImGuiStoragePair_Int ImGuiStoragePair_ImGuiStoragePair_Int;
5792             pImGuiStoragePair_ImGuiStoragePair_Float ImGuiStoragePair_ImGuiStoragePair_Float;
5793             pImGuiStoragePair_ImGuiStoragePair_Ptr ImGuiStoragePair_ImGuiStoragePair_Ptr;
5794             pigEndMainMenuBar igEndMainMenuBar;
5795             pImRect_GetArea ImRect_GetArea;
5796             pImGuiPlatformMonitor_ImGuiPlatformMonitor ImGuiPlatformMonitor_ImGuiPlatformMonitor;
5797             pigIsItemActive igIsItemActive;
5798             pImGuiViewportP_GetMainRect ImGuiViewportP_GetMainRect;
5799             pigShowAboutWindow igShowAboutWindow;
5800             pImGuiInputTextState_GetSelectionStart ImGuiInputTextState_GetSelectionStart;
5801             pigPushFont igPushFont;
5802             pigImStrchrRange igImStrchrRange;
5803             pigSetNextItemWidth igSetNextItemWidth;
5804             pigGetContentRegionAvail igGetContentRegionAvail;
5805             pImGuiPayload_ImGuiPayload ImGuiPayload_ImGuiPayload;
5806             pigCheckbox igCheckbox;
5807             pImGuiTextRange_ImGuiTextRange_Nil ImGuiTextRange_ImGuiTextRange_Nil;
5808             pImGuiTextRange_ImGuiTextRange_Str ImGuiTextRange_ImGuiTextRange_Str;
5809             pImFontAtlas_destroy ImFontAtlas_destroy;
5810             pImGuiMenuColumns_Update ImGuiMenuColumns_Update;
5811             pigGcCompactTransientWindowBuffers igGcCompactTransientWindowBuffers;
5812             pigTableSortSpecsBuild igTableSortSpecsBuild;
5813             pigNavMoveRequestTryWrapping igNavMoveRequestTryWrapping;
5814             pImGuiInputTextState_GetSelectionEnd ImGuiInputTextState_GetSelectionEnd;
5815             pigIsWindowDocked igIsWindowDocked;
5816             pImVec2_destroy ImVec2_destroy;
5817             pigTableBeginRow igTableBeginRow;
5818             pigGetCurrentWindow igGetCurrentWindow;
5819             pigSetDragDropPayload igSetDragDropPayload;
5820             pigGetID_Str igGetID_Str;
5821             pigGetID_StrStr igGetID_StrStr;
5822             pigGetID_Ptr igGetID_Ptr;
5823             pImFontAtlas_ImFontAtlas ImFontAtlas_ImFontAtlas;
5824             pigBeginGroup igBeginGroup;
5825             pigGetContentRegionMax igGetContentRegionMax;
5826             pigEndChildFrame igEndChildFrame;
5827             pigActivateItem igActivateItem;
5828             pigImFontAtlasBuildMultiplyCalcLookupTable igImFontAtlasBuildMultiplyCalcLookupTable;
5829             pImDrawList_PushClipRectFullScreen ImDrawList_PushClipRectFullScreen;
5830             pImRect_Contains_Vec2 ImRect_Contains_Vec2;
5831             pImRect_Contains_Rect ImRect_Contains_Rect;
5832             pigGetBackgroundDrawList_Nil igGetBackgroundDrawList_Nil;
5833             pigGetBackgroundDrawList_ViewportPtr igGetBackgroundDrawList_ViewportPtr;
5834             pigSetColumnOffset igSetColumnOffset;
5835             pigSetKeyboardFocusHere igSetKeyboardFocusHere;
5836             pigLoadIniSettingsFromMemory igLoadIniSettingsFromMemory;
5837             pigIndent igIndent;
5838             pigPopStyleVar igPopStyleVar;
5839             pigGetViewportPlatformMonitor igGetViewportPlatformMonitor;
5840             pigSetNextWindowSize igSetNextWindowSize;
5841             pigInputFloat3 igInputFloat3;
5842             pigIsKeyDown igIsKeyDown;
5843             pigTableBeginApplyRequests igTableBeginApplyRequests;
5844             pigDockNodeBeginAmendTabBar igDockNodeBeginAmendTabBar;
5845             pigBeginMenuEx igBeginMenuEx;
5846             pigTextUnformatted igTextUnformatted;
5847             pigTextV igTextV;
5848             pigImLengthSqr_Vec2 igImLengthSqr_Vec2;
5849             pigImLengthSqr_Vec4 igImLengthSqr_Vec4;
5850             pImGuiTextFilter_Draw ImGuiTextFilter_Draw;
5851             pigFocusWindow igFocusWindow;
5852             pigPushClipRect igPushClipRect;
5853             pImGuiViewportP_ImGuiViewportP ImGuiViewportP_ImGuiViewportP;
5854             pigBeginMainMenuBar igBeginMainMenuBar;
5855             pImRect_GetBR ImRect_GetBR;
5856             pigCollapsingHeader_TreeNodeFlags igCollapsingHeader_TreeNodeFlags;
5857             pigCollapsingHeader_BoolPtr igCollapsingHeader_BoolPtr;
5858             pigGetCurrentWindowRead igGetCurrentWindowRead;
5859             pImDrawList__PathArcToFastEx ImDrawList__PathArcToFastEx;
5860             pigSliderInt3 igSliderInt3;
5861             pigTabBarAddTab igTabBarAddTab;
5862             pImGuiTableSettings_ImGuiTableSettings ImGuiTableSettings_ImGuiTableSettings;
5863             pigPushStyleColor_U32 igPushStyleColor_U32;
5864             pigPushStyleColor_Vec4 igPushStyleColor_Vec4;
5865             pigImFormatString igImFormatString;
5866             pigTabItemButton igTabItemButton;
5867             pigIsMouseReleased igIsMouseReleased;
5868             pImGuiInputTextState_CursorClamp ImGuiInputTextState_CursorClamp;
5869             pigRemoveContextHook igRemoveContextHook;
5870             pImFontAtlasCustomRect_ImFontAtlasCustomRect ImFontAtlasCustomRect_ImFontAtlasCustomRect;
5871             pImGuiIO_AddInputCharacter ImGuiIO_AddInputCharacter;
5872             pigTabBarProcessReorder igTabBarProcessReorder;
5873             pigGetNavInputAmount igGetNavInputAmount;
5874             pigClearDragDrop igClearDragDrop;
5875             pigGetTextLineHeight igGetTextLineHeight;
5876             pImDrawList_AddBezierCubic ImDrawList_AddBezierCubic;
5877             pigDockContextNewFrameUpdateDocking igDockContextNewFrameUpdateDocking;
5878             pigDataTypeApplyOp igDataTypeApplyOp;
5879             pImDrawList_AddQuadFilled ImDrawList_AddQuadFilled;
5880             pigDockContextNewFrameUpdateUndocking igDockContextNewFrameUpdateUndocking;
5881             pImGuiInputTextCallbackData_SelectAll ImGuiInputTextCallbackData_SelectAll;
5882             pImGuiNextItemData_ImGuiNextItemData ImGuiNextItemData_ImGuiNextItemData;
5883             pigLogRenderedText igLogRenderedText;
5884             pigBeginMenu igBeginMenu;
5885             pigSetNextWindowBgAlpha igSetNextWindowBgAlpha;
5886             pImGuiStorage_GetIntRef ImGuiStorage_GetIntRef;
5887             pigImTextCountUtf8BytesFromStr igImTextCountUtf8BytesFromStr;
5888             pigEndCombo igEndCombo;
5889             pigIsNavInputTest igIsNavInputTest;
5890             pigImage igImage;
5891             pImDrawList_AddPolyline ImDrawList_AddPolyline;
5892             pigTreeNode_Str igTreeNode_Str;
5893             pigTreeNode_StrStr igTreeNode_StrStr;
5894             pigTreeNode_Ptr igTreeNode_Ptr;
5895             pigPopClipRect igPopClipRect;
5896             pImDrawList_PushClipRect ImDrawList_PushClipRect;
5897             pigImBitArrayClearBit igImBitArrayClearBit;
5898             pigArrowButtonEx igArrowButtonEx;
5899             pigSelectable_Bool igSelectable_Bool;
5900             pigSelectable_BoolPtr igSelectable_BoolPtr;
5901             pigTableSetColumnWidthAutoSingle igTableSetColumnWidthAutoSingle;
5902             pigBeginTooltipEx igBeginTooltipEx;
5903             pigGetFocusID igGetFocusID;
5904             pigEndComboPreview igEndComboPreview;
5905             pImDrawData_DeIndexAllBuffers ImDrawData_DeIndexAllBuffers;
5906             pImDrawCmd_ImDrawCmd ImDrawCmd_ImDrawCmd;
5907             pImDrawData_ScaleClipRects ImDrawData_ScaleClipRects;
5908             pigBeginViewportSideBar igBeginViewportSideBar;
5909             pigSetNextItemOpen igSetNextItemOpen;
5910             pigDataTypeFormatString igDataTypeFormatString;
5911             pigTabItemBackground igTabItemBackground;
5912             pImDrawList_AddTriangle ImDrawList_AddTriangle;
5913             pigDockContextClearNodes igDockContextClearNodes;
5914             pImGuiContextHook_destroy ImGuiContextHook_destroy;
5915             pigLogToFile igLogToFile;
5916             pigGetWindowResizeBorderID igGetWindowResizeBorderID;
5917             pImGuiNextItemData_destroy ImGuiNextItemData_destroy;
5918             pImGuiViewportP_ClearRequestFlags ImGuiViewportP_ClearRequestFlags;
5919             pigGetMergedKeyModFlags igGetMergedKeyModFlags;
5920             pigTempInputIsActive igTempInputIsActive;
5921             pImDrawCmd_GetTexID ImDrawCmd_GetTexID;
5922             pigDebugNodeWindowSettings igDebugNodeWindowSettings;
5923             pigSetNextWindowDockID igSetNextWindowDockID;
5924             pImRect_ToVec4 ImRect_ToVec4;
5925             pigTableGcCompactSettings igTableGcCompactSettings;
5926             pigPushMultiItemsWidths igPushMultiItemsWidths;
5927             pigCreateContext igCreateContext;
5928             pigTableNextRow igTableNextRow;
5929             pImGuiStackSizes_CompareWithCurrentState ImGuiStackSizes_CompareWithCurrentState;
5930             pImColor_ImColor_Nil ImColor_ImColor_Nil;
5931             pImColor_ImColor_Int ImColor_ImColor_Int;
5932             pImColor_ImColor_U32 ImColor_ImColor_U32;
5933             pImColor_ImColor_Float ImColor_ImColor_Float;
5934             pImColor_ImColor_Vec4 ImColor_ImColor_Vec4;
5935             pigTableGetMaxColumnWidth igTableGetMaxColumnWidth;
5936             pImGuiViewportP_CalcWorkRectPos ImGuiViewportP_CalcWorkRectPos;
5937             pigDockContextGenNodeID igDockContextGenNodeID;
5938             pImDrawList__ClearFreeMemory ImDrawList__ClearFreeMemory;
5939             pigSetNavID igSetNavID;
5940             pigGetWindowDrawList igGetWindowDrawList;
5941             pImRect_GetBL ImRect_GetBL;
5942             pigTableGetHeaderRowHeight igTableGetHeaderRowHeight;
5943             pigIsMousePosValid igIsMousePosValid;
5944             pImGuiStorage_GetFloat ImGuiStorage_GetFloat;
5945             pImGuiDockNode_IsLeafNode ImGuiDockNode_IsLeafNode;
5946             pigTableEndCell igTableEndCell;
5947             pigSliderFloat4 igSliderFloat4;
5948             pigIsItemDeactivatedAfterEdit igIsItemDeactivatedAfterEdit;
5949             pigPlotHistogram_FloatPtr igPlotHistogram_FloatPtr;
5950             pigPlotHistogram_FnFloatPtr igPlotHistogram_FnFloatPtr;
5951             pigIsItemEdited igIsItemEdited;
5952             pigShowStyleEditor igShowStyleEditor;
5953             pigTextWrappedV igTextWrappedV;
5954             pigTableBeginCell igTableBeginCell;
5955             pigTableGetColumnNextSortDirection igTableGetColumnNextSortDirection;
5956             pigDebugCheckVersionAndDataLayout igDebugCheckVersionAndDataLayout;
5957             pImGuiTextBuffer_appendf ImGuiTextBuffer_appendf;
5958             pImFontAtlas_AddCustomRectFontGlyph ImFontAtlas_AddCustomRectFontGlyph;
5959             pigInputTextWithHint igInputTextWithHint;
5960             pigImAlphaBlendColors igImAlphaBlendColors;
5961             pImGuiStorage_GetBoolRef ImGuiStorage_GetBoolRef;
5962             pigBeginPopupContextVoid igBeginPopupContextVoid;
5963             pigSetScrollX_Float igSetScrollX_Float;
5964             pigSetScrollX_WindowPtr igSetScrollX_WindowPtr;
5965             pigRenderNavHighlight igRenderNavHighlight;
5966             pigBringWindowToFocusFront igBringWindowToFocusFront;
5967             pigSliderInt igSliderInt;
5968             pigUpdateMouseMovingWindowEndFrame igUpdateMouseMovingWindowEndFrame;
5969             pigSliderInt2 igSliderInt2;
5970             pigGetContentRegionMaxAbs igGetContentRegionMaxAbs;
5971             pigIsMouseHoveringRect igIsMouseHoveringRect;
5972             pigImTextStrFromUtf8 igImTextStrFromUtf8;
5973             pigIsActiveIdUsingNavDir igIsActiveIdUsingNavDir;
5974             pImGuiListClipper_Begin ImGuiListClipper_Begin;
5975             pigStartMouseMovingWindow igStartMouseMovingWindow;
5976             pigIsItemHovered igIsItemHovered;
5977             pigTableEndRow igTableEndRow;
5978             pImGuiIO_destroy ImGuiIO_destroy;
5979             pigEndDragDropSource igEndDragDropSource;
5980             pImGuiStackSizes_SetToCurrentState ImGuiStackSizes_SetToCurrentState;
5981             pigGetDragDropPayload igGetDragDropPayload;
5982             pigGetPopupAllowedExtentRect igGetPopupAllowedExtentRect;
5983             pImGuiStorage_SetInt ImGuiStorage_SetInt;
5984             pImGuiWindow_MenuBarRect ImGuiWindow_MenuBarRect;
5985             pImGuiStorage_GetInt ImGuiStorage_GetInt;
5986             pigShowFontSelector igShowFontSelector;
5987             pigDestroyPlatformWindow igDestroyPlatformWindow;
5988             pigImMin igImMin;
5989             pigPopButtonRepeat igPopButtonRepeat;
5990             pigTableSetColumnWidthAutoAll igTableSetColumnWidthAutoAll;
5991             pigImAbs_Int igImAbs_Int;
5992             pigImAbs_Float igImAbs_Float;
5993             pigImAbs_double igImAbs_double;
5994             pigPushButtonRepeat igPushButtonRepeat;
5995             pImGuiWindow_Rect ImGuiWindow_Rect;
5996             pImGuiViewportP_GetWorkRect ImGuiViewportP_GetWorkRect;
5997             pImRect_Floor ImRect_Floor;
5998             pigTreePush_Str igTreePush_Str;
5999             pigTreePush_Ptr igTreePush_Ptr;
6000             pigColorConvertFloat4ToU32 igColorConvertFloat4ToU32;
6001             pigGetStyle igGetStyle;
6002             pigGetCursorPos igGetCursorPos;
6003             pigGetFrameCount igGetFrameCount;
6004             pImDrawList_AddNgon ImDrawList_AddNgon;
6005             pigDebugNodeDrawList igDebugNodeDrawList;
6006             pigEnd igEnd;
6007             pigTabBarCloseTab igTabBarCloseTab;
6008             pigIsItemActivated igIsItemActivated;
6009             pigBeginDisabled igBeginDisabled;
6010             pImGuiInputTextState_ImGuiInputTextState ImGuiInputTextState_ImGuiInputTextState;
6011             pImRect_GetHeight ImRect_GetHeight;
6012             pImFontAtlas_AddFontDefault ImFontAtlas_AddFontDefault;
6013             pImDrawList__OnChangedTextureID ImDrawList__OnChangedTextureID;
6014             pigGetColumnsCount igGetColumnsCount;
6015             pigEndChild igEndChild;
6016             pigNavMoveRequestButNoResultYet igNavMoveRequestButNoResultYet;
6017             pImGuiStyle_ScaleAllSizes ImGuiStyle_ScaleAllSizes;
6018             pigArrowButton igArrowButton;
6019             pigSetCursorPosY igSetCursorPosY;
6020             pImGuiDockNode_IsFloatingNode ImGuiDockNode_IsFloatingNode;
6021             pImGuiTextFilter_ImGuiTextFilter ImGuiTextFilter_ImGuiTextFilter;
6022             pImGuiStorage_SetFloat ImGuiStorage_SetFloat;
6023             pigShadeVertsLinearUV igShadeVertsLinearUV;
6024             pigTableGetColumnIndex igTableGetColumnIndex;
6025             pigGetTime igGetTime;
6026             pigBeginPopupContextItem igBeginPopupContextItem;
6027             pigImRsqrt_Float igImRsqrt_Float;
6028             pigImRsqrt_double igImRsqrt_double;
6029             pigTableLoadSettings igTableLoadSettings;
6030             pigSetScrollHereX igSetScrollHereX;
6031             pigSliderScalarN igSliderScalarN;
6032             pImDrawList_PathBezierQuadraticCurveTo ImDrawList_PathBezierQuadraticCurveTo;
6033             pImFontAtlas_GetGlyphRangesChineseSimplifiedCommon ImFontAtlas_GetGlyphRangesChineseSimplifiedCommon;
6034             pigGetMousePosOnOpeningCurrentPopup igGetMousePosOnOpeningCurrentPopup;
6035             pigVSliderScalar igVSliderScalar;
6036             pigDockBuilderSetNodePos igDockBuilderSetNodePos;
6037             pImFont_RenderChar ImFont_RenderChar;
6038             pImFont_RenderText ImFont_RenderText;
6039             pigOpenPopupEx igOpenPopupEx;
6040             pImFontAtlas_SetTexID ImFontAtlas_SetTexID;
6041             pigImFontAtlasBuildRender8bppRectFromString igImFontAtlasBuildRender8bppRectFromString;
6042             pImFontAtlas_Clear ImFontAtlas_Clear;
6043             pigBeginDockableDragDropSource igBeginDockableDragDropSource;
6044             pImBitVector_TestBit ImBitVector_TestBit;
6045             pImGuiTextFilter_destroy ImGuiTextFilter_destroy;
6046             pigBeginPopupModal igBeginPopupModal;
6047             pigGetFocusedFocusScope igGetFocusedFocusScope;
6048             pigDebugNodeColumns igDebugNodeColumns;
6049             pigDebugNodeWindow igDebugNodeWindow;
6050             pigGetWindowDpiScale igGetWindowDpiScale;
6051             pigInputFloat igInputFloat;
6052             pigDragIntRange2 igDragIntRange2;
6053             pImVec2ih_destroy ImVec2ih_destroy;
6054             pImDrawList_GetClipRectMax ImDrawList_GetClipRectMax;
6055             pigInputFloat2 igInputFloat2;
6056             pImDrawDataBuilder_ClearFreeMemory ImDrawDataBuilder_ClearFreeMemory;
6057             pImGuiLastItemData_destroy ImGuiLastItemData_destroy;
6058             pImGuiWindowSettings_GetName ImGuiWindowSettings_GetName;
6059             pigImStrdup igImStrdup;
6060             pigImFormatStringV igImFormatStringV;
6061             pigSetTooltipV igSetTooltipV;
6062             pigDataTypeGetInfo igDataTypeGetInfo;
6063             pigVSliderInt igVSliderInt;
6064             pigSetWindowClipRectBeforeSetChannel igSetWindowClipRectBeforeSetChannel;
6065             pImFontGlyphRangesBuilder_ImFontGlyphRangesBuilder ImFontGlyphRangesBuilder_ImFontGlyphRangesBuilder;
6066             pigGetWindowDockID igGetWindowDockID;
6067             pigPopTextWrapPos igPopTextWrapPos;
6068             pImGuiWindowClass_destroy ImGuiWindowClass_destroy;
6069             pImGuiWindow_TitleBarHeight ImGuiWindow_TitleBarHeight;
6070             pImDrawList_GetClipRectMin ImDrawList_GetClipRectMin;
6071             pImDrawList_PathStroke ImDrawList_PathStroke;
6072             pigBeginTooltip igBeginTooltip;
6073             pigOpenPopupOnItemClick igOpenPopupOnItemClick;
6074             pImDrawListSplitter_Merge ImDrawListSplitter_Merge;
6075             pImGuiWindow_MenuBarHeight ImGuiWindow_MenuBarHeight;
6076             pImColor_HSV ImColor_HSV;
6077             pigBeginTableEx igBeginTableEx;
6078             pigSetTabItemClosed igSetTabItemClosed;
6079             pImFont_AddGlyph ImFont_AddGlyph;
6080             pigSetHoveredID igSetHoveredID;
6081             pigStartMouseMovingWindowOrNode igStartMouseMovingWindowOrNode;
6082             pImFontGlyphRangesBuilder_AddText ImFontGlyphRangesBuilder_AddText;
6083             pImGuiPtrOrIndex_destroy ImGuiPtrOrIndex_destroy;
6084             pImGuiInputTextCallbackData_ImGuiInputTextCallbackData ImGuiInputTextCallbackData_ImGuiInputTextCallbackData;
6085             pigImStrdupcpy igImStrdupcpy;
6086             pImGuiDockNode_IsNoTabBar ImGuiDockNode_IsNoTabBar;
6087             pigColorConvertHSVtoRGB igColorConvertHSVtoRGB;
6088             pigDockBuilderSplitNode igDockBuilderSplitNode;
6089             pigColorPicker4 igColorPicker4;
6090             pigImBitArrayTestBit igImBitArrayTestBit;
6091             pigFindWindowByID igFindWindowByID;
6092             pImDrawList_PathBezierCubicCurveTo ImDrawList_PathBezierCubicCurveTo;
6093             pigBeginDragDropTargetCustom igBeginDragDropTargetCustom;
6094             pImGuiContext_destroy ImGuiContext_destroy;
6095             pigDragInt3 igDragInt3;
6096             pigImHashStr igImHashStr;
6097             pImDrawList_AddTriangleFilled ImDrawList_AddTriangleFilled;
6098             pigDebugNodeFont igDebugNodeFont;
6099             pigRenderArrow igRenderArrow;
6100             pigNewFrame igNewFrame;
6101             pImGuiTabItem_ImGuiTabItem ImGuiTabItem_ImGuiTabItem;
6102             pImDrawList_ChannelsSetCurrent ImDrawList_ChannelsSetCurrent;
6103             pigClosePopupToLevel igClosePopupToLevel;
6104             pImGuiContext_ImGuiContext ImGuiContext_ImGuiContext;
6105             pigSliderFloat2 igSliderFloat2;
6106             pigTempInputScalar igTempInputScalar;
6107             pImGuiPopupData_ImGuiPopupData ImGuiPopupData_ImGuiPopupData;
6108             pImDrawList_AddImageQuad ImDrawList_AddImageQuad;
6109             pigBeginListBox igBeginListBox;
6110             pImFontAtlas_GetCustomRectByIndex ImFontAtlas_GetCustomRectByIndex;
6111             pImFontAtlas_GetTexDataAsAlpha8 ImFontAtlas_GetTexDataAsAlpha8;
6112             pigGcAwakeTransientWindowBuffers igGcAwakeTransientWindowBuffers;
6113             pImDrawList__OnChangedClipRect ImDrawList__OnChangedClipRect;
6114             pImGuiWindowClass_ImGuiWindowClass ImGuiWindowClass_ImGuiWindowClass;
6115             pigDockBuilderRemoveNodeChildNodes igDockBuilderRemoveNodeChildNodes;
6116             pigGetColumnsID igGetColumnsID;
6117             pImGuiDockNode_SetLocalFlags ImGuiDockNode_SetLocalFlags;
6118             pigPushAllowKeyboardFocus igPushAllowKeyboardFocus;
6119             pImDrawList_PopTextureID ImDrawList_PopTextureID;
6120             pigColumns igColumns;
6121             pImFontGlyphRangesBuilder_AddChar ImFontGlyphRangesBuilder_AddChar;
6122             pigGetColumnIndex igGetColumnIndex;
6123             pigBringWindowToDisplayBack igBringWindowToDisplayBack;
6124             pImDrawList_PrimVtx ImDrawList_PrimVtx;
6125             pImDrawListSplitter_Clear ImDrawListSplitter_Clear;
6126             pigImTextCharToUtf8 igImTextCharToUtf8;
6127             pigTableBeginInitMemory igTableBeginInitMemory;
6128             pImDrawList_AddConvexPolyFilled ImDrawList_AddConvexPolyFilled;
6129             pigGetCursorScreenPos igGetCursorScreenPos;
6130             pigListBox_Str_arr igListBox_Str_arr;
6131             pigListBox_FnBoolPtr igListBox_FnBoolPtr;
6132             pigPopItemFlag igPopItemFlag;
6133             pigImBezierCubicClosestPoint igImBezierCubicClosestPoint;
6134             pigGetItemFlags igGetItemFlags;
6135             pigPopColumnsBackground igPopColumnsBackground;
6136             pigLogBegin igLogBegin;
6137             pigTreeNodeV_Str igTreeNodeV_Str;
6138             pigTreeNodeV_Ptr igTreeNodeV_Ptr;
6139             pigRenderTextClippedEx igRenderTextClippedEx;
6140             pigTableSettingsFindByID igTableSettingsFindByID;
6141             pImGuiIO_AddInputCharacterUTF16 ImGuiIO_AddInputCharacterUTF16;
6142             pImGuiStorage_GetFloatRef ImGuiStorage_GetFloatRef;
6143             pigImStrbolW igImStrbolW;
6144             pImGuiStackSizes_ImGuiStackSizes ImGuiStackSizes_ImGuiStackSizes;
6145             pigSliderBehavior igSliderBehavior;
6146             pigValue_Bool igValue_Bool;
6147             pigValue_Int igValue_Int;
6148             pigValue_Uint igValue_Uint;
6149             pigValue_Float igValue_Float;
6150             pigBeginTabItem igBeginTabItem;
6151             pigDebugNodeTable igDebugNodeTable;
6152             pImGuiViewport_destroy ImGuiViewport_destroy;
6153             pigIsNavInputDown igIsNavInputDown;
6154             pImGuiInputTextState_ClearFreeMemory ImGuiInputTextState_ClearFreeMemory;
6155             pImGuiViewport_GetWorkCenter ImGuiViewport_GetWorkCenter;
6156             pigRenderBullet igRenderBullet;
6157             pigDragFloat4 igDragFloat4;
6158             pImDrawList__OnChangedVtxOffset ImDrawList__OnChangedVtxOffset;
6159             pigTableSortSpecsSanitize igTableSortSpecsSanitize;
6160             pigFocusTopMostWindowUnderOne igFocusTopMostWindowUnderOne;
6161             pigPushID_Str igPushID_Str;
6162             pigPushID_StrStr igPushID_StrStr;
6163             pigPushID_Ptr igPushID_Ptr;
6164             pigPushID_Int igPushID_Int;
6165             pigItemHoverable igItemHoverable;
6166             pImFontAtlas_AddFontFromMemoryTTF ImFontAtlas_AddFontFromMemoryTTF;
6167             pigDockBuilderDockWindow igDockBuilderDockWindow;
6168             pigImFontAtlasBuildMultiplyRectAlpha8 igImFontAtlasBuildMultiplyRectAlpha8;
6169             pigTextDisabledV igTextDisabledV;
6170             pigInputScalar igInputScalar;
6171             pImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr;
6172             pImGuiPtrOrIndex_ImGuiPtrOrIndex_Int ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int;
6173             pigImLerp_Vec2Float igImLerp_Vec2Float;
6174             pigImLerp_Vec2Vec2 igImLerp_Vec2Vec2;
6175             pigImLerp_Vec4 igImLerp_Vec4;
6176             pigItemSize_Vec2 igItemSize_Vec2;
6177             pigItemSize_Rect igItemSize_Rect;
6178             pImColor_SetHSV ImColor_SetHSV;
6179             pImFont_IsGlyphRangeUnused ImFont_IsGlyphRangeUnused;
6180             pigImBezierQuadraticCalc igImBezierQuadraticCalc;
6181             pigImParseFormatPrecision igImParseFormatPrecision;
6182             pigLogToTTY igLogToTTY;
6183             pigTableGetColumnWidthAuto igTableGetColumnWidthAuto;
6184             pigButtonBehavior igButtonBehavior;
6185             pImGuiInputTextState_OnKeyPressed ImGuiInputTextState_OnKeyPressed;
6186             pigImLog_Float igImLog_Float;
6187             pigImLog_double igImLog_double;
6188             pigSetFocusID igSetFocusID;
6189             pigGetActiveID igGetActiveID;
6190             pigImLineClosestPoint igImLineClosestPoint;
6191             pigIsItemVisible igIsItemVisible;
6192             pigRender igRender;
6193             pigImTriangleArea igImTriangleArea;
6194             pigBeginChild_Str igBeginChild_Str;
6195             pigBeginChild_ID igBeginChild_ID;
6196             pigStyleColorsLight igStyleColorsLight;
6197             pigGetScrollX igGetScrollX;
6198             pigCallContextHooks igCallContextHooks;
6199             pImFontAtlas_GetTexDataAsRGBA32 ImFontAtlas_GetTexDataAsRGBA32;
6200             pImGuiOnceUponAFrame_ImGuiOnceUponAFrame ImGuiOnceUponAFrame_ImGuiOnceUponAFrame;
6201             pImDrawData_destroy ImDrawData_destroy;
6202             pigSaveIniSettingsToMemory igSaveIniSettingsToMemory;
6203             pigTabBarRemoveTab igTabBarRemoveTab;
6204             pigGetWindowHeight igGetWindowHeight;
6205             pigGetMainViewport igGetMainViewport;
6206             pImGuiTextFilter_PassFilter ImGuiTextFilter_PassFilter;
6207             pImFontAtlas_AddFontFromMemoryCompressedBase85TTF ImFontAtlas_AddFontFromMemoryCompressedBase85TTF;
6208             pImFontAtlas_AddFontFromFileTTF ImFontAtlas_AddFontFromFileTTF;
6209             pigEndDisabled igEndDisabled;
6210             pImGuiViewportP_CalcWorkRectSize ImGuiViewportP_CalcWorkRectSize;
6211             pigGetCurrentContext igGetCurrentContext;
6212             pigColorConvertU32ToFloat4 igColorConvertU32ToFloat4;
6213             pImDrawList_PathArcToFast ImDrawList_PathArcToFast;
6214             pigDragFloat igDragFloat;
6215             pigGetStyleColorName igGetStyleColorName;
6216             pigSetItemDefaultFocus igSetItemDefaultFocus;
6217             pImGuiDockNodeSettings_ImGuiDockNodeSettings ImGuiDockNodeSettings_ImGuiDockNodeSettings;
6218             pigCalcListClipping igCalcListClipping;
6219             pigSetNextWindowPos igSetNextWindowPos;
6220             pigDragFloat3 igDragFloat3;
6221             pigCaptureKeyboardFromApp igCaptureKeyboardFromApp;
6222             pigGetCurrentTable igGetCurrentTable;
6223             pImDrawData_Clear ImDrawData_Clear;
6224             pImFontAtlas_AddFontFromMemoryCompressedTTF ImFontAtlas_AddFontFromMemoryCompressedTTF;
6225             pImGuiStoragePair_destroy ImGuiStoragePair_destroy;
6226             pigIsItemToggledOpen igIsItemToggledOpen;
6227             pigInputInt3 igInputInt3;
6228             pigShrinkWidths igShrinkWidths;
6229             pigClosePopupsExceptModals igClosePopupsExceptModals;
6230             pImDrawList_AddText_Vec2 ImDrawList_AddText_Vec2;
6231             pImDrawList_AddText_FontPtr ImDrawList_AddText_FontPtr;
6232             pImDrawList_PrimRectUV ImDrawList_PrimRectUV;
6233             pImDrawList_PrimWriteIdx ImDrawList_PrimWriteIdx;
6234             pImGuiOldColumns_ImGuiOldColumns ImGuiOldColumns_ImGuiOldColumns;
6235             pigTableRemove igTableRemove;
6236             pigDebugNodeTableSettings igDebugNodeTableSettings;
6237             pImGuiStorage_GetBool ImGuiStorage_GetBool;
6238             pigRenderFrameBorder igRenderFrameBorder;
6239             pigFindWindowByName igFindWindowByName;
6240             pImGuiLastItemData_ImGuiLastItemData ImGuiLastItemData_ImGuiLastItemData;
6241             pigImTextStrToUtf8 igImTextStrToUtf8;
6242             pigScrollToBringRectIntoView igScrollToBringRectIntoView;
6243             pigInputInt igInputInt;
6244             pImVec2_ImVec2_Nil ImVec2_ImVec2_Nil;
6245             pImVec2_ImVec2_Float ImVec2_ImVec2_Float;
6246             pImGuiTextBuffer_size ImGuiTextBuffer_size;
6247             pImFontAtlas_GetGlyphRangesDefault ImFontAtlas_GetGlyphRangesDefault;
6248             pigUpdatePlatformWindows igUpdatePlatformWindows;
6249             pigTextWrapped igTextWrapped;
6250             pImFontAtlas_ClearTexData ImFontAtlas_ClearTexData;
6251             pImFont_GetCharAdvance ImFont_GetCharAdvance;
6252             pigSliderFloat3 igSliderFloat3;
6253             pImDrawList_PathFillConvex ImDrawList_PathFillConvex;
6254             pImGuiTextBuffer_ImGuiTextBuffer ImGuiTextBuffer_ImGuiTextBuffer;
6255             pImGuiTabItem_destroy ImGuiTabItem_destroy;
6256             pigSliderAngle igSliderAngle;
6257             pImGuiTableColumnSortSpecs_destroy ImGuiTableColumnSortSpecs_destroy;
6258             pigSetWindowPos_Vec2 igSetWindowPos_Vec2;
6259             pigSetWindowPos_Str igSetWindowPos_Str;
6260             pigSetWindowPos_WindowPtr igSetWindowPos_WindowPtr;
6261             pigTempInputText igTempInputText;
6262             pigSetScrollHereY igSetScrollHereY;
6263             pigMenuItemEx igMenuItemEx;
6264             pImGuiIO_AddFocusEvent ImGuiIO_AddFocusEvent;
6265             pImGuiViewport_ImGuiViewport ImGuiViewport_ImGuiViewport;
6266             pigProgressBar igProgressBar;
6267             pImDrawList_CloneOutput ImDrawList_CloneOutput;
6268             pImFontGlyphRangesBuilder_destroy ImFontGlyphRangesBuilder_destroy;
6269             pImVec1_destroy ImVec1_destroy;
6270             pigPushColumnClipRect igPushColumnClipRect;
6271             pigTabBarQueueReorderFromMousePos igTabBarQueueReorderFromMousePos;
6272             pigLogTextV igLogTextV;
6273             pigDockBuilderCopyWindowSettings igDockBuilderCopyWindowSettings;
6274             pigImTextCharFromUtf8 igImTextCharFromUtf8;
6275             pImRect_ImRect_Nil ImRect_ImRect_Nil;
6276             pImRect_ImRect_Vec2 ImRect_ImRect_Vec2;
6277             pImRect_ImRect_Vec4 ImRect_ImRect_Vec4;
6278             pImRect_ImRect_Float ImRect_ImRect_Float;
6279             pigGetTopMostPopupModal igGetTopMostPopupModal;
6280             pImDrawListSplitter_Split ImDrawListSplitter_Split;
6281             pigBulletText igBulletText;
6282             pigImFontAtlasBuildFinish igImFontAtlasBuildFinish;
6283             pigDebugNodeViewport igDebugNodeViewport;
6284             pImDrawList_AddQuad ImDrawList_AddQuad;
6285             pigDockSpace igDockSpace;
6286             pigGetColorU32_Col igGetColorU32_Col;
6287             pigGetColorU32_Vec4 igGetColorU32_Vec4;
6288             pigGetColorU32_U32 igGetColorU32_U32;
6289             pImGuiWindow_GetIDFromRectangle ImGuiWindow_GetIDFromRectangle;
6290             pImDrawList_AddDrawCmd ImDrawList_AddDrawCmd;
6291             pigUpdateWindowParentAndRootLinks igUpdateWindowParentAndRootLinks;
6292             pigIsItemDeactivated igIsItemDeactivated;
6293             pigSetCursorPosX igSetCursorPosX;
6294             pigInputFloat4 igInputFloat4;
6295             pigSeparator igSeparator;
6296             pImRect_Translate ImRect_Translate;
6297             pImDrawList_PrimUnreserve ImDrawList_PrimUnreserve;
6298             pigColorPickerOptionsPopup igColorPickerOptionsPopup;
6299             pImRect_IsInverted ImRect_IsInverted;
6300             pigGetKeyIndex igGetKeyIndex;
6301             pigFindViewportByID igFindViewportByID;
6302             pImGuiMetricsConfig_destroy ImGuiMetricsConfig_destroy;
6303             pigPushItemFlag igPushItemFlag;
6304             pigScrollbar igScrollbar;
6305             pigDebugNodeWindowsList igDebugNodeWindowsList;
6306             pImDrawList_PrimWriteVtx ImDrawList_PrimWriteVtx;
6307             pImGuiDockContext_destroy ImGuiDockContext_destroy;
6308             pImGuiPayload_IsDataType ImGuiPayload_IsDataType;
6309             pigSetActiveID igSetActiveID;
6310             pImFontGlyphRangesBuilder_BuildRanges ImFontGlyphRangesBuilder_BuildRanges;
6311             pImGuiDockPreviewData_ImGuiDockPreviewData ImGuiDockPreviewData_ImGuiDockPreviewData;
6312             pigSetWindowSize_Vec2 igSetWindowSize_Vec2;
6313             pigSetWindowSize_Str igSetWindowSize_Str;
6314             pigSetWindowSize_WindowPtr igSetWindowSize_WindowPtr;
6315             pigTreePop igTreePop;
6316             pigTableGetCellBgRect igTableGetCellBgRect;
6317             pImFont_AddRemapChar ImFont_AddRemapChar;
6318             pigNavMoveRequestCancel igNavMoveRequestCancel;
6319             pigText igText;
6320             pigCollapseButton igCollapseButton;
6321             pImGuiWindow_TitleBarRect ImGuiWindow_TitleBarRect;
6322             pigIsItemFocused igIsItemFocused;
6323             pigTranslateWindowsInViewport igTranslateWindowsInViewport;
6324             pigMemAlloc igMemAlloc;
6325             pImGuiStackSizes_destroy ImGuiStackSizes_destroy;
6326             pigColorPicker3 igColorPicker3;
6327             pImGuiTextBuffer_destroy ImGuiTextBuffer_destroy;
6328             pigGetColumnOffset igGetColumnOffset;
6329             pigSetCurrentViewport igSetCurrentViewport;
6330             pImRect_GetSize ImRect_GetSize;
6331             pigSetItemUsingMouseWheel igSetItemUsingMouseWheel;
6332             pigIsWindowCollapsed igIsWindowCollapsed;
6333             pImGuiNextItemData_ClearFlags ImGuiNextItemData_ClearFlags;
6334             pigBeginCombo igBeginCombo;
6335             pImRect_Expand_Float ImRect_Expand_Float;
6336             pImRect_Expand_Vec2 ImRect_Expand_Vec2;
6337             pigNavMoveRequestApplyResult igNavMoveRequestApplyResult;
6338             pigOpenPopup_Str igOpenPopup_Str;
6339             pigOpenPopup_ID igOpenPopup_ID;
6340             pigImCharIsBlankW igImCharIsBlankW;
6341             pImFont_SetGlyphVisible ImFont_SetGlyphVisible;
6342             pigFindOrCreateWindowSettings igFindOrCreateWindowSettings;
6343             pigImFloorSigned igImFloorSigned;
6344             pigInputScalarN igInputScalarN;
6345             pImDrawList_PrimQuadUV ImDrawList_PrimQuadUV;
6346             pigPopID igPopID;
6347             pigEndTabBar igEndTabBar;
6348             pigPopAllowKeyboardFocus igPopAllowKeyboardFocus;
6349             pImDrawList_AddImage ImDrawList_AddImage;
6350             pigBeginTabBar igBeginTabBar;
6351             pigGetCursorPosY igGetCursorPosY;
6352             pigCalcTextSize igCalcTextSize;
6353             pigSetActiveIdUsingNavAndKeys igSetActiveIdUsingNavAndKeys;
6354             pImFont_CalcTextSizeA ImFont_CalcTextSizeA;
6355             pigImClamp igImClamp;
6356             pigGetColumnWidth igGetColumnWidth;
6357             pigTableHeader igTableHeader;
6358             pigTabBarFindMostRecentlySelectedTabForActiveWindow igTabBarFindMostRecentlySelectedTabForActiveWindow;
6359             pImGuiPayload_Clear ImGuiPayload_Clear;
6360             pImGuiTextBuffer_reserve ImGuiTextBuffer_reserve;
6361             pImDrawList__TryMergeDrawCmds ImDrawList__TryMergeDrawCmds;
6362             pImGuiInputTextState_CursorAnimReset ImGuiInputTextState_CursorAnimReset;
6363             pImRect_ClipWithFull ImRect_ClipWithFull;
6364             pigGetFontTexUvWhitePixel igGetFontTexUvWhitePixel;
6365             pImDrawList_ChannelsSplit ImDrawList_ChannelsSplit;
6366             pigCalcWindowNextAutoFitSize igCalcWindowNextAutoFitSize;
6367             pigPopFont igPopFont;
6368             pigImTriangleContainsPoint igImTriangleContainsPoint;
6369             pigRenderRectFilledWithHole igRenderRectFilledWithHole;
6370             pigImFloor_Float igImFloor_Float;
6371             pigImFloor_Vec2 igImFloor_Vec2;
6372             pImDrawList_AddRect ImDrawList_AddRect;
6373             pigImParseFormatFindEnd igImParseFormatFindEnd;
6374             pImGuiPlatformIO_destroy ImGuiPlatformIO_destroy;
6375             pImGuiTableColumnSettings_destroy ImGuiTableColumnSettings_destroy;
6376             pImGuiInputTextCallbackData_ClearSelection ImGuiInputTextCallbackData_ClearSelection;
6377             pigErrorCheckEndFrameRecover igErrorCheckEndFrameRecover;
6378             pImGuiTextRange_split ImGuiTextRange_split;
6379             pImBitVector_Clear ImBitVector_Clear;
6380             pigDockBuilderAddNode igDockBuilderAddNode;
6381             pigCreateNewWindowSettings igCreateNewWindowSettings;
6382             pigDockNodeGetWindowMenuButtonId igDockNodeGetWindowMenuButtonId;
6383             pImGuiDockNode_IsRootNode ImGuiDockNode_IsRootNode;
6384             pigDockContextInitialize igDockContextInitialize;
6385             pigGetDrawListSharedData igGetDrawListSharedData;
6386             pigBeginChildEx igBeginChildEx;
6387             pImGuiNextWindowData_ClearFlags ImGuiNextWindowData_ClearFlags;
6388             pigImFileClose igImFileClose;
6389             pImFontGlyphRangesBuilder_GetBit ImFontGlyphRangesBuilder_GetBit;
6390             pigImRotate igImRotate;
6391             pigImGetDirQuadrantFromDelta igImGetDirQuadrantFromDelta;
6392             pigTableMergeDrawChannels igTableMergeDrawChannels;
6393             pImFontAtlas_AddFont ImFontAtlas_AddFont;
6394             pigGetNavInputAmount2d igGetNavInputAmount2d;
6395         }
6396     }
6397     extern (C) @nogc nothrow {
6398         version (USE_GLFW) {
6399             import bindbc.sdl;
6400 
6401             alias pImGui_ImplGlfw_MonitorCallback = void function(GLFWmonitor* monitor, int event);
6402             alias pImGui_ImplGlfw_NewFrame = void function();
6403             alias pImGui_ImplGlfw_InitForOther = bool function(GLFWwindow* window, bool install_callbacks);
6404             alias pImGui_ImplGlfw_InitForVulkan = bool function(GLFWwindow* window, bool install_callbacks);
6405             alias pImGui_ImplGlfw_CharCallback = void function(GLFWwindow* window, uint c);
6406             alias pImGui_ImplGlfw_InitForOpenGL = bool function(GLFWwindow* window, bool install_callbacks);
6407             alias pImGui_ImplGlfw_KeyCallback = void function(GLFWwindow* window, int key, int scancode, int action, int mods);
6408             alias pImGui_ImplGlfw_ScrollCallback = void function(GLFWwindow* window, double xoffset, double yoffset);
6409             alias pImGui_ImplGlfw_MouseButtonCallback = void function(GLFWwindow* window, int button, int action, int mods);
6410             alias pImGui_ImplGlfw_WindowFocusCallback = void function(GLFWwindow* window, int focused);
6411             alias pImGui_ImplGlfw_Shutdown = void function();
6412             alias pImGui_ImplGlfw_CursorEnterCallback = void function(GLFWwindow* window, int entered);
6413 
6414             __gshared {
6415                 pImGui_ImplGlfw_MonitorCallback ImGui_ImplGlfw_MonitorCallback;
6416                 pImGui_ImplGlfw_NewFrame ImGui_ImplGlfw_NewFrame;
6417                 pImGui_ImplGlfw_InitForOther ImGui_ImplGlfw_InitForOther;
6418                 pImGui_ImplGlfw_InitForVulkan ImGui_ImplGlfw_InitForVulkan;
6419                 pImGui_ImplGlfw_CharCallback ImGui_ImplGlfw_CharCallback;
6420                 pImGui_ImplGlfw_InitForOpenGL ImGui_ImplGlfw_InitForOpenGL;
6421                 pImGui_ImplGlfw_KeyCallback ImGui_ImplGlfw_KeyCallback;
6422                 pImGui_ImplGlfw_ScrollCallback ImGui_ImplGlfw_ScrollCallback;
6423                 pImGui_ImplGlfw_MouseButtonCallback ImGui_ImplGlfw_MouseButtonCallback;
6424                 pImGui_ImplGlfw_WindowFocusCallback ImGui_ImplGlfw_WindowFocusCallback;
6425                 pImGui_ImplGlfw_Shutdown ImGui_ImplGlfw_Shutdown;
6426                 pImGui_ImplGlfw_CursorEnterCallback ImGui_ImplGlfw_CursorEnterCallback;
6427             }
6428         }
6429         version (USE_OpenGL3) {
6430 
6431             alias pImGui_ImplOpenGL3_DestroyFontsTexture = void function();
6432             alias pImGui_ImplOpenGL3_CreateFontsTexture = bool function();
6433             alias pImGui_ImplOpenGL3_CreateDeviceObjects = bool function();
6434             alias pImGui_ImplOpenGL3_Init = bool function(const(char)* glsl_version = null);
6435             alias pImGui_ImplOpenGL3_DestroyDeviceObjects = void function();
6436             alias pImGui_ImplOpenGL3_NewFrame = void function();
6437             alias pImGui_ImplOpenGL3_Shutdown = void function();
6438             alias pImGui_ImplOpenGL3_RenderDrawData = void function(ImDrawData* draw_data);
6439 
6440             __gshared {
6441                 pImGui_ImplOpenGL3_DestroyFontsTexture ImGui_ImplOpenGL3_DestroyFontsTexture;
6442                 pImGui_ImplOpenGL3_CreateFontsTexture ImGui_ImplOpenGL3_CreateFontsTexture;
6443                 pImGui_ImplOpenGL3_CreateDeviceObjects ImGui_ImplOpenGL3_CreateDeviceObjects;
6444                 pImGui_ImplOpenGL3_Init ImGui_ImplOpenGL3_Init;
6445                 pImGui_ImplOpenGL3_DestroyDeviceObjects ImGui_ImplOpenGL3_DestroyDeviceObjects;
6446                 pImGui_ImplOpenGL3_NewFrame ImGui_ImplOpenGL3_NewFrame;
6447                 pImGui_ImplOpenGL3_Shutdown ImGui_ImplOpenGL3_Shutdown;
6448                 pImGui_ImplOpenGL3_RenderDrawData ImGui_ImplOpenGL3_RenderDrawData;
6449             }
6450         }
6451         version (USE_SDL2) {
6452             import bindbc.sdl;
6453 
6454             alias pImGui_ImplSDL2_Shutdown = void function();
6455             alias pImGui_ImplSDL2_InitForMetal = bool function(SDL_Window* window);
6456             alias pImGui_ImplSDL2_InitForOpenGL = bool function(SDL_Window* window, void* sdl_gl_context);
6457             alias pImGui_ImplSDL2_InitForVulkan = bool function(SDL_Window* window);
6458             alias pImGui_ImplSDL2_InitForD3D = bool function(SDL_Window* window);
6459             alias pImGui_ImplSDL2_ProcessEvent = bool function(const SDL_Event* event);
6460             alias pImGui_ImplSDL2_InitForSDLRenderer = bool function(SDL_Window* window);
6461             alias pImGui_ImplSDL2_NewFrame = void function();
6462 
6463             __gshared {
6464                 pImGui_ImplSDL2_Shutdown ImGui_ImplSDL2_Shutdown;
6465                 pImGui_ImplSDL2_InitForMetal ImGui_ImplSDL2_InitForMetal;
6466                 pImGui_ImplSDL2_InitForOpenGL ImGui_ImplSDL2_InitForOpenGL;
6467                 pImGui_ImplSDL2_InitForVulkan ImGui_ImplSDL2_InitForVulkan;
6468                 pImGui_ImplSDL2_InitForD3D ImGui_ImplSDL2_InitForD3D;
6469                 pImGui_ImplSDL2_ProcessEvent ImGui_ImplSDL2_ProcessEvent;
6470                 pImGui_ImplSDL2_InitForSDLRenderer ImGui_ImplSDL2_InitForSDLRenderer;
6471                 pImGui_ImplSDL2_NewFrame ImGui_ImplSDL2_NewFrame;
6472             }
6473         }
6474         version (USE_OpenGL2) {
6475 
6476             alias pImGui_ImplOpenGL2_CreateDeviceObjects = bool function();
6477             alias pImGui_ImplOpenGL2_Init = bool function();
6478             alias pImGui_ImplOpenGL2_DestroyDeviceObjects = void function();
6479             alias pImGui_ImplOpenGL2_NewFrame = void function();
6480             alias pImGui_ImplOpenGL2_RenderDrawData = void function(ImDrawData* draw_data);
6481             alias pImGui_ImplOpenGL2_CreateFontsTexture = bool function();
6482             alias pImGui_ImplOpenGL2_Shutdown = void function();
6483             alias pImGui_ImplOpenGL2_DestroyFontsTexture = void function();
6484 
6485             __gshared {
6486                 pImGui_ImplOpenGL2_CreateDeviceObjects ImGui_ImplOpenGL2_CreateDeviceObjects;
6487                 pImGui_ImplOpenGL2_Init ImGui_ImplOpenGL2_Init;
6488                 pImGui_ImplOpenGL2_DestroyDeviceObjects ImGui_ImplOpenGL2_DestroyDeviceObjects;
6489                 pImGui_ImplOpenGL2_NewFrame ImGui_ImplOpenGL2_NewFrame;
6490                 pImGui_ImplOpenGL2_RenderDrawData ImGui_ImplOpenGL2_RenderDrawData;
6491                 pImGui_ImplOpenGL2_CreateFontsTexture ImGui_ImplOpenGL2_CreateFontsTexture;
6492                 pImGui_ImplOpenGL2_Shutdown ImGui_ImplOpenGL2_Shutdown;
6493                 pImGui_ImplOpenGL2_DestroyFontsTexture ImGui_ImplOpenGL2_DestroyFontsTexture;
6494             }
6495         }
6496     }
6497 }
6498 
6499 auto igGenFuncC(T)(T func) {
6500   import std.traits;
6501   extern(C) ReturnType!T f(Parameters!T args)
6502   {
6503     static if (is(ReturnType!T == void)) 
6504     {
6505       func(args);
6506     } else 
6507     {
6508       return func(args);
6509     }
6510   }
6511 
6512   return &f;
6513 }
6514 pragma(inline):
6515 ImDrawList*  igGetForegroundDrawList()
6516 {
6517     return  igGetForegroundDrawList_Nil();
6518 }
6519 
6520 pragma(inline):
6521 ImDrawList*  igGetForegroundDrawList(ImGuiViewport* viewport)
6522 {
6523     return  igGetForegroundDrawList_ViewportPtr(viewport);
6524 }
6525 
6526 pragma(inline):
6527 ImDrawList*  igGetForegroundDrawList(ImGuiWindow* window)
6528 {
6529     return  igGetForegroundDrawList_WindowPtr(window);
6530 }
6531 
6532 pragma(inline):
6533 bool  igRadioButton(const(char)* label, bool active)
6534 {
6535     return  igRadioButton_Bool(label, active);
6536 }
6537 
6538 pragma(inline):
6539 bool  igRadioButton(const(char)* label, int* v, int v_button)
6540 {
6541     return  igRadioButton_IntPtr(label, v, v_button);
6542 }
6543 
6544 pragma(inline):
6545 bool  igIsPopupOpen(const(char)* str_id, ImGuiPopupFlags flags = ImGuiPopupFlags.MouseButtonLeft)
6546 {
6547     return  igIsPopupOpen_Str(str_id, flags);
6548 }
6549 
6550 pragma(inline):
6551 bool  igIsPopupOpen(ImGuiID id, ImGuiPopupFlags popup_flags)
6552 {
6553     return  igIsPopupOpen_ID(id, popup_flags);
6554 }
6555 
6556 pragma(inline):
6557 ImGuiID  ImGuiWindow_GetID(ImGuiWindow* self, const(char)* str, const(char)* str_end = null)
6558 {
6559     return  ImGuiWindow_GetID_Str(self, str, str_end);
6560 }
6561 
6562 pragma(inline):
6563 ImGuiID  ImGuiWindow_GetID(ImGuiWindow* self, const void* ptr)
6564 {
6565     return  ImGuiWindow_GetID_Ptr(self, ptr);
6566 }
6567 
6568 pragma(inline):
6569 ImGuiID  ImGuiWindow_GetID(ImGuiWindow* self, int n)
6570 {
6571     return  ImGuiWindow_GetID_Int(self, n);
6572 }
6573 
6574 pragma(inline):
6575 void  igSetWindowCollapsed(bool collapsed, ImGuiCond cond = ImGuiCond.None)
6576 {
6577      igSetWindowCollapsed_Bool(collapsed, cond);
6578 }
6579 
6580 pragma(inline):
6581 void  igSetWindowCollapsed(const(char)* name, bool collapsed, ImGuiCond cond = ImGuiCond.None)
6582 {
6583      igSetWindowCollapsed_Str(name, collapsed, cond);
6584 }
6585 
6586 pragma(inline):
6587 void  igSetWindowCollapsed(ImGuiWindow* window, bool collapsed, ImGuiCond cond = ImGuiCond.None)
6588 {
6589      igSetWindowCollapsed_WindowPtr(window, collapsed, cond);
6590 }
6591 
6592 pragma(inline):
6593 bool  igIsRectVisible(const ImVec2 size)
6594 {
6595     return  igIsRectVisible_Nil(size);
6596 }
6597 
6598 pragma(inline):
6599 bool  igIsRectVisible(const ImVec2 rect_min, const ImVec2 rect_max)
6600 {
6601     return  igIsRectVisible_Vec2(rect_min, rect_max);
6602 }
6603 
6604 pragma(inline):
6605 bool  igMenuItem(const(char)* label, const(char)* shortcut = null, bool selected = false, bool enabled = true)
6606 {
6607     return  igMenuItem_Bool(label, shortcut, selected, enabled);
6608 }
6609 
6610 pragma(inline):
6611 bool  igMenuItem(const(char)* label, const(char)* shortcut, bool* p_selected, bool enabled = true)
6612 {
6613     return  igMenuItem_BoolPtr(label, shortcut, p_selected, enabled);
6614 }
6615 
6616 pragma(inline):
6617 ImGuiStyleMod*  ImGuiStyleMod_ImGuiStyleMod(ImGuiStyleVar idx, int v)
6618 {
6619     return  ImGuiStyleMod_ImGuiStyleMod_Int(idx, v);
6620 }
6621 
6622 pragma(inline):
6623 ImGuiStyleMod*  ImGuiStyleMod_ImGuiStyleMod(ImGuiStyleVar idx, float v)
6624 {
6625     return  ImGuiStyleMod_ImGuiStyleMod_Float(idx, v);
6626 }
6627 
6628 pragma(inline):
6629 ImGuiStyleMod*  ImGuiStyleMod_ImGuiStyleMod(ImGuiStyleVar idx, ImVec2 v)
6630 {
6631     return  ImGuiStyleMod_ImGuiStyleMod_Vec2(idx, v);
6632 }
6633 
6634 pragma(inline):
6635 void  igPushStyleVar(ImGuiStyleVar idx, float val)
6636 {
6637      igPushStyleVar_Float(idx, val);
6638 }
6639 
6640 pragma(inline):
6641 void  igPushStyleVar(ImGuiStyleVar idx, const ImVec2 val)
6642 {
6643      igPushStyleVar_Vec2(idx, val);
6644 }
6645 
6646 pragma(inline):
6647 void  igSetWindowFocus()
6648 {
6649      igSetWindowFocus_Nil();
6650 }
6651 
6652 pragma(inline):
6653 void  igSetWindowFocus(const(char)* name)
6654 {
6655      igSetWindowFocus_Str(name);
6656 }
6657 
6658 pragma(inline):
6659 void  igPlotLines(const(char)* label, const float* values, int values_count, int values_offset = 0, const(char)* overlay_text = null, float scale_min = float.max, float scale_max = float.max, ImVec2 graph_size = ImVec2(0,0), int stride = float.sizeof)
6660 {
6661      igPlotLines_FloatPtr(label, values, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size, stride);
6662 }
6663 
6664 extern(C) alias igPlotLines_values_getter = float function(void* data,int idx);
6665 
6666 pragma(inline):
6667 void  igPlotLines(const(char)* label, igPlotLines_values_getter values_getter, void* data, int values_count, int values_offset = 0, const(char)* overlay_text = null, float scale_min = float.max, float scale_max = float.max, ImVec2 graph_size = ImVec2(0,0))
6668 {
6669      igPlotLines_FnFloatPtr(label, values_getter, data, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size);
6670 }
6671 
6672 pragma(inline):
6673 bool  igCheckboxFlags(const(char)* label, int* flags, int flags_value)
6674 {
6675     return  igCheckboxFlags_IntPtr(label, flags, flags_value);
6676 }
6677 
6678 pragma(inline):
6679 bool  igCheckboxFlags(const(char)* label, uint* flags, uint flags_value)
6680 {
6681     return  igCheckboxFlags_UintPtr(label, flags, flags_value);
6682 }
6683 
6684 pragma(inline):
6685 bool  igCheckboxFlags(const(char)* label, ImS64* flags, ImS64 flags_value)
6686 {
6687     return  igCheckboxFlags_S64Ptr(label, flags, flags_value);
6688 }
6689 
6690 pragma(inline):
6691 bool  igCheckboxFlags(const(char)* label, ImU64* flags, ImU64 flags_value)
6692 {
6693     return  igCheckboxFlags_U64Ptr(label, flags, flags_value);
6694 }
6695 
6696 pragma(inline):
6697 void  igSetScrollY(float scroll_y)
6698 {
6699      igSetScrollY_Float(scroll_y);
6700 }
6701 
6702 pragma(inline):
6703 void  igSetScrollY(ImGuiWindow* window, float scroll_y)
6704 {
6705      igSetScrollY_WindowPtr(window, scroll_y);
6706 }
6707 
6708 pragma(inline):
6709 bool  igCombo(const(char)* label, int* current_item, const(char)** items, int items_count, int popup_max_height_in_items = -1)
6710 {
6711     return  igCombo_Str_arr(label, current_item, items, items_count, popup_max_height_in_items);
6712 }
6713 
6714 pragma(inline):
6715 bool  igCombo(const(char)* label, int* current_item, const(char)* items_separated_by_zeros, int popup_max_height_in_items = -1)
6716 {
6717     return  igCombo_Str(label, current_item, items_separated_by_zeros, popup_max_height_in_items);
6718 }
6719 
6720 extern(C) alias igCombo_items_getter = bool function(void* data,int idx,const(char)** out_text);
6721 
6722 pragma(inline):
6723 bool  igCombo(const(char)* label, int* current_item, igCombo_items_getter items_getter, void* data, int items_count, int popup_max_height_in_items = -1)
6724 {
6725     return  igCombo_FnBoolPtr(label, current_item, items_getter, data, items_count, popup_max_height_in_items);
6726 }
6727 
6728 pragma(inline):
6729 bool  igTreeNodeEx(const(char)* label, ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags.None)
6730 {
6731     return  igTreeNodeEx_Str(label, flags);
6732 }
6733 
6734 pragma(inline):
6735 bool  igTreeNodeEx(const(char)* str_id, ImGuiTreeNodeFlags flags, const(char)* fmt, ...)
6736 {
6737     return  igTreeNodeEx_StrStr(str_id, flags, fmt);
6738 }
6739 
6740 pragma(inline):
6741 bool  igTreeNodeEx(const void* ptr_id, ImGuiTreeNodeFlags flags, const(char)* fmt, ...)
6742 {
6743     return  igTreeNodeEx_Ptr(ptr_id, flags, fmt);
6744 }
6745 
6746 pragma(inline):
6747 const(char)*  igTableGetColumnName(int column_n = -1)
6748 {
6749     return  igTableGetColumnName_Int(column_n);
6750 }
6751 
6752 pragma(inline):
6753 const(char)*  igTableGetColumnName(const ImGuiTable* table, int column_n)
6754 {
6755     return  igTableGetColumnName_TablePtr(table, column_n);
6756 }
6757 
6758 pragma(inline):
6759 float  igImSign(float x)
6760 {
6761     return  igImSign_Float(x);
6762 }
6763 
6764 pragma(inline):
6765 double  igImSign(double x)
6766 {
6767     return  igImSign_double(x);
6768 }
6769 
6770 pragma(inline):
6771 bool  igTreeNodeExV(const(char)* str_id, ImGuiTreeNodeFlags flags, const(char)* fmt, va_list args)
6772 {
6773     return  igTreeNodeExV_Str(str_id, flags, fmt, args);
6774 }
6775 
6776 pragma(inline):
6777 bool  igTreeNodeExV(const void* ptr_id, ImGuiTreeNodeFlags flags, const(char)* fmt, va_list args)
6778 {
6779     return  igTreeNodeExV_Ptr(ptr_id, flags, fmt, args);
6780 }
6781 
6782 pragma(inline):
6783 ImVec2ih*  ImVec2ih_ImVec2ih()
6784 {
6785     return  ImVec2ih_ImVec2ih_Nil();
6786 }
6787 
6788 pragma(inline):
6789 ImVec2ih*  ImVec2ih_ImVec2ih(short _x, short _y)
6790 {
6791     return  ImVec2ih_ImVec2ih_short(_x, _y);
6792 }
6793 
6794 pragma(inline):
6795 ImVec2ih*  ImVec2ih_ImVec2ih(const ImVec2 rhs)
6796 {
6797     return  ImVec2ih_ImVec2ih_Vec2(rhs);
6798 }
6799 
6800 pragma(inline):
6801 ImVec1*  ImVec1_ImVec1()
6802 {
6803     return  ImVec1_ImVec1_Nil();
6804 }
6805 
6806 pragma(inline):
6807 ImVec1*  ImVec1_ImVec1(float _x)
6808 {
6809     return  ImVec1_ImVec1_Float(_x);
6810 }
6811 
6812 pragma(inline):
6813 ImGuiID  ImGuiWindow_GetIDNoKeepAlive(ImGuiWindow* self, const(char)* str, const(char)* str_end = null)
6814 {
6815     return  ImGuiWindow_GetIDNoKeepAlive_Str(self, str, str_end);
6816 }
6817 
6818 pragma(inline):
6819 ImGuiID  ImGuiWindow_GetIDNoKeepAlive(ImGuiWindow* self, const void* ptr)
6820 {
6821     return  ImGuiWindow_GetIDNoKeepAlive_Ptr(self, ptr);
6822 }
6823 
6824 pragma(inline):
6825 ImGuiID  ImGuiWindow_GetIDNoKeepAlive(ImGuiWindow* self, int n)
6826 {
6827     return  ImGuiWindow_GetIDNoKeepAlive_Int(self, n);
6828 }
6829 
6830 pragma(inline):
6831 ImVec4*  ImVec4_ImVec4()
6832 {
6833     return  ImVec4_ImVec4_Nil();
6834 }
6835 
6836 pragma(inline):
6837 ImVec4*  ImVec4_ImVec4(float _x, float _y, float _z, float _w)
6838 {
6839     return  ImVec4_ImVec4_Float(_x, _y, _z, _w);
6840 }
6841 
6842 pragma(inline):
6843 float  igImPow(float x, float y)
6844 {
6845     return  igImPow_Float(x, y);
6846 }
6847 
6848 pragma(inline):
6849 double  igImPow(double x, double y)
6850 {
6851     return  igImPow_double(x, y);
6852 }
6853 
6854 pragma(inline):
6855 void  ImRect_Add(ImRect* self, const ImVec2 p)
6856 {
6857      ImRect_Add_Vec2(self, p);
6858 }
6859 
6860 pragma(inline):
6861 void  ImRect_Add(ImRect* self, const ImRect r)
6862 {
6863      ImRect_Add_Rect(self, r);
6864 }
6865 
6866 pragma(inline):
6867 void  igMarkIniSettingsDirty()
6868 {
6869      igMarkIniSettingsDirty_Nil();
6870 }
6871 
6872 pragma(inline):
6873 void  igMarkIniSettingsDirty(ImGuiWindow* window)
6874 {
6875      igMarkIniSettingsDirty_WindowPtr(window);
6876 }
6877 
6878 pragma(inline):
6879 bool  igImIsPowerOfTwo(int v)
6880 {
6881     return  igImIsPowerOfTwo_Int(v);
6882 }
6883 
6884 pragma(inline):
6885 bool  igImIsPowerOfTwo(ImU64 v)
6886 {
6887     return  igImIsPowerOfTwo_U64(v);
6888 }
6889 
6890 pragma(inline):
6891 void  igTableGcCompactTransientBuffers(ImGuiTable* table)
6892 {
6893      igTableGcCompactTransientBuffers_TablePtr(table);
6894 }
6895 
6896 pragma(inline):
6897 void  igTableGcCompactTransientBuffers(ImGuiTableTempData* table)
6898 {
6899      igTableGcCompactTransientBuffers_TableTempDataPtr(table);
6900 }
6901 
6902 pragma(inline):
6903 void  igSetScrollFromPosX(float local_x, float center_x_ratio = 0.5f)
6904 {
6905      igSetScrollFromPosX_Float(local_x, center_x_ratio);
6906 }
6907 
6908 pragma(inline):
6909 void  igSetScrollFromPosX(ImGuiWindow* window, float local_x, float center_x_ratio)
6910 {
6911      igSetScrollFromPosX_WindowPtr(window, local_x, center_x_ratio);
6912 }
6913 
6914 pragma(inline):
6915 void  igSetScrollFromPosY(float local_y, float center_y_ratio = 0.5f)
6916 {
6917      igSetScrollFromPosY_Float(local_y, center_y_ratio);
6918 }
6919 
6920 pragma(inline):
6921 void  igSetScrollFromPosY(ImGuiWindow* window, float local_y, float center_y_ratio)
6922 {
6923      igSetScrollFromPosY_WindowPtr(window, local_y, center_y_ratio);
6924 }
6925 
6926 pragma(inline):
6927 ImGuiStoragePair*  ImGuiStoragePair_ImGuiStoragePair(ImGuiID _key, int _val_i)
6928 {
6929     return  ImGuiStoragePair_ImGuiStoragePair_Int(_key, _val_i);
6930 }
6931 
6932 pragma(inline):
6933 ImGuiStoragePair*  ImGuiStoragePair_ImGuiStoragePair(ImGuiID _key, float _val_f)
6934 {
6935     return  ImGuiStoragePair_ImGuiStoragePair_Float(_key, _val_f);
6936 }
6937 
6938 pragma(inline):
6939 ImGuiStoragePair*  ImGuiStoragePair_ImGuiStoragePair(ImGuiID _key, void* _val_p)
6940 {
6941     return  ImGuiStoragePair_ImGuiStoragePair_Ptr(_key, _val_p);
6942 }
6943 
6944 pragma(inline):
6945 ImGuiTextRange*  ImGuiTextRange_ImGuiTextRange()
6946 {
6947     return  ImGuiTextRange_ImGuiTextRange_Nil();
6948 }
6949 
6950 pragma(inline):
6951 ImGuiTextRange*  ImGuiTextRange_ImGuiTextRange(const(char)* _b, const(char)* _e)
6952 {
6953     return  ImGuiTextRange_ImGuiTextRange_Str(_b, _e);
6954 }
6955 
6956 pragma(inline):
6957 ImGuiID  igGetID(const(char)* str_id)
6958 {
6959     return  igGetID_Str(str_id);
6960 }
6961 
6962 pragma(inline):
6963 ImGuiID  igGetID(const(char)* str_id_begin, const(char)* str_id_end)
6964 {
6965     return  igGetID_StrStr(str_id_begin, str_id_end);
6966 }
6967 
6968 pragma(inline):
6969 ImGuiID  igGetID(const void* ptr_id)
6970 {
6971     return  igGetID_Ptr(ptr_id);
6972 }
6973 
6974 pragma(inline):
6975 bool  ImRect_Contains(ImRect* self, const ImVec2 p)
6976 {
6977     return  ImRect_Contains_Vec2(self, p);
6978 }
6979 
6980 pragma(inline):
6981 bool  ImRect_Contains(ImRect* self, const ImRect r)
6982 {
6983     return  ImRect_Contains_Rect(self, r);
6984 }
6985 
6986 pragma(inline):
6987 ImDrawList*  igGetBackgroundDrawList()
6988 {
6989     return  igGetBackgroundDrawList_Nil();
6990 }
6991 
6992 pragma(inline):
6993 ImDrawList*  igGetBackgroundDrawList(ImGuiViewport* viewport)
6994 {
6995     return  igGetBackgroundDrawList_ViewportPtr(viewport);
6996 }
6997 
6998 pragma(inline):
6999 float  igImLengthSqr(const ImVec2 lhs)
7000 {
7001     return  igImLengthSqr_Vec2(lhs);
7002 }
7003 
7004 pragma(inline):
7005 float  igImLengthSqr(const ImVec4 lhs)
7006 {
7007     return  igImLengthSqr_Vec4(lhs);
7008 }
7009 
7010 pragma(inline):
7011 bool  igCollapsingHeader(const(char)* label, ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags.None)
7012 {
7013     return  igCollapsingHeader_TreeNodeFlags(label, flags);
7014 }
7015 
7016 pragma(inline):
7017 bool  igCollapsingHeader(const(char)* label, bool* p_visible, ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags.None)
7018 {
7019     return  igCollapsingHeader_BoolPtr(label, p_visible, flags);
7020 }
7021 
7022 pragma(inline):
7023 void  igPushStyleColor(ImGuiCol idx, ImU32 col)
7024 {
7025      igPushStyleColor_U32(idx, col);
7026 }
7027 
7028 pragma(inline):
7029 void  igPushStyleColor(ImGuiCol idx, const ImVec4 col)
7030 {
7031      igPushStyleColor_Vec4(idx, col);
7032 }
7033 
7034 pragma(inline):
7035 bool  igTreeNode(const(char)* label)
7036 {
7037     return  igTreeNode_Str(label);
7038 }
7039 
7040 pragma(inline):
7041 bool  igTreeNode(const(char)* str_id, const(char)* fmt, ...)
7042 {
7043     return  igTreeNode_StrStr(str_id, fmt);
7044 }
7045 
7046 pragma(inline):
7047 bool  igTreeNode(const void* ptr_id, const(char)* fmt, ...)
7048 {
7049     return  igTreeNode_Ptr(ptr_id, fmt);
7050 }
7051 
7052 pragma(inline):
7053 bool  igSelectable(const(char)* label, bool selected = false, ImGuiSelectableFlags flags = ImGuiSelectableFlags.None, const ImVec2 size = ImVec2(0,0))
7054 {
7055     return  igSelectable_Bool(label, selected, flags, size);
7056 }
7057 
7058 pragma(inline):
7059 bool  igSelectable(const(char)* label, bool* p_selected, ImGuiSelectableFlags flags = ImGuiSelectableFlags.None, const ImVec2 size = ImVec2(0,0))
7060 {
7061     return  igSelectable_BoolPtr(label, p_selected, flags, size);
7062 }
7063 
7064 pragma(inline):
7065 ImColor*  ImColor_ImColor()
7066 {
7067     return  ImColor_ImColor_Nil();
7068 }
7069 
7070 pragma(inline):
7071 ImColor*  ImColor_ImColor(int r, int g, int b, int a = 255)
7072 {
7073     return  ImColor_ImColor_Int(r, g, b, a);
7074 }
7075 
7076 pragma(inline):
7077 ImColor*  ImColor_ImColor(ImU32 rgba)
7078 {
7079     return  ImColor_ImColor_U32(rgba);
7080 }
7081 
7082 pragma(inline):
7083 ImColor*  ImColor_ImColor(float r, float g, float b, float a = 1.0f)
7084 {
7085     return  ImColor_ImColor_Float(r, g, b, a);
7086 }
7087 
7088 pragma(inline):
7089 ImColor*  ImColor_ImColor(const ImVec4 col)
7090 {
7091     return  ImColor_ImColor_Vec4(col);
7092 }
7093 
7094 pragma(inline):
7095 void  igPlotHistogram(const(char)* label, const float* values, int values_count, int values_offset = 0, const(char)* overlay_text = null, float scale_min = float.max, float scale_max = float.max, ImVec2 graph_size = ImVec2(0,0), int stride = float.sizeof)
7096 {
7097      igPlotHistogram_FloatPtr(label, values, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size, stride);
7098 }
7099 
7100 extern(C) alias igPlotHistogram_values_getter = float function(void* data,int idx);
7101 
7102 pragma(inline):
7103 void  igPlotHistogram(const(char)* label, igPlotHistogram_values_getter values_getter, void* data, int values_count, int values_offset = 0, const(char)* overlay_text = null, float scale_min = float.max, float scale_max = float.max, ImVec2 graph_size = ImVec2(0,0))
7104 {
7105      igPlotHistogram_FnFloatPtr(label, values_getter, data, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size);
7106 }
7107 
7108 pragma(inline):
7109 void  igSetScrollX(float scroll_x)
7110 {
7111      igSetScrollX_Float(scroll_x);
7112 }
7113 
7114 pragma(inline):
7115 void  igSetScrollX(ImGuiWindow* window, float scroll_x)
7116 {
7117      igSetScrollX_WindowPtr(window, scroll_x);
7118 }
7119 
7120 pragma(inline):
7121 int  igImAbs(int x)
7122 {
7123     return  igImAbs_Int(x);
7124 }
7125 
7126 pragma(inline):
7127 float  igImAbs(float x)
7128 {
7129     return  igImAbs_Float(x);
7130 }
7131 
7132 pragma(inline):
7133 double  igImAbs(double x)
7134 {
7135     return  igImAbs_double(x);
7136 }
7137 
7138 pragma(inline):
7139 void  igTreePush(const(char)* str_id)
7140 {
7141      igTreePush_Str(str_id);
7142 }
7143 
7144 pragma(inline):
7145 void  igTreePush(const void* ptr_id = null)
7146 {
7147      igTreePush_Ptr(ptr_id);
7148 }
7149 
7150 pragma(inline):
7151 float  igImRsqrt(float x)
7152 {
7153     return  igImRsqrt_Float(x);
7154 }
7155 
7156 pragma(inline):
7157 double  igImRsqrt(double x)
7158 {
7159     return  igImRsqrt_double(x);
7160 }
7161 
7162 pragma(inline):
7163 bool  igListBox(const(char)* label, int* current_item, const(char)** items, int items_count, int height_in_items = -1)
7164 {
7165     return  igListBox_Str_arr(label, current_item, items, items_count, height_in_items);
7166 }
7167 
7168 extern(C) alias igListBox_items_getter = bool function(void* data,int idx,const(char)** out_text);
7169 
7170 pragma(inline):
7171 bool  igListBox(const(char)* label, int* current_item, igListBox_items_getter items_getter, void* data, int items_count, int height_in_items = -1)
7172 {
7173     return  igListBox_FnBoolPtr(label, current_item, items_getter, data, items_count, height_in_items);
7174 }
7175 
7176 pragma(inline):
7177 bool  igTreeNodeV(const(char)* str_id, const(char)* fmt, va_list args)
7178 {
7179     return  igTreeNodeV_Str(str_id, fmt, args);
7180 }
7181 
7182 pragma(inline):
7183 bool  igTreeNodeV(const void* ptr_id, const(char)* fmt, va_list args)
7184 {
7185     return  igTreeNodeV_Ptr(ptr_id, fmt, args);
7186 }
7187 
7188 pragma(inline):
7189 void  igValue(const(char)* prefix, bool b)
7190 {
7191      igValue_Bool(prefix, b);
7192 }
7193 
7194 pragma(inline):
7195 void  igValue(const(char)* prefix, int v)
7196 {
7197      igValue_Int(prefix, v);
7198 }
7199 
7200 pragma(inline):
7201 void  igValue(const(char)* prefix, uint v)
7202 {
7203      igValue_Uint(prefix, v);
7204 }
7205 
7206 pragma(inline):
7207 void  igValue(const(char)* prefix, float v, const(char)* float_format = null)
7208 {
7209      igValue_Float(prefix, v, float_format);
7210 }
7211 
7212 pragma(inline):
7213 void  igPushID(const(char)* str_id)
7214 {
7215      igPushID_Str(str_id);
7216 }
7217 
7218 pragma(inline):
7219 void  igPushID(const(char)* str_id_begin, const(char)* str_id_end)
7220 {
7221      igPushID_StrStr(str_id_begin, str_id_end);
7222 }
7223 
7224 pragma(inline):
7225 void  igPushID(const void* ptr_id)
7226 {
7227      igPushID_Ptr(ptr_id);
7228 }
7229 
7230 pragma(inline):
7231 void  igPushID(int int_id)
7232 {
7233      igPushID_Int(int_id);
7234 }
7235 
7236 pragma(inline):
7237 ImGuiPtrOrIndex*  ImGuiPtrOrIndex_ImGuiPtrOrIndex(void* ptr)
7238 {
7239     return  ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(ptr);
7240 }
7241 
7242 pragma(inline):
7243 ImGuiPtrOrIndex*  ImGuiPtrOrIndex_ImGuiPtrOrIndex(int index)
7244 {
7245     return  ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int(index);
7246 }
7247 
7248 pragma(inline):
7249 void  igImLerp(ImVec2* pOut, const ImVec2 a, const ImVec2 b, float t)
7250 {
7251      igImLerp_Vec2Float(pOut, a, b, t);
7252 }
7253 
7254 pragma(inline):
7255 void  igImLerp(ImVec2* pOut, const ImVec2 a, const ImVec2 b, const ImVec2 t)
7256 {
7257      igImLerp_Vec2Vec2(pOut, a, b, t);
7258 }
7259 
7260 pragma(inline):
7261 void  igImLerp(ImVec4* pOut, const ImVec4 a, const ImVec4 b, float t)
7262 {
7263      igImLerp_Vec4(pOut, a, b, t);
7264 }
7265 
7266 pragma(inline):
7267 void  igItemSize(const ImVec2 size, float text_baseline_y = -1.0f)
7268 {
7269      igItemSize_Vec2(size, text_baseline_y);
7270 }
7271 
7272 pragma(inline):
7273 void  igItemSize(const ImRect bb, float text_baseline_y = -1.0f)
7274 {
7275      igItemSize_Rect(bb, text_baseline_y);
7276 }
7277 
7278 pragma(inline):
7279 float  igImLog(float x)
7280 {
7281     return  igImLog_Float(x);
7282 }
7283 
7284 pragma(inline):
7285 double  igImLog(double x)
7286 {
7287     return  igImLog_double(x);
7288 }
7289 
7290 pragma(inline):
7291 bool  igBeginChild(const(char)* str_id, const ImVec2 size = ImVec2(0,0), bool border = false, ImGuiWindowFlags flags = ImGuiWindowFlags.None)
7292 {
7293     return  igBeginChild_Str(str_id, size, border, flags);
7294 }
7295 
7296 pragma(inline):
7297 bool  igBeginChild(ImGuiID id, const ImVec2 size = ImVec2(0,0), bool border = false, ImGuiWindowFlags flags = ImGuiWindowFlags.None)
7298 {
7299     return  igBeginChild_ID(id, size, border, flags);
7300 }
7301 
7302 pragma(inline):
7303 void  ImDrawList_AddText(ImDrawList* self, const ImVec2 pos, ImU32 col, const(char)* text_begin, const(char)* text_end = null)
7304 {
7305      ImDrawList_AddText_Vec2(self, pos, col, text_begin, text_end);
7306 }
7307 
7308 pragma(inline):
7309 void  ImDrawList_AddText(ImDrawList* self, const ImFont* font, float font_size, const ImVec2 pos, ImU32 col, const(char)* text_begin, const(char)* text_end = null, float wrap_width = 0.0f, const ImVec4* cpu_fine_clip_rect = null)
7310 {
7311      ImDrawList_AddText_FontPtr(self, font, font_size, pos, col, text_begin, text_end, wrap_width, cpu_fine_clip_rect);
7312 }
7313 
7314 pragma(inline):
7315 ImVec2*  ImVec2_ImVec2()
7316 {
7317     return  ImVec2_ImVec2_Nil();
7318 }
7319 
7320 pragma(inline):
7321 ImVec2*  ImVec2_ImVec2(float _x, float _y)
7322 {
7323     return  ImVec2_ImVec2_Float(_x, _y);
7324 }
7325 
7326 pragma(inline):
7327 void  igSetWindowPos(const ImVec2 pos, ImGuiCond cond = ImGuiCond.None)
7328 {
7329      igSetWindowPos_Vec2(pos, cond);
7330 }
7331 
7332 pragma(inline):
7333 void  igSetWindowPos(const(char)* name, const ImVec2 pos, ImGuiCond cond = ImGuiCond.None)
7334 {
7335      igSetWindowPos_Str(name, pos, cond);
7336 }
7337 
7338 pragma(inline):
7339 void  igSetWindowPos(ImGuiWindow* window, const ImVec2 pos, ImGuiCond cond = ImGuiCond.None)
7340 {
7341      igSetWindowPos_WindowPtr(window, pos, cond);
7342 }
7343 
7344 pragma(inline):
7345 ImRect*  ImRect_ImRect()
7346 {
7347     return  ImRect_ImRect_Nil();
7348 }
7349 
7350 pragma(inline):
7351 ImRect*  ImRect_ImRect(const ImVec2 min, const ImVec2 max)
7352 {
7353     return  ImRect_ImRect_Vec2(min, max);
7354 }
7355 
7356 pragma(inline):
7357 ImRect*  ImRect_ImRect(const ImVec4 v)
7358 {
7359     return  ImRect_ImRect_Vec4(v);
7360 }
7361 
7362 pragma(inline):
7363 ImRect*  ImRect_ImRect(float x1, float y1, float x2, float y2)
7364 {
7365     return  ImRect_ImRect_Float(x1, y1, x2, y2);
7366 }
7367 
7368 pragma(inline):
7369 ImU32  igGetColorU32(ImGuiCol idx, float alpha_mul = 1.0f)
7370 {
7371     return  igGetColorU32_Col(idx, alpha_mul);
7372 }
7373 
7374 pragma(inline):
7375 ImU32  igGetColorU32(const ImVec4 col)
7376 {
7377     return  igGetColorU32_Vec4(col);
7378 }
7379 
7380 pragma(inline):
7381 ImU32  igGetColorU32(ImU32 col)
7382 {
7383     return  igGetColorU32_U32(col);
7384 }
7385 
7386 pragma(inline):
7387 void  igSetWindowSize(const ImVec2 size, ImGuiCond cond = ImGuiCond.None)
7388 {
7389      igSetWindowSize_Vec2(size, cond);
7390 }
7391 
7392 pragma(inline):
7393 void  igSetWindowSize(const(char)* name, const ImVec2 size, ImGuiCond cond = ImGuiCond.None)
7394 {
7395      igSetWindowSize_Str(name, size, cond);
7396 }
7397 
7398 pragma(inline):
7399 void  igSetWindowSize(ImGuiWindow* window, const ImVec2 size, ImGuiCond cond = ImGuiCond.None)
7400 {
7401      igSetWindowSize_WindowPtr(window, size, cond);
7402 }
7403 
7404 pragma(inline):
7405 void  ImRect_Expand(ImRect* self, const float amount)
7406 {
7407      ImRect_Expand_Float(self, amount);
7408 }
7409 
7410 pragma(inline):
7411 void  ImRect_Expand(ImRect* self, const ImVec2 amount)
7412 {
7413      ImRect_Expand_Vec2(self, amount);
7414 }
7415 
7416 pragma(inline):
7417 void  igOpenPopup(const(char)* str_id, ImGuiPopupFlags popup_flags = ImGuiPopupFlags.MouseButtonLeft)
7418 {
7419      igOpenPopup_Str(str_id, popup_flags);
7420 }
7421 
7422 pragma(inline):
7423 void  igOpenPopup(ImGuiID id, ImGuiPopupFlags popup_flags = ImGuiPopupFlags.MouseButtonLeft)
7424 {
7425      igOpenPopup_ID(id, popup_flags);
7426 }
7427 
7428 pragma(inline):
7429 float  igImFloor(float f)
7430 {
7431     return  igImFloor_Float(f);
7432 }
7433 
7434 pragma(inline):
7435 void  igImFloor(ImVec2* pOut, const ImVec2 v)
7436 {
7437      igImFloor_Vec2(pOut, v);
7438 }
7439