The open source OpenXR runtime
1//This file is automatically generated by generator.lua from https://github.com/cimgui/cimgui
2//based on imgui.h file version "1.90.8" 19080 from Dear ImGui https://github.com/ocornut/imgui
3//with imgui_internal.h api
4//docking branch
5#ifndef CIMGUI_INCLUDED
6#define CIMGUI_INCLUDED
7#include <stdio.h>
8#include <stdint.h>
9#if defined _WIN32 || defined __CYGWIN__
10 #ifdef CIMGUI_NO_EXPORT
11 #define API
12 #else
13 #define API __declspec(dllexport)
14 #endif
15#else
16 #ifdef __GNUC__
17 #define API __attribute__((__visibility__("default")))
18 #else
19 #define API
20 #endif
21#endif
22
23#if defined __cplusplus
24 #define EXTERN extern "C"
25#else
26 #include <stdarg.h>
27 #include <stdbool.h>
28 #define EXTERN extern
29#endif
30
31#define CIMGUI_API EXTERN API
32#define CONST const
33
34
35#ifdef _MSC_VER
36typedef unsigned __int64 ImU64;
37#else
38//typedef unsigned long long ImU64;
39#endif
40
41
42#ifdef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
43
44typedef struct ImDrawChannel ImDrawChannel;
45typedef struct ImDrawCmd ImDrawCmd;
46typedef struct ImDrawData ImDrawData;
47typedef struct ImDrawList ImDrawList;
48typedef struct ImDrawListSharedData ImDrawListSharedData;
49typedef struct ImDrawListSplitter ImDrawListSplitter;
50typedef struct ImDrawVert ImDrawVert;
51typedef struct ImFont ImFont;
52typedef struct ImFontAtlas ImFontAtlas;
53typedef struct ImFontBuilderIO ImFontBuilderIO;
54typedef struct ImFontConfig ImFontConfig;
55typedef struct ImFontGlyph ImFontGlyph;
56typedef struct ImFontGlyphRangesBuilder ImFontGlyphRangesBuilder;
57typedef struct ImColor ImColor;
58typedef struct ImGuiContext ImGuiContext;
59typedef struct ImGuiIO ImGuiIO;
60typedef struct ImGuiInputTextCallbackData ImGuiInputTextCallbackData;
61typedef struct ImGuiKeyData ImGuiKeyData;
62typedef struct ImGuiListClipper ImGuiListClipper;
63typedef struct ImGuiOnceUponAFrame ImGuiOnceUponAFrame;
64typedef struct ImGuiPayload ImGuiPayload;
65typedef struct ImGuiPlatformIO ImGuiPlatformIO;
66typedef struct ImGuiPlatformMonitor ImGuiPlatformMonitor;
67typedef struct ImGuiPlatformImeData ImGuiPlatformImeData;
68typedef struct ImGuiSizeCallbackData ImGuiSizeCallbackData;
69typedef struct ImGuiStorage ImGuiStorage;
70typedef struct ImGuiStyle ImGuiStyle;
71typedef struct ImGuiTableSortSpecs ImGuiTableSortSpecs;
72typedef struct ImGuiTableColumnSortSpecs ImGuiTableColumnSortSpecs;
73typedef struct ImGuiTextBuffer ImGuiTextBuffer;
74typedef struct ImGuiTextFilter ImGuiTextFilter;
75typedef struct ImGuiViewport ImGuiViewport;
76typedef struct ImGuiWindowClass ImGuiWindowClass;
77typedef struct ImBitVector ImBitVector;
78typedef struct ImRect ImRect;
79typedef struct ImDrawDataBuilder ImDrawDataBuilder;
80typedef struct ImGuiColorMod ImGuiColorMod;
81typedef struct ImGuiContextHook ImGuiContextHook;
82typedef struct ImGuiDataVarInfo ImGuiDataVarInfo;
83typedef struct ImGuiDataTypeInfo ImGuiDataTypeInfo;
84typedef struct ImGuiDockContext ImGuiDockContext;
85typedef struct ImGuiDockRequest ImGuiDockRequest;
86typedef struct ImGuiDockNode ImGuiDockNode;
87typedef struct ImGuiDockNodeSettings ImGuiDockNodeSettings;
88typedef struct ImGuiGroupData ImGuiGroupData;
89typedef struct ImGuiInputTextState ImGuiInputTextState;
90typedef struct ImGuiInputTextDeactivateData ImGuiInputTextDeactivateData;
91typedef struct ImGuiLastItemData ImGuiLastItemData;
92typedef struct ImGuiLocEntry ImGuiLocEntry;
93typedef struct ImGuiMenuColumns ImGuiMenuColumns;
94typedef struct ImGuiNavItemData ImGuiNavItemData;
95typedef struct ImGuiNavTreeNodeData ImGuiNavTreeNodeData;
96typedef struct ImGuiMetricsConfig ImGuiMetricsConfig;
97typedef struct ImGuiNextWindowData ImGuiNextWindowData;
98typedef struct ImGuiNextItemData ImGuiNextItemData;
99typedef struct ImGuiOldColumnData ImGuiOldColumnData;
100typedef struct ImGuiOldColumns ImGuiOldColumns;
101typedef struct ImGuiPopupData ImGuiPopupData;
102typedef struct ImGuiSettingsHandler ImGuiSettingsHandler;
103typedef struct ImGuiStackSizes ImGuiStackSizes;
104typedef struct ImGuiStyleMod ImGuiStyleMod;
105typedef struct ImGuiTabBar ImGuiTabBar;
106typedef struct ImGuiTabItem ImGuiTabItem;
107typedef struct ImGuiTable ImGuiTable;
108typedef struct ImGuiTableHeaderData ImGuiTableHeaderData;
109typedef struct ImGuiTableColumn ImGuiTableColumn;
110typedef struct ImGuiTableInstanceData ImGuiTableInstanceData;
111typedef struct ImGuiTableTempData ImGuiTableTempData;
112typedef struct ImGuiTableSettings ImGuiTableSettings;
113typedef struct ImGuiTableColumnsSettings ImGuiTableColumnsSettings;
114typedef struct ImGuiTypingSelectState ImGuiTypingSelectState;
115typedef struct ImGuiTypingSelectRequest ImGuiTypingSelectRequest;
116typedef struct ImGuiWindow ImGuiWindow;
117typedef struct ImGuiWindowDockStyle ImGuiWindowDockStyle;
118typedef struct ImGuiWindowTempData ImGuiWindowTempData;
119typedef struct ImGuiWindowSettings ImGuiWindowSettings;
120typedef struct ImVector_const_charPtr {int Size;int Capacity;const char** Data;} ImVector_const_charPtr;
121
122typedef unsigned int ImGuiID;
123typedef signed char ImS8;
124typedef unsigned char ImU8;
125typedef signed short ImS16;
126typedef unsigned short ImU16;
127typedef signed int ImS32;
128typedef unsigned int ImU32;
129typedef signed long long ImS64;
130typedef unsigned long long ImU64;
131struct ImDrawChannel;
132struct ImDrawCmd;
133struct ImDrawData;
134struct ImDrawList;
135struct ImDrawListSharedData;
136struct ImDrawListSplitter;
137struct ImDrawVert;
138struct ImFont;
139struct ImFontAtlas;
140struct ImFontBuilderIO;
141struct ImFontConfig;
142struct ImFontGlyph;
143struct ImFontGlyphRangesBuilder;
144struct ImColor;
145struct ImGuiContext;
146struct ImGuiIO;
147struct ImGuiInputTextCallbackData;
148struct ImGuiKeyData;
149struct ImGuiListClipper;
150struct ImGuiOnceUponAFrame;
151struct ImGuiPayload;
152struct ImGuiPlatformIO;
153struct ImGuiPlatformMonitor;
154struct ImGuiPlatformImeData;
155struct ImGuiSizeCallbackData;
156struct ImGuiStorage;
157struct ImGuiStyle;
158struct ImGuiTableSortSpecs;
159struct ImGuiTableColumnSortSpecs;
160struct ImGuiTextBuffer;
161struct ImGuiTextFilter;
162struct ImGuiViewport;
163struct ImGuiWindowClass;
164typedef int ImGuiCol;
165typedef int ImGuiCond;
166typedef int ImGuiDataType;
167typedef int ImGuiMouseButton;
168typedef int ImGuiMouseCursor;
169typedef int ImGuiStyleVar;
170typedef int ImGuiTableBgTarget;
171typedef int ImDrawFlags;
172typedef int ImDrawListFlags;
173typedef int ImFontAtlasFlags;
174typedef int ImGuiBackendFlags;
175typedef int ImGuiButtonFlags;
176typedef int ImGuiChildFlags;
177typedef int ImGuiColorEditFlags;
178typedef int ImGuiConfigFlags;
179typedef int ImGuiComboFlags;
180typedef int ImGuiDockNodeFlags;
181typedef int ImGuiDragDropFlags;
182typedef int ImGuiFocusedFlags;
183typedef int ImGuiHoveredFlags;
184typedef int ImGuiInputFlags;
185typedef int ImGuiInputTextFlags;
186typedef int ImGuiKeyChord;
187typedef int ImGuiPopupFlags;
188typedef int ImGuiSelectableFlags;
189typedef int ImGuiSliderFlags;
190typedef int ImGuiTabBarFlags;
191typedef int ImGuiTabItemFlags;
192typedef int ImGuiTableFlags;
193typedef int ImGuiTableColumnFlags;
194typedef int ImGuiTableRowFlags;
195typedef int ImGuiTreeNodeFlags;
196typedef int ImGuiViewportFlags;
197typedef int ImGuiWindowFlags;
198typedef void* ImTextureID;
199typedef unsigned short ImDrawIdx;
200typedef unsigned int ImWchar32;
201typedef unsigned short ImWchar16;
202typedef ImWchar16 ImWchar;
203typedef int (*ImGuiInputTextCallback)(ImGuiInputTextCallbackData* data);
204typedef void (*ImGuiSizeCallback)(ImGuiSizeCallbackData* data);
205typedef void* (*ImGuiMemAllocFunc)(size_t sz, void* user_data);
206typedef void (*ImGuiMemFreeFunc)(void* ptr, void* user_data);
207typedef struct ImVec2 ImVec2;
208struct ImVec2
209{
210 float x, y;
211};
212typedef struct ImVec4 ImVec4;
213struct ImVec4
214{
215 float x, y, z, w;
216};
217typedef enum {
218 ImGuiWindowFlags_None = 0,
219 ImGuiWindowFlags_NoTitleBar = 1 << 0,
220 ImGuiWindowFlags_NoResize = 1 << 1,
221 ImGuiWindowFlags_NoMove = 1 << 2,
222 ImGuiWindowFlags_NoScrollbar = 1 << 3,
223 ImGuiWindowFlags_NoScrollWithMouse = 1 << 4,
224 ImGuiWindowFlags_NoCollapse = 1 << 5,
225 ImGuiWindowFlags_AlwaysAutoResize = 1 << 6,
226 ImGuiWindowFlags_NoBackground = 1 << 7,
227 ImGuiWindowFlags_NoSavedSettings = 1 << 8,
228 ImGuiWindowFlags_NoMouseInputs = 1 << 9,
229 ImGuiWindowFlags_MenuBar = 1 << 10,
230 ImGuiWindowFlags_HorizontalScrollbar = 1 << 11,
231 ImGuiWindowFlags_NoFocusOnAppearing = 1 << 12,
232 ImGuiWindowFlags_NoBringToFrontOnFocus = 1 << 13,
233 ImGuiWindowFlags_AlwaysVerticalScrollbar= 1 << 14,
234 ImGuiWindowFlags_AlwaysHorizontalScrollbar=1<< 15,
235 ImGuiWindowFlags_NoNavInputs = 1 << 16,
236 ImGuiWindowFlags_NoNavFocus = 1 << 17,
237 ImGuiWindowFlags_UnsavedDocument = 1 << 18,
238 ImGuiWindowFlags_NoDocking = 1 << 19,
239 ImGuiWindowFlags_NoNav = ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus,
240 ImGuiWindowFlags_NoDecoration = ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoCollapse,
241 ImGuiWindowFlags_NoInputs = ImGuiWindowFlags_NoMouseInputs | ImGuiWindowFlags_NoNavInputs | ImGuiWindowFlags_NoNavFocus,
242 ImGuiWindowFlags_NavFlattened = 1 << 23,
243 ImGuiWindowFlags_ChildWindow = 1 << 24,
244 ImGuiWindowFlags_Tooltip = 1 << 25,
245 ImGuiWindowFlags_Popup = 1 << 26,
246 ImGuiWindowFlags_Modal = 1 << 27,
247 ImGuiWindowFlags_ChildMenu = 1 << 28,
248 ImGuiWindowFlags_DockNodeHost = 1 << 29,
249}ImGuiWindowFlags_;
250typedef enum {
251 ImGuiChildFlags_None = 0,
252 ImGuiChildFlags_Border = 1 << 0,
253 ImGuiChildFlags_AlwaysUseWindowPadding = 1 << 1,
254 ImGuiChildFlags_ResizeX = 1 << 2,
255 ImGuiChildFlags_ResizeY = 1 << 3,
256 ImGuiChildFlags_AutoResizeX = 1 << 4,
257 ImGuiChildFlags_AutoResizeY = 1 << 5,
258 ImGuiChildFlags_AlwaysAutoResize = 1 << 6,
259 ImGuiChildFlags_FrameStyle = 1 << 7,
260}ImGuiChildFlags_;
261typedef enum {
262 ImGuiInputTextFlags_None = 0,
263 ImGuiInputTextFlags_CharsDecimal = 1 << 0,
264 ImGuiInputTextFlags_CharsHexadecimal = 1 << 1,
265 ImGuiInputTextFlags_CharsScientific = 1 << 2,
266 ImGuiInputTextFlags_CharsUppercase = 1 << 3,
267 ImGuiInputTextFlags_CharsNoBlank = 1 << 4,
268 ImGuiInputTextFlags_AllowTabInput = 1 << 5,
269 ImGuiInputTextFlags_EnterReturnsTrue = 1 << 6,
270 ImGuiInputTextFlags_EscapeClearsAll = 1 << 7,
271 ImGuiInputTextFlags_CtrlEnterForNewLine = 1 << 8,
272 ImGuiInputTextFlags_ReadOnly = 1 << 9,
273 ImGuiInputTextFlags_Password = 1 << 10,
274 ImGuiInputTextFlags_AlwaysOverwrite = 1 << 11,
275 ImGuiInputTextFlags_AutoSelectAll = 1 << 12,
276 ImGuiInputTextFlags_ParseEmptyRefVal = 1 << 13,
277 ImGuiInputTextFlags_DisplayEmptyRefVal = 1 << 14,
278 ImGuiInputTextFlags_NoHorizontalScroll = 1 << 15,
279 ImGuiInputTextFlags_NoUndoRedo = 1 << 16,
280 ImGuiInputTextFlags_CallbackCompletion = 1 << 17,
281 ImGuiInputTextFlags_CallbackHistory = 1 << 18,
282 ImGuiInputTextFlags_CallbackAlways = 1 << 19,
283 ImGuiInputTextFlags_CallbackCharFilter = 1 << 20,
284 ImGuiInputTextFlags_CallbackResize = 1 << 21,
285 ImGuiInputTextFlags_CallbackEdit = 1 << 22,
286}ImGuiInputTextFlags_;
287typedef enum {
288 ImGuiTreeNodeFlags_None = 0,
289 ImGuiTreeNodeFlags_Selected = 1 << 0,
290 ImGuiTreeNodeFlags_Framed = 1 << 1,
291 ImGuiTreeNodeFlags_AllowOverlap = 1 << 2,
292 ImGuiTreeNodeFlags_NoTreePushOnOpen = 1 << 3,
293 ImGuiTreeNodeFlags_NoAutoOpenOnLog = 1 << 4,
294 ImGuiTreeNodeFlags_DefaultOpen = 1 << 5,
295 ImGuiTreeNodeFlags_OpenOnDoubleClick = 1 << 6,
296 ImGuiTreeNodeFlags_OpenOnArrow = 1 << 7,
297 ImGuiTreeNodeFlags_Leaf = 1 << 8,
298 ImGuiTreeNodeFlags_Bullet = 1 << 9,
299 ImGuiTreeNodeFlags_FramePadding = 1 << 10,
300 ImGuiTreeNodeFlags_SpanAvailWidth = 1 << 11,
301 ImGuiTreeNodeFlags_SpanFullWidth = 1 << 12,
302 ImGuiTreeNodeFlags_SpanTextWidth = 1 << 13,
303 ImGuiTreeNodeFlags_SpanAllColumns = 1 << 14,
304 ImGuiTreeNodeFlags_NavLeftJumpsBackHere = 1 << 15,
305 ImGuiTreeNodeFlags_CollapsingHeader = ImGuiTreeNodeFlags_Framed | ImGuiTreeNodeFlags_NoTreePushOnOpen | ImGuiTreeNodeFlags_NoAutoOpenOnLog,
306}ImGuiTreeNodeFlags_;
307typedef enum {
308 ImGuiPopupFlags_None = 0,
309 ImGuiPopupFlags_MouseButtonLeft = 0,
310 ImGuiPopupFlags_MouseButtonRight = 1,
311 ImGuiPopupFlags_MouseButtonMiddle = 2,
312 ImGuiPopupFlags_MouseButtonMask_ = 0x1F,
313 ImGuiPopupFlags_MouseButtonDefault_ = 1,
314 ImGuiPopupFlags_NoReopen = 1 << 5,
315 ImGuiPopupFlags_NoOpenOverExistingPopup = 1 << 7,
316 ImGuiPopupFlags_NoOpenOverItems = 1 << 8,
317 ImGuiPopupFlags_AnyPopupId = 1 << 10,
318 ImGuiPopupFlags_AnyPopupLevel = 1 << 11,
319 ImGuiPopupFlags_AnyPopup = ImGuiPopupFlags_AnyPopupId | ImGuiPopupFlags_AnyPopupLevel,
320}ImGuiPopupFlags_;
321typedef enum {
322 ImGuiSelectableFlags_None = 0,
323 ImGuiSelectableFlags_DontClosePopups = 1 << 0,
324 ImGuiSelectableFlags_SpanAllColumns = 1 << 1,
325 ImGuiSelectableFlags_AllowDoubleClick = 1 << 2,
326 ImGuiSelectableFlags_Disabled = 1 << 3,
327 ImGuiSelectableFlags_AllowOverlap = 1 << 4,
328}ImGuiSelectableFlags_;
329typedef enum {
330 ImGuiComboFlags_None = 0,
331 ImGuiComboFlags_PopupAlignLeft = 1 << 0,
332 ImGuiComboFlags_HeightSmall = 1 << 1,
333 ImGuiComboFlags_HeightRegular = 1 << 2,
334 ImGuiComboFlags_HeightLarge = 1 << 3,
335 ImGuiComboFlags_HeightLargest = 1 << 4,
336 ImGuiComboFlags_NoArrowButton = 1 << 5,
337 ImGuiComboFlags_NoPreview = 1 << 6,
338 ImGuiComboFlags_WidthFitPreview = 1 << 7,
339 ImGuiComboFlags_HeightMask_ = ImGuiComboFlags_HeightSmall | ImGuiComboFlags_HeightRegular | ImGuiComboFlags_HeightLarge | ImGuiComboFlags_HeightLargest,
340}ImGuiComboFlags_;
341typedef enum {
342 ImGuiTabBarFlags_None = 0,
343 ImGuiTabBarFlags_Reorderable = 1 << 0,
344 ImGuiTabBarFlags_AutoSelectNewTabs = 1 << 1,
345 ImGuiTabBarFlags_TabListPopupButton = 1 << 2,
346 ImGuiTabBarFlags_NoCloseWithMiddleMouseButton = 1 << 3,
347 ImGuiTabBarFlags_NoTabListScrollingButtons = 1 << 4,
348 ImGuiTabBarFlags_NoTooltip = 1 << 5,
349 ImGuiTabBarFlags_FittingPolicyResizeDown = 1 << 6,
350 ImGuiTabBarFlags_FittingPolicyScroll = 1 << 7,
351 ImGuiTabBarFlags_FittingPolicyMask_ = ImGuiTabBarFlags_FittingPolicyResizeDown | ImGuiTabBarFlags_FittingPolicyScroll,
352 ImGuiTabBarFlags_FittingPolicyDefault_ = ImGuiTabBarFlags_FittingPolicyResizeDown,
353}ImGuiTabBarFlags_;
354typedef enum {
355 ImGuiTabItemFlags_None = 0,
356 ImGuiTabItemFlags_UnsavedDocument = 1 << 0,
357 ImGuiTabItemFlags_SetSelected = 1 << 1,
358 ImGuiTabItemFlags_NoCloseWithMiddleMouseButton = 1 << 2,
359 ImGuiTabItemFlags_NoPushId = 1 << 3,
360 ImGuiTabItemFlags_NoTooltip = 1 << 4,
361 ImGuiTabItemFlags_NoReorder = 1 << 5,
362 ImGuiTabItemFlags_Leading = 1 << 6,
363 ImGuiTabItemFlags_Trailing = 1 << 7,
364 ImGuiTabItemFlags_NoAssumedClosure = 1 << 8,
365}ImGuiTabItemFlags_;
366typedef enum {
367 ImGuiFocusedFlags_None = 0,
368 ImGuiFocusedFlags_ChildWindows = 1 << 0,
369 ImGuiFocusedFlags_RootWindow = 1 << 1,
370 ImGuiFocusedFlags_AnyWindow = 1 << 2,
371 ImGuiFocusedFlags_NoPopupHierarchy = 1 << 3,
372 ImGuiFocusedFlags_DockHierarchy = 1 << 4,
373 ImGuiFocusedFlags_RootAndChildWindows = ImGuiFocusedFlags_RootWindow | ImGuiFocusedFlags_ChildWindows,
374}ImGuiFocusedFlags_;
375typedef enum {
376 ImGuiHoveredFlags_None = 0,
377 ImGuiHoveredFlags_ChildWindows = 1 << 0,
378 ImGuiHoveredFlags_RootWindow = 1 << 1,
379 ImGuiHoveredFlags_AnyWindow = 1 << 2,
380 ImGuiHoveredFlags_NoPopupHierarchy = 1 << 3,
381 ImGuiHoveredFlags_DockHierarchy = 1 << 4,
382 ImGuiHoveredFlags_AllowWhenBlockedByPopup = 1 << 5,
383 ImGuiHoveredFlags_AllowWhenBlockedByActiveItem = 1 << 7,
384 ImGuiHoveredFlags_AllowWhenOverlappedByItem = 1 << 8,
385 ImGuiHoveredFlags_AllowWhenOverlappedByWindow = 1 << 9,
386 ImGuiHoveredFlags_AllowWhenDisabled = 1 << 10,
387 ImGuiHoveredFlags_NoNavOverride = 1 << 11,
388 ImGuiHoveredFlags_AllowWhenOverlapped = ImGuiHoveredFlags_AllowWhenOverlappedByItem | ImGuiHoveredFlags_AllowWhenOverlappedByWindow,
389 ImGuiHoveredFlags_RectOnly = ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_AllowWhenOverlapped,
390 ImGuiHoveredFlags_RootAndChildWindows = ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_ChildWindows,
391 ImGuiHoveredFlags_ForTooltip = 1 << 12,
392 ImGuiHoveredFlags_Stationary = 1 << 13,
393 ImGuiHoveredFlags_DelayNone = 1 << 14,
394 ImGuiHoveredFlags_DelayShort = 1 << 15,
395 ImGuiHoveredFlags_DelayNormal = 1 << 16,
396 ImGuiHoveredFlags_NoSharedDelay = 1 << 17,
397}ImGuiHoveredFlags_;
398typedef enum {
399 ImGuiDockNodeFlags_None = 0,
400 ImGuiDockNodeFlags_KeepAliveOnly = 1 << 0,
401 ImGuiDockNodeFlags_NoDockingOverCentralNode = 1 << 2,
402 ImGuiDockNodeFlags_PassthruCentralNode = 1 << 3,
403 ImGuiDockNodeFlags_NoDockingSplit = 1 << 4,
404 ImGuiDockNodeFlags_NoResize = 1 << 5,
405 ImGuiDockNodeFlags_AutoHideTabBar = 1 << 6,
406 ImGuiDockNodeFlags_NoUndocking = 1 << 7,
407}ImGuiDockNodeFlags_;
408typedef enum {
409 ImGuiDragDropFlags_None = 0,
410 ImGuiDragDropFlags_SourceNoPreviewTooltip = 1 << 0,
411 ImGuiDragDropFlags_SourceNoDisableHover = 1 << 1,
412 ImGuiDragDropFlags_SourceNoHoldToOpenOthers = 1 << 2,
413 ImGuiDragDropFlags_SourceAllowNullID = 1 << 3,
414 ImGuiDragDropFlags_SourceExtern = 1 << 4,
415 ImGuiDragDropFlags_SourceAutoExpirePayload = 1 << 5,
416 ImGuiDragDropFlags_AcceptBeforeDelivery = 1 << 10,
417 ImGuiDragDropFlags_AcceptNoDrawDefaultRect = 1 << 11,
418 ImGuiDragDropFlags_AcceptNoPreviewTooltip = 1 << 12,
419 ImGuiDragDropFlags_AcceptPeekOnly = ImGuiDragDropFlags_AcceptBeforeDelivery | ImGuiDragDropFlags_AcceptNoDrawDefaultRect,
420}ImGuiDragDropFlags_;
421typedef enum {
422 ImGuiDataType_S8,
423 ImGuiDataType_U8,
424 ImGuiDataType_S16,
425 ImGuiDataType_U16,
426 ImGuiDataType_S32,
427 ImGuiDataType_U32,
428 ImGuiDataType_S64,
429 ImGuiDataType_U64,
430 ImGuiDataType_Float,
431 ImGuiDataType_Double,
432 ImGuiDataType_COUNT
433}ImGuiDataType_;
434typedef enum {
435ImGuiDir_None=-1,
436ImGuiDir_Left=0,
437ImGuiDir_Right=1,
438ImGuiDir_Up=2,
439ImGuiDir_Down=3,
440ImGuiDir_COUNT=4,
441}ImGuiDir;
442typedef enum {
443ImGuiSortDirection_None=0,
444ImGuiSortDirection_Ascending=1,
445ImGuiSortDirection_Descending=2,
446}ImGuiSortDirection;
447typedef enum {
448ImGuiKey_None=0,
449ImGuiKey_Tab=512,
450ImGuiKey_LeftArrow=513,
451ImGuiKey_RightArrow=514,
452ImGuiKey_UpArrow=515,
453ImGuiKey_DownArrow=516,
454ImGuiKey_PageUp=517,
455ImGuiKey_PageDown=518,
456ImGuiKey_Home=519,
457ImGuiKey_End=520,
458ImGuiKey_Insert=521,
459ImGuiKey_Delete=522,
460ImGuiKey_Backspace=523,
461ImGuiKey_Space=524,
462ImGuiKey_Enter=525,
463ImGuiKey_Escape=526,
464ImGuiKey_LeftCtrl=527,
465ImGuiKey_LeftShift=528,
466ImGuiKey_LeftAlt=529,
467ImGuiKey_LeftSuper=530,
468ImGuiKey_RightCtrl=531,
469ImGuiKey_RightShift=532,
470ImGuiKey_RightAlt=533,
471ImGuiKey_RightSuper=534,
472ImGuiKey_Menu=535,
473ImGuiKey_0=536,
474ImGuiKey_1=537,
475ImGuiKey_2=538,
476ImGuiKey_3=539,
477ImGuiKey_4=540,
478ImGuiKey_5=541,
479ImGuiKey_6=542,
480ImGuiKey_7=543,
481ImGuiKey_8=544,
482ImGuiKey_9=545,
483ImGuiKey_A=546,
484ImGuiKey_B=547,
485ImGuiKey_C=548,
486ImGuiKey_D=549,
487ImGuiKey_E=550,
488ImGuiKey_F=551,
489ImGuiKey_G=552,
490ImGuiKey_H=553,
491ImGuiKey_I=554,
492ImGuiKey_J=555,
493ImGuiKey_K=556,
494ImGuiKey_L=557,
495ImGuiKey_M=558,
496ImGuiKey_N=559,
497ImGuiKey_O=560,
498ImGuiKey_P=561,
499ImGuiKey_Q=562,
500ImGuiKey_R=563,
501ImGuiKey_S=564,
502ImGuiKey_T=565,
503ImGuiKey_U=566,
504ImGuiKey_V=567,
505ImGuiKey_W=568,
506ImGuiKey_X=569,
507ImGuiKey_Y=570,
508ImGuiKey_Z=571,
509ImGuiKey_F1=572,
510ImGuiKey_F2=573,
511ImGuiKey_F3=574,
512ImGuiKey_F4=575,
513ImGuiKey_F5=576,
514ImGuiKey_F6=577,
515ImGuiKey_F7=578,
516ImGuiKey_F8=579,
517ImGuiKey_F9=580,
518ImGuiKey_F10=581,
519ImGuiKey_F11=582,
520ImGuiKey_F12=583,
521ImGuiKey_F13=584,
522ImGuiKey_F14=585,
523ImGuiKey_F15=586,
524ImGuiKey_F16=587,
525ImGuiKey_F17=588,
526ImGuiKey_F18=589,
527ImGuiKey_F19=590,
528ImGuiKey_F20=591,
529ImGuiKey_F21=592,
530ImGuiKey_F22=593,
531ImGuiKey_F23=594,
532ImGuiKey_F24=595,
533ImGuiKey_Apostrophe=596,
534ImGuiKey_Comma=597,
535ImGuiKey_Minus=598,
536ImGuiKey_Period=599,
537ImGuiKey_Slash=600,
538ImGuiKey_Semicolon=601,
539ImGuiKey_Equal=602,
540ImGuiKey_LeftBracket=603,
541ImGuiKey_Backslash=604,
542ImGuiKey_RightBracket=605,
543ImGuiKey_GraveAccent=606,
544ImGuiKey_CapsLock=607,
545ImGuiKey_ScrollLock=608,
546ImGuiKey_NumLock=609,
547ImGuiKey_PrintScreen=610,
548ImGuiKey_Pause=611,
549ImGuiKey_Keypad0=612,
550ImGuiKey_Keypad1=613,
551ImGuiKey_Keypad2=614,
552ImGuiKey_Keypad3=615,
553ImGuiKey_Keypad4=616,
554ImGuiKey_Keypad5=617,
555ImGuiKey_Keypad6=618,
556ImGuiKey_Keypad7=619,
557ImGuiKey_Keypad8=620,
558ImGuiKey_Keypad9=621,
559ImGuiKey_KeypadDecimal=622,
560ImGuiKey_KeypadDivide=623,
561ImGuiKey_KeypadMultiply=624,
562ImGuiKey_KeypadSubtract=625,
563ImGuiKey_KeypadAdd=626,
564ImGuiKey_KeypadEnter=627,
565ImGuiKey_KeypadEqual=628,
566ImGuiKey_AppBack=629,
567ImGuiKey_AppForward=630,
568ImGuiKey_GamepadStart=631,
569ImGuiKey_GamepadBack=632,
570ImGuiKey_GamepadFaceLeft=633,
571ImGuiKey_GamepadFaceRight=634,
572ImGuiKey_GamepadFaceUp=635,
573ImGuiKey_GamepadFaceDown=636,
574ImGuiKey_GamepadDpadLeft=637,
575ImGuiKey_GamepadDpadRight=638,
576ImGuiKey_GamepadDpadUp=639,
577ImGuiKey_GamepadDpadDown=640,
578ImGuiKey_GamepadL1=641,
579ImGuiKey_GamepadR1=642,
580ImGuiKey_GamepadL2=643,
581ImGuiKey_GamepadR2=644,
582ImGuiKey_GamepadL3=645,
583ImGuiKey_GamepadR3=646,
584ImGuiKey_GamepadLStickLeft=647,
585ImGuiKey_GamepadLStickRight=648,
586ImGuiKey_GamepadLStickUp=649,
587ImGuiKey_GamepadLStickDown=650,
588ImGuiKey_GamepadRStickLeft=651,
589ImGuiKey_GamepadRStickRight=652,
590ImGuiKey_GamepadRStickUp=653,
591ImGuiKey_GamepadRStickDown=654,
592ImGuiKey_MouseLeft=655,
593ImGuiKey_MouseRight=656,
594ImGuiKey_MouseMiddle=657,
595ImGuiKey_MouseX1=658,
596ImGuiKey_MouseX2=659,
597ImGuiKey_MouseWheelX=660,
598ImGuiKey_MouseWheelY=661,
599ImGuiKey_ReservedForModCtrl=662,
600ImGuiKey_ReservedForModShift=663,
601ImGuiKey_ReservedForModAlt=664,
602ImGuiKey_ReservedForModSuper=665,
603ImGuiKey_COUNT=666,
604ImGuiMod_None=0,
605ImGuiMod_Ctrl=1 << 12,
606ImGuiMod_Shift=1 << 13,
607ImGuiMod_Alt=1 << 14,
608ImGuiMod_Super=1 << 15,
609ImGuiMod_Mask_=0xF000,
610ImGuiKey_NamedKey_BEGIN=512,
611ImGuiKey_NamedKey_END=ImGuiKey_COUNT,
612ImGuiKey_NamedKey_COUNT=ImGuiKey_NamedKey_END - ImGuiKey_NamedKey_BEGIN,
613ImGuiKey_KeysData_SIZE=ImGuiKey_NamedKey_COUNT,
614ImGuiKey_KeysData_OFFSET=ImGuiKey_NamedKey_BEGIN,
615}ImGuiKey;
616typedef enum {
617 ImGuiInputFlags_None = 0,
618 ImGuiInputFlags_Repeat = 1 << 0,
619 ImGuiInputFlags_RouteActive = 1 << 10,
620 ImGuiInputFlags_RouteFocused = 1 << 11,
621 ImGuiInputFlags_RouteGlobal = 1 << 12,
622 ImGuiInputFlags_RouteAlways = 1 << 13,
623 ImGuiInputFlags_RouteOverFocused = 1 << 14,
624 ImGuiInputFlags_RouteOverActive = 1 << 15,
625 ImGuiInputFlags_RouteUnlessBgFocused = 1 << 16,
626 ImGuiInputFlags_RouteFromRootWindow = 1 << 17,
627 ImGuiInputFlags_Tooltip = 1 << 18,
628}ImGuiInputFlags_;
629typedef enum {
630 ImGuiConfigFlags_None = 0,
631 ImGuiConfigFlags_NavEnableKeyboard = 1 << 0,
632 ImGuiConfigFlags_NavEnableGamepad = 1 << 1,
633 ImGuiConfigFlags_NavEnableSetMousePos = 1 << 2,
634 ImGuiConfigFlags_NavNoCaptureKeyboard = 1 << 3,
635 ImGuiConfigFlags_NoMouse = 1 << 4,
636 ImGuiConfigFlags_NoMouseCursorChange = 1 << 5,
637 ImGuiConfigFlags_DockingEnable = 1 << 6,
638 ImGuiConfigFlags_ViewportsEnable = 1 << 10,
639 ImGuiConfigFlags_DpiEnableScaleViewports= 1 << 14,
640 ImGuiConfigFlags_DpiEnableScaleFonts = 1 << 15,
641 ImGuiConfigFlags_IsSRGB = 1 << 20,
642 ImGuiConfigFlags_IsTouchScreen = 1 << 21,
643}ImGuiConfigFlags_;
644typedef enum {
645 ImGuiBackendFlags_None = 0,
646 ImGuiBackendFlags_HasGamepad = 1 << 0,
647 ImGuiBackendFlags_HasMouseCursors = 1 << 1,
648 ImGuiBackendFlags_HasSetMousePos = 1 << 2,
649 ImGuiBackendFlags_RendererHasVtxOffset = 1 << 3,
650 ImGuiBackendFlags_PlatformHasViewports = 1 << 10,
651 ImGuiBackendFlags_HasMouseHoveredViewport=1 << 11,
652 ImGuiBackendFlags_RendererHasViewports = 1 << 12,
653}ImGuiBackendFlags_;
654typedef enum {
655 ImGuiCol_Text,
656 ImGuiCol_TextDisabled,
657 ImGuiCol_WindowBg,
658 ImGuiCol_ChildBg,
659 ImGuiCol_PopupBg,
660 ImGuiCol_Border,
661 ImGuiCol_BorderShadow,
662 ImGuiCol_FrameBg,
663 ImGuiCol_FrameBgHovered,
664 ImGuiCol_FrameBgActive,
665 ImGuiCol_TitleBg,
666 ImGuiCol_TitleBgActive,
667 ImGuiCol_TitleBgCollapsed,
668 ImGuiCol_MenuBarBg,
669 ImGuiCol_ScrollbarBg,
670 ImGuiCol_ScrollbarGrab,
671 ImGuiCol_ScrollbarGrabHovered,
672 ImGuiCol_ScrollbarGrabActive,
673 ImGuiCol_CheckMark,
674 ImGuiCol_SliderGrab,
675 ImGuiCol_SliderGrabActive,
676 ImGuiCol_Button,
677 ImGuiCol_ButtonHovered,
678 ImGuiCol_ButtonActive,
679 ImGuiCol_Header,
680 ImGuiCol_HeaderHovered,
681 ImGuiCol_HeaderActive,
682 ImGuiCol_Separator,
683 ImGuiCol_SeparatorHovered,
684 ImGuiCol_SeparatorActive,
685 ImGuiCol_ResizeGrip,
686 ImGuiCol_ResizeGripHovered,
687 ImGuiCol_ResizeGripActive,
688 ImGuiCol_Tab,
689 ImGuiCol_TabHovered,
690 ImGuiCol_TabActive,
691 ImGuiCol_TabUnfocused,
692 ImGuiCol_TabUnfocusedActive,
693 ImGuiCol_DockingPreview,
694 ImGuiCol_DockingEmptyBg,
695 ImGuiCol_PlotLines,
696 ImGuiCol_PlotLinesHovered,
697 ImGuiCol_PlotHistogram,
698 ImGuiCol_PlotHistogramHovered,
699 ImGuiCol_TableHeaderBg,
700 ImGuiCol_TableBorderStrong,
701 ImGuiCol_TableBorderLight,
702 ImGuiCol_TableRowBg,
703 ImGuiCol_TableRowBgAlt,
704 ImGuiCol_TextSelectedBg,
705 ImGuiCol_DragDropTarget,
706 ImGuiCol_NavHighlight,
707 ImGuiCol_NavWindowingHighlight,
708 ImGuiCol_NavWindowingDimBg,
709 ImGuiCol_ModalWindowDimBg,
710 ImGuiCol_COUNT
711}ImGuiCol_;
712typedef enum {
713 ImGuiStyleVar_Alpha,
714 ImGuiStyleVar_DisabledAlpha,
715 ImGuiStyleVar_WindowPadding,
716 ImGuiStyleVar_WindowRounding,
717 ImGuiStyleVar_WindowBorderSize,
718 ImGuiStyleVar_WindowMinSize,
719 ImGuiStyleVar_WindowTitleAlign,
720 ImGuiStyleVar_ChildRounding,
721 ImGuiStyleVar_ChildBorderSize,
722 ImGuiStyleVar_PopupRounding,
723 ImGuiStyleVar_PopupBorderSize,
724 ImGuiStyleVar_FramePadding,
725 ImGuiStyleVar_FrameRounding,
726 ImGuiStyleVar_FrameBorderSize,
727 ImGuiStyleVar_ItemSpacing,
728 ImGuiStyleVar_ItemInnerSpacing,
729 ImGuiStyleVar_IndentSpacing,
730 ImGuiStyleVar_CellPadding,
731 ImGuiStyleVar_ScrollbarSize,
732 ImGuiStyleVar_ScrollbarRounding,
733 ImGuiStyleVar_GrabMinSize,
734 ImGuiStyleVar_GrabRounding,
735 ImGuiStyleVar_TabRounding,
736 ImGuiStyleVar_TabBorderSize,
737 ImGuiStyleVar_TabBarBorderSize,
738 ImGuiStyleVar_TableAngledHeadersAngle,
739 ImGuiStyleVar_TableAngledHeadersTextAlign,
740 ImGuiStyleVar_ButtonTextAlign,
741 ImGuiStyleVar_SelectableTextAlign,
742 ImGuiStyleVar_SeparatorTextBorderSize,
743 ImGuiStyleVar_SeparatorTextAlign,
744 ImGuiStyleVar_SeparatorTextPadding,
745 ImGuiStyleVar_DockingSeparatorSize,
746 ImGuiStyleVar_COUNT
747}ImGuiStyleVar_;
748typedef enum {
749 ImGuiButtonFlags_None = 0,
750 ImGuiButtonFlags_MouseButtonLeft = 1 << 0,
751 ImGuiButtonFlags_MouseButtonRight = 1 << 1,
752 ImGuiButtonFlags_MouseButtonMiddle = 1 << 2,
753 ImGuiButtonFlags_MouseButtonMask_ = ImGuiButtonFlags_MouseButtonLeft | ImGuiButtonFlags_MouseButtonRight | ImGuiButtonFlags_MouseButtonMiddle,
754}ImGuiButtonFlags_;
755typedef enum {
756 ImGuiColorEditFlags_None = 0,
757 ImGuiColorEditFlags_NoAlpha = 1 << 1,
758 ImGuiColorEditFlags_NoPicker = 1 << 2,
759 ImGuiColorEditFlags_NoOptions = 1 << 3,
760 ImGuiColorEditFlags_NoSmallPreview = 1 << 4,
761 ImGuiColorEditFlags_NoInputs = 1 << 5,
762 ImGuiColorEditFlags_NoTooltip = 1 << 6,
763 ImGuiColorEditFlags_NoLabel = 1 << 7,
764 ImGuiColorEditFlags_NoSidePreview = 1 << 8,
765 ImGuiColorEditFlags_NoDragDrop = 1 << 9,
766 ImGuiColorEditFlags_NoBorder = 1 << 10,
767 ImGuiColorEditFlags_AlphaBar = 1 << 16,
768 ImGuiColorEditFlags_AlphaPreview = 1 << 17,
769 ImGuiColorEditFlags_AlphaPreviewHalf= 1 << 18,
770 ImGuiColorEditFlags_HDR = 1 << 19,
771 ImGuiColorEditFlags_DisplayRGB = 1 << 20,
772 ImGuiColorEditFlags_DisplayHSV = 1 << 21,
773 ImGuiColorEditFlags_DisplayHex = 1 << 22,
774 ImGuiColorEditFlags_Uint8 = 1 << 23,
775 ImGuiColorEditFlags_Float = 1 << 24,
776 ImGuiColorEditFlags_PickerHueBar = 1 << 25,
777 ImGuiColorEditFlags_PickerHueWheel = 1 << 26,
778 ImGuiColorEditFlags_InputRGB = 1 << 27,
779 ImGuiColorEditFlags_InputHSV = 1 << 28,
780 ImGuiColorEditFlags_DefaultOptions_ = ImGuiColorEditFlags_Uint8 | ImGuiColorEditFlags_DisplayRGB | ImGuiColorEditFlags_InputRGB | ImGuiColorEditFlags_PickerHueBar,
781 ImGuiColorEditFlags_DisplayMask_ = ImGuiColorEditFlags_DisplayRGB | ImGuiColorEditFlags_DisplayHSV | ImGuiColorEditFlags_DisplayHex,
782 ImGuiColorEditFlags_DataTypeMask_ = ImGuiColorEditFlags_Uint8 | ImGuiColorEditFlags_Float,
783 ImGuiColorEditFlags_PickerMask_ = ImGuiColorEditFlags_PickerHueWheel | ImGuiColorEditFlags_PickerHueBar,
784 ImGuiColorEditFlags_InputMask_ = ImGuiColorEditFlags_InputRGB | ImGuiColorEditFlags_InputHSV,
785}ImGuiColorEditFlags_;
786typedef enum {
787 ImGuiSliderFlags_None = 0,
788 ImGuiSliderFlags_AlwaysClamp = 1 << 4,
789 ImGuiSliderFlags_Logarithmic = 1 << 5,
790 ImGuiSliderFlags_NoRoundToFormat = 1 << 6,
791 ImGuiSliderFlags_NoInput = 1 << 7,
792 ImGuiSliderFlags_InvalidMask_ = 0x7000000F,
793}ImGuiSliderFlags_;
794typedef enum {
795 ImGuiMouseButton_Left = 0,
796 ImGuiMouseButton_Right = 1,
797 ImGuiMouseButton_Middle = 2,
798 ImGuiMouseButton_COUNT = 5
799}ImGuiMouseButton_;
800typedef enum {
801 ImGuiMouseCursor_None = -1,
802 ImGuiMouseCursor_Arrow = 0,
803 ImGuiMouseCursor_TextInput,
804 ImGuiMouseCursor_ResizeAll,
805 ImGuiMouseCursor_ResizeNS,
806 ImGuiMouseCursor_ResizeEW,
807 ImGuiMouseCursor_ResizeNESW,
808 ImGuiMouseCursor_ResizeNWSE,
809 ImGuiMouseCursor_Hand,
810 ImGuiMouseCursor_NotAllowed,
811 ImGuiMouseCursor_COUNT
812}ImGuiMouseCursor_;
813typedef enum {
814ImGuiMouseSource_Mouse=0,
815ImGuiMouseSource_TouchScreen=1,
816ImGuiMouseSource_Pen=2,
817ImGuiMouseSource_COUNT=3,
818}ImGuiMouseSource;
819typedef enum {
820 ImGuiCond_None = 0,
821 ImGuiCond_Always = 1 << 0,
822 ImGuiCond_Once = 1 << 1,
823 ImGuiCond_FirstUseEver = 1 << 2,
824 ImGuiCond_Appearing = 1 << 3,
825}ImGuiCond_;
826typedef enum {
827 ImGuiTableFlags_None = 0,
828 ImGuiTableFlags_Resizable = 1 << 0,
829 ImGuiTableFlags_Reorderable = 1 << 1,
830 ImGuiTableFlags_Hideable = 1 << 2,
831 ImGuiTableFlags_Sortable = 1 << 3,
832 ImGuiTableFlags_NoSavedSettings = 1 << 4,
833 ImGuiTableFlags_ContextMenuInBody = 1 << 5,
834 ImGuiTableFlags_RowBg = 1 << 6,
835 ImGuiTableFlags_BordersInnerH = 1 << 7,
836 ImGuiTableFlags_BordersOuterH = 1 << 8,
837 ImGuiTableFlags_BordersInnerV = 1 << 9,
838 ImGuiTableFlags_BordersOuterV = 1 << 10,
839 ImGuiTableFlags_BordersH = ImGuiTableFlags_BordersInnerH | ImGuiTableFlags_BordersOuterH,
840 ImGuiTableFlags_BordersV = ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_BordersOuterV,
841 ImGuiTableFlags_BordersInner = ImGuiTableFlags_BordersInnerV | ImGuiTableFlags_BordersInnerH,
842 ImGuiTableFlags_BordersOuter = ImGuiTableFlags_BordersOuterV | ImGuiTableFlags_BordersOuterH,
843 ImGuiTableFlags_Borders = ImGuiTableFlags_BordersInner | ImGuiTableFlags_BordersOuter,
844 ImGuiTableFlags_NoBordersInBody = 1 << 11,
845 ImGuiTableFlags_NoBordersInBodyUntilResize = 1 << 12,
846 ImGuiTableFlags_SizingFixedFit = 1 << 13,
847 ImGuiTableFlags_SizingFixedSame = 2 << 13,
848 ImGuiTableFlags_SizingStretchProp = 3 << 13,
849 ImGuiTableFlags_SizingStretchSame = 4 << 13,
850 ImGuiTableFlags_NoHostExtendX = 1 << 16,
851 ImGuiTableFlags_NoHostExtendY = 1 << 17,
852 ImGuiTableFlags_NoKeepColumnsVisible = 1 << 18,
853 ImGuiTableFlags_PreciseWidths = 1 << 19,
854 ImGuiTableFlags_NoClip = 1 << 20,
855 ImGuiTableFlags_PadOuterX = 1 << 21,
856 ImGuiTableFlags_NoPadOuterX = 1 << 22,
857 ImGuiTableFlags_NoPadInnerX = 1 << 23,
858 ImGuiTableFlags_ScrollX = 1 << 24,
859 ImGuiTableFlags_ScrollY = 1 << 25,
860 ImGuiTableFlags_SortMulti = 1 << 26,
861 ImGuiTableFlags_SortTristate = 1 << 27,
862 ImGuiTableFlags_HighlightHoveredColumn = 1 << 28,
863 ImGuiTableFlags_SizingMask_ = ImGuiTableFlags_SizingFixedFit | ImGuiTableFlags_SizingFixedSame | ImGuiTableFlags_SizingStretchProp | ImGuiTableFlags_SizingStretchSame,
864}ImGuiTableFlags_;
865typedef enum {
866 ImGuiTableColumnFlags_None = 0,
867 ImGuiTableColumnFlags_Disabled = 1 << 0,
868 ImGuiTableColumnFlags_DefaultHide = 1 << 1,
869 ImGuiTableColumnFlags_DefaultSort = 1 << 2,
870 ImGuiTableColumnFlags_WidthStretch = 1 << 3,
871 ImGuiTableColumnFlags_WidthFixed = 1 << 4,
872 ImGuiTableColumnFlags_NoResize = 1 << 5,
873 ImGuiTableColumnFlags_NoReorder = 1 << 6,
874 ImGuiTableColumnFlags_NoHide = 1 << 7,
875 ImGuiTableColumnFlags_NoClip = 1 << 8,
876 ImGuiTableColumnFlags_NoSort = 1 << 9,
877 ImGuiTableColumnFlags_NoSortAscending = 1 << 10,
878 ImGuiTableColumnFlags_NoSortDescending = 1 << 11,
879 ImGuiTableColumnFlags_NoHeaderLabel = 1 << 12,
880 ImGuiTableColumnFlags_NoHeaderWidth = 1 << 13,
881 ImGuiTableColumnFlags_PreferSortAscending = 1 << 14,
882 ImGuiTableColumnFlags_PreferSortDescending = 1 << 15,
883 ImGuiTableColumnFlags_IndentEnable = 1 << 16,
884 ImGuiTableColumnFlags_IndentDisable = 1 << 17,
885 ImGuiTableColumnFlags_AngledHeader = 1 << 18,
886 ImGuiTableColumnFlags_IsEnabled = 1 << 24,
887 ImGuiTableColumnFlags_IsVisible = 1 << 25,
888 ImGuiTableColumnFlags_IsSorted = 1 << 26,
889 ImGuiTableColumnFlags_IsHovered = 1 << 27,
890 ImGuiTableColumnFlags_WidthMask_ = ImGuiTableColumnFlags_WidthStretch | ImGuiTableColumnFlags_WidthFixed,
891 ImGuiTableColumnFlags_IndentMask_ = ImGuiTableColumnFlags_IndentEnable | ImGuiTableColumnFlags_IndentDisable,
892 ImGuiTableColumnFlags_StatusMask_ = ImGuiTableColumnFlags_IsEnabled | ImGuiTableColumnFlags_IsVisible | ImGuiTableColumnFlags_IsSorted | ImGuiTableColumnFlags_IsHovered,
893 ImGuiTableColumnFlags_NoDirectResize_ = 1 << 30,
894}ImGuiTableColumnFlags_;
895typedef enum {
896 ImGuiTableRowFlags_None = 0,
897 ImGuiTableRowFlags_Headers = 1 << 0,
898}ImGuiTableRowFlags_;
899typedef enum {
900 ImGuiTableBgTarget_None = 0,
901 ImGuiTableBgTarget_RowBg0 = 1,
902 ImGuiTableBgTarget_RowBg1 = 2,
903 ImGuiTableBgTarget_CellBg = 3,
904}ImGuiTableBgTarget_;
905struct ImGuiTableSortSpecs
906{
907 const ImGuiTableColumnSortSpecs* Specs;
908 int SpecsCount;
909 bool SpecsDirty;
910};
911struct ImGuiTableColumnSortSpecs
912{
913 ImGuiID ColumnUserID;
914 ImS16 ColumnIndex;
915 ImS16 SortOrder;
916 ImGuiSortDirection SortDirection;
917};
918struct ImGuiStyle
919{
920 float Alpha;
921 float DisabledAlpha;
922 ImVec2 WindowPadding;
923 float WindowRounding;
924 float WindowBorderSize;
925 ImVec2 WindowMinSize;
926 ImVec2 WindowTitleAlign;
927 ImGuiDir WindowMenuButtonPosition;
928 float ChildRounding;
929 float ChildBorderSize;
930 float PopupRounding;
931 float PopupBorderSize;
932 ImVec2 FramePadding;
933 float FrameRounding;
934 float FrameBorderSize;
935 ImVec2 ItemSpacing;
936 ImVec2 ItemInnerSpacing;
937 ImVec2 CellPadding;
938 ImVec2 TouchExtraPadding;
939 float IndentSpacing;
940 float ColumnsMinSpacing;
941 float ScrollbarSize;
942 float ScrollbarRounding;
943 float GrabMinSize;
944 float GrabRounding;
945 float LogSliderDeadzone;
946 float TabRounding;
947 float TabBorderSize;
948 float TabMinWidthForCloseButton;
949 float TabBarBorderSize;
950 float TableAngledHeadersAngle;
951 ImVec2 TableAngledHeadersTextAlign;
952 ImGuiDir ColorButtonPosition;
953 ImVec2 ButtonTextAlign;
954 ImVec2 SelectableTextAlign;
955 float SeparatorTextBorderSize;
956 ImVec2 SeparatorTextAlign;
957 ImVec2 SeparatorTextPadding;
958 ImVec2 DisplayWindowPadding;
959 ImVec2 DisplaySafeAreaPadding;
960 float DockingSeparatorSize;
961 float MouseCursorScale;
962 bool AntiAliasedLines;
963 bool AntiAliasedLinesUseTex;
964 bool AntiAliasedFill;
965 float CurveTessellationTol;
966 float CircleTessellationMaxError;
967 ImVec4 Colors[ImGuiCol_COUNT];
968 float HoverStationaryDelay;
969 float HoverDelayShort;
970 float HoverDelayNormal;
971 ImGuiHoveredFlags HoverFlagsForTooltipMouse;
972 ImGuiHoveredFlags HoverFlagsForTooltipNav;
973};
974struct ImGuiKeyData
975{
976 bool Down;
977 float DownDuration;
978 float DownDurationPrev;
979 float AnalogValue;
980};
981typedef struct ImVector_ImWchar {int Size;int Capacity;ImWchar* Data;} ImVector_ImWchar;
982
983struct ImGuiIO
984{
985 ImGuiConfigFlags ConfigFlags;
986 ImGuiBackendFlags BackendFlags;
987 ImVec2 DisplaySize;
988 float DeltaTime;
989 float IniSavingRate;
990 const char* IniFilename;
991 const char* LogFilename;
992 void* UserData;
993 ImFontAtlas*Fonts;
994 float FontGlobalScale;
995 bool FontAllowUserScaling;
996 ImFont* FontDefault;
997 ImVec2 DisplayFramebufferScale;
998 bool ConfigDockingNoSplit;
999 bool ConfigDockingWithShift;
1000 bool ConfigDockingAlwaysTabBar;
1001 bool ConfigDockingTransparentPayload;
1002 bool ConfigViewportsNoAutoMerge;
1003 bool ConfigViewportsNoTaskBarIcon;
1004 bool ConfigViewportsNoDecoration;
1005 bool ConfigViewportsNoDefaultParent;
1006 bool MouseDrawCursor;
1007 bool ConfigMacOSXBehaviors;
1008 bool ConfigInputTrickleEventQueue;
1009 bool ConfigInputTextCursorBlink;
1010 bool ConfigInputTextEnterKeepActive;
1011 bool ConfigDragClickToInputText;
1012 bool ConfigWindowsResizeFromEdges;
1013 bool ConfigWindowsMoveFromTitleBarOnly;
1014 float ConfigMemoryCompactTimer;
1015 float MouseDoubleClickTime;
1016 float MouseDoubleClickMaxDist;
1017 float MouseDragThreshold;
1018 float KeyRepeatDelay;
1019 float KeyRepeatRate;
1020 bool ConfigDebugIsDebuggerPresent;
1021 bool ConfigDebugBeginReturnValueOnce;
1022 bool ConfigDebugBeginReturnValueLoop;
1023 bool ConfigDebugIgnoreFocusLoss;
1024 bool ConfigDebugIniSettings;
1025 const char* BackendPlatformName;
1026 const char* BackendRendererName;
1027 void* BackendPlatformUserData;
1028 void* BackendRendererUserData;
1029 void* BackendLanguageUserData;
1030 const char* (*GetClipboardTextFn)(void* user_data);
1031 void (*SetClipboardTextFn)(void* user_data, const char* text);
1032 void* ClipboardUserData;
1033 void (*SetPlatformImeDataFn)(ImGuiViewport* viewport, ImGuiPlatformImeData* data);
1034 ImWchar PlatformLocaleDecimalPoint;
1035 bool WantCaptureMouse;
1036 bool WantCaptureKeyboard;
1037 bool WantTextInput;
1038 bool WantSetMousePos;
1039 bool WantSaveIniSettings;
1040 bool NavActive;
1041 bool NavVisible;
1042 float Framerate;
1043 int MetricsRenderVertices;
1044 int MetricsRenderIndices;
1045 int MetricsRenderWindows;
1046 int MetricsActiveWindows;
1047 ImVec2 MouseDelta;
1048 ImGuiContext* Ctx;
1049 ImVec2 MousePos;
1050 bool MouseDown[5];
1051 float MouseWheel;
1052 float MouseWheelH;
1053 ImGuiMouseSource MouseSource;
1054 ImGuiID MouseHoveredViewport;
1055 bool KeyCtrl;
1056 bool KeyShift;
1057 bool KeyAlt;
1058 bool KeySuper;
1059 ImGuiKeyChord KeyMods;
1060 ImGuiKeyData KeysData[ImGuiKey_KeysData_SIZE];
1061 bool WantCaptureMouseUnlessPopupClose;
1062 ImVec2 MousePosPrev;
1063 ImVec2 MouseClickedPos[5];
1064 double MouseClickedTime[5];
1065 bool MouseClicked[5];
1066 bool MouseDoubleClicked[5];
1067 ImU16 MouseClickedCount[5];
1068 ImU16 MouseClickedLastCount[5];
1069 bool MouseReleased[5];
1070 bool MouseDownOwned[5];
1071 bool MouseDownOwnedUnlessPopupClose[5];
1072 bool MouseWheelRequestAxisSwap;
1073 bool MouseCtrlLeftAsRightClick;
1074 float MouseDownDuration[5];
1075 float MouseDownDurationPrev[5];
1076 ImVec2 MouseDragMaxDistanceAbs[5];
1077 float MouseDragMaxDistanceSqr[5];
1078 float PenPressure;
1079 bool AppFocusLost;
1080 bool AppAcceptingEvents;
1081 ImS8 BackendUsingLegacyKeyArrays;
1082 bool BackendUsingLegacyNavInputArray;
1083 ImWchar16 InputQueueSurrogate;
1084 ImVector_ImWchar InputQueueCharacters;
1085};
1086struct ImGuiInputTextCallbackData
1087{
1088 ImGuiContext* Ctx;
1089 ImGuiInputTextFlags EventFlag;
1090 ImGuiInputTextFlags Flags;
1091 void* UserData;
1092 ImWchar EventChar;
1093 ImGuiKey EventKey;
1094 char* Buf;
1095 int BufTextLen;
1096 int BufSize;
1097 bool BufDirty;
1098 int CursorPos;
1099 int SelectionStart;
1100 int SelectionEnd;
1101};
1102struct ImGuiSizeCallbackData
1103{
1104 void* UserData;
1105 ImVec2 Pos;
1106 ImVec2 CurrentSize;
1107 ImVec2 DesiredSize;
1108};
1109struct ImGuiWindowClass
1110{
1111 ImGuiID ClassId;
1112 ImGuiID ParentViewportId;
1113 ImGuiID FocusRouteParentWindowId;
1114 ImGuiViewportFlags ViewportFlagsOverrideSet;
1115 ImGuiViewportFlags ViewportFlagsOverrideClear;
1116 ImGuiTabItemFlags TabItemFlagsOverrideSet;
1117 ImGuiDockNodeFlags DockNodeFlagsOverrideSet;
1118 bool DockingAlwaysTabBar;
1119 bool DockingAllowUnclassed;
1120};
1121struct ImGuiPayload
1122{
1123 void* Data;
1124 int DataSize;
1125 ImGuiID SourceId;
1126 ImGuiID SourceParentId;
1127 int DataFrameCount;
1128 char DataType[32 + 1];
1129 bool Preview;
1130 bool Delivery;
1131};
1132struct ImGuiOnceUponAFrame
1133{
1134 int RefFrame;
1135};
1136struct ImGuiTextRange
1137{
1138 const char* b;
1139 const char* e;
1140};
1141typedef struct ImGuiTextRange ImGuiTextRange;
1142
1143typedef struct ImVector_ImGuiTextRange {int Size;int Capacity;ImGuiTextRange* Data;} ImVector_ImGuiTextRange;
1144
1145struct ImGuiTextFilter
1146{
1147 char InputBuf[256];
1148 ImVector_ImGuiTextRange Filters;
1149 int CountGrep;
1150};
1151typedef struct ImGuiTextRange ImGuiTextRange;
1152typedef struct ImVector_char {int Size;int Capacity;char* Data;} ImVector_char;
1153
1154struct ImGuiTextBuffer
1155{
1156 ImVector_char Buf;
1157};
1158struct ImGuiStoragePair
1159{
1160 ImGuiID key;
1161 union { int val_i; float val_f; void* val_p; };
1162};
1163typedef struct ImGuiStoragePair ImGuiStoragePair;
1164
1165typedef struct ImVector_ImGuiStoragePair {int Size;int Capacity;ImGuiStoragePair* Data;} ImVector_ImGuiStoragePair;
1166
1167struct ImGuiStorage
1168{
1169 ImVector_ImGuiStoragePair Data;
1170};
1171typedef struct ImGuiStoragePair ImGuiStoragePair;
1172struct ImGuiListClipper
1173{
1174 ImGuiContext* Ctx;
1175 int DisplayStart;
1176 int DisplayEnd;
1177 int ItemsCount;
1178 float ItemsHeight;
1179 float StartPosY;
1180 void* TempData;
1181};
1182struct ImColor
1183{
1184 ImVec4 Value;
1185};
1186typedef void (*ImDrawCallback)(const ImDrawList* parent_list, const ImDrawCmd* cmd);
1187struct ImDrawCmd
1188{
1189 ImVec4 ClipRect;
1190 ImTextureID TextureId;
1191 unsigned int VtxOffset;
1192 unsigned int IdxOffset;
1193 unsigned int ElemCount;
1194 ImDrawCallback UserCallback;
1195 void* UserCallbackData;
1196};
1197struct ImDrawVert
1198{
1199 ImVec2 pos;
1200 ImVec2 uv;
1201 ImU32 col;
1202};
1203typedef struct ImDrawCmdHeader ImDrawCmdHeader;
1204struct ImDrawCmdHeader
1205{
1206 ImVec4 ClipRect;
1207 ImTextureID TextureId;
1208 unsigned int VtxOffset;
1209};
1210typedef struct ImVector_ImDrawCmd {int Size;int Capacity;ImDrawCmd* Data;} ImVector_ImDrawCmd;
1211
1212typedef struct ImVector_ImDrawIdx {int Size;int Capacity;ImDrawIdx* Data;} ImVector_ImDrawIdx;
1213
1214struct ImDrawChannel
1215{
1216 ImVector_ImDrawCmd _CmdBuffer;
1217 ImVector_ImDrawIdx _IdxBuffer;
1218};
1219typedef struct ImVector_ImDrawChannel {int Size;int Capacity;ImDrawChannel* Data;} ImVector_ImDrawChannel;
1220
1221struct ImDrawListSplitter
1222{
1223 int _Current;
1224 int _Count;
1225 ImVector_ImDrawChannel _Channels;
1226};
1227typedef enum {
1228 ImDrawFlags_None = 0,
1229 ImDrawFlags_Closed = 1 << 0,
1230 ImDrawFlags_RoundCornersTopLeft = 1 << 4,
1231 ImDrawFlags_RoundCornersTopRight = 1 << 5,
1232 ImDrawFlags_RoundCornersBottomLeft = 1 << 6,
1233 ImDrawFlags_RoundCornersBottomRight = 1 << 7,
1234 ImDrawFlags_RoundCornersNone = 1 << 8,
1235 ImDrawFlags_RoundCornersTop = ImDrawFlags_RoundCornersTopLeft | ImDrawFlags_RoundCornersTopRight,
1236 ImDrawFlags_RoundCornersBottom = ImDrawFlags_RoundCornersBottomLeft | ImDrawFlags_RoundCornersBottomRight,
1237 ImDrawFlags_RoundCornersLeft = ImDrawFlags_RoundCornersBottomLeft | ImDrawFlags_RoundCornersTopLeft,
1238 ImDrawFlags_RoundCornersRight = ImDrawFlags_RoundCornersBottomRight | ImDrawFlags_RoundCornersTopRight,
1239 ImDrawFlags_RoundCornersAll = ImDrawFlags_RoundCornersTopLeft | ImDrawFlags_RoundCornersTopRight | ImDrawFlags_RoundCornersBottomLeft | ImDrawFlags_RoundCornersBottomRight,
1240 ImDrawFlags_RoundCornersDefault_ = ImDrawFlags_RoundCornersAll,
1241 ImDrawFlags_RoundCornersMask_ = ImDrawFlags_RoundCornersAll | ImDrawFlags_RoundCornersNone,
1242}ImDrawFlags_;
1243typedef enum {
1244 ImDrawListFlags_None = 0,
1245 ImDrawListFlags_AntiAliasedLines = 1 << 0,
1246 ImDrawListFlags_AntiAliasedLinesUseTex = 1 << 1,
1247 ImDrawListFlags_AntiAliasedFill = 1 << 2,
1248 ImDrawListFlags_AllowVtxOffset = 1 << 3,
1249}ImDrawListFlags_;
1250typedef struct ImVector_ImDrawVert {int Size;int Capacity;ImDrawVert* Data;} ImVector_ImDrawVert;
1251
1252typedef struct ImVector_ImVec2 {int Size;int Capacity;ImVec2* Data;} ImVector_ImVec2;
1253
1254typedef struct ImVector_ImVec4 {int Size;int Capacity;ImVec4* Data;} ImVector_ImVec4;
1255
1256typedef struct ImVector_ImTextureID {int Size;int Capacity;ImTextureID* Data;} ImVector_ImTextureID;
1257
1258struct ImDrawList
1259{
1260 ImVector_ImDrawCmd CmdBuffer;
1261 ImVector_ImDrawIdx IdxBuffer;
1262 ImVector_ImDrawVert VtxBuffer;
1263 ImDrawListFlags Flags;
1264 unsigned int _VtxCurrentIdx;
1265 ImDrawListSharedData* _Data;
1266 ImDrawVert* _VtxWritePtr;
1267 ImDrawIdx* _IdxWritePtr;
1268 ImVector_ImVec2 _Path;
1269 ImDrawCmdHeader _CmdHeader;
1270 ImDrawListSplitter _Splitter;
1271 ImVector_ImVec4 _ClipRectStack;
1272 ImVector_ImTextureID _TextureIdStack;
1273 float _FringeScale;
1274 const char* _OwnerName;
1275};
1276typedef struct ImVector_ImDrawListPtr {int Size;int Capacity;ImDrawList** Data;} ImVector_ImDrawListPtr;
1277
1278struct ImDrawData
1279{
1280 bool Valid;
1281 int CmdListsCount;
1282 int TotalIdxCount;
1283 int TotalVtxCount;
1284 ImVector_ImDrawListPtr CmdLists;
1285 ImVec2 DisplayPos;
1286 ImVec2 DisplaySize;
1287 ImVec2 FramebufferScale;
1288 ImGuiViewport* OwnerViewport;
1289};
1290struct ImFontConfig
1291{
1292 void* FontData;
1293 int FontDataSize;
1294 bool FontDataOwnedByAtlas;
1295 int FontNo;
1296 float SizePixels;
1297 int OversampleH;
1298 int OversampleV;
1299 bool PixelSnapH;
1300 ImVec2 GlyphExtraSpacing;
1301 ImVec2 GlyphOffset;
1302 const ImWchar* GlyphRanges;
1303 float GlyphMinAdvanceX;
1304 float GlyphMaxAdvanceX;
1305 bool MergeMode;
1306 unsigned int FontBuilderFlags;
1307 float RasterizerMultiply;
1308 float RasterizerDensity;
1309 ImWchar EllipsisChar;
1310 char Name[40];
1311 ImFont* DstFont;
1312};
1313struct ImFontGlyph
1314{
1315 unsigned int Colored : 1;
1316 unsigned int Visible : 1;
1317 unsigned int Codepoint : 30;
1318 float AdvanceX;
1319 float X0, Y0, X1, Y1;
1320 float U0, V0, U1, V1;
1321};
1322typedef struct ImVector_ImU32 {int Size;int Capacity;ImU32* Data;} ImVector_ImU32;
1323
1324struct ImFontGlyphRangesBuilder
1325{
1326 ImVector_ImU32 UsedChars;
1327};
1328typedef struct ImFontAtlasCustomRect ImFontAtlasCustomRect;
1329struct ImFontAtlasCustomRect
1330{
1331 unsigned short Width, Height;
1332 unsigned short X, Y;
1333 unsigned int GlyphID;
1334 float GlyphAdvanceX;
1335 ImVec2 GlyphOffset;
1336 ImFont* Font;
1337};
1338typedef enum {
1339 ImFontAtlasFlags_None = 0,
1340 ImFontAtlasFlags_NoPowerOfTwoHeight = 1 << 0,
1341 ImFontAtlasFlags_NoMouseCursors = 1 << 1,
1342 ImFontAtlasFlags_NoBakedLines = 1 << 2,
1343}ImFontAtlasFlags_;
1344typedef struct ImVector_ImFontPtr {int Size;int Capacity;ImFont** Data;} ImVector_ImFontPtr;
1345
1346typedef struct ImVector_ImFontAtlasCustomRect {int Size;int Capacity;ImFontAtlasCustomRect* Data;} ImVector_ImFontAtlasCustomRect;
1347
1348typedef struct ImVector_ImFontConfig {int Size;int Capacity;ImFontConfig* Data;} ImVector_ImFontConfig;
1349
1350struct ImFontAtlas
1351{
1352 ImFontAtlasFlags Flags;
1353 ImTextureID TexID;
1354 int TexDesiredWidth;
1355 int TexGlyphPadding;
1356 bool Locked;
1357 void* UserData;
1358 bool TexReady;
1359 bool TexPixelsUseColors;
1360 unsigned char* TexPixelsAlpha8;
1361 unsigned int* TexPixelsRGBA32;
1362 int TexWidth;
1363 int TexHeight;
1364 ImVec2 TexUvScale;
1365 ImVec2 TexUvWhitePixel;
1366 ImVector_ImFontPtr Fonts;
1367 ImVector_ImFontAtlasCustomRect CustomRects;
1368 ImVector_ImFontConfig ConfigData;
1369 ImVec4 TexUvLines[(63) + 1];
1370 const ImFontBuilderIO* FontBuilderIO;
1371 unsigned int FontBuilderFlags;
1372 int PackIdMouseCursors;
1373 int PackIdLines;
1374};
1375typedef struct ImVector_float {int Size;int Capacity;float* Data;} ImVector_float;
1376
1377typedef struct ImVector_ImFontGlyph {int Size;int Capacity;ImFontGlyph* Data;} ImVector_ImFontGlyph;
1378
1379struct ImFont
1380{
1381 ImVector_float IndexAdvanceX;
1382 float FallbackAdvanceX;
1383 float FontSize;
1384 ImVector_ImWchar IndexLookup;
1385 ImVector_ImFontGlyph Glyphs;
1386 const ImFontGlyph* FallbackGlyph;
1387 ImFontAtlas* ContainerAtlas;
1388 const ImFontConfig* ConfigData;
1389 short ConfigDataCount;
1390 ImWchar FallbackChar;
1391 ImWchar EllipsisChar;
1392 short EllipsisCharCount;
1393 float EllipsisWidth;
1394 float EllipsisCharStep;
1395 bool DirtyLookupTables;
1396 float Scale;
1397 float Ascent, Descent;
1398 int MetricsTotalSurface;
1399 ImU8 Used4kPagesMap[(0xFFFF +1)/4096/8];
1400};
1401typedef enum {
1402 ImGuiViewportFlags_None = 0,
1403 ImGuiViewportFlags_IsPlatformWindow = 1 << 0,
1404 ImGuiViewportFlags_IsPlatformMonitor = 1 << 1,
1405 ImGuiViewportFlags_OwnedByApp = 1 << 2,
1406 ImGuiViewportFlags_NoDecoration = 1 << 3,
1407 ImGuiViewportFlags_NoTaskBarIcon = 1 << 4,
1408 ImGuiViewportFlags_NoFocusOnAppearing = 1 << 5,
1409 ImGuiViewportFlags_NoFocusOnClick = 1 << 6,
1410 ImGuiViewportFlags_NoInputs = 1 << 7,
1411 ImGuiViewportFlags_NoRendererClear = 1 << 8,
1412 ImGuiViewportFlags_NoAutoMerge = 1 << 9,
1413 ImGuiViewportFlags_TopMost = 1 << 10,
1414 ImGuiViewportFlags_CanHostOtherWindows = 1 << 11,
1415 ImGuiViewportFlags_IsMinimized = 1 << 12,
1416 ImGuiViewportFlags_IsFocused = 1 << 13,
1417}ImGuiViewportFlags_;
1418struct ImGuiViewport
1419{
1420 ImGuiID ID;
1421 ImGuiViewportFlags Flags;
1422 ImVec2 Pos;
1423 ImVec2 Size;
1424 ImVec2 WorkPos;
1425 ImVec2 WorkSize;
1426 float DpiScale;
1427 ImGuiID ParentViewportId;
1428 ImDrawData* DrawData;
1429 void* RendererUserData;
1430 void* PlatformUserData;
1431 void* PlatformHandle;
1432 void* PlatformHandleRaw;
1433 bool PlatformWindowCreated;
1434 bool PlatformRequestMove;
1435 bool PlatformRequestResize;
1436 bool PlatformRequestClose;
1437};
1438typedef struct ImVector_ImGuiPlatformMonitor {int Size;int Capacity;ImGuiPlatformMonitor* Data;} ImVector_ImGuiPlatformMonitor;
1439
1440typedef struct ImVector_ImGuiViewportPtr {int Size;int Capacity;ImGuiViewport** Data;} ImVector_ImGuiViewportPtr;
1441
1442struct ImGuiPlatformIO
1443{
1444 void (*Platform_CreateWindow)(ImGuiViewport* vp);
1445 void (*Platform_DestroyWindow)(ImGuiViewport* vp);
1446 void (*Platform_ShowWindow)(ImGuiViewport* vp);
1447 void (*Platform_SetWindowPos)(ImGuiViewport* vp, ImVec2 pos);
1448 ImVec2 (*Platform_GetWindowPos)(ImGuiViewport* vp);
1449 void (*Platform_SetWindowSize)(ImGuiViewport* vp, ImVec2 size);
1450 ImVec2 (*Platform_GetWindowSize)(ImGuiViewport* vp);
1451 void (*Platform_SetWindowFocus)(ImGuiViewport* vp);
1452 bool (*Platform_GetWindowFocus)(ImGuiViewport* vp);
1453 bool (*Platform_GetWindowMinimized)(ImGuiViewport* vp);
1454 void (*Platform_SetWindowTitle)(ImGuiViewport* vp, const char* str);
1455 void (*Platform_SetWindowAlpha)(ImGuiViewport* vp, float alpha);
1456 void (*Platform_UpdateWindow)(ImGuiViewport* vp);
1457 void (*Platform_RenderWindow)(ImGuiViewport* vp, void* render_arg);
1458 void (*Platform_SwapBuffers)(ImGuiViewport* vp, void* render_arg);
1459 float (*Platform_GetWindowDpiScale)(ImGuiViewport* vp);
1460 void (*Platform_OnChangedViewport)(ImGuiViewport* vp);
1461 int (*Platform_CreateVkSurface)(ImGuiViewport* vp, ImU64 vk_inst, const void* vk_allocators, ImU64* out_vk_surface);
1462 void (*Renderer_CreateWindow)(ImGuiViewport* vp);
1463 void (*Renderer_DestroyWindow)(ImGuiViewport* vp);
1464 void (*Renderer_SetWindowSize)(ImGuiViewport* vp, ImVec2 size);
1465 void (*Renderer_RenderWindow)(ImGuiViewport* vp, void* render_arg);
1466 void (*Renderer_SwapBuffers)(ImGuiViewport* vp, void* render_arg);
1467 ImVector_ImGuiPlatformMonitor Monitors;
1468 ImVector_ImGuiViewportPtr Viewports;
1469};
1470struct ImGuiPlatformMonitor
1471{
1472 ImVec2 MainPos, MainSize;
1473 ImVec2 WorkPos, WorkSize;
1474 float DpiScale;
1475 void* PlatformHandle;
1476};
1477struct ImGuiPlatformImeData
1478{
1479 bool WantVisible;
1480 ImVec2 InputPos;
1481 float InputLineHeight;
1482};
1483struct ImBitVector;
1484struct ImRect;
1485struct ImDrawDataBuilder;
1486struct ImDrawListSharedData;
1487struct ImGuiColorMod;
1488struct ImGuiContext;
1489struct ImGuiContextHook;
1490struct ImGuiDataVarInfo;
1491struct ImGuiDataTypeInfo;
1492struct ImGuiDockContext;
1493struct ImGuiDockRequest;
1494struct ImGuiDockNode;
1495struct ImGuiDockNodeSettings;
1496struct ImGuiGroupData;
1497struct ImGuiInputTextState;
1498struct ImGuiInputTextDeactivateData;
1499struct ImGuiLastItemData;
1500struct ImGuiLocEntry;
1501struct ImGuiMenuColumns;
1502struct ImGuiNavItemData;
1503struct ImGuiNavTreeNodeData;
1504struct ImGuiMetricsConfig;
1505struct ImGuiNextWindowData;
1506struct ImGuiNextItemData;
1507struct ImGuiOldColumnData;
1508struct ImGuiOldColumns;
1509struct ImGuiPopupData;
1510struct ImGuiSettingsHandler;
1511struct ImGuiStackSizes;
1512struct ImGuiStyleMod;
1513struct ImGuiTabBar;
1514struct ImGuiTabItem;
1515struct ImGuiTable;
1516struct ImGuiTableHeaderData;
1517struct ImGuiTableColumn;
1518struct ImGuiTableInstanceData;
1519struct ImGuiTableTempData;
1520struct ImGuiTableSettings;
1521struct ImGuiTableColumnsSettings;
1522struct ImGuiTypingSelectState;
1523struct ImGuiTypingSelectRequest;
1524struct ImGuiWindow;
1525struct ImGuiWindowDockStyle;
1526struct ImGuiWindowTempData;
1527struct ImGuiWindowSettings;
1528typedef int ImGuiDataAuthority;
1529typedef int ImGuiLayoutType;
1530typedef int ImGuiActivateFlags;
1531typedef int ImGuiDebugLogFlags;
1532typedef int ImGuiFocusRequestFlags;
1533typedef int ImGuiItemFlags;
1534typedef int ImGuiItemStatusFlags;
1535typedef int ImGuiOldColumnFlags;
1536typedef int ImGuiNavHighlightFlags;
1537typedef int ImGuiNavMoveFlags;
1538typedef int ImGuiNextItemDataFlags;
1539typedef int ImGuiNextWindowDataFlags;
1540typedef int ImGuiScrollFlags;
1541typedef int ImGuiSeparatorFlags;
1542typedef int ImGuiTextFlags;
1543typedef int ImGuiTooltipFlags;
1544typedef int ImGuiTypingSelectFlags;
1545typedef int ImGuiWindowRefreshFlags;
1546typedef void (*ImGuiErrorLogCallback)(void* user_data, const char* fmt, ...);
1547extern ImGuiContext* GImGui;
1548typedef struct StbUndoRecord StbUndoRecord;
1549struct StbUndoRecord
1550{
1551 int where;
1552 int insert_length;
1553 int delete_length;
1554 int char_storage;
1555};
1556typedef struct StbUndoState StbUndoState;
1557struct StbUndoState
1558{
1559 StbUndoRecord undo_rec [99];
1560 ImWchar undo_char[999];
1561 short undo_point, redo_point;
1562 int undo_char_point, redo_char_point;
1563};
1564typedef struct STB_TexteditState STB_TexteditState;
1565struct STB_TexteditState
1566{
1567 int cursor;
1568 int select_start;
1569 int select_end;
1570 unsigned char insert_mode;
1571 int row_count_per_page;
1572 unsigned char cursor_at_end_of_line;
1573 unsigned char initialized;
1574 unsigned char has_preferred_x;
1575 unsigned char single_line;
1576 unsigned char padding1, padding2, padding3;
1577 float preferred_x;
1578 StbUndoState undostate;
1579};
1580typedef struct StbTexteditRow StbTexteditRow;
1581struct StbTexteditRow
1582{
1583 float x0,x1;
1584 float baseline_y_delta;
1585 float ymin,ymax;
1586 int num_chars;
1587};
1588typedef FILE* ImFileHandle;
1589typedef struct ImVec1 ImVec1;
1590struct ImVec1
1591{
1592 float x;
1593};
1594typedef struct ImVec2ih ImVec2ih;
1595struct ImVec2ih
1596{
1597 short x, y;
1598};
1599struct ImRect
1600{
1601 ImVec2 Min;
1602 ImVec2 Max;
1603};
1604typedef ImU32* ImBitArrayPtr;
1605struct ImBitVector
1606{
1607 ImVector_ImU32 Storage;
1608};
1609typedef int ImPoolIdx;
1610typedef struct ImGuiTextIndex ImGuiTextIndex;
1611typedef struct ImVector_int {int Size;int Capacity;int* Data;} ImVector_int;
1612
1613struct ImGuiTextIndex
1614{
1615 ImVector_int LineOffsets;
1616 int EndOffset;
1617};
1618struct ImDrawListSharedData
1619{
1620 ImVec2 TexUvWhitePixel;
1621 ImFont* Font;
1622 float FontSize;
1623 float CurveTessellationTol;
1624 float CircleSegmentMaxError;
1625 ImVec4 ClipRectFullscreen;
1626 ImDrawListFlags InitialFlags;
1627 ImVector_ImVec2 TempBuffer;
1628 ImVec2 ArcFastVtx[48];
1629 float ArcFastRadiusCutoff;
1630 ImU8 CircleSegmentCounts[64];
1631 const ImVec4* TexUvLines;
1632};
1633struct ImDrawDataBuilder
1634{
1635 ImVector_ImDrawListPtr* Layers[2];
1636 ImVector_ImDrawListPtr LayerData1;
1637};
1638struct ImGuiDataVarInfo
1639{
1640 ImGuiDataType Type;
1641 ImU32 Count;
1642 ImU32 Offset;
1643};
1644typedef struct ImGuiDataTypeStorage ImGuiDataTypeStorage;
1645struct ImGuiDataTypeStorage
1646{
1647 ImU8 Data[8];
1648};
1649struct ImGuiDataTypeInfo
1650{
1651 size_t Size;
1652 const char* Name;
1653 const char* PrintFmt;
1654 const char* ScanFmt;
1655};
1656typedef enum {
1657 ImGuiDataType_String = ImGuiDataType_COUNT + 1,
1658 ImGuiDataType_Pointer,
1659 ImGuiDataType_ID,
1660}ImGuiDataTypePrivate_;
1661typedef enum {
1662 ImGuiItemFlags_None = 0,
1663 ImGuiItemFlags_NoTabStop = 1 << 0,
1664 ImGuiItemFlags_ButtonRepeat = 1 << 1,
1665 ImGuiItemFlags_Disabled = 1 << 2,
1666 ImGuiItemFlags_NoNav = 1 << 3,
1667 ImGuiItemFlags_NoNavDefaultFocus = 1 << 4,
1668 ImGuiItemFlags_SelectableDontClosePopup = 1 << 5,
1669 ImGuiItemFlags_MixedValue = 1 << 6,
1670 ImGuiItemFlags_ReadOnly = 1 << 7,
1671 ImGuiItemFlags_NoWindowHoverableCheck = 1 << 8,
1672 ImGuiItemFlags_AllowOverlap = 1 << 9,
1673 ImGuiItemFlags_Inputable = 1 << 10,
1674 ImGuiItemFlags_HasSelectionUserData = 1 << 11,
1675}ImGuiItemFlags_;
1676typedef enum {
1677 ImGuiItemStatusFlags_None = 0,
1678 ImGuiItemStatusFlags_HoveredRect = 1 << 0,
1679 ImGuiItemStatusFlags_HasDisplayRect = 1 << 1,
1680 ImGuiItemStatusFlags_Edited = 1 << 2,
1681 ImGuiItemStatusFlags_ToggledSelection = 1 << 3,
1682 ImGuiItemStatusFlags_ToggledOpen = 1 << 4,
1683 ImGuiItemStatusFlags_HasDeactivated = 1 << 5,
1684 ImGuiItemStatusFlags_Deactivated = 1 << 6,
1685 ImGuiItemStatusFlags_HoveredWindow = 1 << 7,
1686 ImGuiItemStatusFlags_Visible = 1 << 8,
1687 ImGuiItemStatusFlags_HasClipRect = 1 << 9,
1688 ImGuiItemStatusFlags_HasShortcut = 1 << 10,
1689}ImGuiItemStatusFlags_;
1690typedef enum {
1691 ImGuiHoveredFlags_DelayMask_ = ImGuiHoveredFlags_DelayNone | ImGuiHoveredFlags_DelayShort | ImGuiHoveredFlags_DelayNormal | ImGuiHoveredFlags_NoSharedDelay,
1692 ImGuiHoveredFlags_AllowedMaskForIsWindowHovered = ImGuiHoveredFlags_ChildWindows | ImGuiHoveredFlags_RootWindow | ImGuiHoveredFlags_AnyWindow | ImGuiHoveredFlags_NoPopupHierarchy | ImGuiHoveredFlags_DockHierarchy | ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_ForTooltip | ImGuiHoveredFlags_Stationary,
1693 ImGuiHoveredFlags_AllowedMaskForIsItemHovered = ImGuiHoveredFlags_AllowWhenBlockedByPopup | ImGuiHoveredFlags_AllowWhenBlockedByActiveItem | ImGuiHoveredFlags_AllowWhenOverlapped | ImGuiHoveredFlags_AllowWhenDisabled | ImGuiHoveredFlags_NoNavOverride | ImGuiHoveredFlags_ForTooltip | ImGuiHoveredFlags_Stationary | ImGuiHoveredFlags_DelayMask_,
1694}ImGuiHoveredFlagsPrivate_;
1695typedef enum {
1696 ImGuiInputTextFlags_Multiline = 1 << 26,
1697 ImGuiInputTextFlags_NoMarkEdited = 1 << 27,
1698 ImGuiInputTextFlags_MergedItem = 1 << 28,
1699 ImGuiInputTextFlags_LocalizeDecimalPoint= 1 << 29,
1700}ImGuiInputTextFlagsPrivate_;
1701typedef enum {
1702 ImGuiButtonFlags_PressedOnClick = 1 << 4,
1703 ImGuiButtonFlags_PressedOnClickRelease = 1 << 5,
1704 ImGuiButtonFlags_PressedOnClickReleaseAnywhere = 1 << 6,
1705 ImGuiButtonFlags_PressedOnRelease = 1 << 7,
1706 ImGuiButtonFlags_PressedOnDoubleClick = 1 << 8,
1707 ImGuiButtonFlags_PressedOnDragDropHold = 1 << 9,
1708 ImGuiButtonFlags_Repeat = 1 << 10,
1709 ImGuiButtonFlags_FlattenChildren = 1 << 11,
1710 ImGuiButtonFlags_AllowOverlap = 1 << 12,
1711 ImGuiButtonFlags_DontClosePopups = 1 << 13,
1712 ImGuiButtonFlags_AlignTextBaseLine = 1 << 15,
1713 ImGuiButtonFlags_NoKeyModifiers = 1 << 16,
1714 ImGuiButtonFlags_NoHoldingActiveId = 1 << 17,
1715 ImGuiButtonFlags_NoNavFocus = 1 << 18,
1716 ImGuiButtonFlags_NoHoveredOnFocus = 1 << 19,
1717 ImGuiButtonFlags_NoSetKeyOwner = 1 << 20,
1718 ImGuiButtonFlags_NoTestKeyOwner = 1 << 21,
1719 ImGuiButtonFlags_PressedOnMask_ = ImGuiButtonFlags_PressedOnClick | ImGuiButtonFlags_PressedOnClickRelease | ImGuiButtonFlags_PressedOnClickReleaseAnywhere | ImGuiButtonFlags_PressedOnRelease | ImGuiButtonFlags_PressedOnDoubleClick | ImGuiButtonFlags_PressedOnDragDropHold,
1720 ImGuiButtonFlags_PressedOnDefault_ = ImGuiButtonFlags_PressedOnClickRelease,
1721}ImGuiButtonFlagsPrivate_;
1722typedef enum {
1723 ImGuiComboFlags_CustomPreview = 1 << 20,
1724}ImGuiComboFlagsPrivate_;
1725typedef enum {
1726 ImGuiSliderFlags_Vertical = 1 << 20,
1727 ImGuiSliderFlags_ReadOnly = 1 << 21,
1728}ImGuiSliderFlagsPrivate_;
1729typedef enum {
1730 ImGuiSelectableFlags_NoHoldingActiveID = 1 << 20,
1731 ImGuiSelectableFlags_SelectOnNav = 1 << 21,
1732 ImGuiSelectableFlags_SelectOnClick = 1 << 22,
1733 ImGuiSelectableFlags_SelectOnRelease = 1 << 23,
1734 ImGuiSelectableFlags_SpanAvailWidth = 1 << 24,
1735 ImGuiSelectableFlags_SetNavIdOnHover = 1 << 25,
1736 ImGuiSelectableFlags_NoPadWithHalfSpacing = 1 << 26,
1737 ImGuiSelectableFlags_NoSetKeyOwner = 1 << 27,
1738}ImGuiSelectableFlagsPrivate_;
1739typedef enum {
1740 ImGuiTreeNodeFlags_ClipLabelForTrailingButton = 1 << 20,
1741 ImGuiTreeNodeFlags_UpsideDownArrow = 1 << 21,
1742}ImGuiTreeNodeFlagsPrivate_;
1743typedef enum {
1744 ImGuiSeparatorFlags_None = 0,
1745 ImGuiSeparatorFlags_Horizontal = 1 << 0,
1746 ImGuiSeparatorFlags_Vertical = 1 << 1,
1747 ImGuiSeparatorFlags_SpanAllColumns = 1 << 2,
1748}ImGuiSeparatorFlags_;
1749typedef enum {
1750 ImGuiFocusRequestFlags_None = 0,
1751 ImGuiFocusRequestFlags_RestoreFocusedChild = 1 << 0,
1752 ImGuiFocusRequestFlags_UnlessBelowModal = 1 << 1,
1753}ImGuiFocusRequestFlags_;
1754typedef enum {
1755 ImGuiTextFlags_None = 0,
1756 ImGuiTextFlags_NoWidthForLargeClippedText = 1 << 0,
1757}ImGuiTextFlags_;
1758typedef enum {
1759 ImGuiTooltipFlags_None = 0,
1760 ImGuiTooltipFlags_OverridePrevious = 1 << 1,
1761}ImGuiTooltipFlags_;
1762typedef enum {
1763 ImGuiLayoutType_Horizontal = 0,
1764 ImGuiLayoutType_Vertical = 1
1765}ImGuiLayoutType_;
1766typedef enum {
1767 ImGuiLogType_None = 0,
1768 ImGuiLogType_TTY,
1769 ImGuiLogType_File,
1770 ImGuiLogType_Buffer,
1771 ImGuiLogType_Clipboard,
1772}ImGuiLogType;
1773typedef enum {
1774 ImGuiAxis_None = -1,
1775 ImGuiAxis_X = 0,
1776 ImGuiAxis_Y = 1
1777}ImGuiAxis;
1778typedef enum {
1779 ImGuiPlotType_Lines,
1780 ImGuiPlotType_Histogram,
1781}ImGuiPlotType;
1782struct ImGuiColorMod
1783{
1784 ImGuiCol Col;
1785 ImVec4 BackupValue;
1786};
1787struct ImGuiStyleMod
1788{
1789 ImGuiStyleVar VarIdx;
1790 union { int BackupInt[2]; float BackupFloat[2]; };
1791};
1792typedef struct ImGuiComboPreviewData ImGuiComboPreviewData;
1793struct ImGuiComboPreviewData
1794{
1795 ImRect PreviewRect;
1796 ImVec2 BackupCursorPos;
1797 ImVec2 BackupCursorMaxPos;
1798 ImVec2 BackupCursorPosPrevLine;
1799 float BackupPrevLineTextBaseOffset;
1800 ImGuiLayoutType BackupLayout;
1801};
1802struct ImGuiGroupData
1803{
1804 ImGuiID WindowID;
1805 ImVec2 BackupCursorPos;
1806 ImVec2 BackupCursorMaxPos;
1807 ImVec2 BackupCursorPosPrevLine;
1808 ImVec1 BackupIndent;
1809 ImVec1 BackupGroupOffset;
1810 ImVec2 BackupCurrLineSize;
1811 float BackupCurrLineTextBaseOffset;
1812 ImGuiID BackupActiveIdIsAlive;
1813 bool BackupActiveIdPreviousFrameIsAlive;
1814 bool BackupHoveredIdIsAlive;
1815 bool BackupIsSameLine;
1816 bool EmitItem;
1817};
1818struct ImGuiMenuColumns
1819{
1820 ImU32 TotalWidth;
1821 ImU32 NextTotalWidth;
1822 ImU16 Spacing;
1823 ImU16 OffsetIcon;
1824 ImU16 OffsetLabel;
1825 ImU16 OffsetShortcut;
1826 ImU16 OffsetMark;
1827 ImU16 Widths[4];
1828};
1829typedef struct ImGuiInputTextDeactivatedState ImGuiInputTextDeactivatedState;
1830struct ImGuiInputTextDeactivatedState
1831{
1832 ImGuiID ID;
1833 ImVector_char TextA;
1834};
1835struct ImGuiInputTextState
1836{
1837 ImGuiContext* Ctx;
1838 ImGuiID ID;
1839 int CurLenW, CurLenA;
1840 ImVector_ImWchar TextW;
1841 ImVector_char TextA;
1842 ImVector_char InitialTextA;
1843 bool TextAIsValid;
1844 int BufCapacityA;
1845 float ScrollX;
1846 STB_TexteditState Stb;
1847 float CursorAnim;
1848 bool CursorFollow;
1849 bool SelectedAllMouseLock;
1850 bool Edited;
1851 ImGuiInputTextFlags Flags;
1852 bool ReloadUserBuf;
1853 int ReloadSelectionStart;
1854 int ReloadSelectionEnd;
1855};
1856typedef enum {
1857 ImGuiWindowRefreshFlags_None = 0,
1858 ImGuiWindowRefreshFlags_TryToAvoidRefresh = 1 << 0,
1859 ImGuiWindowRefreshFlags_RefreshOnHover = 1 << 1,
1860 ImGuiWindowRefreshFlags_RefreshOnFocus = 1 << 2,
1861}ImGuiWindowRefreshFlags_;
1862typedef enum {
1863 ImGuiNextWindowDataFlags_None = 0,
1864 ImGuiNextWindowDataFlags_HasPos = 1 << 0,
1865 ImGuiNextWindowDataFlags_HasSize = 1 << 1,
1866 ImGuiNextWindowDataFlags_HasContentSize = 1 << 2,
1867 ImGuiNextWindowDataFlags_HasCollapsed = 1 << 3,
1868 ImGuiNextWindowDataFlags_HasSizeConstraint = 1 << 4,
1869 ImGuiNextWindowDataFlags_HasFocus = 1 << 5,
1870 ImGuiNextWindowDataFlags_HasBgAlpha = 1 << 6,
1871 ImGuiNextWindowDataFlags_HasScroll = 1 << 7,
1872 ImGuiNextWindowDataFlags_HasChildFlags = 1 << 8,
1873 ImGuiNextWindowDataFlags_HasRefreshPolicy = 1 << 9,
1874 ImGuiNextWindowDataFlags_HasViewport = 1 << 10,
1875 ImGuiNextWindowDataFlags_HasDock = 1 << 11,
1876 ImGuiNextWindowDataFlags_HasWindowClass = 1 << 12,
1877}ImGuiNextWindowDataFlags_;
1878struct ImGuiNextWindowData
1879{
1880 ImGuiNextWindowDataFlags Flags;
1881 ImGuiCond PosCond;
1882 ImGuiCond SizeCond;
1883 ImGuiCond CollapsedCond;
1884 ImGuiCond DockCond;
1885 ImVec2 PosVal;
1886 ImVec2 PosPivotVal;
1887 ImVec2 SizeVal;
1888 ImVec2 ContentSizeVal;
1889 ImVec2 ScrollVal;
1890 ImGuiChildFlags ChildFlags;
1891 bool PosUndock;
1892 bool CollapsedVal;
1893 ImRect SizeConstraintRect;
1894 ImGuiSizeCallback SizeCallback;
1895 void* SizeCallbackUserData;
1896 float BgAlphaVal;
1897 ImGuiID ViewportId;
1898 ImGuiID DockId;
1899 ImGuiWindowClass WindowClass;
1900 ImVec2 MenuBarOffsetMinVal;
1901 ImGuiWindowRefreshFlags RefreshFlagsVal;
1902};
1903typedef ImS64 ImGuiSelectionUserData;
1904typedef enum {
1905 ImGuiNextItemDataFlags_None = 0,
1906 ImGuiNextItemDataFlags_HasWidth = 1 << 0,
1907 ImGuiNextItemDataFlags_HasOpen = 1 << 1,
1908 ImGuiNextItemDataFlags_HasShortcut = 1 << 2,
1909 ImGuiNextItemDataFlags_HasRefVal = 1 << 3,
1910}ImGuiNextItemDataFlags_;
1911struct ImGuiNextItemData
1912{
1913 ImGuiNextItemDataFlags Flags;
1914 ImGuiItemFlags ItemFlags;
1915 ImGuiSelectionUserData SelectionUserData;
1916 float Width;
1917 ImGuiKeyChord Shortcut;
1918 ImGuiInputFlags ShortcutFlags;
1919 bool OpenVal;
1920 ImU8 OpenCond;
1921 ImGuiDataTypeStorage RefVal;
1922};
1923struct ImGuiLastItemData
1924{
1925 ImGuiID ID;
1926 ImGuiItemFlags InFlags;
1927 ImGuiItemStatusFlags StatusFlags;
1928 ImRect Rect;
1929 ImRect NavRect;
1930 ImRect DisplayRect;
1931 ImRect ClipRect;
1932 ImGuiKeyChord Shortcut;
1933};
1934struct ImGuiNavTreeNodeData
1935{
1936 ImGuiID ID;
1937 ImGuiItemFlags InFlags;
1938 ImRect NavRect;
1939};
1940struct ImGuiStackSizes
1941{
1942 short SizeOfIDStack;
1943 short SizeOfColorStack;
1944 short SizeOfStyleVarStack;
1945 short SizeOfFontStack;
1946 short SizeOfFocusScopeStack;
1947 short SizeOfGroupStack;
1948 short SizeOfItemFlagsStack;
1949 short SizeOfBeginPopupStack;
1950 short SizeOfDisabledStack;
1951};
1952typedef struct ImGuiWindowStackData ImGuiWindowStackData;
1953struct ImGuiWindowStackData
1954{
1955 ImGuiWindow* Window;
1956 ImGuiLastItemData ParentLastItemDataBackup;
1957 ImGuiStackSizes StackSizesOnBegin;
1958 bool DisabledOverrideReenable;
1959};
1960typedef struct ImGuiShrinkWidthItem ImGuiShrinkWidthItem;
1961struct ImGuiShrinkWidthItem
1962{
1963 int Index;
1964 float Width;
1965 float InitialWidth;
1966};
1967typedef struct ImGuiPtrOrIndex ImGuiPtrOrIndex;
1968struct ImGuiPtrOrIndex
1969{
1970 void* Ptr;
1971 int Index;
1972};
1973typedef enum {
1974 ImGuiPopupPositionPolicy_Default,
1975 ImGuiPopupPositionPolicy_ComboBox,
1976 ImGuiPopupPositionPolicy_Tooltip,
1977}ImGuiPopupPositionPolicy;
1978struct ImGuiPopupData
1979{
1980 ImGuiID PopupId;
1981 ImGuiWindow* Window;
1982 ImGuiWindow* RestoreNavWindow;
1983 int ParentNavLayer;
1984 int OpenFrameCount;
1985 ImGuiID OpenParentId;
1986 ImVec2 OpenPopupPos;
1987 ImVec2 OpenMousePos;
1988};
1989typedef struct ImBitArray_ImGuiKey_NamedKey_COUNT__lessImGuiKey_NamedKey_BEGIN {ImU32 Storage[(ImGuiKey_NamedKey_COUNT+31)>>5];} ImBitArray_ImGuiKey_NamedKey_COUNT__lessImGuiKey_NamedKey_BEGIN;
1990
1991typedef ImBitArray_ImGuiKey_NamedKey_COUNT__lessImGuiKey_NamedKey_BEGIN ImBitArrayForNamedKeys;
1992typedef enum {
1993 ImGuiInputEventType_None = 0,
1994 ImGuiInputEventType_MousePos,
1995 ImGuiInputEventType_MouseWheel,
1996 ImGuiInputEventType_MouseButton,
1997 ImGuiInputEventType_MouseViewport,
1998 ImGuiInputEventType_Key,
1999 ImGuiInputEventType_Text,
2000 ImGuiInputEventType_Focus,
2001 ImGuiInputEventType_COUNT
2002}ImGuiInputEventType;
2003typedef enum {
2004 ImGuiInputSource_None = 0,
2005 ImGuiInputSource_Mouse,
2006 ImGuiInputSource_Keyboard,
2007 ImGuiInputSource_Gamepad,
2008 ImGuiInputSource_COUNT
2009}ImGuiInputSource;
2010typedef struct ImGuiInputEventMousePos ImGuiInputEventMousePos;
2011struct ImGuiInputEventMousePos
2012{ float PosX, PosY; ImGuiMouseSource MouseSource;
2013};
2014typedef struct ImGuiInputEventMouseWheel ImGuiInputEventMouseWheel;
2015struct ImGuiInputEventMouseWheel
2016{ float WheelX, WheelY; ImGuiMouseSource MouseSource;
2017};
2018typedef struct ImGuiInputEventMouseButton ImGuiInputEventMouseButton;
2019struct ImGuiInputEventMouseButton
2020{ int Button; bool Down; ImGuiMouseSource MouseSource;
2021};
2022typedef struct ImGuiInputEventMouseViewport ImGuiInputEventMouseViewport;
2023struct ImGuiInputEventMouseViewport
2024{ ImGuiID HoveredViewportID;
2025};
2026typedef struct ImGuiInputEventKey ImGuiInputEventKey;
2027struct ImGuiInputEventKey
2028{ ImGuiKey Key; bool Down; float AnalogValue;
2029};
2030typedef struct ImGuiInputEventText ImGuiInputEventText;
2031struct ImGuiInputEventText
2032{ unsigned int Char;
2033};
2034typedef struct ImGuiInputEventAppFocused ImGuiInputEventAppFocused;
2035struct ImGuiInputEventAppFocused
2036{ bool Focused;
2037};
2038typedef struct ImGuiInputEvent ImGuiInputEvent;
2039struct ImGuiInputEvent
2040{
2041 ImGuiInputEventType Type;
2042 ImGuiInputSource Source;
2043 ImU32 EventId;
2044 union
2045 {
2046 ImGuiInputEventMousePos MousePos;
2047 ImGuiInputEventMouseWheel MouseWheel;
2048 ImGuiInputEventMouseButton MouseButton;
2049 ImGuiInputEventMouseViewport MouseViewport;
2050 ImGuiInputEventKey Key;
2051 ImGuiInputEventText Text;
2052 ImGuiInputEventAppFocused AppFocused;
2053 };
2054 bool AddedByTestEngine;
2055};
2056typedef ImS16 ImGuiKeyRoutingIndex;
2057typedef struct ImGuiKeyRoutingData ImGuiKeyRoutingData;
2058struct ImGuiKeyRoutingData
2059{
2060 ImGuiKeyRoutingIndex NextEntryIndex;
2061 ImU16 Mods;
2062 ImU8 RoutingCurrScore;
2063 ImU8 RoutingNextScore;
2064 ImGuiID RoutingCurr;
2065 ImGuiID RoutingNext;
2066};
2067typedef struct ImGuiKeyRoutingTable ImGuiKeyRoutingTable;
2068typedef struct ImVector_ImGuiKeyRoutingData {int Size;int Capacity;ImGuiKeyRoutingData* Data;} ImVector_ImGuiKeyRoutingData;
2069
2070struct ImGuiKeyRoutingTable
2071{
2072 ImGuiKeyRoutingIndex Index[ImGuiKey_NamedKey_COUNT];
2073 ImVector_ImGuiKeyRoutingData Entries;
2074 ImVector_ImGuiKeyRoutingData EntriesNext;
2075};
2076typedef struct ImGuiKeyOwnerData ImGuiKeyOwnerData;
2077struct ImGuiKeyOwnerData
2078{
2079 ImGuiID OwnerCurr;
2080 ImGuiID OwnerNext;
2081 bool LockThisFrame;
2082 bool LockUntilRelease;
2083};
2084typedef enum {
2085 ImGuiInputFlags_RepeatRateDefault = 1 << 1,
2086 ImGuiInputFlags_RepeatRateNavMove = 1 << 2,
2087 ImGuiInputFlags_RepeatRateNavTweak = 1 << 3,
2088 ImGuiInputFlags_RepeatUntilRelease = 1 << 4,
2089 ImGuiInputFlags_RepeatUntilKeyModsChange = 1 << 5,
2090 ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone = 1 << 6,
2091 ImGuiInputFlags_RepeatUntilOtherKeyPress = 1 << 7,
2092 ImGuiInputFlags_LockThisFrame = 1 << 20,
2093 ImGuiInputFlags_LockUntilRelease = 1 << 21,
2094 ImGuiInputFlags_CondHovered = 1 << 22,
2095 ImGuiInputFlags_CondActive = 1 << 23,
2096 ImGuiInputFlags_CondDefault_ = ImGuiInputFlags_CondHovered | ImGuiInputFlags_CondActive,
2097 ImGuiInputFlags_RepeatRateMask_ = ImGuiInputFlags_RepeatRateDefault | ImGuiInputFlags_RepeatRateNavMove | ImGuiInputFlags_RepeatRateNavTweak,
2098 ImGuiInputFlags_RepeatUntilMask_ = ImGuiInputFlags_RepeatUntilRelease | ImGuiInputFlags_RepeatUntilKeyModsChange | ImGuiInputFlags_RepeatUntilKeyModsChangeFromNone | ImGuiInputFlags_RepeatUntilOtherKeyPress,
2099 ImGuiInputFlags_RepeatMask_ = ImGuiInputFlags_Repeat | ImGuiInputFlags_RepeatRateMask_ | ImGuiInputFlags_RepeatUntilMask_,
2100 ImGuiInputFlags_CondMask_ = ImGuiInputFlags_CondHovered | ImGuiInputFlags_CondActive,
2101 ImGuiInputFlags_RouteTypeMask_ = ImGuiInputFlags_RouteActive | ImGuiInputFlags_RouteFocused | ImGuiInputFlags_RouteGlobal | ImGuiInputFlags_RouteAlways,
2102 ImGuiInputFlags_RouteOptionsMask_ = ImGuiInputFlags_RouteOverFocused | ImGuiInputFlags_RouteOverActive | ImGuiInputFlags_RouteUnlessBgFocused | ImGuiInputFlags_RouteFromRootWindow,
2103 ImGuiInputFlags_SupportedByIsKeyPressed = ImGuiInputFlags_RepeatMask_,
2104 ImGuiInputFlags_SupportedByIsMouseClicked = ImGuiInputFlags_Repeat,
2105 ImGuiInputFlags_SupportedByShortcut = ImGuiInputFlags_RepeatMask_ | ImGuiInputFlags_RouteTypeMask_ | ImGuiInputFlags_RouteOptionsMask_,
2106 ImGuiInputFlags_SupportedBySetNextItemShortcut = ImGuiInputFlags_RepeatMask_ | ImGuiInputFlags_RouteTypeMask_ | ImGuiInputFlags_RouteOptionsMask_ | ImGuiInputFlags_Tooltip,
2107 ImGuiInputFlags_SupportedBySetKeyOwner = ImGuiInputFlags_LockThisFrame | ImGuiInputFlags_LockUntilRelease,
2108 ImGuiInputFlags_SupportedBySetItemKeyOwner = ImGuiInputFlags_SupportedBySetKeyOwner | ImGuiInputFlags_CondMask_,
2109}ImGuiInputFlagsPrivate_;
2110typedef struct ImGuiListClipperRange ImGuiListClipperRange;
2111struct ImGuiListClipperRange
2112{
2113 int Min;
2114 int Max;
2115 bool PosToIndexConvert;
2116 ImS8 PosToIndexOffsetMin;
2117 ImS8 PosToIndexOffsetMax;
2118};
2119typedef struct ImGuiListClipperData ImGuiListClipperData;
2120typedef struct ImVector_ImGuiListClipperRange {int Size;int Capacity;ImGuiListClipperRange* Data;} ImVector_ImGuiListClipperRange;
2121
2122struct ImGuiListClipperData
2123{
2124 ImGuiListClipper* ListClipper;
2125 float LossynessOffset;
2126 int StepNo;
2127 int ItemsFrozen;
2128 ImVector_ImGuiListClipperRange Ranges;
2129};
2130typedef enum {
2131 ImGuiActivateFlags_None = 0,
2132 ImGuiActivateFlags_PreferInput = 1 << 0,
2133 ImGuiActivateFlags_PreferTweak = 1 << 1,
2134 ImGuiActivateFlags_TryToPreserveState = 1 << 2,
2135 ImGuiActivateFlags_FromTabbing = 1 << 3,
2136 ImGuiActivateFlags_FromShortcut = 1 << 4,
2137}ImGuiActivateFlags_;
2138typedef enum {
2139 ImGuiScrollFlags_None = 0,
2140 ImGuiScrollFlags_KeepVisibleEdgeX = 1 << 0,
2141 ImGuiScrollFlags_KeepVisibleEdgeY = 1 << 1,
2142 ImGuiScrollFlags_KeepVisibleCenterX = 1 << 2,
2143 ImGuiScrollFlags_KeepVisibleCenterY = 1 << 3,
2144 ImGuiScrollFlags_AlwaysCenterX = 1 << 4,
2145 ImGuiScrollFlags_AlwaysCenterY = 1 << 5,
2146 ImGuiScrollFlags_NoScrollParent = 1 << 6,
2147 ImGuiScrollFlags_MaskX_ = ImGuiScrollFlags_KeepVisibleEdgeX | ImGuiScrollFlags_KeepVisibleCenterX | ImGuiScrollFlags_AlwaysCenterX,
2148 ImGuiScrollFlags_MaskY_ = ImGuiScrollFlags_KeepVisibleEdgeY | ImGuiScrollFlags_KeepVisibleCenterY | ImGuiScrollFlags_AlwaysCenterY,
2149}ImGuiScrollFlags_;
2150typedef enum {
2151 ImGuiNavHighlightFlags_None = 0,
2152 ImGuiNavHighlightFlags_Compact = 1 << 1,
2153 ImGuiNavHighlightFlags_AlwaysDraw = 1 << 2,
2154 ImGuiNavHighlightFlags_NoRounding = 1 << 3,
2155}ImGuiNavHighlightFlags_;
2156typedef enum {
2157 ImGuiNavMoveFlags_None = 0,
2158 ImGuiNavMoveFlags_LoopX = 1 << 0,
2159 ImGuiNavMoveFlags_LoopY = 1 << 1,
2160 ImGuiNavMoveFlags_WrapX = 1 << 2,
2161 ImGuiNavMoveFlags_WrapY = 1 << 3,
2162 ImGuiNavMoveFlags_WrapMask_ = ImGuiNavMoveFlags_LoopX | ImGuiNavMoveFlags_LoopY | ImGuiNavMoveFlags_WrapX | ImGuiNavMoveFlags_WrapY,
2163 ImGuiNavMoveFlags_AllowCurrentNavId = 1 << 4,
2164 ImGuiNavMoveFlags_AlsoScoreVisibleSet = 1 << 5,
2165 ImGuiNavMoveFlags_ScrollToEdgeY = 1 << 6,
2166 ImGuiNavMoveFlags_Forwarded = 1 << 7,
2167 ImGuiNavMoveFlags_DebugNoResult = 1 << 8,
2168 ImGuiNavMoveFlags_FocusApi = 1 << 9,
2169 ImGuiNavMoveFlags_IsTabbing = 1 << 10,
2170 ImGuiNavMoveFlags_IsPageMove = 1 << 11,
2171 ImGuiNavMoveFlags_Activate = 1 << 12,
2172 ImGuiNavMoveFlags_NoSelect = 1 << 13,
2173 ImGuiNavMoveFlags_NoSetNavHighlight = 1 << 14,
2174 ImGuiNavMoveFlags_NoClearActiveId = 1 << 15,
2175}ImGuiNavMoveFlags_;
2176typedef enum {
2177 ImGuiNavLayer_Main = 0,
2178 ImGuiNavLayer_Menu = 1,
2179 ImGuiNavLayer_COUNT
2180}ImGuiNavLayer;
2181struct ImGuiNavItemData
2182{
2183 ImGuiWindow* Window;
2184 ImGuiID ID;
2185 ImGuiID FocusScopeId;
2186 ImRect RectRel;
2187 ImGuiItemFlags InFlags;
2188 float DistBox;
2189 float DistCenter;
2190 float DistAxial;
2191 ImGuiSelectionUserData SelectionUserData;
2192};
2193typedef struct ImGuiFocusScopeData ImGuiFocusScopeData;
2194struct ImGuiFocusScopeData
2195{
2196 ImGuiID ID;
2197 ImGuiID WindowID;
2198};
2199typedef enum {
2200 ImGuiTypingSelectFlags_None = 0,
2201 ImGuiTypingSelectFlags_AllowBackspace = 1 << 0,
2202 ImGuiTypingSelectFlags_AllowSingleCharMode = 1 << 1,
2203}ImGuiTypingSelectFlags_;
2204struct ImGuiTypingSelectRequest
2205{
2206 ImGuiTypingSelectFlags Flags;
2207 int SearchBufferLen;
2208 const char* SearchBuffer;
2209 bool SelectRequest;
2210 bool SingleCharMode;
2211 ImS8 SingleCharSize;
2212};
2213struct ImGuiTypingSelectState
2214{
2215 ImGuiTypingSelectRequest Request;
2216 char SearchBuffer[64];
2217 ImGuiID FocusScope;
2218 int LastRequestFrame;
2219 float LastRequestTime;
2220 bool SingleCharModeLock;
2221};
2222typedef enum {
2223 ImGuiOldColumnFlags_None = 0,
2224 ImGuiOldColumnFlags_NoBorder = 1 << 0,
2225 ImGuiOldColumnFlags_NoResize = 1 << 1,
2226 ImGuiOldColumnFlags_NoPreserveWidths = 1 << 2,
2227 ImGuiOldColumnFlags_NoForceWithinWindow = 1 << 3,
2228 ImGuiOldColumnFlags_GrowParentContentsSize = 1 << 4,
2229}ImGuiOldColumnFlags_;
2230struct ImGuiOldColumnData
2231{
2232 float OffsetNorm;
2233 float OffsetNormBeforeResize;
2234 ImGuiOldColumnFlags Flags;
2235 ImRect ClipRect;
2236};
2237typedef struct ImVector_ImGuiOldColumnData {int Size;int Capacity;ImGuiOldColumnData* Data;} ImVector_ImGuiOldColumnData;
2238
2239struct ImGuiOldColumns
2240{
2241 ImGuiID ID;
2242 ImGuiOldColumnFlags Flags;
2243 bool IsFirstFrame;
2244 bool IsBeingResized;
2245 int Current;
2246 int Count;
2247 float OffMinX, OffMaxX;
2248 float LineMinY, LineMaxY;
2249 float HostCursorPosY;
2250 float HostCursorMaxPosX;
2251 ImRect HostInitialClipRect;
2252 ImRect HostBackupClipRect;
2253 ImRect HostBackupParentWorkRect;
2254 ImVector_ImGuiOldColumnData Columns;
2255 ImDrawListSplitter Splitter;
2256};
2257typedef enum {
2258 ImGuiDockNodeFlags_DockSpace = 1 << 10,
2259 ImGuiDockNodeFlags_CentralNode = 1 << 11,
2260 ImGuiDockNodeFlags_NoTabBar = 1 << 12,
2261 ImGuiDockNodeFlags_HiddenTabBar = 1 << 13,
2262 ImGuiDockNodeFlags_NoWindowMenuButton = 1 << 14,
2263 ImGuiDockNodeFlags_NoCloseButton = 1 << 15,
2264 ImGuiDockNodeFlags_NoResizeX = 1 << 16,
2265 ImGuiDockNodeFlags_NoResizeY = 1 << 17,
2266 ImGuiDockNodeFlags_DockedWindowsInFocusRoute= 1 << 18,
2267 ImGuiDockNodeFlags_NoDockingSplitOther = 1 << 19,
2268 ImGuiDockNodeFlags_NoDockingOverMe = 1 << 20,
2269 ImGuiDockNodeFlags_NoDockingOverOther = 1 << 21,
2270 ImGuiDockNodeFlags_NoDockingOverEmpty = 1 << 22,
2271 ImGuiDockNodeFlags_NoDocking = ImGuiDockNodeFlags_NoDockingOverMe | ImGuiDockNodeFlags_NoDockingOverOther | ImGuiDockNodeFlags_NoDockingOverEmpty | ImGuiDockNodeFlags_NoDockingSplit | ImGuiDockNodeFlags_NoDockingSplitOther,
2272 ImGuiDockNodeFlags_SharedFlagsInheritMask_ = ~0,
2273 ImGuiDockNodeFlags_NoResizeFlagsMask_ = ImGuiDockNodeFlags_NoResize | ImGuiDockNodeFlags_NoResizeX | ImGuiDockNodeFlags_NoResizeY,
2274 ImGuiDockNodeFlags_LocalFlagsTransferMask_ = ImGuiDockNodeFlags_NoDockingSplit | ImGuiDockNodeFlags_NoResizeFlagsMask_ | ImGuiDockNodeFlags_AutoHideTabBar | ImGuiDockNodeFlags_CentralNode | ImGuiDockNodeFlags_NoTabBar | ImGuiDockNodeFlags_HiddenTabBar | ImGuiDockNodeFlags_NoWindowMenuButton | ImGuiDockNodeFlags_NoCloseButton,
2275 ImGuiDockNodeFlags_SavedFlagsMask_ = ImGuiDockNodeFlags_NoResizeFlagsMask_ | ImGuiDockNodeFlags_DockSpace | ImGuiDockNodeFlags_CentralNode | ImGuiDockNodeFlags_NoTabBar | ImGuiDockNodeFlags_HiddenTabBar | ImGuiDockNodeFlags_NoWindowMenuButton | ImGuiDockNodeFlags_NoCloseButton,
2276}ImGuiDockNodeFlagsPrivate_;
2277typedef enum {
2278 ImGuiDataAuthority_Auto,
2279 ImGuiDataAuthority_DockNode,
2280 ImGuiDataAuthority_Window,
2281}ImGuiDataAuthority_;
2282typedef enum {
2283 ImGuiDockNodeState_Unknown,
2284 ImGuiDockNodeState_HostWindowHiddenBecauseSingleWindow,
2285 ImGuiDockNodeState_HostWindowHiddenBecauseWindowsAreResizing,
2286 ImGuiDockNodeState_HostWindowVisible,
2287}ImGuiDockNodeState;
2288typedef struct ImVector_ImGuiWindowPtr {int Size;int Capacity;ImGuiWindow** Data;} ImVector_ImGuiWindowPtr;
2289
2290struct ImGuiDockNode
2291{
2292 ImGuiID ID;
2293 ImGuiDockNodeFlags SharedFlags;
2294 ImGuiDockNodeFlags LocalFlags;
2295 ImGuiDockNodeFlags LocalFlagsInWindows;
2296 ImGuiDockNodeFlags MergedFlags;
2297 ImGuiDockNodeState State;
2298 ImGuiDockNode* ParentNode;
2299 ImGuiDockNode* ChildNodes[2];
2300 ImVector_ImGuiWindowPtr Windows;
2301 ImGuiTabBar* TabBar;
2302 ImVec2 Pos;
2303 ImVec2 Size;
2304 ImVec2 SizeRef;
2305 ImGuiAxis SplitAxis;
2306 ImGuiWindowClass WindowClass;
2307 ImU32 LastBgColor;
2308 ImGuiWindow* HostWindow;
2309 ImGuiWindow* VisibleWindow;
2310 ImGuiDockNode* CentralNode;
2311 ImGuiDockNode* OnlyNodeWithWindows;
2312 int CountNodeWithWindows;
2313 int LastFrameAlive;
2314 int LastFrameActive;
2315 int LastFrameFocused;
2316 ImGuiID LastFocusedNodeId;
2317 ImGuiID SelectedTabId;
2318 ImGuiID WantCloseTabId;
2319 ImGuiID RefViewportId;
2320 ImGuiDataAuthority AuthorityForPos :3;
2321 ImGuiDataAuthority AuthorityForSize :3;
2322 ImGuiDataAuthority AuthorityForViewport :3;
2323 bool IsVisible :1;
2324 bool IsFocused :1;
2325 bool IsBgDrawnThisFrame :1;
2326 bool HasCloseButton :1;
2327 bool HasWindowMenuButton :1;
2328 bool HasCentralNodeChild :1;
2329 bool WantCloseAll :1;
2330 bool WantLockSizeOnce :1;
2331 bool WantMouseMove :1;
2332 bool WantHiddenTabBarUpdate :1;
2333 bool WantHiddenTabBarToggle :1;
2334};
2335typedef enum {
2336 ImGuiWindowDockStyleCol_Text,
2337 ImGuiWindowDockStyleCol_Tab,
2338 ImGuiWindowDockStyleCol_TabHovered,
2339 ImGuiWindowDockStyleCol_TabActive,
2340 ImGuiWindowDockStyleCol_TabUnfocused,
2341 ImGuiWindowDockStyleCol_TabUnfocusedActive,
2342 ImGuiWindowDockStyleCol_COUNT
2343}ImGuiWindowDockStyleCol;
2344struct ImGuiWindowDockStyle
2345{
2346 ImU32 Colors[ImGuiWindowDockStyleCol_COUNT];
2347};
2348typedef struct ImVector_ImGuiDockRequest {int Size;int Capacity;ImGuiDockRequest* Data;} ImVector_ImGuiDockRequest;
2349
2350typedef struct ImVector_ImGuiDockNodeSettings {int Size;int Capacity;ImGuiDockNodeSettings* Data;} ImVector_ImGuiDockNodeSettings;
2351
2352struct ImGuiDockContext
2353{
2354 ImGuiStorage Nodes;
2355 ImVector_ImGuiDockRequest Requests;
2356 ImVector_ImGuiDockNodeSettings NodesSettings;
2357 bool WantFullRebuild;
2358};
2359typedef struct ImGuiViewportP ImGuiViewportP;
2360struct ImGuiViewportP
2361{
2362 ImGuiViewport _ImGuiViewport;
2363 ImGuiWindow* Window;
2364 int Idx;
2365 int LastFrameActive;
2366 int LastFocusedStampCount;
2367 ImGuiID LastNameHash;
2368 ImVec2 LastPos;
2369 float Alpha;
2370 float LastAlpha;
2371 bool LastFocusedHadNavWindow;
2372 short PlatformMonitor;
2373 int BgFgDrawListsLastFrame[2];
2374 ImDrawList* BgFgDrawLists[2];
2375 ImDrawData DrawDataP;
2376 ImDrawDataBuilder DrawDataBuilder;
2377 ImVec2 LastPlatformPos;
2378 ImVec2 LastPlatformSize;
2379 ImVec2 LastRendererSize;
2380 ImVec2 WorkOffsetMin;
2381 ImVec2 WorkOffsetMax;
2382 ImVec2 BuildWorkOffsetMin;
2383 ImVec2 BuildWorkOffsetMax;
2384};
2385struct ImGuiWindowSettings
2386{
2387 ImGuiID ID;
2388 ImVec2ih Pos;
2389 ImVec2ih Size;
2390 ImVec2ih ViewportPos;
2391 ImGuiID ViewportId;
2392 ImGuiID DockId;
2393 ImGuiID ClassId;
2394 short DockOrder;
2395 bool Collapsed;
2396 bool IsChild;
2397 bool WantApply;
2398 bool WantDelete;
2399};
2400struct ImGuiSettingsHandler
2401{
2402 const char* TypeName;
2403 ImGuiID TypeHash;
2404 void (*ClearAllFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler);
2405 void (*ReadInitFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler);
2406 void* (*ReadOpenFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, const char* name);
2407 void (*ReadLineFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, void* entry, const char* line);
2408 void (*ApplyAllFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler);
2409 void (*WriteAllFn)(ImGuiContext* ctx, ImGuiSettingsHandler* handler, ImGuiTextBuffer* out_buf);
2410 void* UserData;
2411};
2412typedef enum {
2413ImGuiLocKey_VersionStr=0,
2414ImGuiLocKey_TableSizeOne=1,
2415ImGuiLocKey_TableSizeAllFit=2,
2416ImGuiLocKey_TableSizeAllDefault=3,
2417ImGuiLocKey_TableResetOrder=4,
2418ImGuiLocKey_WindowingMainMenuBar=5,
2419ImGuiLocKey_WindowingPopup=6,
2420ImGuiLocKey_WindowingUntitled=7,
2421ImGuiLocKey_DockingHideTabBar=8,
2422ImGuiLocKey_DockingHoldShiftToDock=9,
2423ImGuiLocKey_DockingDragToUndockOrMoveNode=10,
2424ImGuiLocKey_COUNT=11,
2425}ImGuiLocKey;
2426struct ImGuiLocEntry
2427{
2428 ImGuiLocKey Key;
2429 const char* Text;
2430};
2431typedef enum {
2432 ImGuiDebugLogFlags_None = 0,
2433 ImGuiDebugLogFlags_EventActiveId = 1 << 0,
2434 ImGuiDebugLogFlags_EventFocus = 1 << 1,
2435 ImGuiDebugLogFlags_EventPopup = 1 << 2,
2436 ImGuiDebugLogFlags_EventNav = 1 << 3,
2437 ImGuiDebugLogFlags_EventClipper = 1 << 4,
2438 ImGuiDebugLogFlags_EventSelection = 1 << 5,
2439 ImGuiDebugLogFlags_EventIO = 1 << 6,
2440 ImGuiDebugLogFlags_EventInputRouting = 1 << 7,
2441 ImGuiDebugLogFlags_EventDocking = 1 << 8,
2442 ImGuiDebugLogFlags_EventViewport = 1 << 9,
2443 ImGuiDebugLogFlags_EventMask_ = ImGuiDebugLogFlags_EventActiveId | ImGuiDebugLogFlags_EventFocus | ImGuiDebugLogFlags_EventPopup | ImGuiDebugLogFlags_EventNav | ImGuiDebugLogFlags_EventClipper | ImGuiDebugLogFlags_EventSelection | ImGuiDebugLogFlags_EventIO | ImGuiDebugLogFlags_EventInputRouting | ImGuiDebugLogFlags_EventDocking | ImGuiDebugLogFlags_EventViewport,
2444 ImGuiDebugLogFlags_OutputToTTY = 1 << 20,
2445 ImGuiDebugLogFlags_OutputToTestEngine = 1 << 21,
2446}ImGuiDebugLogFlags_;
2447typedef struct ImGuiDebugAllocEntry ImGuiDebugAllocEntry;
2448struct ImGuiDebugAllocEntry
2449{
2450 int FrameCount;
2451 ImS16 AllocCount;
2452 ImS16 FreeCount;
2453};
2454typedef struct ImGuiDebugAllocInfo ImGuiDebugAllocInfo;
2455struct ImGuiDebugAllocInfo
2456{
2457 int TotalAllocCount;
2458 int TotalFreeCount;
2459 ImS16 LastEntriesIdx;
2460 ImGuiDebugAllocEntry LastEntriesBuf[6];
2461};
2462struct ImGuiMetricsConfig
2463{
2464 bool ShowDebugLog;
2465 bool ShowIDStackTool;
2466 bool ShowWindowsRects;
2467 bool ShowWindowsBeginOrder;
2468 bool ShowTablesRects;
2469 bool ShowDrawCmdMesh;
2470 bool ShowDrawCmdBoundingBoxes;
2471 bool ShowTextEncodingViewer;
2472 bool ShowAtlasTintedWithTextColor;
2473 bool ShowDockingNodes;
2474 int ShowWindowsRectsType;
2475 int ShowTablesRectsType;
2476 int HighlightMonitorIdx;
2477 ImGuiID HighlightViewportID;
2478};
2479typedef struct ImGuiStackLevelInfo ImGuiStackLevelInfo;
2480struct ImGuiStackLevelInfo
2481{
2482 ImGuiID ID;
2483 ImS8 QueryFrameCount;
2484 bool QuerySuccess;
2485 ImGuiDataType DataType : 8;
2486 char Desc[57];
2487};
2488typedef struct ImGuiIDStackTool ImGuiIDStackTool;
2489typedef struct ImVector_ImGuiStackLevelInfo {int Size;int Capacity;ImGuiStackLevelInfo* Data;} ImVector_ImGuiStackLevelInfo;
2490
2491struct ImGuiIDStackTool
2492{
2493 int LastActiveFrame;
2494 int StackLevel;
2495 ImGuiID QueryId;
2496 ImVector_ImGuiStackLevelInfo Results;
2497 bool CopyToClipboardOnCtrlC;
2498 float CopyToClipboardLastTime;
2499};
2500typedef void (*ImGuiContextHookCallback)(ImGuiContext* ctx, ImGuiContextHook* hook);
2501typedef enum { ImGuiContextHookType_NewFramePre, ImGuiContextHookType_NewFramePost, ImGuiContextHookType_EndFramePre, ImGuiContextHookType_EndFramePost, ImGuiContextHookType_RenderPre, ImGuiContextHookType_RenderPost, ImGuiContextHookType_Shutdown, ImGuiContextHookType_PendingRemoval_ }ImGuiContextHookType;
2502struct ImGuiContextHook
2503{
2504 ImGuiID HookId;
2505 ImGuiContextHookType Type;
2506 ImGuiID Owner;
2507 ImGuiContextHookCallback Callback;
2508 void* UserData;
2509};
2510typedef struct ImVector_ImGuiInputEvent {int Size;int Capacity;ImGuiInputEvent* Data;} ImVector_ImGuiInputEvent;
2511
2512typedef struct ImVector_ImGuiWindowStackData {int Size;int Capacity;ImGuiWindowStackData* Data;} ImVector_ImGuiWindowStackData;
2513
2514typedef struct ImVector_ImGuiColorMod {int Size;int Capacity;ImGuiColorMod* Data;} ImVector_ImGuiColorMod;
2515
2516typedef struct ImVector_ImGuiStyleMod {int Size;int Capacity;ImGuiStyleMod* Data;} ImVector_ImGuiStyleMod;
2517
2518typedef struct ImVector_ImGuiFocusScopeData {int Size;int Capacity;ImGuiFocusScopeData* Data;} ImVector_ImGuiFocusScopeData;
2519
2520typedef struct ImVector_ImGuiItemFlags {int Size;int Capacity;ImGuiItemFlags* Data;} ImVector_ImGuiItemFlags;
2521
2522typedef struct ImVector_ImGuiGroupData {int Size;int Capacity;ImGuiGroupData* Data;} ImVector_ImGuiGroupData;
2523
2524typedef struct ImVector_ImGuiPopupData {int Size;int Capacity;ImGuiPopupData* Data;} ImVector_ImGuiPopupData;
2525
2526typedef struct ImVector_ImGuiNavTreeNodeData {int Size;int Capacity;ImGuiNavTreeNodeData* Data;} ImVector_ImGuiNavTreeNodeData;
2527
2528typedef struct ImVector_ImGuiViewportPPtr {int Size;int Capacity;ImGuiViewportP** Data;} ImVector_ImGuiViewportPPtr;
2529
2530typedef struct ImVector_unsigned_char {int Size;int Capacity;unsigned char* Data;} ImVector_unsigned_char;
2531
2532typedef struct ImVector_ImGuiListClipperData {int Size;int Capacity;ImGuiListClipperData* Data;} ImVector_ImGuiListClipperData;
2533
2534typedef struct ImVector_ImGuiTableTempData {int Size;int Capacity;ImGuiTableTempData* Data;} ImVector_ImGuiTableTempData;
2535
2536typedef struct ImVector_ImGuiTable {int Size;int Capacity;ImGuiTable* Data;} ImVector_ImGuiTable;
2537
2538typedef struct ImPool_ImGuiTable {ImVector_ImGuiTable Buf;ImGuiStorage Map;ImPoolIdx FreeIdx;ImPoolIdx AliveCount;} ImPool_ImGuiTable;
2539
2540typedef struct ImVector_ImGuiTabBar {int Size;int Capacity;ImGuiTabBar* Data;} ImVector_ImGuiTabBar;
2541
2542typedef struct ImPool_ImGuiTabBar {ImVector_ImGuiTabBar Buf;ImGuiStorage Map;ImPoolIdx FreeIdx;ImPoolIdx AliveCount;} ImPool_ImGuiTabBar;
2543
2544typedef struct ImVector_ImGuiPtrOrIndex {int Size;int Capacity;ImGuiPtrOrIndex* Data;} ImVector_ImGuiPtrOrIndex;
2545
2546typedef struct ImVector_ImGuiShrinkWidthItem {int Size;int Capacity;ImGuiShrinkWidthItem* Data;} ImVector_ImGuiShrinkWidthItem;
2547
2548typedef struct ImVector_ImGuiID {int Size;int Capacity;ImGuiID* Data;} ImVector_ImGuiID;
2549
2550typedef struct ImVector_ImGuiSettingsHandler {int Size;int Capacity;ImGuiSettingsHandler* Data;} ImVector_ImGuiSettingsHandler;
2551
2552typedef struct ImChunkStream_ImGuiWindowSettings {ImVector_char Buf;} ImChunkStream_ImGuiWindowSettings;
2553
2554typedef struct ImChunkStream_ImGuiTableSettings {ImVector_char Buf;} ImChunkStream_ImGuiTableSettings;
2555
2556typedef struct ImVector_ImGuiContextHook {int Size;int Capacity;ImGuiContextHook* Data;} ImVector_ImGuiContextHook;
2557
2558struct ImGuiContext
2559{
2560 bool Initialized;
2561 bool FontAtlasOwnedByContext;
2562 ImGuiIO IO;
2563 ImGuiPlatformIO PlatformIO;
2564 ImGuiStyle Style;
2565 ImGuiConfigFlags ConfigFlagsCurrFrame;
2566 ImGuiConfigFlags ConfigFlagsLastFrame;
2567 ImFont* Font;
2568 float FontSize;
2569 float FontBaseSize;
2570 float CurrentDpiScale;
2571 ImDrawListSharedData DrawListSharedData;
2572 double Time;
2573 int FrameCount;
2574 int FrameCountEnded;
2575 int FrameCountPlatformEnded;
2576 int FrameCountRendered;
2577 bool WithinFrameScope;
2578 bool WithinFrameScopeWithImplicitWindow;
2579 bool WithinEndChild;
2580 bool GcCompactAll;
2581 bool TestEngineHookItems;
2582 void* TestEngine;
2583 ImVector_ImGuiInputEvent InputEventsQueue;
2584 ImVector_ImGuiInputEvent InputEventsTrail;
2585 ImGuiMouseSource InputEventsNextMouseSource;
2586 ImU32 InputEventsNextEventId;
2587 ImVector_ImGuiWindowPtr Windows;
2588 ImVector_ImGuiWindowPtr WindowsFocusOrder;
2589 ImVector_ImGuiWindowPtr WindowsTempSortBuffer;
2590 ImVector_ImGuiWindowStackData CurrentWindowStack;
2591 ImGuiStorage WindowsById;
2592 int WindowsActiveCount;
2593 ImVec2 WindowsHoverPadding;
2594 ImGuiID DebugBreakInWindow;
2595 ImGuiWindow* CurrentWindow;
2596 ImGuiWindow* HoveredWindow;
2597 ImGuiWindow* HoveredWindowUnderMovingWindow;
2598 ImGuiWindow* MovingWindow;
2599 ImGuiWindow* WheelingWindow;
2600 ImVec2 WheelingWindowRefMousePos;
2601 int WheelingWindowStartFrame;
2602 int WheelingWindowScrolledFrame;
2603 float WheelingWindowReleaseTimer;
2604 ImVec2 WheelingWindowWheelRemainder;
2605 ImVec2 WheelingAxisAvg;
2606 ImGuiID DebugHookIdInfo;
2607 ImGuiID HoveredId;
2608 ImGuiID HoveredIdPreviousFrame;
2609 float HoveredIdTimer;
2610 float HoveredIdNotActiveTimer;
2611 bool HoveredIdAllowOverlap;
2612 bool HoveredIdDisabled;
2613 bool ItemUnclipByLog;
2614 ImGuiID ActiveId;
2615 ImGuiID ActiveIdIsAlive;
2616 float ActiveIdTimer;
2617 bool ActiveIdIsJustActivated;
2618 bool ActiveIdAllowOverlap;
2619 bool ActiveIdNoClearOnFocusLoss;
2620 bool ActiveIdHasBeenPressedBefore;
2621 bool ActiveIdHasBeenEditedBefore;
2622 bool ActiveIdHasBeenEditedThisFrame;
2623 bool ActiveIdFromShortcut;
2624 int ActiveIdMouseButton : 8;
2625 ImVec2 ActiveIdClickOffset;
2626 ImGuiWindow* ActiveIdWindow;
2627 ImGuiInputSource ActiveIdSource;
2628 ImGuiID ActiveIdPreviousFrame;
2629 bool ActiveIdPreviousFrameIsAlive;
2630 bool ActiveIdPreviousFrameHasBeenEditedBefore;
2631 ImGuiWindow* ActiveIdPreviousFrameWindow;
2632 ImGuiID LastActiveId;
2633 float LastActiveIdTimer;
2634 double LastKeyModsChangeTime;
2635 double LastKeyModsChangeFromNoneTime;
2636 double LastKeyboardKeyPressTime;
2637 ImBitArrayForNamedKeys KeysMayBeCharInput;
2638 ImGuiKeyOwnerData KeysOwnerData[ImGuiKey_NamedKey_COUNT];
2639 ImGuiKeyRoutingTable KeysRoutingTable;
2640 ImU32 ActiveIdUsingNavDirMask;
2641 bool ActiveIdUsingAllKeyboardKeys;
2642 ImGuiKeyChord DebugBreakInShortcutRouting;
2643 ImGuiID CurrentFocusScopeId;
2644 ImGuiItemFlags CurrentItemFlags;
2645 ImGuiID DebugLocateId;
2646 ImGuiNextItemData NextItemData;
2647 ImGuiLastItemData LastItemData;
2648 ImGuiNextWindowData NextWindowData;
2649 bool DebugShowGroupRects;
2650 ImGuiCol DebugFlashStyleColorIdx;
2651 ImVector_ImGuiColorMod ColorStack;
2652 ImVector_ImGuiStyleMod StyleVarStack;
2653 ImVector_ImFontPtr FontStack;
2654 ImVector_ImGuiFocusScopeData FocusScopeStack;
2655 ImVector_ImGuiItemFlags ItemFlagsStack;
2656 ImVector_ImGuiGroupData GroupStack;
2657 ImVector_ImGuiPopupData OpenPopupStack;
2658 ImVector_ImGuiPopupData BeginPopupStack;
2659 ImVector_ImGuiNavTreeNodeData NavTreeNodeStack;
2660 ImVector_ImGuiViewportPPtr Viewports;
2661 ImGuiViewportP* CurrentViewport;
2662 ImGuiViewportP* MouseViewport;
2663 ImGuiViewportP* MouseLastHoveredViewport;
2664 ImGuiID PlatformLastFocusedViewportId;
2665 ImGuiPlatformMonitor FallbackMonitor;
2666 ImRect PlatformMonitorsFullWorkRect;
2667 int ViewportCreatedCount;
2668 int PlatformWindowsCreatedCount;
2669 int ViewportFocusedStampCount;
2670 ImGuiWindow* NavWindow;
2671 ImGuiID NavId;
2672 ImGuiID NavFocusScopeId;
2673 ImGuiID NavActivateId;
2674 ImGuiID NavActivateDownId;
2675 ImGuiID NavActivatePressedId;
2676 ImGuiActivateFlags NavActivateFlags;
2677 ImVector_ImGuiFocusScopeData NavFocusRoute;
2678 ImGuiID NavHighlightActivatedId;
2679 float NavHighlightActivatedTimer;
2680 ImGuiID NavJustMovedToId;
2681 ImGuiID NavJustMovedToFocusScopeId;
2682 ImGuiKeyChord NavJustMovedToKeyMods;
2683 ImGuiID NavNextActivateId;
2684 ImGuiActivateFlags NavNextActivateFlags;
2685 ImGuiInputSource NavInputSource;
2686 ImGuiNavLayer NavLayer;
2687 ImGuiSelectionUserData NavLastValidSelectionUserData;
2688 bool NavIdIsAlive;
2689 bool NavMousePosDirty;
2690 bool NavDisableHighlight;
2691 bool NavDisableMouseHover;
2692 bool NavAnyRequest;
2693 bool NavInitRequest;
2694 bool NavInitRequestFromMove;
2695 ImGuiNavItemData NavInitResult;
2696 bool NavMoveSubmitted;
2697 bool NavMoveScoringItems;
2698 bool NavMoveForwardToNextFrame;
2699 ImGuiNavMoveFlags NavMoveFlags;
2700 ImGuiScrollFlags NavMoveScrollFlags;
2701 ImGuiKeyChord NavMoveKeyMods;
2702 ImGuiDir NavMoveDir;
2703 ImGuiDir NavMoveDirForDebug;
2704 ImGuiDir NavMoveClipDir;
2705 ImRect NavScoringRect;
2706 ImRect NavScoringNoClipRect;
2707 int NavScoringDebugCount;
2708 int NavTabbingDir;
2709 int NavTabbingCounter;
2710 ImGuiNavItemData NavMoveResultLocal;
2711 ImGuiNavItemData NavMoveResultLocalVisible;
2712 ImGuiNavItemData NavMoveResultOther;
2713 ImGuiNavItemData NavTabbingResultFirst;
2714 ImGuiKeyChord ConfigNavWindowingKeyNext;
2715 ImGuiKeyChord ConfigNavWindowingKeyPrev;
2716 ImGuiWindow* NavWindowingTarget;
2717 ImGuiWindow* NavWindowingTargetAnim;
2718 ImGuiWindow* NavWindowingListWindow;
2719 float NavWindowingTimer;
2720 float NavWindowingHighlightAlpha;
2721 bool NavWindowingToggleLayer;
2722 ImGuiKey NavWindowingToggleKey;
2723 ImVec2 NavWindowingAccumDeltaPos;
2724 ImVec2 NavWindowingAccumDeltaSize;
2725 float DimBgRatio;
2726 bool DragDropActive;
2727 bool DragDropWithinSource;
2728 bool DragDropWithinTarget;
2729 ImGuiDragDropFlags DragDropSourceFlags;
2730 int DragDropSourceFrameCount;
2731 int DragDropMouseButton;
2732 ImGuiPayload DragDropPayload;
2733 ImRect DragDropTargetRect;
2734 ImRect DragDropTargetClipRect;
2735 ImGuiID DragDropTargetId;
2736 ImGuiDragDropFlags DragDropAcceptFlags;
2737 float DragDropAcceptIdCurrRectSurface;
2738 ImGuiID DragDropAcceptIdCurr;
2739 ImGuiID DragDropAcceptIdPrev;
2740 int DragDropAcceptFrameCount;
2741 ImGuiID DragDropHoldJustPressedId;
2742 ImVector_unsigned_char DragDropPayloadBufHeap;
2743 unsigned char DragDropPayloadBufLocal[16];
2744 int ClipperTempDataStacked;
2745 ImVector_ImGuiListClipperData ClipperTempData;
2746 ImGuiTable* CurrentTable;
2747 ImGuiID DebugBreakInTable;
2748 int TablesTempDataStacked;
2749 ImVector_ImGuiTableTempData TablesTempData;
2750 ImPool_ImGuiTable Tables;
2751 ImVector_float TablesLastTimeActive;
2752 ImVector_ImDrawChannel DrawChannelsTempMergeBuffer;
2753 ImGuiTabBar* CurrentTabBar;
2754 ImPool_ImGuiTabBar TabBars;
2755 ImVector_ImGuiPtrOrIndex CurrentTabBarStack;
2756 ImVector_ImGuiShrinkWidthItem ShrinkWidthBuffer;
2757 ImGuiID HoverItemDelayId;
2758 ImGuiID HoverItemDelayIdPreviousFrame;
2759 float HoverItemDelayTimer;
2760 float HoverItemDelayClearTimer;
2761 ImGuiID HoverItemUnlockedStationaryId;
2762 ImGuiID HoverWindowUnlockedStationaryId;
2763 ImGuiMouseCursor MouseCursor;
2764 float MouseStationaryTimer;
2765 ImVec2 MouseLastValidPos;
2766 ImGuiInputTextState InputTextState;
2767 ImGuiInputTextDeactivatedState InputTextDeactivatedState;
2768 ImFont InputTextPasswordFont;
2769 ImGuiID TempInputId;
2770 ImGuiDataTypeStorage DataTypeZeroValue;
2771 int BeginMenuDepth;
2772 int BeginComboDepth;
2773 ImGuiColorEditFlags ColorEditOptions;
2774 ImGuiID ColorEditCurrentID;
2775 ImGuiID ColorEditSavedID;
2776 float ColorEditSavedHue;
2777 float ColorEditSavedSat;
2778 ImU32 ColorEditSavedColor;
2779 ImVec4 ColorPickerRef;
2780 ImGuiComboPreviewData ComboPreviewData;
2781 ImRect WindowResizeBorderExpectedRect;
2782 bool WindowResizeRelativeMode;
2783 short ScrollbarSeekMode;
2784 float ScrollbarClickDeltaToGrabCenter;
2785 float SliderGrabClickOffset;
2786 float SliderCurrentAccum;
2787 bool SliderCurrentAccumDirty;
2788 bool DragCurrentAccumDirty;
2789 float DragCurrentAccum;
2790 float DragSpeedDefaultRatio;
2791 float DisabledAlphaBackup;
2792 short DisabledStackSize;
2793 short LockMarkEdited;
2794 short TooltipOverrideCount;
2795 ImVector_char ClipboardHandlerData;
2796 ImVector_ImGuiID MenusIdSubmittedThisFrame;
2797 ImGuiTypingSelectState TypingSelectState;
2798 ImGuiPlatformImeData PlatformImeData;
2799 ImGuiPlatformImeData PlatformImeDataPrev;
2800 ImGuiID PlatformImeViewport;
2801 ImGuiDockContext DockContext;
2802 void (*DockNodeWindowMenuHandler)(ImGuiContext* ctx, ImGuiDockNode* node, ImGuiTabBar* tab_bar);
2803 bool SettingsLoaded;
2804 float SettingsDirtyTimer;
2805 ImGuiTextBuffer SettingsIniData;
2806 ImVector_ImGuiSettingsHandler SettingsHandlers;
2807 ImChunkStream_ImGuiWindowSettings SettingsWindows;
2808 ImChunkStream_ImGuiTableSettings SettingsTables;
2809 ImVector_ImGuiContextHook Hooks;
2810 ImGuiID HookIdNext;
2811 const char* LocalizationTable[ImGuiLocKey_COUNT];
2812 bool LogEnabled;
2813 ImGuiLogType LogType;
2814 ImFileHandle LogFile;
2815 ImGuiTextBuffer LogBuffer;
2816 const char* LogNextPrefix;
2817 const char* LogNextSuffix;
2818 float LogLinePosY;
2819 bool LogLineFirstItem;
2820 int LogDepthRef;
2821 int LogDepthToExpand;
2822 int LogDepthToExpandDefault;
2823 ImGuiDebugLogFlags DebugLogFlags;
2824 ImGuiTextBuffer DebugLogBuf;
2825 ImGuiTextIndex DebugLogIndex;
2826 ImGuiDebugLogFlags DebugLogAutoDisableFlags;
2827 ImU8 DebugLogAutoDisableFrames;
2828 ImU8 DebugLocateFrames;
2829 bool DebugBreakInLocateId;
2830 ImGuiKeyChord DebugBreakKeyChord;
2831 ImS8 DebugBeginReturnValueCullDepth;
2832 bool DebugItemPickerActive;
2833 ImU8 DebugItemPickerMouseButton;
2834 ImGuiID DebugItemPickerBreakId;
2835 float DebugFlashStyleColorTime;
2836 ImVec4 DebugFlashStyleColorBackup;
2837 ImGuiMetricsConfig DebugMetricsConfig;
2838 ImGuiIDStackTool DebugIDStackTool;
2839 ImGuiDebugAllocInfo DebugAllocInfo;
2840 ImGuiDockNode* DebugHoveredDockNode;
2841 float FramerateSecPerFrame[60];
2842 int FramerateSecPerFrameIdx;
2843 int FramerateSecPerFrameCount;
2844 float FramerateSecPerFrameAccum;
2845 int WantCaptureMouseNextFrame;
2846 int WantCaptureKeyboardNextFrame;
2847 int WantTextInputNextFrame;
2848 ImVector_char TempBuffer;
2849 char TempKeychordName[64];
2850};
2851struct ImGuiWindowTempData
2852{
2853 ImVec2 CursorPos;
2854 ImVec2 CursorPosPrevLine;
2855 ImVec2 CursorStartPos;
2856 ImVec2 CursorMaxPos;
2857 ImVec2 IdealMaxPos;
2858 ImVec2 CurrLineSize;
2859 ImVec2 PrevLineSize;
2860 float CurrLineTextBaseOffset;
2861 float PrevLineTextBaseOffset;
2862 bool IsSameLine;
2863 bool IsSetPos;
2864 ImVec1 Indent;
2865 ImVec1 ColumnsOffset;
2866 ImVec1 GroupOffset;
2867 ImVec2 CursorStartPosLossyness;
2868 ImGuiNavLayer NavLayerCurrent;
2869 short NavLayersActiveMask;
2870 short NavLayersActiveMaskNext;
2871 bool NavIsScrollPushableX;
2872 bool NavHideHighlightOneFrame;
2873 bool NavWindowHasScrollY;
2874 bool MenuBarAppending;
2875 ImVec2 MenuBarOffset;
2876 ImGuiMenuColumns MenuColumns;
2877 int TreeDepth;
2878 ImU32 TreeJumpToParentOnPopMask;
2879 ImVector_ImGuiWindowPtr ChildWindows;
2880 ImGuiStorage* StateStorage;
2881 ImGuiOldColumns* CurrentColumns;
2882 int CurrentTableIdx;
2883 ImGuiLayoutType LayoutType;
2884 ImGuiLayoutType ParentLayoutType;
2885 ImU32 ModalDimBgColor;
2886 float ItemWidth;
2887 float TextWrapPos;
2888 ImVector_float ItemWidthStack;
2889 ImVector_float TextWrapPosStack;
2890};
2891typedef struct ImVector_ImGuiOldColumns {int Size;int Capacity;ImGuiOldColumns* Data;} ImVector_ImGuiOldColumns;
2892
2893struct ImGuiWindow
2894{
2895 ImGuiContext* Ctx;
2896 char* Name;
2897 ImGuiID ID;
2898 ImGuiWindowFlags Flags, FlagsPreviousFrame;
2899 ImGuiChildFlags ChildFlags;
2900 ImGuiWindowClass WindowClass;
2901 ImGuiViewportP* Viewport;
2902 ImGuiID ViewportId;
2903 ImVec2 ViewportPos;
2904 int ViewportAllowPlatformMonitorExtend;
2905 ImVec2 Pos;
2906 ImVec2 Size;
2907 ImVec2 SizeFull;
2908 ImVec2 ContentSize;
2909 ImVec2 ContentSizeIdeal;
2910 ImVec2 ContentSizeExplicit;
2911 ImVec2 WindowPadding;
2912 float WindowRounding;
2913 float WindowBorderSize;
2914 float TitleBarHeight, MenuBarHeight;
2915 float DecoOuterSizeX1, DecoOuterSizeY1;
2916 float DecoOuterSizeX2, DecoOuterSizeY2;
2917 float DecoInnerSizeX1, DecoInnerSizeY1;
2918 int NameBufLen;
2919 ImGuiID MoveId;
2920 ImGuiID TabId;
2921 ImGuiID ChildId;
2922 ImGuiID PopupId;
2923 ImVec2 Scroll;
2924 ImVec2 ScrollMax;
2925 ImVec2 ScrollTarget;
2926 ImVec2 ScrollTargetCenterRatio;
2927 ImVec2 ScrollTargetEdgeSnapDist;
2928 ImVec2 ScrollbarSizes;
2929 bool ScrollbarX, ScrollbarY;
2930 bool ViewportOwned;
2931 bool Active;
2932 bool WasActive;
2933 bool WriteAccessed;
2934 bool Collapsed;
2935 bool WantCollapseToggle;
2936 bool SkipItems;
2937 bool SkipRefresh;
2938 bool Appearing;
2939 bool Hidden;
2940 bool IsFallbackWindow;
2941 bool IsExplicitChild;
2942 bool HasCloseButton;
2943 signed char ResizeBorderHovered;
2944 signed char ResizeBorderHeld;
2945 short BeginCount;
2946 short BeginCountPreviousFrame;
2947 short BeginOrderWithinParent;
2948 short BeginOrderWithinContext;
2949 short FocusOrder;
2950 ImS8 AutoFitFramesX, AutoFitFramesY;
2951 bool AutoFitOnlyGrows;
2952 ImGuiDir AutoPosLastDirection;
2953 ImS8 HiddenFramesCanSkipItems;
2954 ImS8 HiddenFramesCannotSkipItems;
2955 ImS8 HiddenFramesForRenderOnly;
2956 ImS8 DisableInputsFrames;
2957 ImGuiCond SetWindowPosAllowFlags : 8;
2958 ImGuiCond SetWindowSizeAllowFlags : 8;
2959 ImGuiCond SetWindowCollapsedAllowFlags : 8;
2960 ImGuiCond SetWindowDockAllowFlags : 8;
2961 ImVec2 SetWindowPosVal;
2962 ImVec2 SetWindowPosPivot;
2963 ImVector_ImGuiID IDStack;
2964 ImGuiWindowTempData DC;
2965 ImRect OuterRectClipped;
2966 ImRect InnerRect;
2967 ImRect InnerClipRect;
2968 ImRect WorkRect;
2969 ImRect ParentWorkRect;
2970 ImRect ClipRect;
2971 ImRect ContentRegionRect;
2972 ImVec2ih HitTestHoleSize;
2973 ImVec2ih HitTestHoleOffset;
2974 int LastFrameActive;
2975 int LastFrameJustFocused;
2976 float LastTimeActive;
2977 float ItemWidthDefault;
2978 ImGuiStorage StateStorage;
2979 ImVector_ImGuiOldColumns ColumnsStorage;
2980 float FontWindowScale;
2981 float FontDpiScale;
2982 int SettingsOffset;
2983 ImDrawList* DrawList;
2984 ImDrawList DrawListInst;
2985 ImGuiWindow* ParentWindow;
2986 ImGuiWindow* ParentWindowInBeginStack;
2987 ImGuiWindow* RootWindow;
2988 ImGuiWindow* RootWindowPopupTree;
2989 ImGuiWindow* RootWindowDockTree;
2990 ImGuiWindow* RootWindowForTitleBarHighlight;
2991 ImGuiWindow* RootWindowForNav;
2992 ImGuiWindow* ParentWindowForFocusRoute;
2993 ImGuiWindow* NavLastChildNavWindow;
2994 ImGuiID NavLastIds[ImGuiNavLayer_COUNT];
2995 ImRect NavRectRel[ImGuiNavLayer_COUNT];
2996 ImVec2 NavPreferredScoringPosRel[ImGuiNavLayer_COUNT];
2997 ImGuiID NavRootFocusScopeId;
2998 int MemoryDrawListIdxCapacity;
2999 int MemoryDrawListVtxCapacity;
3000 bool MemoryCompacted;
3001 bool DockIsActive :1;
3002 bool DockNodeIsVisible :1;
3003 bool DockTabIsVisible :1;
3004 bool DockTabWantClose :1;
3005 short DockOrder;
3006 ImGuiWindowDockStyle DockStyle;
3007 ImGuiDockNode* DockNode;
3008 ImGuiDockNode* DockNodeAsHost;
3009 ImGuiID DockId;
3010 ImGuiItemStatusFlags DockTabItemStatusFlags;
3011 ImRect DockTabItemRect;
3012};
3013typedef enum {
3014 ImGuiTabBarFlags_DockNode = 1 << 20,
3015 ImGuiTabBarFlags_IsFocused = 1 << 21,
3016 ImGuiTabBarFlags_SaveSettings = 1 << 22,
3017}ImGuiTabBarFlagsPrivate_;
3018typedef enum {
3019 ImGuiTabItemFlags_SectionMask_ = ImGuiTabItemFlags_Leading | ImGuiTabItemFlags_Trailing,
3020 ImGuiTabItemFlags_NoCloseButton = 1 << 20,
3021 ImGuiTabItemFlags_Button = 1 << 21,
3022 ImGuiTabItemFlags_Unsorted = 1 << 22,
3023}ImGuiTabItemFlagsPrivate_;
3024struct ImGuiTabItem
3025{
3026 ImGuiID ID;
3027 ImGuiTabItemFlags Flags;
3028 ImGuiWindow* Window;
3029 int LastFrameVisible;
3030 int LastFrameSelected;
3031 float Offset;
3032 float Width;
3033 float ContentWidth;
3034 float RequestedWidth;
3035 ImS32 NameOffset;
3036 ImS16 BeginOrder;
3037 ImS16 IndexDuringLayout;
3038 bool WantClose;
3039};
3040typedef struct ImVector_ImGuiTabItem {int Size;int Capacity;ImGuiTabItem* Data;} ImVector_ImGuiTabItem;
3041
3042struct ImGuiTabBar
3043{
3044 ImVector_ImGuiTabItem Tabs;
3045 ImGuiTabBarFlags Flags;
3046 ImGuiID ID;
3047 ImGuiID SelectedTabId;
3048 ImGuiID NextSelectedTabId;
3049 ImGuiID VisibleTabId;
3050 int CurrFrameVisible;
3051 int PrevFrameVisible;
3052 ImRect BarRect;
3053 float CurrTabsContentsHeight;
3054 float PrevTabsContentsHeight;
3055 float WidthAllTabs;
3056 float WidthAllTabsIdeal;
3057 float ScrollingAnim;
3058 float ScrollingTarget;
3059 float ScrollingTargetDistToVisibility;
3060 float ScrollingSpeed;
3061 float ScrollingRectMinX;
3062 float ScrollingRectMaxX;
3063 float SeparatorMinX;
3064 float SeparatorMaxX;
3065 ImGuiID ReorderRequestTabId;
3066 ImS16 ReorderRequestOffset;
3067 ImS8 BeginCount;
3068 bool WantLayout;
3069 bool VisibleTabWasSubmitted;
3070 bool TabsAddedNew;
3071 ImS16 TabsActiveCount;
3072 ImS16 LastTabItemIdx;
3073 float ItemSpacingY;
3074 ImVec2 FramePadding;
3075 ImVec2 BackupCursorPos;
3076 ImGuiTextBuffer TabsNames;
3077};
3078typedef ImS16 ImGuiTableColumnIdx;
3079typedef ImU16 ImGuiTableDrawChannelIdx;
3080struct ImGuiTableColumn
3081{
3082 ImGuiTableColumnFlags Flags;
3083 float WidthGiven;
3084 float MinX;
3085 float MaxX;
3086 float WidthRequest;
3087 float WidthAuto;
3088 float StretchWeight;
3089 float InitStretchWeightOrWidth;
3090 ImRect ClipRect;
3091 ImGuiID UserID;
3092 float WorkMinX;
3093 float WorkMaxX;
3094 float ItemWidth;
3095 float ContentMaxXFrozen;
3096 float ContentMaxXUnfrozen;
3097 float ContentMaxXHeadersUsed;
3098 float ContentMaxXHeadersIdeal;
3099 ImS16 NameOffset;
3100 ImGuiTableColumnIdx DisplayOrder;
3101 ImGuiTableColumnIdx IndexWithinEnabledSet;
3102 ImGuiTableColumnIdx PrevEnabledColumn;
3103 ImGuiTableColumnIdx NextEnabledColumn;
3104 ImGuiTableColumnIdx SortOrder;
3105 ImGuiTableDrawChannelIdx DrawChannelCurrent;
3106 ImGuiTableDrawChannelIdx DrawChannelFrozen;
3107 ImGuiTableDrawChannelIdx DrawChannelUnfrozen;
3108 bool IsEnabled;
3109 bool IsUserEnabled;
3110 bool IsUserEnabledNextFrame;
3111 bool IsVisibleX;
3112 bool IsVisibleY;
3113 bool IsRequestOutput;
3114 bool IsSkipItems;
3115 bool IsPreserveWidthAuto;
3116 ImS8 NavLayerCurrent;
3117 ImU8 AutoFitQueue;
3118 ImU8 CannotSkipItemsQueue;
3119 ImU8 SortDirection : 2;
3120 ImU8 SortDirectionsAvailCount : 2;
3121 ImU8 SortDirectionsAvailMask : 4;
3122 ImU8 SortDirectionsAvailList;
3123};
3124typedef struct ImGuiTableCellData ImGuiTableCellData;
3125struct ImGuiTableCellData
3126{
3127 ImU32 BgColor;
3128 ImGuiTableColumnIdx Column;
3129};
3130struct ImGuiTableHeaderData
3131{
3132 ImGuiTableColumnIdx Index;
3133 ImU32 TextColor;
3134 ImU32 BgColor0;
3135 ImU32 BgColor1;
3136};
3137struct ImGuiTableInstanceData
3138{
3139 ImGuiID TableInstanceID;
3140 float LastOuterHeight;
3141 float LastTopHeadersRowHeight;
3142 float LastFrozenHeight;
3143 int HoveredRowLast;
3144 int HoveredRowNext;
3145};
3146typedef struct ImSpan_ImGuiTableColumn {ImGuiTableColumn* Data;ImGuiTableColumn* DataEnd;} ImSpan_ImGuiTableColumn;
3147
3148typedef struct ImSpan_ImGuiTableColumnIdx {ImGuiTableColumnIdx* Data;ImGuiTableColumnIdx* DataEnd;} ImSpan_ImGuiTableColumnIdx;
3149
3150typedef struct ImSpan_ImGuiTableCellData {ImGuiTableCellData* Data;ImGuiTableCellData* DataEnd;} ImSpan_ImGuiTableCellData;
3151
3152typedef struct ImVector_ImGuiTableInstanceData {int Size;int Capacity;ImGuiTableInstanceData* Data;} ImVector_ImGuiTableInstanceData;
3153
3154typedef struct ImVector_ImGuiTableColumnSortSpecs {int Size;int Capacity;ImGuiTableColumnSortSpecs* Data;} ImVector_ImGuiTableColumnSortSpecs;
3155
3156struct ImGuiTable
3157{
3158 ImGuiID ID;
3159 ImGuiTableFlags Flags;
3160 void* RawData;
3161 ImGuiTableTempData* TempData;
3162 ImSpan_ImGuiTableColumn Columns;
3163 ImSpan_ImGuiTableColumnIdx DisplayOrderToIndex;
3164 ImSpan_ImGuiTableCellData RowCellData;
3165 ImBitArrayPtr EnabledMaskByDisplayOrder;
3166 ImBitArrayPtr EnabledMaskByIndex;
3167 ImBitArrayPtr VisibleMaskByIndex;
3168 ImGuiTableFlags SettingsLoadedFlags;
3169 int SettingsOffset;
3170 int LastFrameActive;
3171 int ColumnsCount;
3172 int CurrentRow;
3173 int CurrentColumn;
3174 ImS16 InstanceCurrent;
3175 ImS16 InstanceInteracted;
3176 float RowPosY1;
3177 float RowPosY2;
3178 float RowMinHeight;
3179 float RowCellPaddingY;
3180 float RowTextBaseline;
3181 float RowIndentOffsetX;
3182 ImGuiTableRowFlags RowFlags : 16;
3183 ImGuiTableRowFlags LastRowFlags : 16;
3184 int RowBgColorCounter;
3185 ImU32 RowBgColor[2];
3186 ImU32 BorderColorStrong;
3187 ImU32 BorderColorLight;
3188 float BorderX1;
3189 float BorderX2;
3190 float HostIndentX;
3191 float MinColumnWidth;
3192 float OuterPaddingX;
3193 float CellPaddingX;
3194 float CellSpacingX1;
3195 float CellSpacingX2;
3196 float InnerWidth;
3197 float ColumnsGivenWidth;
3198 float ColumnsAutoFitWidth;
3199 float ColumnsStretchSumWeights;
3200 float ResizedColumnNextWidth;
3201 float ResizeLockMinContentsX2;
3202 float RefScale;
3203 float AngledHeadersHeight;
3204 float AngledHeadersSlope;
3205 ImRect OuterRect;
3206 ImRect InnerRect;
3207 ImRect WorkRect;
3208 ImRect InnerClipRect;
3209 ImRect BgClipRect;
3210 ImRect Bg0ClipRectForDrawCmd;
3211 ImRect Bg2ClipRectForDrawCmd;
3212 ImRect HostClipRect;
3213 ImRect HostBackupInnerClipRect;
3214 ImGuiWindow* OuterWindow;
3215 ImGuiWindow* InnerWindow;
3216 ImGuiTextBuffer ColumnsNames;
3217 ImDrawListSplitter* DrawSplitter;
3218 ImGuiTableInstanceData InstanceDataFirst;
3219 ImVector_ImGuiTableInstanceData InstanceDataExtra;
3220 ImGuiTableColumnSortSpecs SortSpecsSingle;
3221 ImVector_ImGuiTableColumnSortSpecs SortSpecsMulti;
3222 ImGuiTableSortSpecs SortSpecs;
3223 ImGuiTableColumnIdx SortSpecsCount;
3224 ImGuiTableColumnIdx ColumnsEnabledCount;
3225 ImGuiTableColumnIdx ColumnsEnabledFixedCount;
3226 ImGuiTableColumnIdx DeclColumnsCount;
3227 ImGuiTableColumnIdx AngledHeadersCount;
3228 ImGuiTableColumnIdx HoveredColumnBody;
3229 ImGuiTableColumnIdx HoveredColumnBorder;
3230 ImGuiTableColumnIdx HighlightColumnHeader;
3231 ImGuiTableColumnIdx AutoFitSingleColumn;
3232 ImGuiTableColumnIdx ResizedColumn;
3233 ImGuiTableColumnIdx LastResizedColumn;
3234 ImGuiTableColumnIdx HeldHeaderColumn;
3235 ImGuiTableColumnIdx ReorderColumn;
3236 ImGuiTableColumnIdx ReorderColumnDir;
3237 ImGuiTableColumnIdx LeftMostEnabledColumn;
3238 ImGuiTableColumnIdx RightMostEnabledColumn;
3239 ImGuiTableColumnIdx LeftMostStretchedColumn;
3240 ImGuiTableColumnIdx RightMostStretchedColumn;
3241 ImGuiTableColumnIdx ContextPopupColumn;
3242 ImGuiTableColumnIdx FreezeRowsRequest;
3243 ImGuiTableColumnIdx FreezeRowsCount;
3244 ImGuiTableColumnIdx FreezeColumnsRequest;
3245 ImGuiTableColumnIdx FreezeColumnsCount;
3246 ImGuiTableColumnIdx RowCellDataCurrent;
3247 ImGuiTableDrawChannelIdx DummyDrawChannel;
3248 ImGuiTableDrawChannelIdx Bg2DrawChannelCurrent;
3249 ImGuiTableDrawChannelIdx Bg2DrawChannelUnfrozen;
3250 bool IsLayoutLocked;
3251 bool IsInsideRow;
3252 bool IsInitializing;
3253 bool IsSortSpecsDirty;
3254 bool IsUsingHeaders;
3255 bool IsContextPopupOpen;
3256 bool DisableDefaultContextMenu;
3257 bool IsSettingsRequestLoad;
3258 bool IsSettingsDirty;
3259 bool IsDefaultDisplayOrder;
3260 bool IsResetAllRequest;
3261 bool IsResetDisplayOrderRequest;
3262 bool IsUnfrozenRows;
3263 bool IsDefaultSizingPolicy;
3264 bool IsActiveIdAliveBeforeTable;
3265 bool IsActiveIdInTable;
3266 bool HasScrollbarYCurr;
3267 bool HasScrollbarYPrev;
3268 bool MemoryCompacted;
3269 bool HostSkipItems;
3270};
3271typedef struct ImVector_ImGuiTableHeaderData {int Size;int Capacity;ImGuiTableHeaderData* Data;} ImVector_ImGuiTableHeaderData;
3272
3273struct ImGuiTableTempData
3274{
3275 int TableIndex;
3276 float LastTimeActive;
3277 float AngledHeadersExtraWidth;
3278 ImVector_ImGuiTableHeaderData AngledHeadersRequests;
3279 ImVec2 UserOuterSize;
3280 ImDrawListSplitter DrawSplitter;
3281 ImRect HostBackupWorkRect;
3282 ImRect HostBackupParentWorkRect;
3283 ImVec2 HostBackupPrevLineSize;
3284 ImVec2 HostBackupCurrLineSize;
3285 ImVec2 HostBackupCursorMaxPos;
3286 ImVec1 HostBackupColumnsOffset;
3287 float HostBackupItemWidth;
3288 int HostBackupItemWidthStackSize;
3289};
3290typedef struct ImGuiTableColumnSettings ImGuiTableColumnSettings;
3291struct ImGuiTableColumnSettings
3292{
3293 float WidthOrWeight;
3294 ImGuiID UserID;
3295 ImGuiTableColumnIdx Index;
3296 ImGuiTableColumnIdx DisplayOrder;
3297 ImGuiTableColumnIdx SortOrder;
3298 ImU8 SortDirection : 2;
3299 ImU8 IsEnabled : 1;
3300 ImU8 IsStretch : 1;
3301};
3302struct ImGuiTableSettings
3303{
3304 ImGuiID ID;
3305 ImGuiTableFlags SaveFlags;
3306 float RefScale;
3307 ImGuiTableColumnIdx ColumnsCount;
3308 ImGuiTableColumnIdx ColumnsCountMax;
3309 bool WantApply;
3310};
3311struct ImFontBuilderIO
3312{
3313 bool (*FontBuilder_Build)(ImFontAtlas* atlas);
3314};
3315#define IMGUI_HAS_DOCK 1
3316
3317#define ImDrawCallback_ResetRenderState (ImDrawCallback)(-8)
3318
3319#else
3320struct GLFWwindow;
3321struct SDL_Window;
3322typedef union SDL_Event SDL_Event;
3323#endif // CIMGUI_DEFINE_ENUMS_AND_STRUCTS
3324
3325#ifndef CIMGUI_DEFINE_ENUMS_AND_STRUCTS
3326typedef struct ImGuiStorage::ImGuiStoragePair ImGuiStoragePair;
3327typedef struct ImGuiTextFilter::ImGuiTextRange ImGuiTextRange;
3328typedef ImStb::STB_TexteditState STB_TexteditState;
3329typedef ImStb::StbTexteditRow StbTexteditRow;
3330typedef ImStb::StbUndoRecord StbUndoRecord;
3331typedef ImStb::StbUndoState StbUndoState;
3332typedef ImChunkStream<ImGuiTableSettings> ImChunkStream_ImGuiTableSettings;
3333typedef ImChunkStream<ImGuiWindowSettings> ImChunkStream_ImGuiWindowSettings;
3334typedef ImPool<ImGuiTabBar> ImPool_ImGuiTabBar;
3335typedef ImPool<ImGuiTable> ImPool_ImGuiTable;
3336typedef ImSpan<ImGuiTableCellData> ImSpan_ImGuiTableCellData;
3337typedef ImSpan<ImGuiTableColumn> ImSpan_ImGuiTableColumn;
3338typedef ImSpan<ImGuiTableColumnIdx> ImSpan_ImGuiTableColumnIdx;
3339typedef ImVector<ImDrawChannel> ImVector_ImDrawChannel;
3340typedef ImVector<ImDrawCmd> ImVector_ImDrawCmd;
3341typedef ImVector<ImDrawIdx> ImVector_ImDrawIdx;
3342typedef ImVector<ImDrawList*> ImVector_ImDrawListPtr;
3343typedef ImVector<ImDrawVert> ImVector_ImDrawVert;
3344typedef ImVector<ImFont*> ImVector_ImFontPtr;
3345typedef ImVector<ImFontAtlasCustomRect> ImVector_ImFontAtlasCustomRect;
3346typedef ImVector<ImFontConfig> ImVector_ImFontConfig;
3347typedef ImVector<ImFontGlyph> ImVector_ImFontGlyph;
3348typedef ImVector<ImGuiColorMod> ImVector_ImGuiColorMod;
3349typedef ImVector<ImGuiContextHook> ImVector_ImGuiContextHook;
3350typedef ImVector<ImGuiDockNodeSettings> ImVector_ImGuiDockNodeSettings;
3351typedef ImVector<ImGuiDockRequest> ImVector_ImGuiDockRequest;
3352typedef ImVector<ImGuiFocusScopeData> ImVector_ImGuiFocusScopeData;
3353typedef ImVector<ImGuiGroupData> ImVector_ImGuiGroupData;
3354typedef ImVector<ImGuiID> ImVector_ImGuiID;
3355typedef ImVector<ImGuiInputEvent> ImVector_ImGuiInputEvent;
3356typedef ImVector<ImGuiItemFlags> ImVector_ImGuiItemFlags;
3357typedef ImVector<ImGuiKeyRoutingData> ImVector_ImGuiKeyRoutingData;
3358typedef ImVector<ImGuiListClipperData> ImVector_ImGuiListClipperData;
3359typedef ImVector<ImGuiListClipperRange> ImVector_ImGuiListClipperRange;
3360typedef ImVector<ImGuiNavTreeNodeData> ImVector_ImGuiNavTreeNodeData;
3361typedef ImVector<ImGuiOldColumnData> ImVector_ImGuiOldColumnData;
3362typedef ImVector<ImGuiOldColumns> ImVector_ImGuiOldColumns;
3363typedef ImVector<ImGuiPlatformMonitor> ImVector_ImGuiPlatformMonitor;
3364typedef ImVector<ImGuiPopupData> ImVector_ImGuiPopupData;
3365typedef ImVector<ImGuiPtrOrIndex> ImVector_ImGuiPtrOrIndex;
3366typedef ImVector<ImGuiSettingsHandler> ImVector_ImGuiSettingsHandler;
3367typedef ImVector<ImGuiShrinkWidthItem> ImVector_ImGuiShrinkWidthItem;
3368typedef ImVector<ImGuiStackLevelInfo> ImVector_ImGuiStackLevelInfo;
3369typedef ImVector<ImGuiStoragePair> ImVector_ImGuiStoragePair;
3370typedef ImVector<ImGuiStyleMod> ImVector_ImGuiStyleMod;
3371typedef ImVector<ImGuiTabItem> ImVector_ImGuiTabItem;
3372typedef ImVector<ImGuiTableColumnSortSpecs> ImVector_ImGuiTableColumnSortSpecs;
3373typedef ImVector<ImGuiTableHeaderData> ImVector_ImGuiTableHeaderData;
3374typedef ImVector<ImGuiTableInstanceData> ImVector_ImGuiTableInstanceData;
3375typedef ImVector<ImGuiTableTempData> ImVector_ImGuiTableTempData;
3376typedef ImVector<ImGuiTextRange> ImVector_ImGuiTextRange;
3377typedef ImVector<ImGuiViewport*> ImVector_ImGuiViewportPtr;
3378typedef ImVector<ImGuiViewportP*> ImVector_ImGuiViewportPPtr;
3379typedef ImVector<ImGuiWindow*> ImVector_ImGuiWindowPtr;
3380typedef ImVector<ImGuiWindowStackData> ImVector_ImGuiWindowStackData;
3381typedef ImVector<ImTextureID> ImVector_ImTextureID;
3382typedef ImVector<ImU32> ImVector_ImU32;
3383typedef ImVector<ImVec2> ImVector_ImVec2;
3384typedef ImVector<ImVec4> ImVector_ImVec4;
3385typedef ImVector<ImWchar> ImVector_ImWchar;
3386typedef ImVector<char> ImVector_char;
3387typedef ImVector<const char*> ImVector_const_charPtr;
3388typedef ImVector<float> ImVector_float;
3389typedef ImVector<int> ImVector_int;
3390typedef ImVector<unsigned char> ImVector_unsigned_char;
3391#endif //CIMGUI_DEFINE_ENUMS_AND_STRUCTS
3392CIMGUI_API ImVec2* ImVec2_ImVec2_Nil(void);
3393CIMGUI_API void ImVec2_destroy(ImVec2* self);
3394CIMGUI_API ImVec2* ImVec2_ImVec2_Float(float _x,float _y);
3395CIMGUI_API ImVec4* ImVec4_ImVec4_Nil(void);
3396CIMGUI_API void ImVec4_destroy(ImVec4* self);
3397CIMGUI_API ImVec4* ImVec4_ImVec4_Float(float _x,float _y,float _z,float _w);
3398CIMGUI_API ImGuiContext* igCreateContext(ImFontAtlas* shared_font_atlas);
3399CIMGUI_API void igDestroyContext(ImGuiContext* ctx);
3400CIMGUI_API ImGuiContext* igGetCurrentContext(void);
3401CIMGUI_API void igSetCurrentContext(ImGuiContext* ctx);
3402CIMGUI_API ImGuiIO* igGetIO(void);
3403CIMGUI_API ImGuiStyle* igGetStyle(void);
3404CIMGUI_API void igNewFrame(void);
3405CIMGUI_API void igEndFrame(void);
3406CIMGUI_API void igRender(void);
3407CIMGUI_API ImDrawData* igGetDrawData(void);
3408CIMGUI_API void igShowDemoWindow(bool* p_open);
3409CIMGUI_API void igShowMetricsWindow(bool* p_open);
3410CIMGUI_API void igShowDebugLogWindow(bool* p_open);
3411CIMGUI_API void igShowIDStackToolWindow(bool* p_open);
3412CIMGUI_API void igShowAboutWindow(bool* p_open);
3413CIMGUI_API void igShowStyleEditor(ImGuiStyle* ref);
3414CIMGUI_API bool igShowStyleSelector(const char* label);
3415CIMGUI_API void igShowFontSelector(const char* label);
3416CIMGUI_API void igShowUserGuide(void);
3417CIMGUI_API const char* igGetVersion(void);
3418CIMGUI_API void igStyleColorsDark(ImGuiStyle* dst);
3419CIMGUI_API void igStyleColorsLight(ImGuiStyle* dst);
3420CIMGUI_API void igStyleColorsClassic(ImGuiStyle* dst);
3421CIMGUI_API bool igBegin(const char* name,bool* p_open,ImGuiWindowFlags flags);
3422CIMGUI_API void igEnd(void);
3423CIMGUI_API bool igBeginChild_Str(const char* str_id,const ImVec2 size,ImGuiChildFlags child_flags,ImGuiWindowFlags window_flags);
3424CIMGUI_API bool igBeginChild_ID(ImGuiID id,const ImVec2 size,ImGuiChildFlags child_flags,ImGuiWindowFlags window_flags);
3425CIMGUI_API void igEndChild(void);
3426CIMGUI_API bool igIsWindowAppearing(void);
3427CIMGUI_API bool igIsWindowCollapsed(void);
3428CIMGUI_API bool igIsWindowFocused(ImGuiFocusedFlags flags);
3429CIMGUI_API bool igIsWindowHovered(ImGuiHoveredFlags flags);
3430CIMGUI_API ImDrawList* igGetWindowDrawList(void);
3431CIMGUI_API float igGetWindowDpiScale(void);
3432CIMGUI_API void igGetWindowPos(ImVec2 *pOut);
3433CIMGUI_API void igGetWindowSize(ImVec2 *pOut);
3434CIMGUI_API float igGetWindowWidth(void);
3435CIMGUI_API float igGetWindowHeight(void);
3436CIMGUI_API ImGuiViewport* igGetWindowViewport(void);
3437CIMGUI_API void igSetNextWindowPos(const ImVec2 pos,ImGuiCond cond,const ImVec2 pivot);
3438CIMGUI_API void igSetNextWindowSize(const ImVec2 size,ImGuiCond cond);
3439CIMGUI_API void igSetNextWindowSizeConstraints(const ImVec2 size_min,const ImVec2 size_max,ImGuiSizeCallback custom_callback,void* custom_callback_data);
3440CIMGUI_API void igSetNextWindowContentSize(const ImVec2 size);
3441CIMGUI_API void igSetNextWindowCollapsed(bool collapsed,ImGuiCond cond);
3442CIMGUI_API void igSetNextWindowFocus(void);
3443CIMGUI_API void igSetNextWindowScroll(const ImVec2 scroll);
3444CIMGUI_API void igSetNextWindowBgAlpha(float alpha);
3445CIMGUI_API void igSetNextWindowViewport(ImGuiID viewport_id);
3446CIMGUI_API void igSetWindowPos_Vec2(const ImVec2 pos,ImGuiCond cond);
3447CIMGUI_API void igSetWindowSize_Vec2(const ImVec2 size,ImGuiCond cond);
3448CIMGUI_API void igSetWindowCollapsed_Bool(bool collapsed,ImGuiCond cond);
3449CIMGUI_API void igSetWindowFocus_Nil(void);
3450CIMGUI_API void igSetWindowFontScale(float scale);
3451CIMGUI_API void igSetWindowPos_Str(const char* name,const ImVec2 pos,ImGuiCond cond);
3452CIMGUI_API void igSetWindowSize_Str(const char* name,const ImVec2 size,ImGuiCond cond);
3453CIMGUI_API void igSetWindowCollapsed_Str(const char* name,bool collapsed,ImGuiCond cond);
3454CIMGUI_API void igSetWindowFocus_Str(const char* name);
3455CIMGUI_API void igGetContentRegionAvail(ImVec2 *pOut);
3456CIMGUI_API void igGetContentRegionMax(ImVec2 *pOut);
3457CIMGUI_API void igGetWindowContentRegionMin(ImVec2 *pOut);
3458CIMGUI_API void igGetWindowContentRegionMax(ImVec2 *pOut);
3459CIMGUI_API float igGetScrollX(void);
3460CIMGUI_API float igGetScrollY(void);
3461CIMGUI_API void igSetScrollX_Float(float scroll_x);
3462CIMGUI_API void igSetScrollY_Float(float scroll_y);
3463CIMGUI_API float igGetScrollMaxX(void);
3464CIMGUI_API float igGetScrollMaxY(void);
3465CIMGUI_API void igSetScrollHereX(float center_x_ratio);
3466CIMGUI_API void igSetScrollHereY(float center_y_ratio);
3467CIMGUI_API void igSetScrollFromPosX_Float(float local_x,float center_x_ratio);
3468CIMGUI_API void igSetScrollFromPosY_Float(float local_y,float center_y_ratio);
3469CIMGUI_API void igPushFont(ImFont* font);
3470CIMGUI_API void igPopFont(void);
3471CIMGUI_API void igPushStyleColor_U32(ImGuiCol idx,ImU32 col);
3472CIMGUI_API void igPushStyleColor_Vec4(ImGuiCol idx,const ImVec4 col);
3473CIMGUI_API void igPopStyleColor(int count);
3474CIMGUI_API void igPushStyleVar_Float(ImGuiStyleVar idx,float val);
3475CIMGUI_API void igPushStyleVar_Vec2(ImGuiStyleVar idx,const ImVec2 val);
3476CIMGUI_API void igPopStyleVar(int count);
3477CIMGUI_API void igPushTabStop(bool tab_stop);
3478CIMGUI_API void igPopTabStop(void);
3479CIMGUI_API void igPushButtonRepeat(bool repeat);
3480CIMGUI_API void igPopButtonRepeat(void);
3481CIMGUI_API void igPushItemWidth(float item_width);
3482CIMGUI_API void igPopItemWidth(void);
3483CIMGUI_API void igSetNextItemWidth(float item_width);
3484CIMGUI_API float igCalcItemWidth(void);
3485CIMGUI_API void igPushTextWrapPos(float wrap_local_pos_x);
3486CIMGUI_API void igPopTextWrapPos(void);
3487CIMGUI_API ImFont* igGetFont(void);
3488CIMGUI_API float igGetFontSize(void);
3489CIMGUI_API void igGetFontTexUvWhitePixel(ImVec2 *pOut);
3490CIMGUI_API ImU32 igGetColorU32_Col(ImGuiCol idx,float alpha_mul);
3491CIMGUI_API ImU32 igGetColorU32_Vec4(const ImVec4 col);
3492CIMGUI_API ImU32 igGetColorU32_U32(ImU32 col,float alpha_mul);
3493CIMGUI_API const ImVec4* igGetStyleColorVec4(ImGuiCol idx);
3494CIMGUI_API void igGetCursorScreenPos(ImVec2 *pOut);
3495CIMGUI_API void igSetCursorScreenPos(const ImVec2 pos);
3496CIMGUI_API void igGetCursorPos(ImVec2 *pOut);
3497CIMGUI_API float igGetCursorPosX(void);
3498CIMGUI_API float igGetCursorPosY(void);
3499CIMGUI_API void igSetCursorPos(const ImVec2 local_pos);
3500CIMGUI_API void igSetCursorPosX(float local_x);
3501CIMGUI_API void igSetCursorPosY(float local_y);
3502CIMGUI_API void igGetCursorStartPos(ImVec2 *pOut);
3503CIMGUI_API void igSeparator(void);
3504CIMGUI_API void igSameLine(float offset_from_start_x,float spacing);
3505CIMGUI_API void igNewLine(void);
3506CIMGUI_API void igSpacing(void);
3507CIMGUI_API void igDummy(const ImVec2 size);
3508CIMGUI_API void igIndent(float indent_w);
3509CIMGUI_API void igUnindent(float indent_w);
3510CIMGUI_API void igBeginGroup(void);
3511CIMGUI_API void igEndGroup(void);
3512CIMGUI_API void igAlignTextToFramePadding(void);
3513CIMGUI_API float igGetTextLineHeight(void);
3514CIMGUI_API float igGetTextLineHeightWithSpacing(void);
3515CIMGUI_API float igGetFrameHeight(void);
3516CIMGUI_API float igGetFrameHeightWithSpacing(void);
3517CIMGUI_API void igPushID_Str(const char* str_id);
3518CIMGUI_API void igPushID_StrStr(const char* str_id_begin,const char* str_id_end);
3519CIMGUI_API void igPushID_Ptr(const void* ptr_id);
3520CIMGUI_API void igPushID_Int(int int_id);
3521CIMGUI_API void igPopID(void);
3522CIMGUI_API ImGuiID igGetID_Str(const char* str_id);
3523CIMGUI_API ImGuiID igGetID_StrStr(const char* str_id_begin,const char* str_id_end);
3524CIMGUI_API ImGuiID igGetID_Ptr(const void* ptr_id);
3525CIMGUI_API void igTextUnformatted(const char* text,const char* text_end);
3526CIMGUI_API void igText(const char* fmt,...);
3527CIMGUI_API void igTextV(const char* fmt,va_list args);
3528CIMGUI_API void igTextColored(const ImVec4 col,const char* fmt,...);
3529CIMGUI_API void igTextColoredV(const ImVec4 col,const char* fmt,va_list args);
3530CIMGUI_API void igTextDisabled(const char* fmt,...);
3531CIMGUI_API void igTextDisabledV(const char* fmt,va_list args);
3532CIMGUI_API void igTextWrapped(const char* fmt,...);
3533CIMGUI_API void igTextWrappedV(const char* fmt,va_list args);
3534CIMGUI_API void igLabelText(const char* label,const char* fmt,...);
3535CIMGUI_API void igLabelTextV(const char* label,const char* fmt,va_list args);
3536CIMGUI_API void igBulletText(const char* fmt,...);
3537CIMGUI_API void igBulletTextV(const char* fmt,va_list args);
3538CIMGUI_API void igSeparatorText(const char* label);
3539CIMGUI_API bool igButton(const char* label,const ImVec2 size);
3540CIMGUI_API bool igSmallButton(const char* label);
3541CIMGUI_API bool igInvisibleButton(const char* str_id,const ImVec2 size,ImGuiButtonFlags flags);
3542CIMGUI_API bool igArrowButton(const char* str_id,ImGuiDir dir);
3543CIMGUI_API bool igCheckbox(const char* label,bool* v);
3544CIMGUI_API bool igCheckboxFlags_IntPtr(const char* label,int* flags,int flags_value);
3545CIMGUI_API bool igCheckboxFlags_UintPtr(const char* label,unsigned int* flags,unsigned int flags_value);
3546CIMGUI_API bool igRadioButton_Bool(const char* label,bool active);
3547CIMGUI_API bool igRadioButton_IntPtr(const char* label,int* v,int v_button);
3548CIMGUI_API void igProgressBar(float fraction,const ImVec2 size_arg,const char* overlay);
3549CIMGUI_API void igBullet(void);
3550CIMGUI_API void igImage(ImTextureID user_texture_id,const ImVec2 image_size,const ImVec2 uv0,const ImVec2 uv1,const ImVec4 tint_col,const ImVec4 border_col);
3551CIMGUI_API bool igImageButton(const char* str_id,ImTextureID user_texture_id,const ImVec2 image_size,const ImVec2 uv0,const ImVec2 uv1,const ImVec4 bg_col,const ImVec4 tint_col);
3552CIMGUI_API bool igBeginCombo(const char* label,const char* preview_value,ImGuiComboFlags flags);
3553CIMGUI_API void igEndCombo(void);
3554CIMGUI_API bool igCombo_Str_arr(const char* label,int* current_item,const char* const items[],int items_count,int popup_max_height_in_items);
3555CIMGUI_API bool igCombo_Str(const char* label,int* current_item,const char* items_separated_by_zeros,int popup_max_height_in_items);
3556CIMGUI_API bool igCombo_FnStrPtr(const char* label,int* current_item,const char*(*getter)(void* user_data,int idx),void* user_data,int items_count,int popup_max_height_in_items);
3557CIMGUI_API bool igDragFloat(const char* label,float* v,float v_speed,float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
3558CIMGUI_API bool igDragFloat2(const char* label,float v[2],float v_speed,float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
3559CIMGUI_API bool igDragFloat3(const char* label,float v[3],float v_speed,float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
3560CIMGUI_API bool igDragFloat4(const char* label,float v[4],float v_speed,float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
3561CIMGUI_API bool igDragFloatRange2(const char* label,float* v_current_min,float* v_current_max,float v_speed,float v_min,float v_max,const char* format,const char* format_max,ImGuiSliderFlags flags);
3562CIMGUI_API bool igDragInt(const char* label,int* v,float v_speed,int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
3563CIMGUI_API bool igDragInt2(const char* label,int v[2],float v_speed,int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
3564CIMGUI_API bool igDragInt3(const char* label,int v[3],float v_speed,int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
3565CIMGUI_API bool igDragInt4(const char* label,int v[4],float v_speed,int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
3566CIMGUI_API bool igDragIntRange2(const char* label,int* v_current_min,int* v_current_max,float v_speed,int v_min,int v_max,const char* format,const char* format_max,ImGuiSliderFlags flags);
3567CIMGUI_API bool igDragScalar(const char* label,ImGuiDataType data_type,void* p_data,float v_speed,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags);
3568CIMGUI_API bool igDragScalarN(const char* label,ImGuiDataType data_type,void* p_data,int components,float v_speed,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags);
3569CIMGUI_API bool igSliderFloat(const char* label,float* v,float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
3570CIMGUI_API bool igSliderFloat2(const char* label,float v[2],float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
3571CIMGUI_API bool igSliderFloat3(const char* label,float v[3],float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
3572CIMGUI_API bool igSliderFloat4(const char* label,float v[4],float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
3573CIMGUI_API bool igSliderAngle(const char* label,float* v_rad,float v_degrees_min,float v_degrees_max,const char* format,ImGuiSliderFlags flags);
3574CIMGUI_API bool igSliderInt(const char* label,int* v,int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
3575CIMGUI_API bool igSliderInt2(const char* label,int v[2],int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
3576CIMGUI_API bool igSliderInt3(const char* label,int v[3],int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
3577CIMGUI_API bool igSliderInt4(const char* label,int v[4],int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
3578CIMGUI_API bool igSliderScalar(const char* label,ImGuiDataType data_type,void* p_data,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags);
3579CIMGUI_API bool igSliderScalarN(const char* label,ImGuiDataType data_type,void* p_data,int components,const void* p_min,const void* p_max,const char* format,ImGuiSliderFlags flags);
3580CIMGUI_API bool igVSliderFloat(const char* label,const ImVec2 size,float* v,float v_min,float v_max,const char* format,ImGuiSliderFlags flags);
3581CIMGUI_API bool igVSliderInt(const char* label,const ImVec2 size,int* v,int v_min,int v_max,const char* format,ImGuiSliderFlags flags);
3582CIMGUI_API 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,ImGuiSliderFlags flags);
3583CIMGUI_API bool igInputText(const char* label,char* buf,size_t buf_size,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data);
3584CIMGUI_API bool igInputTextMultiline(const char* label,char* buf,size_t buf_size,const ImVec2 size,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data);
3585CIMGUI_API bool igInputTextWithHint(const char* label,const char* hint,char* buf,size_t buf_size,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data);
3586CIMGUI_API bool igInputFloat(const char* label,float* v,float step,float step_fast,const char* format,ImGuiInputTextFlags flags);
3587CIMGUI_API bool igInputFloat2(const char* label,float v[2],const char* format,ImGuiInputTextFlags flags);
3588CIMGUI_API bool igInputFloat3(const char* label,float v[3],const char* format,ImGuiInputTextFlags flags);
3589CIMGUI_API bool igInputFloat4(const char* label,float v[4],const char* format,ImGuiInputTextFlags flags);
3590CIMGUI_API bool igInputInt(const char* label,int* v,int step,int step_fast,ImGuiInputTextFlags flags);
3591CIMGUI_API bool igInputInt2(const char* label,int v[2],ImGuiInputTextFlags flags);
3592CIMGUI_API bool igInputInt3(const char* label,int v[3],ImGuiInputTextFlags flags);
3593CIMGUI_API bool igInputInt4(const char* label,int v[4],ImGuiInputTextFlags flags);
3594CIMGUI_API bool igInputDouble(const char* label,double* v,double step,double step_fast,const char* format,ImGuiInputTextFlags flags);
3595CIMGUI_API bool igInputScalar(const char* label,ImGuiDataType data_type,void* p_data,const void* p_step,const void* p_step_fast,const char* format,ImGuiInputTextFlags flags);
3596CIMGUI_API bool igInputScalarN(const char* label,ImGuiDataType data_type,void* p_data,int components,const void* p_step,const void* p_step_fast,const char* format,ImGuiInputTextFlags flags);
3597CIMGUI_API bool igColorEdit3(const char* label,float col[3],ImGuiColorEditFlags flags);
3598CIMGUI_API bool igColorEdit4(const char* label,float col[4],ImGuiColorEditFlags flags);
3599CIMGUI_API bool igColorPicker3(const char* label,float col[3],ImGuiColorEditFlags flags);
3600CIMGUI_API bool igColorPicker4(const char* label,float col[4],ImGuiColorEditFlags flags,const float* ref_col);
3601CIMGUI_API bool igColorButton(const char* desc_id,const ImVec4 col,ImGuiColorEditFlags flags,const ImVec2 size);
3602CIMGUI_API void igSetColorEditOptions(ImGuiColorEditFlags flags);
3603CIMGUI_API bool igTreeNode_Str(const char* label);
3604CIMGUI_API bool igTreeNode_StrStr(const char* str_id,const char* fmt,...);
3605CIMGUI_API bool igTreeNode_Ptr(const void* ptr_id,const char* fmt,...);
3606CIMGUI_API bool igTreeNodeV_Str(const char* str_id,const char* fmt,va_list args);
3607CIMGUI_API bool igTreeNodeV_Ptr(const void* ptr_id,const char* fmt,va_list args);
3608CIMGUI_API bool igTreeNodeEx_Str(const char* label,ImGuiTreeNodeFlags flags);
3609CIMGUI_API bool igTreeNodeEx_StrStr(const char* str_id,ImGuiTreeNodeFlags flags,const char* fmt,...);
3610CIMGUI_API bool igTreeNodeEx_Ptr(const void* ptr_id,ImGuiTreeNodeFlags flags,const char* fmt,...);
3611CIMGUI_API bool igTreeNodeExV_Str(const char* str_id,ImGuiTreeNodeFlags flags,const char* fmt,va_list args);
3612CIMGUI_API bool igTreeNodeExV_Ptr(const void* ptr_id,ImGuiTreeNodeFlags flags,const char* fmt,va_list args);
3613CIMGUI_API void igTreePush_Str(const char* str_id);
3614CIMGUI_API void igTreePush_Ptr(const void* ptr_id);
3615CIMGUI_API void igTreePop(void);
3616CIMGUI_API float igGetTreeNodeToLabelSpacing(void);
3617CIMGUI_API bool igCollapsingHeader_TreeNodeFlags(const char* label,ImGuiTreeNodeFlags flags);
3618CIMGUI_API bool igCollapsingHeader_BoolPtr(const char* label,bool* p_visible,ImGuiTreeNodeFlags flags);
3619CIMGUI_API void igSetNextItemOpen(bool is_open,ImGuiCond cond);
3620CIMGUI_API bool igSelectable_Bool(const char* label,bool selected,ImGuiSelectableFlags flags,const ImVec2 size);
3621CIMGUI_API bool igSelectable_BoolPtr(const char* label,bool* p_selected,ImGuiSelectableFlags flags,const ImVec2 size);
3622CIMGUI_API bool igBeginListBox(const char* label,const ImVec2 size);
3623CIMGUI_API void igEndListBox(void);
3624CIMGUI_API bool igListBox_Str_arr(const char* label,int* current_item,const char* const items[],int items_count,int height_in_items);
3625CIMGUI_API bool igListBox_FnStrPtr(const char* label,int* current_item,const char*(*getter)(void* user_data,int idx),void* user_data,int items_count,int height_in_items);
3626CIMGUI_API void igPlotLines_FloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride);
3627CIMGUI_API void igPlotLines_FnFloatPtr(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size);
3628CIMGUI_API void igPlotHistogram_FloatPtr(const char* label,const float* values,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size,int stride);
3629CIMGUI_API void igPlotHistogram_FnFloatPtr(const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,ImVec2 graph_size);
3630CIMGUI_API void igValue_Bool(const char* prefix,bool b);
3631CIMGUI_API void igValue_Int(const char* prefix,int v);
3632CIMGUI_API void igValue_Uint(const char* prefix,unsigned int v);
3633CIMGUI_API void igValue_Float(const char* prefix,float v,const char* float_format);
3634CIMGUI_API bool igBeginMenuBar(void);
3635CIMGUI_API void igEndMenuBar(void);
3636CIMGUI_API bool igBeginMainMenuBar(void);
3637CIMGUI_API void igEndMainMenuBar(void);
3638CIMGUI_API bool igBeginMenu(const char* label,bool enabled);
3639CIMGUI_API void igEndMenu(void);
3640CIMGUI_API bool igMenuItem_Bool(const char* label,const char* shortcut,bool selected,bool enabled);
3641CIMGUI_API bool igMenuItem_BoolPtr(const char* label,const char* shortcut,bool* p_selected,bool enabled);
3642CIMGUI_API bool igBeginTooltip(void);
3643CIMGUI_API void igEndTooltip(void);
3644CIMGUI_API void igSetTooltip(const char* fmt,...);
3645CIMGUI_API void igSetTooltipV(const char* fmt,va_list args);
3646CIMGUI_API bool igBeginItemTooltip(void);
3647CIMGUI_API void igSetItemTooltip(const char* fmt,...);
3648CIMGUI_API void igSetItemTooltipV(const char* fmt,va_list args);
3649CIMGUI_API bool igBeginPopup(const char* str_id,ImGuiWindowFlags flags);
3650CIMGUI_API bool igBeginPopupModal(const char* name,bool* p_open,ImGuiWindowFlags flags);
3651CIMGUI_API void igEndPopup(void);
3652CIMGUI_API void igOpenPopup_Str(const char* str_id,ImGuiPopupFlags popup_flags);
3653CIMGUI_API void igOpenPopup_ID(ImGuiID id,ImGuiPopupFlags popup_flags);
3654CIMGUI_API void igOpenPopupOnItemClick(const char* str_id,ImGuiPopupFlags popup_flags);
3655CIMGUI_API void igCloseCurrentPopup(void);
3656CIMGUI_API bool igBeginPopupContextItem(const char* str_id,ImGuiPopupFlags popup_flags);
3657CIMGUI_API bool igBeginPopupContextWindow(const char* str_id,ImGuiPopupFlags popup_flags);
3658CIMGUI_API bool igBeginPopupContextVoid(const char* str_id,ImGuiPopupFlags popup_flags);
3659CIMGUI_API bool igIsPopupOpen_Str(const char* str_id,ImGuiPopupFlags flags);
3660CIMGUI_API bool igBeginTable(const char* str_id,int column,ImGuiTableFlags flags,const ImVec2 outer_size,float inner_width);
3661CIMGUI_API void igEndTable(void);
3662CIMGUI_API void igTableNextRow(ImGuiTableRowFlags row_flags,float min_row_height);
3663CIMGUI_API bool igTableNextColumn(void);
3664CIMGUI_API bool igTableSetColumnIndex(int column_n);
3665CIMGUI_API void igTableSetupColumn(const char* label,ImGuiTableColumnFlags flags,float init_width_or_weight,ImGuiID user_id);
3666CIMGUI_API void igTableSetupScrollFreeze(int cols,int rows);
3667CIMGUI_API void igTableHeader(const char* label);
3668CIMGUI_API void igTableHeadersRow(void);
3669CIMGUI_API void igTableAngledHeadersRow(void);
3670CIMGUI_API ImGuiTableSortSpecs* igTableGetSortSpecs(void);
3671CIMGUI_API int igTableGetColumnCount(void);
3672CIMGUI_API int igTableGetColumnIndex(void);
3673CIMGUI_API int igTableGetRowIndex(void);
3674CIMGUI_API const char* igTableGetColumnName_Int(int column_n);
3675CIMGUI_API ImGuiTableColumnFlags igTableGetColumnFlags(int column_n);
3676CIMGUI_API void igTableSetColumnEnabled(int column_n,bool v);
3677CIMGUI_API void igTableSetBgColor(ImGuiTableBgTarget target,ImU32 color,int column_n);
3678CIMGUI_API void igColumns(int count,const char* id,bool border);
3679CIMGUI_API void igNextColumn(void);
3680CIMGUI_API int igGetColumnIndex(void);
3681CIMGUI_API float igGetColumnWidth(int column_index);
3682CIMGUI_API void igSetColumnWidth(int column_index,float width);
3683CIMGUI_API float igGetColumnOffset(int column_index);
3684CIMGUI_API void igSetColumnOffset(int column_index,float offset_x);
3685CIMGUI_API int igGetColumnsCount(void);
3686CIMGUI_API bool igBeginTabBar(const char* str_id,ImGuiTabBarFlags flags);
3687CIMGUI_API void igEndTabBar(void);
3688CIMGUI_API bool igBeginTabItem(const char* label,bool* p_open,ImGuiTabItemFlags flags);
3689CIMGUI_API void igEndTabItem(void);
3690CIMGUI_API bool igTabItemButton(const char* label,ImGuiTabItemFlags flags);
3691CIMGUI_API void igSetTabItemClosed(const char* tab_or_docked_window_label);
3692CIMGUI_API ImGuiID igDockSpace(ImGuiID dockspace_id,const ImVec2 size,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class);
3693CIMGUI_API ImGuiID igDockSpaceOverViewport(ImGuiID dockspace_id,const ImGuiViewport* viewport,ImGuiDockNodeFlags flags,const ImGuiWindowClass* window_class);
3694CIMGUI_API void igSetNextWindowDockID(ImGuiID dock_id,ImGuiCond cond);
3695CIMGUI_API void igSetNextWindowClass(const ImGuiWindowClass* window_class);
3696CIMGUI_API ImGuiID igGetWindowDockID(void);
3697CIMGUI_API bool igIsWindowDocked(void);
3698CIMGUI_API void igLogToTTY(int auto_open_depth);
3699CIMGUI_API void igLogToFile(int auto_open_depth,const char* filename);
3700CIMGUI_API void igLogToClipboard(int auto_open_depth);
3701CIMGUI_API void igLogFinish(void);
3702CIMGUI_API void igLogButtons(void);
3703CIMGUI_API void igLogTextV(const char* fmt,va_list args);
3704CIMGUI_API bool igBeginDragDropSource(ImGuiDragDropFlags flags);
3705CIMGUI_API bool igSetDragDropPayload(const char* type,const void* data,size_t sz,ImGuiCond cond);
3706CIMGUI_API void igEndDragDropSource(void);
3707CIMGUI_API bool igBeginDragDropTarget(void);
3708CIMGUI_API const ImGuiPayload* igAcceptDragDropPayload(const char* type,ImGuiDragDropFlags flags);
3709CIMGUI_API void igEndDragDropTarget(void);
3710CIMGUI_API const ImGuiPayload* igGetDragDropPayload(void);
3711CIMGUI_API void igBeginDisabled(bool disabled);
3712CIMGUI_API void igEndDisabled(void);
3713CIMGUI_API void igPushClipRect(const ImVec2 clip_rect_min,const ImVec2 clip_rect_max,bool intersect_with_current_clip_rect);
3714CIMGUI_API void igPopClipRect(void);
3715CIMGUI_API void igSetItemDefaultFocus(void);
3716CIMGUI_API void igSetKeyboardFocusHere(int offset);
3717CIMGUI_API void igSetNextItemAllowOverlap(void);
3718CIMGUI_API bool igIsItemHovered(ImGuiHoveredFlags flags);
3719CIMGUI_API bool igIsItemActive(void);
3720CIMGUI_API bool igIsItemFocused(void);
3721CIMGUI_API bool igIsItemClicked(ImGuiMouseButton mouse_button);
3722CIMGUI_API bool igIsItemVisible(void);
3723CIMGUI_API bool igIsItemEdited(void);
3724CIMGUI_API bool igIsItemActivated(void);
3725CIMGUI_API bool igIsItemDeactivated(void);
3726CIMGUI_API bool igIsItemDeactivatedAfterEdit(void);
3727CIMGUI_API bool igIsItemToggledOpen(void);
3728CIMGUI_API bool igIsAnyItemHovered(void);
3729CIMGUI_API bool igIsAnyItemActive(void);
3730CIMGUI_API bool igIsAnyItemFocused(void);
3731CIMGUI_API ImGuiID igGetItemID(void);
3732CIMGUI_API void igGetItemRectMin(ImVec2 *pOut);
3733CIMGUI_API void igGetItemRectMax(ImVec2 *pOut);
3734CIMGUI_API void igGetItemRectSize(ImVec2 *pOut);
3735CIMGUI_API ImGuiViewport* igGetMainViewport(void);
3736CIMGUI_API ImDrawList* igGetBackgroundDrawList_Nil(void);
3737CIMGUI_API ImDrawList* igGetForegroundDrawList_Nil(void);
3738CIMGUI_API ImDrawList* igGetBackgroundDrawList_ViewportPtr(ImGuiViewport* viewport);
3739CIMGUI_API ImDrawList* igGetForegroundDrawList_ViewportPtr(ImGuiViewport* viewport);
3740CIMGUI_API bool igIsRectVisible_Nil(const ImVec2 size);
3741CIMGUI_API bool igIsRectVisible_Vec2(const ImVec2 rect_min,const ImVec2 rect_max);
3742CIMGUI_API double igGetTime(void);
3743CIMGUI_API int igGetFrameCount(void);
3744CIMGUI_API ImDrawListSharedData* igGetDrawListSharedData(void);
3745CIMGUI_API const char* igGetStyleColorName(ImGuiCol idx);
3746CIMGUI_API void igSetStateStorage(ImGuiStorage* storage);
3747CIMGUI_API ImGuiStorage* igGetStateStorage(void);
3748CIMGUI_API void igCalcTextSize(ImVec2 *pOut,const char* text,const char* text_end,bool hide_text_after_double_hash,float wrap_width);
3749CIMGUI_API void igColorConvertU32ToFloat4(ImVec4 *pOut,ImU32 in);
3750CIMGUI_API ImU32 igColorConvertFloat4ToU32(const ImVec4 in);
3751CIMGUI_API void igColorConvertRGBtoHSV(float r,float g,float b,float* out_h,float* out_s,float* out_v);
3752CIMGUI_API void igColorConvertHSVtoRGB(float h,float s,float v,float* out_r,float* out_g,float* out_b);
3753CIMGUI_API bool igIsKeyDown_Nil(ImGuiKey key);
3754CIMGUI_API bool igIsKeyPressed_Bool(ImGuiKey key,bool repeat);
3755CIMGUI_API bool igIsKeyReleased_Nil(ImGuiKey key);
3756CIMGUI_API bool igIsKeyChordPressed_Nil(ImGuiKeyChord key_chord);
3757CIMGUI_API int igGetKeyPressedAmount(ImGuiKey key,float repeat_delay,float rate);
3758CIMGUI_API const char* igGetKeyName(ImGuiKey key);
3759CIMGUI_API void igSetNextFrameWantCaptureKeyboard(bool want_capture_keyboard);
3760CIMGUI_API bool igShortcut_Nil(ImGuiKeyChord key_chord,ImGuiInputFlags flags);
3761CIMGUI_API void igSetNextItemShortcut(ImGuiKeyChord key_chord,ImGuiInputFlags flags);
3762CIMGUI_API bool igIsMouseDown_Nil(ImGuiMouseButton button);
3763CIMGUI_API bool igIsMouseClicked_Bool(ImGuiMouseButton button,bool repeat);
3764CIMGUI_API bool igIsMouseReleased_Nil(ImGuiMouseButton button);
3765CIMGUI_API bool igIsMouseDoubleClicked_Nil(ImGuiMouseButton button);
3766CIMGUI_API int igGetMouseClickedCount(ImGuiMouseButton button);
3767CIMGUI_API bool igIsMouseHoveringRect(const ImVec2 r_min,const ImVec2 r_max,bool clip);
3768CIMGUI_API bool igIsMousePosValid(const ImVec2* mouse_pos);
3769CIMGUI_API bool igIsAnyMouseDown(void);
3770CIMGUI_API void igGetMousePos(ImVec2 *pOut);
3771CIMGUI_API void igGetMousePosOnOpeningCurrentPopup(ImVec2 *pOut);
3772CIMGUI_API bool igIsMouseDragging(ImGuiMouseButton button,float lock_threshold);
3773CIMGUI_API void igGetMouseDragDelta(ImVec2 *pOut,ImGuiMouseButton button,float lock_threshold);
3774CIMGUI_API void igResetMouseDragDelta(ImGuiMouseButton button);
3775CIMGUI_API ImGuiMouseCursor igGetMouseCursor(void);
3776CIMGUI_API void igSetMouseCursor(ImGuiMouseCursor cursor_type);
3777CIMGUI_API void igSetNextFrameWantCaptureMouse(bool want_capture_mouse);
3778CIMGUI_API const char* igGetClipboardText(void);
3779CIMGUI_API void igSetClipboardText(const char* text);
3780CIMGUI_API void igLoadIniSettingsFromDisk(const char* ini_filename);
3781CIMGUI_API void igLoadIniSettingsFromMemory(const char* ini_data,size_t ini_size);
3782CIMGUI_API void igSaveIniSettingsToDisk(const char* ini_filename);
3783CIMGUI_API const char* igSaveIniSettingsToMemory(size_t* out_ini_size);
3784CIMGUI_API void igDebugTextEncoding(const char* text);
3785CIMGUI_API void igDebugFlashStyleColor(ImGuiCol idx);
3786CIMGUI_API void igDebugStartItemPicker(void);
3787CIMGUI_API 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);
3788CIMGUI_API void igSetAllocatorFunctions(ImGuiMemAllocFunc alloc_func,ImGuiMemFreeFunc free_func,void* user_data);
3789CIMGUI_API void igGetAllocatorFunctions(ImGuiMemAllocFunc* p_alloc_func,ImGuiMemFreeFunc* p_free_func,void** p_user_data);
3790CIMGUI_API void* igMemAlloc(size_t size);
3791CIMGUI_API void igMemFree(void* ptr);
3792CIMGUI_API ImGuiPlatformIO* igGetPlatformIO(void);
3793CIMGUI_API void igUpdatePlatformWindows(void);
3794CIMGUI_API void igRenderPlatformWindowsDefault(void* platform_render_arg,void* renderer_render_arg);
3795CIMGUI_API void igDestroyPlatformWindows(void);
3796CIMGUI_API ImGuiViewport* igFindViewportByID(ImGuiID id);
3797CIMGUI_API ImGuiViewport* igFindViewportByPlatformHandle(void* platform_handle);
3798CIMGUI_API ImGuiTableSortSpecs* ImGuiTableSortSpecs_ImGuiTableSortSpecs(void);
3799CIMGUI_API void ImGuiTableSortSpecs_destroy(ImGuiTableSortSpecs* self);
3800CIMGUI_API ImGuiTableColumnSortSpecs* ImGuiTableColumnSortSpecs_ImGuiTableColumnSortSpecs(void);
3801CIMGUI_API void ImGuiTableColumnSortSpecs_destroy(ImGuiTableColumnSortSpecs* self);
3802CIMGUI_API ImGuiStyle* ImGuiStyle_ImGuiStyle(void);
3803CIMGUI_API void ImGuiStyle_destroy(ImGuiStyle* self);
3804CIMGUI_API void ImGuiStyle_ScaleAllSizes(ImGuiStyle* self,float scale_factor);
3805CIMGUI_API void ImGuiIO_AddKeyEvent(ImGuiIO* self,ImGuiKey key,bool down);
3806CIMGUI_API void ImGuiIO_AddKeyAnalogEvent(ImGuiIO* self,ImGuiKey key,bool down,float v);
3807CIMGUI_API void ImGuiIO_AddMousePosEvent(ImGuiIO* self,float x,float y);
3808CIMGUI_API void ImGuiIO_AddMouseButtonEvent(ImGuiIO* self,int button,bool down);
3809CIMGUI_API void ImGuiIO_AddMouseWheelEvent(ImGuiIO* self,float wheel_x,float wheel_y);
3810CIMGUI_API void ImGuiIO_AddMouseSourceEvent(ImGuiIO* self,ImGuiMouseSource source);
3811CIMGUI_API void ImGuiIO_AddMouseViewportEvent(ImGuiIO* self,ImGuiID id);
3812CIMGUI_API void ImGuiIO_AddFocusEvent(ImGuiIO* self,bool focused);
3813CIMGUI_API void ImGuiIO_AddInputCharacter(ImGuiIO* self,unsigned int c);
3814CIMGUI_API void ImGuiIO_AddInputCharacterUTF16(ImGuiIO* self,ImWchar16 c);
3815CIMGUI_API void ImGuiIO_AddInputCharactersUTF8(ImGuiIO* self,const char* str);
3816CIMGUI_API void ImGuiIO_SetKeyEventNativeData(ImGuiIO* self,ImGuiKey key,int native_keycode,int native_scancode,int native_legacy_index);
3817CIMGUI_API void ImGuiIO_SetAppAcceptingEvents(ImGuiIO* self,bool accepting_events);
3818CIMGUI_API void ImGuiIO_ClearEventsQueue(ImGuiIO* self);
3819CIMGUI_API void ImGuiIO_ClearInputKeys(ImGuiIO* self);
3820CIMGUI_API ImGuiIO* ImGuiIO_ImGuiIO(void);
3821CIMGUI_API void ImGuiIO_destroy(ImGuiIO* self);
3822CIMGUI_API ImGuiInputTextCallbackData* ImGuiInputTextCallbackData_ImGuiInputTextCallbackData(void);
3823CIMGUI_API void ImGuiInputTextCallbackData_destroy(ImGuiInputTextCallbackData* self);
3824CIMGUI_API void ImGuiInputTextCallbackData_DeleteChars(ImGuiInputTextCallbackData* self,int pos,int bytes_count);
3825CIMGUI_API void ImGuiInputTextCallbackData_InsertChars(ImGuiInputTextCallbackData* self,int pos,const char* text,const char* text_end);
3826CIMGUI_API void ImGuiInputTextCallbackData_SelectAll(ImGuiInputTextCallbackData* self);
3827CIMGUI_API void ImGuiInputTextCallbackData_ClearSelection(ImGuiInputTextCallbackData* self);
3828CIMGUI_API bool ImGuiInputTextCallbackData_HasSelection(ImGuiInputTextCallbackData* self);
3829CIMGUI_API ImGuiWindowClass* ImGuiWindowClass_ImGuiWindowClass(void);
3830CIMGUI_API void ImGuiWindowClass_destroy(ImGuiWindowClass* self);
3831CIMGUI_API ImGuiPayload* ImGuiPayload_ImGuiPayload(void);
3832CIMGUI_API void ImGuiPayload_destroy(ImGuiPayload* self);
3833CIMGUI_API void ImGuiPayload_Clear(ImGuiPayload* self);
3834CIMGUI_API bool ImGuiPayload_IsDataType(ImGuiPayload* self,const char* type);
3835CIMGUI_API bool ImGuiPayload_IsPreview(ImGuiPayload* self);
3836CIMGUI_API bool ImGuiPayload_IsDelivery(ImGuiPayload* self);
3837CIMGUI_API ImGuiOnceUponAFrame* ImGuiOnceUponAFrame_ImGuiOnceUponAFrame(void);
3838CIMGUI_API void ImGuiOnceUponAFrame_destroy(ImGuiOnceUponAFrame* self);
3839CIMGUI_API ImGuiTextFilter* ImGuiTextFilter_ImGuiTextFilter(const char* default_filter);
3840CIMGUI_API void ImGuiTextFilter_destroy(ImGuiTextFilter* self);
3841CIMGUI_API bool ImGuiTextFilter_Draw(ImGuiTextFilter* self,const char* label,float width);
3842CIMGUI_API bool ImGuiTextFilter_PassFilter(ImGuiTextFilter* self,const char* text,const char* text_end);
3843CIMGUI_API void ImGuiTextFilter_Build(ImGuiTextFilter* self);
3844CIMGUI_API void ImGuiTextFilter_Clear(ImGuiTextFilter* self);
3845CIMGUI_API bool ImGuiTextFilter_IsActive(ImGuiTextFilter* self);
3846CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRange_Nil(void);
3847CIMGUI_API void ImGuiTextRange_destroy(ImGuiTextRange* self);
3848CIMGUI_API ImGuiTextRange* ImGuiTextRange_ImGuiTextRange_Str(const char* _b,const char* _e);
3849CIMGUI_API bool ImGuiTextRange_empty(ImGuiTextRange* self);
3850CIMGUI_API void ImGuiTextRange_split(ImGuiTextRange* self,char separator,ImVector_ImGuiTextRange* out);
3851CIMGUI_API ImGuiTextBuffer* ImGuiTextBuffer_ImGuiTextBuffer(void);
3852CIMGUI_API void ImGuiTextBuffer_destroy(ImGuiTextBuffer* self);
3853CIMGUI_API const char* ImGuiTextBuffer_begin(ImGuiTextBuffer* self);
3854CIMGUI_API const char* ImGuiTextBuffer_end(ImGuiTextBuffer* self);
3855CIMGUI_API int ImGuiTextBuffer_size(ImGuiTextBuffer* self);
3856CIMGUI_API bool ImGuiTextBuffer_empty(ImGuiTextBuffer* self);
3857CIMGUI_API void ImGuiTextBuffer_clear(ImGuiTextBuffer* self);
3858CIMGUI_API void ImGuiTextBuffer_reserve(ImGuiTextBuffer* self,int capacity);
3859CIMGUI_API const char* ImGuiTextBuffer_c_str(ImGuiTextBuffer* self);
3860CIMGUI_API void ImGuiTextBuffer_append(ImGuiTextBuffer* self,const char* str,const char* str_end);
3861CIMGUI_API void ImGuiTextBuffer_appendfv(ImGuiTextBuffer* self,const char* fmt,va_list args);
3862CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Int(ImGuiID _key,int _val);
3863CIMGUI_API void ImGuiStoragePair_destroy(ImGuiStoragePair* self);
3864CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Float(ImGuiID _key,float _val);
3865CIMGUI_API ImGuiStoragePair* ImGuiStoragePair_ImGuiStoragePair_Ptr(ImGuiID _key,void* _val);
3866CIMGUI_API void ImGuiStorage_Clear(ImGuiStorage* self);
3867CIMGUI_API int ImGuiStorage_GetInt(ImGuiStorage* self,ImGuiID key,int default_val);
3868CIMGUI_API void ImGuiStorage_SetInt(ImGuiStorage* self,ImGuiID key,int val);
3869CIMGUI_API bool ImGuiStorage_GetBool(ImGuiStorage* self,ImGuiID key,bool default_val);
3870CIMGUI_API void ImGuiStorage_SetBool(ImGuiStorage* self,ImGuiID key,bool val);
3871CIMGUI_API float ImGuiStorage_GetFloat(ImGuiStorage* self,ImGuiID key,float default_val);
3872CIMGUI_API void ImGuiStorage_SetFloat(ImGuiStorage* self,ImGuiID key,float val);
3873CIMGUI_API void* ImGuiStorage_GetVoidPtr(ImGuiStorage* self,ImGuiID key);
3874CIMGUI_API void ImGuiStorage_SetVoidPtr(ImGuiStorage* self,ImGuiID key,void* val);
3875CIMGUI_API int* ImGuiStorage_GetIntRef(ImGuiStorage* self,ImGuiID key,int default_val);
3876CIMGUI_API bool* ImGuiStorage_GetBoolRef(ImGuiStorage* self,ImGuiID key,bool default_val);
3877CIMGUI_API float* ImGuiStorage_GetFloatRef(ImGuiStorage* self,ImGuiID key,float default_val);
3878CIMGUI_API void** ImGuiStorage_GetVoidPtrRef(ImGuiStorage* self,ImGuiID key,void* default_val);
3879CIMGUI_API void ImGuiStorage_BuildSortByKey(ImGuiStorage* self);
3880CIMGUI_API void ImGuiStorage_SetAllInt(ImGuiStorage* self,int val);
3881CIMGUI_API ImGuiListClipper* ImGuiListClipper_ImGuiListClipper(void);
3882CIMGUI_API void ImGuiListClipper_destroy(ImGuiListClipper* self);
3883CIMGUI_API void ImGuiListClipper_Begin(ImGuiListClipper* self,int items_count,float items_height);
3884CIMGUI_API void ImGuiListClipper_End(ImGuiListClipper* self);
3885CIMGUI_API bool ImGuiListClipper_Step(ImGuiListClipper* self);
3886CIMGUI_API void ImGuiListClipper_IncludeItemByIndex(ImGuiListClipper* self,int item_index);
3887CIMGUI_API void ImGuiListClipper_IncludeItemsByIndex(ImGuiListClipper* self,int item_begin,int item_end);
3888CIMGUI_API ImColor* ImColor_ImColor_Nil(void);
3889CIMGUI_API void ImColor_destroy(ImColor* self);
3890CIMGUI_API ImColor* ImColor_ImColor_Float(float r,float g,float b,float a);
3891CIMGUI_API ImColor* ImColor_ImColor_Vec4(const ImVec4 col);
3892CIMGUI_API ImColor* ImColor_ImColor_Int(int r,int g,int b,int a);
3893CIMGUI_API ImColor* ImColor_ImColor_U32(ImU32 rgba);
3894CIMGUI_API void ImColor_SetHSV(ImColor* self,float h,float s,float v,float a);
3895CIMGUI_API void ImColor_HSV(ImColor *pOut,float h,float s,float v,float a);
3896CIMGUI_API ImDrawCmd* ImDrawCmd_ImDrawCmd(void);
3897CIMGUI_API void ImDrawCmd_destroy(ImDrawCmd* self);
3898CIMGUI_API ImTextureID ImDrawCmd_GetTexID(ImDrawCmd* self);
3899CIMGUI_API ImDrawListSplitter* ImDrawListSplitter_ImDrawListSplitter(void);
3900CIMGUI_API void ImDrawListSplitter_destroy(ImDrawListSplitter* self);
3901CIMGUI_API void ImDrawListSplitter_Clear(ImDrawListSplitter* self);
3902CIMGUI_API void ImDrawListSplitter_ClearFreeMemory(ImDrawListSplitter* self);
3903CIMGUI_API void ImDrawListSplitter_Split(ImDrawListSplitter* self,ImDrawList* draw_list,int count);
3904CIMGUI_API void ImDrawListSplitter_Merge(ImDrawListSplitter* self,ImDrawList* draw_list);
3905CIMGUI_API void ImDrawListSplitter_SetCurrentChannel(ImDrawListSplitter* self,ImDrawList* draw_list,int channel_idx);
3906CIMGUI_API ImDrawList* ImDrawList_ImDrawList(ImDrawListSharedData* shared_data);
3907CIMGUI_API void ImDrawList_destroy(ImDrawList* self);
3908CIMGUI_API void ImDrawList_PushClipRect(ImDrawList* self,const ImVec2 clip_rect_min,const ImVec2 clip_rect_max,bool intersect_with_current_clip_rect);
3909CIMGUI_API void ImDrawList_PushClipRectFullScreen(ImDrawList* self);
3910CIMGUI_API void ImDrawList_PopClipRect(ImDrawList* self);
3911CIMGUI_API void ImDrawList_PushTextureID(ImDrawList* self,ImTextureID texture_id);
3912CIMGUI_API void ImDrawList_PopTextureID(ImDrawList* self);
3913CIMGUI_API void ImDrawList_GetClipRectMin(ImVec2 *pOut,ImDrawList* self);
3914CIMGUI_API void ImDrawList_GetClipRectMax(ImVec2 *pOut,ImDrawList* self);
3915CIMGUI_API void ImDrawList_AddLine(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,ImU32 col,float thickness);
3916CIMGUI_API void ImDrawList_AddRect(ImDrawList* self,const ImVec2 p_min,const ImVec2 p_max,ImU32 col,float rounding,ImDrawFlags flags,float thickness);
3917CIMGUI_API void ImDrawList_AddRectFilled(ImDrawList* self,const ImVec2 p_min,const ImVec2 p_max,ImU32 col,float rounding,ImDrawFlags flags);
3918CIMGUI_API 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);
3919CIMGUI_API void ImDrawList_AddQuad(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,ImU32 col,float thickness);
3920CIMGUI_API void ImDrawList_AddQuadFilled(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,ImU32 col);
3921CIMGUI_API void ImDrawList_AddTriangle(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,ImU32 col,float thickness);
3922CIMGUI_API void ImDrawList_AddTriangleFilled(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,ImU32 col);
3923CIMGUI_API void ImDrawList_AddCircle(ImDrawList* self,const ImVec2 center,float radius,ImU32 col,int num_segments,float thickness);
3924CIMGUI_API void ImDrawList_AddCircleFilled(ImDrawList* self,const ImVec2 center,float radius,ImU32 col,int num_segments);
3925CIMGUI_API void ImDrawList_AddNgon(ImDrawList* self,const ImVec2 center,float radius,ImU32 col,int num_segments,float thickness);
3926CIMGUI_API void ImDrawList_AddNgonFilled(ImDrawList* self,const ImVec2 center,float radius,ImU32 col,int num_segments);
3927CIMGUI_API void ImDrawList_AddEllipse(ImDrawList* self,const ImVec2 center,const ImVec2 radius,ImU32 col,float rot,int num_segments,float thickness);
3928CIMGUI_API void ImDrawList_AddEllipseFilled(ImDrawList* self,const ImVec2 center,const ImVec2 radius,ImU32 col,float rot,int num_segments);
3929CIMGUI_API void ImDrawList_AddText_Vec2(ImDrawList* self,const ImVec2 pos,ImU32 col,const char* text_begin,const char* text_end);
3930CIMGUI_API 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,float wrap_width,const ImVec4* cpu_fine_clip_rect);
3931CIMGUI_API void ImDrawList_AddBezierCubic(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,ImU32 col,float thickness,int num_segments);
3932CIMGUI_API void ImDrawList_AddBezierQuadratic(ImDrawList* self,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,ImU32 col,float thickness,int num_segments);
3933CIMGUI_API void ImDrawList_AddPolyline(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col,ImDrawFlags flags,float thickness);
3934CIMGUI_API void ImDrawList_AddConvexPolyFilled(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col);
3935CIMGUI_API void ImDrawList_AddConcavePolyFilled(ImDrawList* self,const ImVec2* points,int num_points,ImU32 col);
3936CIMGUI_API void ImDrawList_AddImage(ImDrawList* self,ImTextureID user_texture_id,const ImVec2 p_min,const ImVec2 p_max,const ImVec2 uv_min,const ImVec2 uv_max,ImU32 col);
3937CIMGUI_API void ImDrawList_AddImageQuad(ImDrawList* self,ImTextureID user_texture_id,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,const ImVec2 uv1,const ImVec2 uv2,const ImVec2 uv3,const ImVec2 uv4,ImU32 col);
3938CIMGUI_API 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);
3939CIMGUI_API void ImDrawList_PathClear(ImDrawList* self);
3940CIMGUI_API void ImDrawList_PathLineTo(ImDrawList* self,const ImVec2 pos);
3941CIMGUI_API void ImDrawList_PathLineToMergeDuplicate(ImDrawList* self,const ImVec2 pos);
3942CIMGUI_API void ImDrawList_PathFillConvex(ImDrawList* self,ImU32 col);
3943CIMGUI_API void ImDrawList_PathFillConcave(ImDrawList* self,ImU32 col);
3944CIMGUI_API void ImDrawList_PathStroke(ImDrawList* self,ImU32 col,ImDrawFlags flags,float thickness);
3945CIMGUI_API void ImDrawList_PathArcTo(ImDrawList* self,const ImVec2 center,float radius,float a_min,float a_max,int num_segments);
3946CIMGUI_API void ImDrawList_PathArcToFast(ImDrawList* self,const ImVec2 center,float radius,int a_min_of_12,int a_max_of_12);
3947CIMGUI_API void ImDrawList_PathEllipticalArcTo(ImDrawList* self,const ImVec2 center,const ImVec2 radius,float rot,float a_min,float a_max,int num_segments);
3948CIMGUI_API void ImDrawList_PathBezierCubicCurveTo(ImDrawList* self,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,int num_segments);
3949CIMGUI_API void ImDrawList_PathBezierQuadraticCurveTo(ImDrawList* self,const ImVec2 p2,const ImVec2 p3,int num_segments);
3950CIMGUI_API void ImDrawList_PathRect(ImDrawList* self,const ImVec2 rect_min,const ImVec2 rect_max,float rounding,ImDrawFlags flags);
3951CIMGUI_API void ImDrawList_AddCallback(ImDrawList* self,ImDrawCallback callback,void* callback_data);
3952CIMGUI_API void ImDrawList_AddDrawCmd(ImDrawList* self);
3953CIMGUI_API ImDrawList* ImDrawList_CloneOutput(ImDrawList* self);
3954CIMGUI_API void ImDrawList_ChannelsSplit(ImDrawList* self,int count);
3955CIMGUI_API void ImDrawList_ChannelsMerge(ImDrawList* self);
3956CIMGUI_API void ImDrawList_ChannelsSetCurrent(ImDrawList* self,int n);
3957CIMGUI_API void ImDrawList_PrimReserve(ImDrawList* self,int idx_count,int vtx_count);
3958CIMGUI_API void ImDrawList_PrimUnreserve(ImDrawList* self,int idx_count,int vtx_count);
3959CIMGUI_API void ImDrawList_PrimRect(ImDrawList* self,const ImVec2 a,const ImVec2 b,ImU32 col);
3960CIMGUI_API void ImDrawList_PrimRectUV(ImDrawList* self,const ImVec2 a,const ImVec2 b,const ImVec2 uv_a,const ImVec2 uv_b,ImU32 col);
3961CIMGUI_API 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);
3962CIMGUI_API void ImDrawList_PrimWriteVtx(ImDrawList* self,const ImVec2 pos,const ImVec2 uv,ImU32 col);
3963CIMGUI_API void ImDrawList_PrimWriteIdx(ImDrawList* self,ImDrawIdx idx);
3964CIMGUI_API void ImDrawList_PrimVtx(ImDrawList* self,const ImVec2 pos,const ImVec2 uv,ImU32 col);
3965CIMGUI_API void ImDrawList__ResetForNewFrame(ImDrawList* self);
3966CIMGUI_API void ImDrawList__ClearFreeMemory(ImDrawList* self);
3967CIMGUI_API void ImDrawList__PopUnusedDrawCmd(ImDrawList* self);
3968CIMGUI_API void ImDrawList__TryMergeDrawCmds(ImDrawList* self);
3969CIMGUI_API void ImDrawList__OnChangedClipRect(ImDrawList* self);
3970CIMGUI_API void ImDrawList__OnChangedTextureID(ImDrawList* self);
3971CIMGUI_API void ImDrawList__OnChangedVtxOffset(ImDrawList* self);
3972CIMGUI_API int ImDrawList__CalcCircleAutoSegmentCount(ImDrawList* self,float radius);
3973CIMGUI_API void ImDrawList__PathArcToFastEx(ImDrawList* self,const ImVec2 center,float radius,int a_min_sample,int a_max_sample,int a_step);
3974CIMGUI_API void ImDrawList__PathArcToN(ImDrawList* self,const ImVec2 center,float radius,float a_min,float a_max,int num_segments);
3975CIMGUI_API ImDrawData* ImDrawData_ImDrawData(void);
3976CIMGUI_API void ImDrawData_destroy(ImDrawData* self);
3977CIMGUI_API void ImDrawData_Clear(ImDrawData* self);
3978CIMGUI_API void ImDrawData_AddDrawList(ImDrawData* self,ImDrawList* draw_list);
3979CIMGUI_API void ImDrawData_DeIndexAllBuffers(ImDrawData* self);
3980CIMGUI_API void ImDrawData_ScaleClipRects(ImDrawData* self,const ImVec2 fb_scale);
3981CIMGUI_API ImFontConfig* ImFontConfig_ImFontConfig(void);
3982CIMGUI_API void ImFontConfig_destroy(ImFontConfig* self);
3983CIMGUI_API ImFontGlyphRangesBuilder* ImFontGlyphRangesBuilder_ImFontGlyphRangesBuilder(void);
3984CIMGUI_API void ImFontGlyphRangesBuilder_destroy(ImFontGlyphRangesBuilder* self);
3985CIMGUI_API void ImFontGlyphRangesBuilder_Clear(ImFontGlyphRangesBuilder* self);
3986CIMGUI_API bool ImFontGlyphRangesBuilder_GetBit(ImFontGlyphRangesBuilder* self,size_t n);
3987CIMGUI_API void ImFontGlyphRangesBuilder_SetBit(ImFontGlyphRangesBuilder* self,size_t n);
3988CIMGUI_API void ImFontGlyphRangesBuilder_AddChar(ImFontGlyphRangesBuilder* self,ImWchar c);
3989CIMGUI_API void ImFontGlyphRangesBuilder_AddText(ImFontGlyphRangesBuilder* self,const char* text,const char* text_end);
3990CIMGUI_API void ImFontGlyphRangesBuilder_AddRanges(ImFontGlyphRangesBuilder* self,const ImWchar* ranges);
3991CIMGUI_API void ImFontGlyphRangesBuilder_BuildRanges(ImFontGlyphRangesBuilder* self,ImVector_ImWchar* out_ranges);
3992CIMGUI_API ImFontAtlasCustomRect* ImFontAtlasCustomRect_ImFontAtlasCustomRect(void);
3993CIMGUI_API void ImFontAtlasCustomRect_destroy(ImFontAtlasCustomRect* self);
3994CIMGUI_API bool ImFontAtlasCustomRect_IsPacked(ImFontAtlasCustomRect* self);
3995CIMGUI_API ImFontAtlas* ImFontAtlas_ImFontAtlas(void);
3996CIMGUI_API void ImFontAtlas_destroy(ImFontAtlas* self);
3997CIMGUI_API ImFont* ImFontAtlas_AddFont(ImFontAtlas* self,const ImFontConfig* font_cfg);
3998CIMGUI_API ImFont* ImFontAtlas_AddFontDefault(ImFontAtlas* self,const ImFontConfig* font_cfg);
3999CIMGUI_API ImFont* ImFontAtlas_AddFontFromFileTTF(ImFontAtlas* self,const char* filename,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges);
4000CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryTTF(ImFontAtlas* self,void* font_data,int font_data_size,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges);
4001CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedTTF(ImFontAtlas* self,const void* compressed_font_data,int compressed_font_data_size,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges);
4002CIMGUI_API ImFont* ImFontAtlas_AddFontFromMemoryCompressedBase85TTF(ImFontAtlas* self,const char* compressed_font_data_base85,float size_pixels,const ImFontConfig* font_cfg,const ImWchar* glyph_ranges);
4003CIMGUI_API void ImFontAtlas_ClearInputData(ImFontAtlas* self);
4004CIMGUI_API void ImFontAtlas_ClearTexData(ImFontAtlas* self);
4005CIMGUI_API void ImFontAtlas_ClearFonts(ImFontAtlas* self);
4006CIMGUI_API void ImFontAtlas_Clear(ImFontAtlas* self);
4007CIMGUI_API bool ImFontAtlas_Build(ImFontAtlas* self);
4008CIMGUI_API void ImFontAtlas_GetTexDataAsAlpha8(ImFontAtlas* self,unsigned char** out_pixels,int* out_width,int* out_height,int* out_bytes_per_pixel);
4009CIMGUI_API void ImFontAtlas_GetTexDataAsRGBA32(ImFontAtlas* self,unsigned char** out_pixels,int* out_width,int* out_height,int* out_bytes_per_pixel);
4010CIMGUI_API bool ImFontAtlas_IsBuilt(ImFontAtlas* self);
4011CIMGUI_API void ImFontAtlas_SetTexID(ImFontAtlas* self,ImTextureID id);
4012CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesDefault(ImFontAtlas* self);
4013CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesGreek(ImFontAtlas* self);
4014CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesKorean(ImFontAtlas* self);
4015CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesJapanese(ImFontAtlas* self);
4016CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseFull(ImFontAtlas* self);
4017CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesChineseSimplifiedCommon(ImFontAtlas* self);
4018CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesCyrillic(ImFontAtlas* self);
4019CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesThai(ImFontAtlas* self);
4020CIMGUI_API const ImWchar* ImFontAtlas_GetGlyphRangesVietnamese(ImFontAtlas* self);
4021CIMGUI_API int ImFontAtlas_AddCustomRectRegular(ImFontAtlas* self,int width,int height);
4022CIMGUI_API int ImFontAtlas_AddCustomRectFontGlyph(ImFontAtlas* self,ImFont* font,ImWchar id,int width,int height,float advance_x,const ImVec2 offset);
4023CIMGUI_API ImFontAtlasCustomRect* ImFontAtlas_GetCustomRectByIndex(ImFontAtlas* self,int index);
4024CIMGUI_API void ImFontAtlas_CalcCustomRectUV(ImFontAtlas* self,const ImFontAtlasCustomRect* rect,ImVec2* out_uv_min,ImVec2* out_uv_max);
4025CIMGUI_API bool ImFontAtlas_GetMouseCursorTexData(ImFontAtlas* self,ImGuiMouseCursor cursor,ImVec2* out_offset,ImVec2* out_size,ImVec2 out_uv_border[2],ImVec2 out_uv_fill[2]);
4026CIMGUI_API ImFont* ImFont_ImFont(void);
4027CIMGUI_API void ImFont_destroy(ImFont* self);
4028CIMGUI_API const ImFontGlyph* ImFont_FindGlyph(ImFont* self,ImWchar c);
4029CIMGUI_API const ImFontGlyph* ImFont_FindGlyphNoFallback(ImFont* self,ImWchar c);
4030CIMGUI_API float ImFont_GetCharAdvance(ImFont* self,ImWchar c);
4031CIMGUI_API bool ImFont_IsLoaded(ImFont* self);
4032CIMGUI_API const char* ImFont_GetDebugName(ImFont* self);
4033CIMGUI_API void ImFont_CalcTextSizeA(ImVec2 *pOut,ImFont* self,float size,float max_width,float wrap_width,const char* text_begin,const char* text_end,const char** remaining);
4034CIMGUI_API const char* ImFont_CalcWordWrapPositionA(ImFont* self,float scale,const char* text,const char* text_end,float wrap_width);
4035CIMGUI_API void ImFont_RenderChar(ImFont* self,ImDrawList* draw_list,float size,const ImVec2 pos,ImU32 col,ImWchar c);
4036CIMGUI_API void ImFont_RenderText(ImFont* self,ImDrawList* draw_list,float size,const ImVec2 pos,ImU32 col,const ImVec4 clip_rect,const char* text_begin,const char* text_end,float wrap_width,bool cpu_fine_clip);
4037CIMGUI_API void ImFont_BuildLookupTable(ImFont* self);
4038CIMGUI_API void ImFont_ClearOutputData(ImFont* self);
4039CIMGUI_API void ImFont_GrowIndex(ImFont* self,int new_size);
4040CIMGUI_API 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);
4041CIMGUI_API void ImFont_AddRemapChar(ImFont* self,ImWchar dst,ImWchar src,bool overwrite_dst);
4042CIMGUI_API void ImFont_SetGlyphVisible(ImFont* self,ImWchar c,bool visible);
4043CIMGUI_API bool ImFont_IsGlyphRangeUnused(ImFont* self,unsigned int c_begin,unsigned int c_last);
4044CIMGUI_API ImGuiViewport* ImGuiViewport_ImGuiViewport(void);
4045CIMGUI_API void ImGuiViewport_destroy(ImGuiViewport* self);
4046CIMGUI_API void ImGuiViewport_GetCenter(ImVec2 *pOut,ImGuiViewport* self);
4047CIMGUI_API void ImGuiViewport_GetWorkCenter(ImVec2 *pOut,ImGuiViewport* self);
4048CIMGUI_API ImGuiPlatformIO* ImGuiPlatformIO_ImGuiPlatformIO(void);
4049CIMGUI_API void ImGuiPlatformIO_destroy(ImGuiPlatformIO* self);
4050CIMGUI_API ImGuiPlatformMonitor* ImGuiPlatformMonitor_ImGuiPlatformMonitor(void);
4051CIMGUI_API void ImGuiPlatformMonitor_destroy(ImGuiPlatformMonitor* self);
4052CIMGUI_API ImGuiPlatformImeData* ImGuiPlatformImeData_ImGuiPlatformImeData(void);
4053CIMGUI_API void ImGuiPlatformImeData_destroy(ImGuiPlatformImeData* self);
4054CIMGUI_API ImGuiID igImHashData(const void* data,size_t data_size,ImGuiID seed);
4055CIMGUI_API ImGuiID igImHashStr(const char* data,size_t data_size,ImGuiID seed);
4056CIMGUI_API void igImQsort(void* base,size_t count,size_t size_of_element,int(*compare_func)(void const*,void const*));
4057CIMGUI_API ImU32 igImAlphaBlendColors(ImU32 col_a,ImU32 col_b);
4058CIMGUI_API bool igImIsPowerOfTwo_Int(int v);
4059CIMGUI_API bool igImIsPowerOfTwo_U64(ImU64 v);
4060CIMGUI_API int igImUpperPowerOfTwo(int v);
4061CIMGUI_API int igImStricmp(const char* str1,const char* str2);
4062CIMGUI_API int igImStrnicmp(const char* str1,const char* str2,size_t count);
4063CIMGUI_API void igImStrncpy(char* dst,const char* src,size_t count);
4064CIMGUI_API char* igImStrdup(const char* str);
4065CIMGUI_API char* igImStrdupcpy(char* dst,size_t* p_dst_size,const char* str);
4066CIMGUI_API const char* igImStrchrRange(const char* str_begin,const char* str_end,char c);
4067CIMGUI_API const char* igImStreolRange(const char* str,const char* str_end);
4068CIMGUI_API const char* igImStristr(const char* haystack,const char* haystack_end,const char* needle,const char* needle_end);
4069CIMGUI_API void igImStrTrimBlanks(char* str);
4070CIMGUI_API const char* igImStrSkipBlank(const char* str);
4071CIMGUI_API int igImStrlenW(const ImWchar* str);
4072CIMGUI_API const ImWchar* igImStrbolW(const ImWchar* buf_mid_line,const ImWchar* buf_begin);
4073CIMGUI_API char igImToUpper(char c);
4074CIMGUI_API bool igImCharIsBlankA(char c);
4075CIMGUI_API bool igImCharIsBlankW(unsigned int c);
4076CIMGUI_API int igImFormatString(char* buf,size_t buf_size,const char* fmt,...);
4077CIMGUI_API int igImFormatStringV(char* buf,size_t buf_size,const char* fmt,va_list args);
4078CIMGUI_API void igImFormatStringToTempBuffer(const char** out_buf,const char** out_buf_end,const char* fmt,...);
4079CIMGUI_API void igImFormatStringToTempBufferV(const char** out_buf,const char** out_buf_end,const char* fmt,va_list args);
4080CIMGUI_API const char* igImParseFormatFindStart(const char* format);
4081CIMGUI_API const char* igImParseFormatFindEnd(const char* format);
4082CIMGUI_API const char* igImParseFormatTrimDecorations(const char* format,char* buf,size_t buf_size);
4083CIMGUI_API void igImParseFormatSanitizeForPrinting(const char* fmt_in,char* fmt_out,size_t fmt_out_size);
4084CIMGUI_API const char* igImParseFormatSanitizeForScanning(const char* fmt_in,char* fmt_out,size_t fmt_out_size);
4085CIMGUI_API int igImParseFormatPrecision(const char* format,int default_value);
4086CIMGUI_API const char* igImTextCharToUtf8(char out_buf[5],unsigned int c);
4087CIMGUI_API int igImTextStrToUtf8(char* out_buf,int out_buf_size,const ImWchar* in_text,const ImWchar* in_text_end);
4088CIMGUI_API int igImTextCharFromUtf8(unsigned int* out_char,const char* in_text,const char* in_text_end);
4089CIMGUI_API int igImTextStrFromUtf8(ImWchar* out_buf,int out_buf_size,const char* in_text,const char* in_text_end,const char** in_remaining);
4090CIMGUI_API int igImTextCountCharsFromUtf8(const char* in_text,const char* in_text_end);
4091CIMGUI_API int igImTextCountUtf8BytesFromChar(const char* in_text,const char* in_text_end);
4092CIMGUI_API int igImTextCountUtf8BytesFromStr(const ImWchar* in_text,const ImWchar* in_text_end);
4093CIMGUI_API const char* igImTextFindPreviousUtf8Codepoint(const char* in_text_start,const char* in_text_curr);
4094CIMGUI_API int igImTextCountLines(const char* in_text,const char* in_text_end);
4095CIMGUI_API ImFileHandle igImFileOpen(const char* filename,const char* mode);
4096CIMGUI_API bool igImFileClose(ImFileHandle file);
4097CIMGUI_API ImU64 igImFileGetSize(ImFileHandle file);
4098CIMGUI_API ImU64 igImFileRead(void* data,ImU64 size,ImU64 count,ImFileHandle file);
4099CIMGUI_API ImU64 igImFileWrite(const void* data,ImU64 size,ImU64 count,ImFileHandle file);
4100CIMGUI_API void* igImFileLoadToMemory(const char* filename,const char* mode,size_t* out_file_size,int padding_bytes);
4101CIMGUI_API float igImPow_Float(float x,float y);
4102CIMGUI_API double igImPow_double(double x,double y);
4103CIMGUI_API float igImLog_Float(float x);
4104CIMGUI_API double igImLog_double(double x);
4105CIMGUI_API int igImAbs_Int(int x);
4106CIMGUI_API float igImAbs_Float(float x);
4107CIMGUI_API double igImAbs_double(double x);
4108CIMGUI_API float igImSign_Float(float x);
4109CIMGUI_API double igImSign_double(double x);
4110CIMGUI_API float igImRsqrt_Float(float x);
4111CIMGUI_API double igImRsqrt_double(double x);
4112CIMGUI_API void igImMin(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs);
4113CIMGUI_API void igImMax(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs);
4114CIMGUI_API void igImClamp(ImVec2 *pOut,const ImVec2 v,const ImVec2 mn,const ImVec2 mx);
4115CIMGUI_API void igImLerp_Vec2Float(ImVec2 *pOut,const ImVec2 a,const ImVec2 b,float t);
4116CIMGUI_API void igImLerp_Vec2Vec2(ImVec2 *pOut,const ImVec2 a,const ImVec2 b,const ImVec2 t);
4117CIMGUI_API void igImLerp_Vec4(ImVec4 *pOut,const ImVec4 a,const ImVec4 b,float t);
4118CIMGUI_API float igImSaturate(float f);
4119CIMGUI_API float igImLengthSqr_Vec2(const ImVec2 lhs);
4120CIMGUI_API float igImLengthSqr_Vec4(const ImVec4 lhs);
4121CIMGUI_API float igImInvLength(const ImVec2 lhs,float fail_value);
4122CIMGUI_API float igImTrunc_Float(float f);
4123CIMGUI_API void igImTrunc_Vec2(ImVec2 *pOut,const ImVec2 v);
4124CIMGUI_API float igImFloor_Float(float f);
4125CIMGUI_API void igImFloor_Vec2(ImVec2 *pOut,const ImVec2 v);
4126CIMGUI_API int igImModPositive(int a,int b);
4127CIMGUI_API float igImDot(const ImVec2 a,const ImVec2 b);
4128CIMGUI_API void igImRotate(ImVec2 *pOut,const ImVec2 v,float cos_a,float sin_a);
4129CIMGUI_API float igImLinearSweep(float current,float target,float speed);
4130CIMGUI_API void igImMul(ImVec2 *pOut,const ImVec2 lhs,const ImVec2 rhs);
4131CIMGUI_API bool igImIsFloatAboveGuaranteedIntegerPrecision(float f);
4132CIMGUI_API float igImExponentialMovingAverage(float avg,float sample,int n);
4133CIMGUI_API void igImBezierCubicCalc(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,float t);
4134CIMGUI_API void igImBezierCubicClosestPoint(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,const ImVec2 p,int num_segments);
4135CIMGUI_API void igImBezierCubicClosestPointCasteljau(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,const ImVec2 p4,const ImVec2 p,float tess_tol);
4136CIMGUI_API void igImBezierQuadraticCalc(ImVec2 *pOut,const ImVec2 p1,const ImVec2 p2,const ImVec2 p3,float t);
4137CIMGUI_API void igImLineClosestPoint(ImVec2 *pOut,const ImVec2 a,const ImVec2 b,const ImVec2 p);
4138CIMGUI_API bool igImTriangleContainsPoint(const ImVec2 a,const ImVec2 b,const ImVec2 c,const ImVec2 p);
4139CIMGUI_API void igImTriangleClosestPoint(ImVec2 *pOut,const ImVec2 a,const ImVec2 b,const ImVec2 c,const ImVec2 p);
4140CIMGUI_API void igImTriangleBarycentricCoords(const ImVec2 a,const ImVec2 b,const ImVec2 c,const ImVec2 p,float* out_u,float* out_v,float* out_w);
4141CIMGUI_API float igImTriangleArea(const ImVec2 a,const ImVec2 b,const ImVec2 c);
4142CIMGUI_API bool igImTriangleIsClockwise(const ImVec2 a,const ImVec2 b,const ImVec2 c);
4143CIMGUI_API ImVec1* ImVec1_ImVec1_Nil(void);
4144CIMGUI_API void ImVec1_destroy(ImVec1* self);
4145CIMGUI_API ImVec1* ImVec1_ImVec1_Float(float _x);
4146CIMGUI_API ImVec2ih* ImVec2ih_ImVec2ih_Nil(void);
4147CIMGUI_API void ImVec2ih_destroy(ImVec2ih* self);
4148CIMGUI_API ImVec2ih* ImVec2ih_ImVec2ih_short(short _x,short _y);
4149CIMGUI_API ImVec2ih* ImVec2ih_ImVec2ih_Vec2(const ImVec2 rhs);
4150CIMGUI_API ImRect* ImRect_ImRect_Nil(void);
4151CIMGUI_API void ImRect_destroy(ImRect* self);
4152CIMGUI_API ImRect* ImRect_ImRect_Vec2(const ImVec2 min,const ImVec2 max);
4153CIMGUI_API ImRect* ImRect_ImRect_Vec4(const ImVec4 v);
4154CIMGUI_API ImRect* ImRect_ImRect_Float(float x1,float y1,float x2,float y2);
4155CIMGUI_API void ImRect_GetCenter(ImVec2 *pOut,ImRect* self);
4156CIMGUI_API void ImRect_GetSize(ImVec2 *pOut,ImRect* self);
4157CIMGUI_API float ImRect_GetWidth(ImRect* self);
4158CIMGUI_API float ImRect_GetHeight(ImRect* self);
4159CIMGUI_API float ImRect_GetArea(ImRect* self);
4160CIMGUI_API void ImRect_GetTL(ImVec2 *pOut,ImRect* self);
4161CIMGUI_API void ImRect_GetTR(ImVec2 *pOut,ImRect* self);
4162CIMGUI_API void ImRect_GetBL(ImVec2 *pOut,ImRect* self);
4163CIMGUI_API void ImRect_GetBR(ImVec2 *pOut,ImRect* self);
4164CIMGUI_API bool ImRect_Contains_Vec2(ImRect* self,const ImVec2 p);
4165CIMGUI_API bool ImRect_Contains_Rect(ImRect* self,const ImRect r);
4166CIMGUI_API bool ImRect_ContainsWithPad(ImRect* self,const ImVec2 p,const ImVec2 pad);
4167CIMGUI_API bool ImRect_Overlaps(ImRect* self,const ImRect r);
4168CIMGUI_API void ImRect_Add_Vec2(ImRect* self,const ImVec2 p);
4169CIMGUI_API void ImRect_Add_Rect(ImRect* self,const ImRect r);
4170CIMGUI_API void ImRect_Expand_Float(ImRect* self,const float amount);
4171CIMGUI_API void ImRect_Expand_Vec2(ImRect* self,const ImVec2 amount);
4172CIMGUI_API void ImRect_Translate(ImRect* self,const ImVec2 d);
4173CIMGUI_API void ImRect_TranslateX(ImRect* self,float dx);
4174CIMGUI_API void ImRect_TranslateY(ImRect* self,float dy);
4175CIMGUI_API void ImRect_ClipWith(ImRect* self,const ImRect r);
4176CIMGUI_API void ImRect_ClipWithFull(ImRect* self,const ImRect r);
4177CIMGUI_API void ImRect_Floor(ImRect* self);
4178CIMGUI_API bool ImRect_IsInverted(ImRect* self);
4179CIMGUI_API void ImRect_ToVec4(ImVec4 *pOut,ImRect* self);
4180CIMGUI_API size_t igImBitArrayGetStorageSizeInBytes(int bitcount);
4181CIMGUI_API void igImBitArrayClearAllBits(ImU32* arr,int bitcount);
4182CIMGUI_API bool igImBitArrayTestBit(const ImU32* arr,int n);
4183CIMGUI_API void igImBitArrayClearBit(ImU32* arr,int n);
4184CIMGUI_API void igImBitArraySetBit(ImU32* arr,int n);
4185CIMGUI_API void igImBitArraySetBitRange(ImU32* arr,int n,int n2);
4186CIMGUI_API void ImBitVector_Create(ImBitVector* self,int sz);
4187CIMGUI_API void ImBitVector_Clear(ImBitVector* self);
4188CIMGUI_API bool ImBitVector_TestBit(ImBitVector* self,int n);
4189CIMGUI_API void ImBitVector_SetBit(ImBitVector* self,int n);
4190CIMGUI_API void ImBitVector_ClearBit(ImBitVector* self,int n);
4191CIMGUI_API void ImGuiTextIndex_clear(ImGuiTextIndex* self);
4192CIMGUI_API int ImGuiTextIndex_size(ImGuiTextIndex* self);
4193CIMGUI_API const char* ImGuiTextIndex_get_line_begin(ImGuiTextIndex* self,const char* base,int n);
4194CIMGUI_API const char* ImGuiTextIndex_get_line_end(ImGuiTextIndex* self,const char* base,int n);
4195CIMGUI_API void ImGuiTextIndex_append(ImGuiTextIndex* self,const char* base,int old_size,int new_size);
4196CIMGUI_API ImDrawListSharedData* ImDrawListSharedData_ImDrawListSharedData(void);
4197CIMGUI_API void ImDrawListSharedData_destroy(ImDrawListSharedData* self);
4198CIMGUI_API void ImDrawListSharedData_SetCircleTessellationMaxError(ImDrawListSharedData* self,float max_error);
4199CIMGUI_API ImDrawDataBuilder* ImDrawDataBuilder_ImDrawDataBuilder(void);
4200CIMGUI_API void ImDrawDataBuilder_destroy(ImDrawDataBuilder* self);
4201CIMGUI_API void* ImGuiDataVarInfo_GetVarPtr(ImGuiDataVarInfo* self,void* parent);
4202CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Int(ImGuiStyleVar idx,int v);
4203CIMGUI_API void ImGuiStyleMod_destroy(ImGuiStyleMod* self);
4204CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Float(ImGuiStyleVar idx,float v);
4205CIMGUI_API ImGuiStyleMod* ImGuiStyleMod_ImGuiStyleMod_Vec2(ImGuiStyleVar idx,ImVec2 v);
4206CIMGUI_API ImGuiComboPreviewData* ImGuiComboPreviewData_ImGuiComboPreviewData(void);
4207CIMGUI_API void ImGuiComboPreviewData_destroy(ImGuiComboPreviewData* self);
4208CIMGUI_API ImGuiMenuColumns* ImGuiMenuColumns_ImGuiMenuColumns(void);
4209CIMGUI_API void ImGuiMenuColumns_destroy(ImGuiMenuColumns* self);
4210CIMGUI_API void ImGuiMenuColumns_Update(ImGuiMenuColumns* self,float spacing,bool window_reappearing);
4211CIMGUI_API float ImGuiMenuColumns_DeclColumns(ImGuiMenuColumns* self,float w_icon,float w_label,float w_shortcut,float w_mark);
4212CIMGUI_API void ImGuiMenuColumns_CalcNextTotalWidth(ImGuiMenuColumns* self,bool update_offsets);
4213CIMGUI_API ImGuiInputTextDeactivatedState* ImGuiInputTextDeactivatedState_ImGuiInputTextDeactivatedState(void);
4214CIMGUI_API void ImGuiInputTextDeactivatedState_destroy(ImGuiInputTextDeactivatedState* self);
4215CIMGUI_API void ImGuiInputTextDeactivatedState_ClearFreeMemory(ImGuiInputTextDeactivatedState* self);
4216CIMGUI_API ImGuiInputTextState* ImGuiInputTextState_ImGuiInputTextState(void);
4217CIMGUI_API void ImGuiInputTextState_destroy(ImGuiInputTextState* self);
4218CIMGUI_API void ImGuiInputTextState_ClearText(ImGuiInputTextState* self);
4219CIMGUI_API void ImGuiInputTextState_ClearFreeMemory(ImGuiInputTextState* self);
4220CIMGUI_API int ImGuiInputTextState_GetUndoAvailCount(ImGuiInputTextState* self);
4221CIMGUI_API int ImGuiInputTextState_GetRedoAvailCount(ImGuiInputTextState* self);
4222CIMGUI_API void ImGuiInputTextState_OnKeyPressed(ImGuiInputTextState* self,int key);
4223CIMGUI_API void ImGuiInputTextState_CursorAnimReset(ImGuiInputTextState* self);
4224CIMGUI_API void ImGuiInputTextState_CursorClamp(ImGuiInputTextState* self);
4225CIMGUI_API bool ImGuiInputTextState_HasSelection(ImGuiInputTextState* self);
4226CIMGUI_API void ImGuiInputTextState_ClearSelection(ImGuiInputTextState* self);
4227CIMGUI_API int ImGuiInputTextState_GetCursorPos(ImGuiInputTextState* self);
4228CIMGUI_API int ImGuiInputTextState_GetSelectionStart(ImGuiInputTextState* self);
4229CIMGUI_API int ImGuiInputTextState_GetSelectionEnd(ImGuiInputTextState* self);
4230CIMGUI_API void ImGuiInputTextState_SelectAll(ImGuiInputTextState* self);
4231CIMGUI_API void ImGuiInputTextState_ReloadUserBufAndSelectAll(ImGuiInputTextState* self);
4232CIMGUI_API void ImGuiInputTextState_ReloadUserBufAndKeepSelection(ImGuiInputTextState* self);
4233CIMGUI_API void ImGuiInputTextState_ReloadUserBufAndMoveToEnd(ImGuiInputTextState* self);
4234CIMGUI_API ImGuiNextWindowData* ImGuiNextWindowData_ImGuiNextWindowData(void);
4235CIMGUI_API void ImGuiNextWindowData_destroy(ImGuiNextWindowData* self);
4236CIMGUI_API void ImGuiNextWindowData_ClearFlags(ImGuiNextWindowData* self);
4237CIMGUI_API ImGuiNextItemData* ImGuiNextItemData_ImGuiNextItemData(void);
4238CIMGUI_API void ImGuiNextItemData_destroy(ImGuiNextItemData* self);
4239CIMGUI_API void ImGuiNextItemData_ClearFlags(ImGuiNextItemData* self);
4240CIMGUI_API ImGuiLastItemData* ImGuiLastItemData_ImGuiLastItemData(void);
4241CIMGUI_API void ImGuiLastItemData_destroy(ImGuiLastItemData* self);
4242CIMGUI_API ImGuiStackSizes* ImGuiStackSizes_ImGuiStackSizes(void);
4243CIMGUI_API void ImGuiStackSizes_destroy(ImGuiStackSizes* self);
4244CIMGUI_API void ImGuiStackSizes_SetToContextState(ImGuiStackSizes* self,ImGuiContext* ctx);
4245CIMGUI_API void ImGuiStackSizes_CompareWithContextState(ImGuiStackSizes* self,ImGuiContext* ctx);
4246CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Ptr(void* ptr);
4247CIMGUI_API void ImGuiPtrOrIndex_destroy(ImGuiPtrOrIndex* self);
4248CIMGUI_API ImGuiPtrOrIndex* ImGuiPtrOrIndex_ImGuiPtrOrIndex_Int(int index);
4249CIMGUI_API ImGuiPopupData* ImGuiPopupData_ImGuiPopupData(void);
4250CIMGUI_API void ImGuiPopupData_destroy(ImGuiPopupData* self);
4251CIMGUI_API ImGuiInputEvent* ImGuiInputEvent_ImGuiInputEvent(void);
4252CIMGUI_API void ImGuiInputEvent_destroy(ImGuiInputEvent* self);
4253CIMGUI_API ImGuiKeyRoutingData* ImGuiKeyRoutingData_ImGuiKeyRoutingData(void);
4254CIMGUI_API void ImGuiKeyRoutingData_destroy(ImGuiKeyRoutingData* self);
4255CIMGUI_API ImGuiKeyRoutingTable* ImGuiKeyRoutingTable_ImGuiKeyRoutingTable(void);
4256CIMGUI_API void ImGuiKeyRoutingTable_destroy(ImGuiKeyRoutingTable* self);
4257CIMGUI_API void ImGuiKeyRoutingTable_Clear(ImGuiKeyRoutingTable* self);
4258CIMGUI_API ImGuiKeyOwnerData* ImGuiKeyOwnerData_ImGuiKeyOwnerData(void);
4259CIMGUI_API void ImGuiKeyOwnerData_destroy(ImGuiKeyOwnerData* self);
4260CIMGUI_API ImGuiListClipperRange ImGuiListClipperRange_FromIndices(int min,int max);
4261CIMGUI_API ImGuiListClipperRange ImGuiListClipperRange_FromPositions(float y1,float y2,int off_min,int off_max);
4262CIMGUI_API ImGuiListClipperData* ImGuiListClipperData_ImGuiListClipperData(void);
4263CIMGUI_API void ImGuiListClipperData_destroy(ImGuiListClipperData* self);
4264CIMGUI_API void ImGuiListClipperData_Reset(ImGuiListClipperData* self,ImGuiListClipper* clipper);
4265CIMGUI_API ImGuiNavItemData* ImGuiNavItemData_ImGuiNavItemData(void);
4266CIMGUI_API void ImGuiNavItemData_destroy(ImGuiNavItemData* self);
4267CIMGUI_API void ImGuiNavItemData_Clear(ImGuiNavItemData* self);
4268CIMGUI_API ImGuiTypingSelectState* ImGuiTypingSelectState_ImGuiTypingSelectState(void);
4269CIMGUI_API void ImGuiTypingSelectState_destroy(ImGuiTypingSelectState* self);
4270CIMGUI_API void ImGuiTypingSelectState_Clear(ImGuiTypingSelectState* self);
4271CIMGUI_API ImGuiOldColumnData* ImGuiOldColumnData_ImGuiOldColumnData(void);
4272CIMGUI_API void ImGuiOldColumnData_destroy(ImGuiOldColumnData* self);
4273CIMGUI_API ImGuiOldColumns* ImGuiOldColumns_ImGuiOldColumns(void);
4274CIMGUI_API void ImGuiOldColumns_destroy(ImGuiOldColumns* self);
4275CIMGUI_API ImGuiDockNode* ImGuiDockNode_ImGuiDockNode(ImGuiID id);
4276CIMGUI_API void ImGuiDockNode_destroy(ImGuiDockNode* self);
4277CIMGUI_API bool ImGuiDockNode_IsRootNode(ImGuiDockNode* self);
4278CIMGUI_API bool ImGuiDockNode_IsDockSpace(ImGuiDockNode* self);
4279CIMGUI_API bool ImGuiDockNode_IsFloatingNode(ImGuiDockNode* self);
4280CIMGUI_API bool ImGuiDockNode_IsCentralNode(ImGuiDockNode* self);
4281CIMGUI_API bool ImGuiDockNode_IsHiddenTabBar(ImGuiDockNode* self);
4282CIMGUI_API bool ImGuiDockNode_IsNoTabBar(ImGuiDockNode* self);
4283CIMGUI_API bool ImGuiDockNode_IsSplitNode(ImGuiDockNode* self);
4284CIMGUI_API bool ImGuiDockNode_IsLeafNode(ImGuiDockNode* self);
4285CIMGUI_API bool ImGuiDockNode_IsEmpty(ImGuiDockNode* self);
4286CIMGUI_API void ImGuiDockNode_Rect(ImRect *pOut,ImGuiDockNode* self);
4287CIMGUI_API void ImGuiDockNode_SetLocalFlags(ImGuiDockNode* self,ImGuiDockNodeFlags flags);
4288CIMGUI_API void ImGuiDockNode_UpdateMergedFlags(ImGuiDockNode* self);
4289CIMGUI_API ImGuiDockContext* ImGuiDockContext_ImGuiDockContext(void);
4290CIMGUI_API void ImGuiDockContext_destroy(ImGuiDockContext* self);
4291CIMGUI_API ImGuiViewportP* ImGuiViewportP_ImGuiViewportP(void);
4292CIMGUI_API void ImGuiViewportP_destroy(ImGuiViewportP* self);
4293CIMGUI_API void ImGuiViewportP_ClearRequestFlags(ImGuiViewportP* self);
4294CIMGUI_API void ImGuiViewportP_CalcWorkRectPos(ImVec2 *pOut,ImGuiViewportP* self,const ImVec2 off_min);
4295CIMGUI_API void ImGuiViewportP_CalcWorkRectSize(ImVec2 *pOut,ImGuiViewportP* self,const ImVec2 off_min,const ImVec2 off_max);
4296CIMGUI_API void ImGuiViewportP_UpdateWorkRect(ImGuiViewportP* self);
4297CIMGUI_API void ImGuiViewportP_GetMainRect(ImRect *pOut,ImGuiViewportP* self);
4298CIMGUI_API void ImGuiViewportP_GetWorkRect(ImRect *pOut,ImGuiViewportP* self);
4299CIMGUI_API void ImGuiViewportP_GetBuildWorkRect(ImRect *pOut,ImGuiViewportP* self);
4300CIMGUI_API ImGuiWindowSettings* ImGuiWindowSettings_ImGuiWindowSettings(void);
4301CIMGUI_API void ImGuiWindowSettings_destroy(ImGuiWindowSettings* self);
4302CIMGUI_API char* ImGuiWindowSettings_GetName(ImGuiWindowSettings* self);
4303CIMGUI_API ImGuiSettingsHandler* ImGuiSettingsHandler_ImGuiSettingsHandler(void);
4304CIMGUI_API void ImGuiSettingsHandler_destroy(ImGuiSettingsHandler* self);
4305CIMGUI_API ImGuiDebugAllocInfo* ImGuiDebugAllocInfo_ImGuiDebugAllocInfo(void);
4306CIMGUI_API void ImGuiDebugAllocInfo_destroy(ImGuiDebugAllocInfo* self);
4307CIMGUI_API ImGuiStackLevelInfo* ImGuiStackLevelInfo_ImGuiStackLevelInfo(void);
4308CIMGUI_API void ImGuiStackLevelInfo_destroy(ImGuiStackLevelInfo* self);
4309CIMGUI_API ImGuiIDStackTool* ImGuiIDStackTool_ImGuiIDStackTool(void);
4310CIMGUI_API void ImGuiIDStackTool_destroy(ImGuiIDStackTool* self);
4311CIMGUI_API ImGuiContextHook* ImGuiContextHook_ImGuiContextHook(void);
4312CIMGUI_API void ImGuiContextHook_destroy(ImGuiContextHook* self);
4313CIMGUI_API ImGuiContext* ImGuiContext_ImGuiContext(ImFontAtlas* shared_font_atlas);
4314CIMGUI_API void ImGuiContext_destroy(ImGuiContext* self);
4315CIMGUI_API ImGuiWindow* ImGuiWindow_ImGuiWindow(ImGuiContext* context,const char* name);
4316CIMGUI_API void ImGuiWindow_destroy(ImGuiWindow* self);
4317CIMGUI_API ImGuiID ImGuiWindow_GetID_Str(ImGuiWindow* self,const char* str,const char* str_end);
4318CIMGUI_API ImGuiID ImGuiWindow_GetID_Ptr(ImGuiWindow* self,const void* ptr);
4319CIMGUI_API ImGuiID ImGuiWindow_GetID_Int(ImGuiWindow* self,int n);
4320CIMGUI_API ImGuiID ImGuiWindow_GetIDFromRectangle(ImGuiWindow* self,const ImRect r_abs);
4321CIMGUI_API void ImGuiWindow_Rect(ImRect *pOut,ImGuiWindow* self);
4322CIMGUI_API float ImGuiWindow_CalcFontSize(ImGuiWindow* self);
4323CIMGUI_API void ImGuiWindow_TitleBarRect(ImRect *pOut,ImGuiWindow* self);
4324CIMGUI_API void ImGuiWindow_MenuBarRect(ImRect *pOut,ImGuiWindow* self);
4325CIMGUI_API ImGuiTabItem* ImGuiTabItem_ImGuiTabItem(void);
4326CIMGUI_API void ImGuiTabItem_destroy(ImGuiTabItem* self);
4327CIMGUI_API ImGuiTabBar* ImGuiTabBar_ImGuiTabBar(void);
4328CIMGUI_API void ImGuiTabBar_destroy(ImGuiTabBar* self);
4329CIMGUI_API ImGuiTableColumn* ImGuiTableColumn_ImGuiTableColumn(void);
4330CIMGUI_API void ImGuiTableColumn_destroy(ImGuiTableColumn* self);
4331CIMGUI_API ImGuiTableInstanceData* ImGuiTableInstanceData_ImGuiTableInstanceData(void);
4332CIMGUI_API void ImGuiTableInstanceData_destroy(ImGuiTableInstanceData* self);
4333CIMGUI_API ImGuiTable* ImGuiTable_ImGuiTable(void);
4334CIMGUI_API void ImGuiTable_destroy(ImGuiTable* self);
4335CIMGUI_API ImGuiTableTempData* ImGuiTableTempData_ImGuiTableTempData(void);
4336CIMGUI_API void ImGuiTableTempData_destroy(ImGuiTableTempData* self);
4337CIMGUI_API ImGuiTableColumnSettings* ImGuiTableColumnSettings_ImGuiTableColumnSettings(void);
4338CIMGUI_API void ImGuiTableColumnSettings_destroy(ImGuiTableColumnSettings* self);
4339CIMGUI_API ImGuiTableSettings* ImGuiTableSettings_ImGuiTableSettings(void);
4340CIMGUI_API void ImGuiTableSettings_destroy(ImGuiTableSettings* self);
4341CIMGUI_API ImGuiTableColumnSettings* ImGuiTableSettings_GetColumnSettings(ImGuiTableSettings* self);
4342CIMGUI_API ImGuiWindow* igGetCurrentWindowRead(void);
4343CIMGUI_API ImGuiWindow* igGetCurrentWindow(void);
4344CIMGUI_API ImGuiWindow* igFindWindowByID(ImGuiID id);
4345CIMGUI_API ImGuiWindow* igFindWindowByName(const char* name);
4346CIMGUI_API void igUpdateWindowParentAndRootLinks(ImGuiWindow* window,ImGuiWindowFlags flags,ImGuiWindow* parent_window);
4347CIMGUI_API void igUpdateWindowSkipRefresh(ImGuiWindow* window);
4348CIMGUI_API void igCalcWindowNextAutoFitSize(ImVec2 *pOut,ImGuiWindow* window);
4349CIMGUI_API bool igIsWindowChildOf(ImGuiWindow* window,ImGuiWindow* potential_parent,bool popup_hierarchy,bool dock_hierarchy);
4350CIMGUI_API bool igIsWindowWithinBeginStackOf(ImGuiWindow* window,ImGuiWindow* potential_parent);
4351CIMGUI_API bool igIsWindowAbove(ImGuiWindow* potential_above,ImGuiWindow* potential_below);
4352CIMGUI_API bool igIsWindowNavFocusable(ImGuiWindow* window);
4353CIMGUI_API void igSetWindowPos_WindowPtr(ImGuiWindow* window,const ImVec2 pos,ImGuiCond cond);
4354CIMGUI_API void igSetWindowSize_WindowPtr(ImGuiWindow* window,const ImVec2 size,ImGuiCond cond);
4355CIMGUI_API void igSetWindowCollapsed_WindowPtr(ImGuiWindow* window,bool collapsed,ImGuiCond cond);
4356CIMGUI_API void igSetWindowHitTestHole(ImGuiWindow* window,const ImVec2 pos,const ImVec2 size);
4357CIMGUI_API void igSetWindowHiddenAndSkipItemsForCurrentFrame(ImGuiWindow* window);
4358CIMGUI_API void igSetWindowParentWindowForFocusRoute(ImGuiWindow* window,ImGuiWindow* parent_window);
4359CIMGUI_API void igWindowRectAbsToRel(ImRect *pOut,ImGuiWindow* window,const ImRect r);
4360CIMGUI_API void igWindowRectRelToAbs(ImRect *pOut,ImGuiWindow* window,const ImRect r);
4361CIMGUI_API void igWindowPosRelToAbs(ImVec2 *pOut,ImGuiWindow* window,const ImVec2 p);
4362CIMGUI_API void igFocusWindow(ImGuiWindow* window,ImGuiFocusRequestFlags flags);
4363CIMGUI_API void igFocusTopMostWindowUnderOne(ImGuiWindow* under_this_window,ImGuiWindow* ignore_window,ImGuiViewport* filter_viewport,ImGuiFocusRequestFlags flags);
4364CIMGUI_API void igBringWindowToFocusFront(ImGuiWindow* window);
4365CIMGUI_API void igBringWindowToDisplayFront(ImGuiWindow* window);
4366CIMGUI_API void igBringWindowToDisplayBack(ImGuiWindow* window);
4367CIMGUI_API void igBringWindowToDisplayBehind(ImGuiWindow* window,ImGuiWindow* above_window);
4368CIMGUI_API int igFindWindowDisplayIndex(ImGuiWindow* window);
4369CIMGUI_API ImGuiWindow* igFindBottomMostVisibleWindowWithinBeginStack(ImGuiWindow* window);
4370CIMGUI_API void igSetNextWindowRefreshPolicy(ImGuiWindowRefreshFlags flags);
4371CIMGUI_API void igSetCurrentFont(ImFont* font);
4372CIMGUI_API ImFont* igGetDefaultFont(void);
4373CIMGUI_API ImDrawList* igGetForegroundDrawList_WindowPtr(ImGuiWindow* window);
4374CIMGUI_API void igAddDrawListToDrawDataEx(ImDrawData* draw_data,ImVector_ImDrawListPtr* out_list,ImDrawList* draw_list);
4375CIMGUI_API void igInitialize(void);
4376CIMGUI_API void igShutdown(void);
4377CIMGUI_API void igUpdateInputEvents(bool trickle_fast_inputs);
4378CIMGUI_API void igUpdateHoveredWindowAndCaptureFlags(void);
4379CIMGUI_API void igFindHoveredWindowEx(const ImVec2 pos,bool find_first_and_in_any_viewport,ImGuiWindow** out_hovered_window,ImGuiWindow** out_hovered_window_under_moving_window);
4380CIMGUI_API void igStartMouseMovingWindow(ImGuiWindow* window);
4381CIMGUI_API void igStartMouseMovingWindowOrNode(ImGuiWindow* window,ImGuiDockNode* node,bool undock);
4382CIMGUI_API void igUpdateMouseMovingWindowNewFrame(void);
4383CIMGUI_API void igUpdateMouseMovingWindowEndFrame(void);
4384CIMGUI_API ImGuiID igAddContextHook(ImGuiContext* context,const ImGuiContextHook* hook);
4385CIMGUI_API void igRemoveContextHook(ImGuiContext* context,ImGuiID hook_to_remove);
4386CIMGUI_API void igCallContextHooks(ImGuiContext* context,ImGuiContextHookType type);
4387CIMGUI_API void igTranslateWindowsInViewport(ImGuiViewportP* viewport,const ImVec2 old_pos,const ImVec2 new_pos);
4388CIMGUI_API void igScaleWindowsInViewport(ImGuiViewportP* viewport,float scale);
4389CIMGUI_API void igDestroyPlatformWindow(ImGuiViewportP* viewport);
4390CIMGUI_API void igSetWindowViewport(ImGuiWindow* window,ImGuiViewportP* viewport);
4391CIMGUI_API void igSetCurrentViewport(ImGuiWindow* window,ImGuiViewportP* viewport);
4392CIMGUI_API const ImGuiPlatformMonitor* igGetViewportPlatformMonitor(ImGuiViewport* viewport);
4393CIMGUI_API ImGuiViewportP* igFindHoveredViewportFromPlatformWindowStack(const ImVec2 mouse_platform_pos);
4394CIMGUI_API void igMarkIniSettingsDirty_Nil(void);
4395CIMGUI_API void igMarkIniSettingsDirty_WindowPtr(ImGuiWindow* window);
4396CIMGUI_API void igClearIniSettings(void);
4397CIMGUI_API void igAddSettingsHandler(const ImGuiSettingsHandler* handler);
4398CIMGUI_API void igRemoveSettingsHandler(const char* type_name);
4399CIMGUI_API ImGuiSettingsHandler* igFindSettingsHandler(const char* type_name);
4400CIMGUI_API ImGuiWindowSettings* igCreateNewWindowSettings(const char* name);
4401CIMGUI_API ImGuiWindowSettings* igFindWindowSettingsByID(ImGuiID id);
4402CIMGUI_API ImGuiWindowSettings* igFindWindowSettingsByWindow(ImGuiWindow* window);
4403CIMGUI_API void igClearWindowSettings(const char* name);
4404CIMGUI_API void igLocalizeRegisterEntries(const ImGuiLocEntry* entries,int count);
4405CIMGUI_API const char* igLocalizeGetMsg(ImGuiLocKey key);
4406CIMGUI_API void igSetScrollX_WindowPtr(ImGuiWindow* window,float scroll_x);
4407CIMGUI_API void igSetScrollY_WindowPtr(ImGuiWindow* window,float scroll_y);
4408CIMGUI_API void igSetScrollFromPosX_WindowPtr(ImGuiWindow* window,float local_x,float center_x_ratio);
4409CIMGUI_API void igSetScrollFromPosY_WindowPtr(ImGuiWindow* window,float local_y,float center_y_ratio);
4410CIMGUI_API void igScrollToItem(ImGuiScrollFlags flags);
4411CIMGUI_API void igScrollToRect(ImGuiWindow* window,const ImRect rect,ImGuiScrollFlags flags);
4412CIMGUI_API void igScrollToRectEx(ImVec2 *pOut,ImGuiWindow* window,const ImRect rect,ImGuiScrollFlags flags);
4413CIMGUI_API void igScrollToBringRectIntoView(ImGuiWindow* window,const ImRect rect);
4414CIMGUI_API ImGuiItemStatusFlags igGetItemStatusFlags(void);
4415CIMGUI_API ImGuiItemFlags igGetItemFlags(void);
4416CIMGUI_API ImGuiID igGetActiveID(void);
4417CIMGUI_API ImGuiID igGetFocusID(void);
4418CIMGUI_API void igSetActiveID(ImGuiID id,ImGuiWindow* window);
4419CIMGUI_API void igSetFocusID(ImGuiID id,ImGuiWindow* window);
4420CIMGUI_API void igClearActiveID(void);
4421CIMGUI_API ImGuiID igGetHoveredID(void);
4422CIMGUI_API void igSetHoveredID(ImGuiID id);
4423CIMGUI_API void igKeepAliveID(ImGuiID id);
4424CIMGUI_API void igMarkItemEdited(ImGuiID id);
4425CIMGUI_API void igPushOverrideID(ImGuiID id);
4426CIMGUI_API ImGuiID igGetIDWithSeed_Str(const char* str_id_begin,const char* str_id_end,ImGuiID seed);
4427CIMGUI_API ImGuiID igGetIDWithSeed_Int(int n,ImGuiID seed);
4428CIMGUI_API void igItemSize_Vec2(const ImVec2 size,float text_baseline_y);
4429CIMGUI_API void igItemSize_Rect(const ImRect bb,float text_baseline_y);
4430CIMGUI_API bool igItemAdd(const ImRect bb,ImGuiID id,const ImRect* nav_bb,ImGuiItemFlags extra_flags);
4431CIMGUI_API bool igItemHoverable(const ImRect bb,ImGuiID id,ImGuiItemFlags item_flags);
4432CIMGUI_API bool igIsWindowContentHoverable(ImGuiWindow* window,ImGuiHoveredFlags flags);
4433CIMGUI_API bool igIsClippedEx(const ImRect bb,ImGuiID id);
4434CIMGUI_API void igSetLastItemData(ImGuiID item_id,ImGuiItemFlags in_flags,ImGuiItemStatusFlags status_flags,const ImRect item_rect);
4435CIMGUI_API void igCalcItemSize(ImVec2 *pOut,ImVec2 size,float default_w,float default_h);
4436CIMGUI_API float igCalcWrapWidthForPos(const ImVec2 pos,float wrap_pos_x);
4437CIMGUI_API void igPushMultiItemsWidths(int components,float width_full);
4438CIMGUI_API bool igIsItemToggledSelection(void);
4439CIMGUI_API void igGetContentRegionMaxAbs(ImVec2 *pOut);
4440CIMGUI_API void igShrinkWidths(ImGuiShrinkWidthItem* items,int count,float width_excess);
4441CIMGUI_API void igPushItemFlag(ImGuiItemFlags option,bool enabled);
4442CIMGUI_API void igPopItemFlag(void);
4443CIMGUI_API const ImGuiDataVarInfo* igGetStyleVarInfo(ImGuiStyleVar idx);
4444CIMGUI_API void igBeginDisabledOverrideReenable(void);
4445CIMGUI_API void igEndDisabledOverrideReenable(void);
4446CIMGUI_API void igLogBegin(ImGuiLogType type,int auto_open_depth);
4447CIMGUI_API void igLogToBuffer(int auto_open_depth);
4448CIMGUI_API void igLogRenderedText(const ImVec2* ref_pos,const char* text,const char* text_end);
4449CIMGUI_API void igLogSetNextTextDecoration(const char* prefix,const char* suffix);
4450CIMGUI_API bool igBeginChildEx(const char* name,ImGuiID id,const ImVec2 size_arg,ImGuiChildFlags child_flags,ImGuiWindowFlags window_flags);
4451CIMGUI_API void igOpenPopupEx(ImGuiID id,ImGuiPopupFlags popup_flags);
4452CIMGUI_API void igClosePopupToLevel(int remaining,bool restore_focus_to_window_under_popup);
4453CIMGUI_API void igClosePopupsOverWindow(ImGuiWindow* ref_window,bool restore_focus_to_window_under_popup);
4454CIMGUI_API void igClosePopupsExceptModals(void);
4455CIMGUI_API bool igIsPopupOpen_ID(ImGuiID id,ImGuiPopupFlags popup_flags);
4456CIMGUI_API bool igBeginPopupEx(ImGuiID id,ImGuiWindowFlags extra_flags);
4457CIMGUI_API bool igBeginTooltipEx(ImGuiTooltipFlags tooltip_flags,ImGuiWindowFlags extra_window_flags);
4458CIMGUI_API bool igBeginTooltipHidden(void);
4459CIMGUI_API void igGetPopupAllowedExtentRect(ImRect *pOut,ImGuiWindow* window);
4460CIMGUI_API ImGuiWindow* igGetTopMostPopupModal(void);
4461CIMGUI_API ImGuiWindow* igGetTopMostAndVisiblePopupModal(void);
4462CIMGUI_API ImGuiWindow* igFindBlockingModal(ImGuiWindow* window);
4463CIMGUI_API void igFindBestWindowPosForPopup(ImVec2 *pOut,ImGuiWindow* window);
4464CIMGUI_API void igFindBestWindowPosForPopupEx(ImVec2 *pOut,const ImVec2 ref_pos,const ImVec2 size,ImGuiDir* last_dir,const ImRect r_outer,const ImRect r_avoid,ImGuiPopupPositionPolicy policy);
4465CIMGUI_API bool igBeginViewportSideBar(const char* name,ImGuiViewport* viewport,ImGuiDir dir,float size,ImGuiWindowFlags window_flags);
4466CIMGUI_API bool igBeginMenuEx(const char* label,const char* icon,bool enabled);
4467CIMGUI_API bool igMenuItemEx(const char* label,const char* icon,const char* shortcut,bool selected,bool enabled);
4468CIMGUI_API bool igBeginComboPopup(ImGuiID popup_id,const ImRect bb,ImGuiComboFlags flags);
4469CIMGUI_API bool igBeginComboPreview(void);
4470CIMGUI_API void igEndComboPreview(void);
4471CIMGUI_API void igNavInitWindow(ImGuiWindow* window,bool force_reinit);
4472CIMGUI_API void igNavInitRequestApplyResult(void);
4473CIMGUI_API bool igNavMoveRequestButNoResultYet(void);
4474CIMGUI_API void igNavMoveRequestSubmit(ImGuiDir move_dir,ImGuiDir clip_dir,ImGuiNavMoveFlags move_flags,ImGuiScrollFlags scroll_flags);
4475CIMGUI_API void igNavMoveRequestForward(ImGuiDir move_dir,ImGuiDir clip_dir,ImGuiNavMoveFlags move_flags,ImGuiScrollFlags scroll_flags);
4476CIMGUI_API void igNavMoveRequestResolveWithLastItem(ImGuiNavItemData* result);
4477CIMGUI_API void igNavMoveRequestResolveWithPastTreeNode(ImGuiNavItemData* result,ImGuiNavTreeNodeData* tree_node_data);
4478CIMGUI_API void igNavMoveRequestCancel(void);
4479CIMGUI_API void igNavMoveRequestApplyResult(void);
4480CIMGUI_API void igNavMoveRequestTryWrapping(ImGuiWindow* window,ImGuiNavMoveFlags move_flags);
4481CIMGUI_API void igNavHighlightActivated(ImGuiID id);
4482CIMGUI_API void igNavClearPreferredPosForAxis(ImGuiAxis axis);
4483CIMGUI_API void igNavRestoreHighlightAfterMove(void);
4484CIMGUI_API void igNavUpdateCurrentWindowIsScrollPushableX(void);
4485CIMGUI_API void igSetNavWindow(ImGuiWindow* window);
4486CIMGUI_API void igSetNavID(ImGuiID id,ImGuiNavLayer nav_layer,ImGuiID focus_scope_id,const ImRect rect_rel);
4487CIMGUI_API void igSetNavFocusScope(ImGuiID focus_scope_id);
4488CIMGUI_API void igFocusItem(void);
4489CIMGUI_API void igActivateItemByID(ImGuiID id);
4490CIMGUI_API bool igIsNamedKey(ImGuiKey key);
4491CIMGUI_API bool igIsNamedKeyOrMod(ImGuiKey key);
4492CIMGUI_API bool igIsLegacyKey(ImGuiKey key);
4493CIMGUI_API bool igIsKeyboardKey(ImGuiKey key);
4494CIMGUI_API bool igIsGamepadKey(ImGuiKey key);
4495CIMGUI_API bool igIsMouseKey(ImGuiKey key);
4496CIMGUI_API bool igIsAliasKey(ImGuiKey key);
4497CIMGUI_API bool igIsModKey(ImGuiKey key);
4498CIMGUI_API ImGuiKeyChord igFixupKeyChord(ImGuiKeyChord key_chord);
4499CIMGUI_API ImGuiKey igConvertSingleModFlagToKey(ImGuiKey key);
4500CIMGUI_API ImGuiKeyData* igGetKeyData_ContextPtr(ImGuiContext* ctx,ImGuiKey key);
4501CIMGUI_API ImGuiKeyData* igGetKeyData_Key(ImGuiKey key);
4502CIMGUI_API const char* igGetKeyChordName(ImGuiKeyChord key_chord);
4503CIMGUI_API ImGuiKey igMouseButtonToKey(ImGuiMouseButton button);
4504CIMGUI_API bool igIsMouseDragPastThreshold(ImGuiMouseButton button,float lock_threshold);
4505CIMGUI_API void igGetKeyMagnitude2d(ImVec2 *pOut,ImGuiKey key_left,ImGuiKey key_right,ImGuiKey key_up,ImGuiKey key_down);
4506CIMGUI_API float igGetNavTweakPressedAmount(ImGuiAxis axis);
4507CIMGUI_API int igCalcTypematicRepeatAmount(float t0,float t1,float repeat_delay,float repeat_rate);
4508CIMGUI_API void igGetTypematicRepeatRate(ImGuiInputFlags flags,float* repeat_delay,float* repeat_rate);
4509CIMGUI_API void igTeleportMousePos(const ImVec2 pos);
4510CIMGUI_API void igSetActiveIdUsingAllKeyboardKeys(void);
4511CIMGUI_API bool igIsActiveIdUsingNavDir(ImGuiDir dir);
4512CIMGUI_API ImGuiID igGetKeyOwner(ImGuiKey key);
4513CIMGUI_API void igSetKeyOwner(ImGuiKey key,ImGuiID owner_id,ImGuiInputFlags flags);
4514CIMGUI_API void igSetKeyOwnersForKeyChord(ImGuiKeyChord key,ImGuiID owner_id,ImGuiInputFlags flags);
4515CIMGUI_API void igSetItemKeyOwner(ImGuiKey key,ImGuiInputFlags flags);
4516CIMGUI_API bool igTestKeyOwner(ImGuiKey key,ImGuiID owner_id);
4517CIMGUI_API ImGuiKeyOwnerData* igGetKeyOwnerData(ImGuiContext* ctx,ImGuiKey key);
4518CIMGUI_API bool igIsKeyDown_ID(ImGuiKey key,ImGuiID owner_id);
4519CIMGUI_API bool igIsKeyPressed_InputFlags(ImGuiKey key,ImGuiInputFlags flags,ImGuiID owner_id);
4520CIMGUI_API bool igIsKeyReleased_ID(ImGuiKey key,ImGuiID owner_id);
4521CIMGUI_API bool igIsKeyChordPressed_InputFlags(ImGuiKeyChord key_chord,ImGuiInputFlags flags,ImGuiID owner_id);
4522CIMGUI_API bool igIsMouseDown_ID(ImGuiMouseButton button,ImGuiID owner_id);
4523CIMGUI_API bool igIsMouseClicked_InputFlags(ImGuiMouseButton button,ImGuiInputFlags flags,ImGuiID owner_id);
4524CIMGUI_API bool igIsMouseReleased_ID(ImGuiMouseButton button,ImGuiID owner_id);
4525CIMGUI_API bool igIsMouseDoubleClicked_ID(ImGuiMouseButton button,ImGuiID owner_id);
4526CIMGUI_API bool igShortcut_ID(ImGuiKeyChord key_chord,ImGuiInputFlags flags,ImGuiID owner_id);
4527CIMGUI_API bool igSetShortcutRouting(ImGuiKeyChord key_chord,ImGuiInputFlags flags,ImGuiID owner_id);
4528CIMGUI_API bool igTestShortcutRouting(ImGuiKeyChord key_chord,ImGuiID owner_id);
4529CIMGUI_API ImGuiKeyRoutingData* igGetShortcutRoutingData(ImGuiKeyChord key_chord);
4530CIMGUI_API void igDockContextInitialize(ImGuiContext* ctx);
4531CIMGUI_API void igDockContextShutdown(ImGuiContext* ctx);
4532CIMGUI_API void igDockContextClearNodes(ImGuiContext* ctx,ImGuiID root_id,bool clear_settings_refs);
4533CIMGUI_API void igDockContextRebuildNodes(ImGuiContext* ctx);
4534CIMGUI_API void igDockContextNewFrameUpdateUndocking(ImGuiContext* ctx);
4535CIMGUI_API void igDockContextNewFrameUpdateDocking(ImGuiContext* ctx);
4536CIMGUI_API void igDockContextEndFrame(ImGuiContext* ctx);
4537CIMGUI_API ImGuiID igDockContextGenNodeID(ImGuiContext* ctx);
4538CIMGUI_API void igDockContextQueueDock(ImGuiContext* ctx,ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload,ImGuiDir split_dir,float split_ratio,bool split_outer);
4539CIMGUI_API void igDockContextQueueUndockWindow(ImGuiContext* ctx,ImGuiWindow* window);
4540CIMGUI_API void igDockContextQueueUndockNode(ImGuiContext* ctx,ImGuiDockNode* node);
4541CIMGUI_API void igDockContextProcessUndockWindow(ImGuiContext* ctx,ImGuiWindow* window,bool clear_persistent_docking_ref);
4542CIMGUI_API void igDockContextProcessUndockNode(ImGuiContext* ctx,ImGuiDockNode* node);
4543CIMGUI_API bool igDockContextCalcDropPosForDocking(ImGuiWindow* target,ImGuiDockNode* target_node,ImGuiWindow* payload_window,ImGuiDockNode* payload_node,ImGuiDir split_dir,bool split_outer,ImVec2* out_pos);
4544CIMGUI_API ImGuiDockNode* igDockContextFindNodeByID(ImGuiContext* ctx,ImGuiID id);
4545CIMGUI_API void igDockNodeWindowMenuHandler_Default(ImGuiContext* ctx,ImGuiDockNode* node,ImGuiTabBar* tab_bar);
4546CIMGUI_API bool igDockNodeBeginAmendTabBar(ImGuiDockNode* node);
4547CIMGUI_API void igDockNodeEndAmendTabBar(void);
4548CIMGUI_API ImGuiDockNode* igDockNodeGetRootNode(ImGuiDockNode* node);
4549CIMGUI_API bool igDockNodeIsInHierarchyOf(ImGuiDockNode* node,ImGuiDockNode* parent);
4550CIMGUI_API int igDockNodeGetDepth(const ImGuiDockNode* node);
4551CIMGUI_API ImGuiID igDockNodeGetWindowMenuButtonId(const ImGuiDockNode* node);
4552CIMGUI_API ImGuiDockNode* igGetWindowDockNode(void);
4553CIMGUI_API bool igGetWindowAlwaysWantOwnTabBar(ImGuiWindow* window);
4554CIMGUI_API void igBeginDocked(ImGuiWindow* window,bool* p_open);
4555CIMGUI_API void igBeginDockableDragDropSource(ImGuiWindow* window);
4556CIMGUI_API void igBeginDockableDragDropTarget(ImGuiWindow* window);
4557CIMGUI_API void igSetWindowDock(ImGuiWindow* window,ImGuiID dock_id,ImGuiCond cond);
4558CIMGUI_API void igDockBuilderDockWindow(const char* window_name,ImGuiID node_id);
4559CIMGUI_API ImGuiDockNode* igDockBuilderGetNode(ImGuiID node_id);
4560CIMGUI_API ImGuiDockNode* igDockBuilderGetCentralNode(ImGuiID node_id);
4561CIMGUI_API ImGuiID igDockBuilderAddNode(ImGuiID node_id,ImGuiDockNodeFlags flags);
4562CIMGUI_API void igDockBuilderRemoveNode(ImGuiID node_id);
4563CIMGUI_API void igDockBuilderRemoveNodeDockedWindows(ImGuiID node_id,bool clear_settings_refs);
4564CIMGUI_API void igDockBuilderRemoveNodeChildNodes(ImGuiID node_id);
4565CIMGUI_API void igDockBuilderSetNodePos(ImGuiID node_id,ImVec2 pos);
4566CIMGUI_API void igDockBuilderSetNodeSize(ImGuiID node_id,ImVec2 size);
4567CIMGUI_API 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);
4568CIMGUI_API void igDockBuilderCopyDockSpace(ImGuiID src_dockspace_id,ImGuiID dst_dockspace_id,ImVector_const_charPtr* in_window_remap_pairs);
4569CIMGUI_API void igDockBuilderCopyNode(ImGuiID src_node_id,ImGuiID dst_node_id,ImVector_ImGuiID* out_node_remap_pairs);
4570CIMGUI_API void igDockBuilderCopyWindowSettings(const char* src_name,const char* dst_name);
4571CIMGUI_API void igDockBuilderFinish(ImGuiID node_id);
4572CIMGUI_API void igPushFocusScope(ImGuiID id);
4573CIMGUI_API void igPopFocusScope(void);
4574CIMGUI_API ImGuiID igGetCurrentFocusScope(void);
4575CIMGUI_API bool igIsDragDropActive(void);
4576CIMGUI_API bool igBeginDragDropTargetCustom(const ImRect bb,ImGuiID id);
4577CIMGUI_API void igClearDragDrop(void);
4578CIMGUI_API bool igIsDragDropPayloadBeingAccepted(void);
4579CIMGUI_API void igRenderDragDropTargetRect(const ImRect bb,const ImRect item_clip_rect);
4580CIMGUI_API ImGuiTypingSelectRequest* igGetTypingSelectRequest(ImGuiTypingSelectFlags flags);
4581CIMGUI_API int igTypingSelectFindMatch(ImGuiTypingSelectRequest* req,int items_count,const char*(*get_item_name_func)(void*,int),void* user_data,int nav_item_idx);
4582CIMGUI_API int igTypingSelectFindNextSingleCharMatch(ImGuiTypingSelectRequest* req,int items_count,const char*(*get_item_name_func)(void*,int),void* user_data,int nav_item_idx);
4583CIMGUI_API int igTypingSelectFindBestLeadingMatch(ImGuiTypingSelectRequest* req,int items_count,const char*(*get_item_name_func)(void*,int),void* user_data);
4584CIMGUI_API void igSetWindowClipRectBeforeSetChannel(ImGuiWindow* window,const ImRect clip_rect);
4585CIMGUI_API void igBeginColumns(const char* str_id,int count,ImGuiOldColumnFlags flags);
4586CIMGUI_API void igEndColumns(void);
4587CIMGUI_API void igPushColumnClipRect(int column_index);
4588CIMGUI_API void igPushColumnsBackground(void);
4589CIMGUI_API void igPopColumnsBackground(void);
4590CIMGUI_API ImGuiID igGetColumnsID(const char* str_id,int count);
4591CIMGUI_API ImGuiOldColumns* igFindOrCreateColumns(ImGuiWindow* window,ImGuiID id);
4592CIMGUI_API float igGetColumnOffsetFromNorm(const ImGuiOldColumns* columns,float offset_norm);
4593CIMGUI_API float igGetColumnNormFromOffset(const ImGuiOldColumns* columns,float offset);
4594CIMGUI_API void igTableOpenContextMenu(int column_n);
4595CIMGUI_API void igTableSetColumnWidth(int column_n,float width);
4596CIMGUI_API void igTableSetColumnSortDirection(int column_n,ImGuiSortDirection sort_direction,bool append_to_sort_specs);
4597CIMGUI_API int igTableGetHoveredColumn(void);
4598CIMGUI_API int igTableGetHoveredRow(void);
4599CIMGUI_API float igTableGetHeaderRowHeight(void);
4600CIMGUI_API float igTableGetHeaderAngledMaxLabelWidth(void);
4601CIMGUI_API void igTablePushBackgroundChannel(void);
4602CIMGUI_API void igTablePopBackgroundChannel(void);
4603CIMGUI_API void igTableAngledHeadersRowEx(ImGuiID row_id,float angle,float max_label_width,const ImGuiTableHeaderData* data,int data_count);
4604CIMGUI_API ImGuiTable* igGetCurrentTable(void);
4605CIMGUI_API ImGuiTable* igTableFindByID(ImGuiID id);
4606CIMGUI_API bool igBeginTableEx(const char* name,ImGuiID id,int columns_count,ImGuiTableFlags flags,const ImVec2 outer_size,float inner_width);
4607CIMGUI_API void igTableBeginInitMemory(ImGuiTable* table,int columns_count);
4608CIMGUI_API void igTableBeginApplyRequests(ImGuiTable* table);
4609CIMGUI_API void igTableSetupDrawChannels(ImGuiTable* table);
4610CIMGUI_API void igTableUpdateLayout(ImGuiTable* table);
4611CIMGUI_API void igTableUpdateBorders(ImGuiTable* table);
4612CIMGUI_API void igTableUpdateColumnsWeightFromWidth(ImGuiTable* table);
4613CIMGUI_API void igTableDrawBorders(ImGuiTable* table);
4614CIMGUI_API void igTableDrawDefaultContextMenu(ImGuiTable* table,ImGuiTableFlags flags_for_section_to_display);
4615CIMGUI_API bool igTableBeginContextMenuPopup(ImGuiTable* table);
4616CIMGUI_API void igTableMergeDrawChannels(ImGuiTable* table);
4617CIMGUI_API ImGuiTableInstanceData* igTableGetInstanceData(ImGuiTable* table,int instance_no);
4618CIMGUI_API ImGuiID igTableGetInstanceID(ImGuiTable* table,int instance_no);
4619CIMGUI_API void igTableSortSpecsSanitize(ImGuiTable* table);
4620CIMGUI_API void igTableSortSpecsBuild(ImGuiTable* table);
4621CIMGUI_API ImGuiSortDirection igTableGetColumnNextSortDirection(ImGuiTableColumn* column);
4622CIMGUI_API void igTableFixColumnSortDirection(ImGuiTable* table,ImGuiTableColumn* column);
4623CIMGUI_API float igTableGetColumnWidthAuto(ImGuiTable* table,ImGuiTableColumn* column);
4624CIMGUI_API void igTableBeginRow(ImGuiTable* table);
4625CIMGUI_API void igTableEndRow(ImGuiTable* table);
4626CIMGUI_API void igTableBeginCell(ImGuiTable* table,int column_n);
4627CIMGUI_API void igTableEndCell(ImGuiTable* table);
4628CIMGUI_API void igTableGetCellBgRect(ImRect *pOut,const ImGuiTable* table,int column_n);
4629CIMGUI_API const char* igTableGetColumnName_TablePtr(const ImGuiTable* table,int column_n);
4630CIMGUI_API ImGuiID igTableGetColumnResizeID(ImGuiTable* table,int column_n,int instance_no);
4631CIMGUI_API float igTableGetMaxColumnWidth(const ImGuiTable* table,int column_n);
4632CIMGUI_API void igTableSetColumnWidthAutoSingle(ImGuiTable* table,int column_n);
4633CIMGUI_API void igTableSetColumnWidthAutoAll(ImGuiTable* table);
4634CIMGUI_API void igTableRemove(ImGuiTable* table);
4635CIMGUI_API void igTableGcCompactTransientBuffers_TablePtr(ImGuiTable* table);
4636CIMGUI_API void igTableGcCompactTransientBuffers_TableTempDataPtr(ImGuiTableTempData* table);
4637CIMGUI_API void igTableGcCompactSettings(void);
4638CIMGUI_API void igTableLoadSettings(ImGuiTable* table);
4639CIMGUI_API void igTableSaveSettings(ImGuiTable* table);
4640CIMGUI_API void igTableResetSettings(ImGuiTable* table);
4641CIMGUI_API ImGuiTableSettings* igTableGetBoundSettings(ImGuiTable* table);
4642CIMGUI_API void igTableSettingsAddSettingsHandler(void);
4643CIMGUI_API ImGuiTableSettings* igTableSettingsCreate(ImGuiID id,int columns_count);
4644CIMGUI_API ImGuiTableSettings* igTableSettingsFindByID(ImGuiID id);
4645CIMGUI_API ImGuiTabBar* igGetCurrentTabBar(void);
4646CIMGUI_API bool igBeginTabBarEx(ImGuiTabBar* tab_bar,const ImRect bb,ImGuiTabBarFlags flags);
4647CIMGUI_API ImGuiTabItem* igTabBarFindTabByID(ImGuiTabBar* tab_bar,ImGuiID tab_id);
4648CIMGUI_API ImGuiTabItem* igTabBarFindTabByOrder(ImGuiTabBar* tab_bar,int order);
4649CIMGUI_API ImGuiTabItem* igTabBarFindMostRecentlySelectedTabForActiveWindow(ImGuiTabBar* tab_bar);
4650CIMGUI_API ImGuiTabItem* igTabBarGetCurrentTab(ImGuiTabBar* tab_bar);
4651CIMGUI_API int igTabBarGetTabOrder(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
4652CIMGUI_API const char* igTabBarGetTabName(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
4653CIMGUI_API void igTabBarAddTab(ImGuiTabBar* tab_bar,ImGuiTabItemFlags tab_flags,ImGuiWindow* window);
4654CIMGUI_API void igTabBarRemoveTab(ImGuiTabBar* tab_bar,ImGuiID tab_id);
4655CIMGUI_API void igTabBarCloseTab(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
4656CIMGUI_API void igTabBarQueueFocus(ImGuiTabBar* tab_bar,ImGuiTabItem* tab);
4657CIMGUI_API void igTabBarQueueReorder(ImGuiTabBar* tab_bar,ImGuiTabItem* tab,int offset);
4658CIMGUI_API void igTabBarQueueReorderFromMousePos(ImGuiTabBar* tab_bar,ImGuiTabItem* tab,ImVec2 mouse_pos);
4659CIMGUI_API bool igTabBarProcessReorder(ImGuiTabBar* tab_bar);
4660CIMGUI_API bool igTabItemEx(ImGuiTabBar* tab_bar,const char* label,bool* p_open,ImGuiTabItemFlags flags,ImGuiWindow* docked_window);
4661CIMGUI_API void igTabItemCalcSize_Str(ImVec2 *pOut,const char* label,bool has_close_button_or_unsaved_marker);
4662CIMGUI_API void igTabItemCalcSize_WindowPtr(ImVec2 *pOut,ImGuiWindow* window);
4663CIMGUI_API void igTabItemBackground(ImDrawList* draw_list,const ImRect bb,ImGuiTabItemFlags flags,ImU32 col);
4664CIMGUI_API 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);
4665CIMGUI_API void igRenderText(ImVec2 pos,const char* text,const char* text_end,bool hide_text_after_hash);
4666CIMGUI_API void igRenderTextWrapped(ImVec2 pos,const char* text,const char* text_end,float wrap_width);
4667CIMGUI_API 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 align,const ImRect* clip_rect);
4668CIMGUI_API 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 align,const ImRect* clip_rect);
4669CIMGUI_API 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);
4670CIMGUI_API void igRenderFrame(ImVec2 p_min,ImVec2 p_max,ImU32 fill_col,bool border,float rounding);
4671CIMGUI_API void igRenderFrameBorder(ImVec2 p_min,ImVec2 p_max,float rounding);
4672CIMGUI_API void igRenderColorRectWithAlphaCheckerboard(ImDrawList* draw_list,ImVec2 p_min,ImVec2 p_max,ImU32 fill_col,float grid_step,ImVec2 grid_off,float rounding,ImDrawFlags flags);
4673CIMGUI_API void igRenderNavHighlight(const ImRect bb,ImGuiID id,ImGuiNavHighlightFlags flags);
4674CIMGUI_API const char* igFindRenderedTextEnd(const char* text,const char* text_end);
4675CIMGUI_API void igRenderMouseCursor(ImVec2 pos,float scale,ImGuiMouseCursor mouse_cursor,ImU32 col_fill,ImU32 col_border,ImU32 col_shadow);
4676CIMGUI_API void igRenderArrow(ImDrawList* draw_list,ImVec2 pos,ImU32 col,ImGuiDir dir,float scale);
4677CIMGUI_API void igRenderBullet(ImDrawList* draw_list,ImVec2 pos,ImU32 col);
4678CIMGUI_API void igRenderCheckMark(ImDrawList* draw_list,ImVec2 pos,ImU32 col,float sz);
4679CIMGUI_API void igRenderArrowPointingAt(ImDrawList* draw_list,ImVec2 pos,ImVec2 half_sz,ImGuiDir direction,ImU32 col);
4680CIMGUI_API void igRenderArrowDockMenu(ImDrawList* draw_list,ImVec2 p_min,float sz,ImU32 col);
4681CIMGUI_API void igRenderRectFilledRangeH(ImDrawList* draw_list,const ImRect rect,ImU32 col,float x_start_norm,float x_end_norm,float rounding);
4682CIMGUI_API void igRenderRectFilledWithHole(ImDrawList* draw_list,const ImRect outer,const ImRect inner,ImU32 col,float rounding);
4683CIMGUI_API ImDrawFlags igCalcRoundingFlagsForRectInRect(const ImRect r_in,const ImRect r_outer,float threshold);
4684CIMGUI_API void igTextEx(const char* text,const char* text_end,ImGuiTextFlags flags);
4685CIMGUI_API bool igButtonEx(const char* label,const ImVec2 size_arg,ImGuiButtonFlags flags);
4686CIMGUI_API bool igArrowButtonEx(const char* str_id,ImGuiDir dir,ImVec2 size_arg,ImGuiButtonFlags flags);
4687CIMGUI_API bool igImageButtonEx(ImGuiID id,ImTextureID texture_id,const ImVec2 image_size,const ImVec2 uv0,const ImVec2 uv1,const ImVec4 bg_col,const ImVec4 tint_col,ImGuiButtonFlags flags);
4688CIMGUI_API void igSeparatorEx(ImGuiSeparatorFlags flags,float thickness);
4689CIMGUI_API void igSeparatorTextEx(ImGuiID id,const char* label,const char* label_end,float extra_width);
4690CIMGUI_API bool igCheckboxFlags_S64Ptr(const char* label,ImS64* flags,ImS64 flags_value);
4691CIMGUI_API bool igCheckboxFlags_U64Ptr(const char* label,ImU64* flags,ImU64 flags_value);
4692CIMGUI_API bool igCloseButton(ImGuiID id,const ImVec2 pos);
4693CIMGUI_API bool igCollapseButton(ImGuiID id,const ImVec2 pos,ImGuiDockNode* dock_node);
4694CIMGUI_API void igScrollbar(ImGuiAxis axis);
4695CIMGUI_API bool igScrollbarEx(const ImRect bb,ImGuiID id,ImGuiAxis axis,ImS64* p_scroll_v,ImS64 avail_v,ImS64 contents_v,ImDrawFlags flags);
4696CIMGUI_API void igGetWindowScrollbarRect(ImRect *pOut,ImGuiWindow* window,ImGuiAxis axis);
4697CIMGUI_API ImGuiID igGetWindowScrollbarID(ImGuiWindow* window,ImGuiAxis axis);
4698CIMGUI_API ImGuiID igGetWindowResizeCornerID(ImGuiWindow* window,int n);
4699CIMGUI_API ImGuiID igGetWindowResizeBorderID(ImGuiWindow* window,ImGuiDir dir);
4700CIMGUI_API bool igButtonBehavior(const ImRect bb,ImGuiID id,bool* out_hovered,bool* out_held,ImGuiButtonFlags flags);
4701CIMGUI_API 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);
4702CIMGUI_API 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);
4703CIMGUI_API bool igSplitterBehavior(const ImRect bb,ImGuiID id,ImGuiAxis axis,float* size1,float* size2,float min_size1,float min_size2,float hover_extend,float hover_visibility_delay,ImU32 bg_col);
4704CIMGUI_API bool igTreeNodeBehavior(ImGuiID id,ImGuiTreeNodeFlags flags,const char* label,const char* label_end);
4705CIMGUI_API void igTreePushOverrideID(ImGuiID id);
4706CIMGUI_API void igTreeNodeSetOpen(ImGuiID id,bool open);
4707CIMGUI_API bool igTreeNodeUpdateNextOpen(ImGuiID id,ImGuiTreeNodeFlags flags);
4708CIMGUI_API void igSetNextItemSelectionUserData(ImGuiSelectionUserData selection_user_data);
4709CIMGUI_API const ImGuiDataTypeInfo* igDataTypeGetInfo(ImGuiDataType data_type);
4710CIMGUI_API int igDataTypeFormatString(char* buf,int buf_size,ImGuiDataType data_type,const void* p_data,const char* format);
4711CIMGUI_API void igDataTypeApplyOp(ImGuiDataType data_type,int op,void* output,const void* arg_1,const void* arg_2);
4712CIMGUI_API bool igDataTypeApplyFromText(const char* buf,ImGuiDataType data_type,void* p_data,const char* format,void* p_data_when_empty);
4713CIMGUI_API int igDataTypeCompare(ImGuiDataType data_type,const void* arg_1,const void* arg_2);
4714CIMGUI_API bool igDataTypeClamp(ImGuiDataType data_type,void* p_data,const void* p_min,const void* p_max);
4715CIMGUI_API bool igInputTextEx(const char* label,const char* hint,char* buf,int buf_size,const ImVec2 size_arg,ImGuiInputTextFlags flags,ImGuiInputTextCallback callback,void* user_data);
4716CIMGUI_API void igInputTextDeactivateHook(ImGuiID id);
4717CIMGUI_API bool igTempInputText(const ImRect bb,ImGuiID id,const char* label,char* buf,int buf_size,ImGuiInputTextFlags flags);
4718CIMGUI_API bool igTempInputScalar(const ImRect bb,ImGuiID id,const char* label,ImGuiDataType data_type,void* p_data,const char* format,const void* p_clamp_min,const void* p_clamp_max);
4719CIMGUI_API bool igTempInputIsActive(ImGuiID id);
4720CIMGUI_API ImGuiInputTextState* igGetInputTextState(ImGuiID id);
4721CIMGUI_API void igSetNextItemRefVal(ImGuiDataType data_type,void* p_data);
4722CIMGUI_API void igColorTooltip(const char* text,const float* col,ImGuiColorEditFlags flags);
4723CIMGUI_API void igColorEditOptionsPopup(const float* col,ImGuiColorEditFlags flags);
4724CIMGUI_API void igColorPickerOptionsPopup(const float* ref_col,ImGuiColorEditFlags flags);
4725CIMGUI_API int igPlotEx(ImGuiPlotType plot_type,const char* label,float(*values_getter)(void* data,int idx),void* data,int values_count,int values_offset,const char* overlay_text,float scale_min,float scale_max,const ImVec2 size_arg);
4726CIMGUI_API void igShadeVertsLinearColorGradientKeepAlpha(ImDrawList* draw_list,int vert_start_idx,int vert_end_idx,ImVec2 gradient_p0,ImVec2 gradient_p1,ImU32 col0,ImU32 col1);
4727CIMGUI_API 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);
4728CIMGUI_API void igShadeVertsTransformPos(ImDrawList* draw_list,int vert_start_idx,int vert_end_idx,const ImVec2 pivot_in,float cos_a,float sin_a,const ImVec2 pivot_out);
4729CIMGUI_API void igGcCompactTransientMiscBuffers(void);
4730CIMGUI_API void igGcCompactTransientWindowBuffers(ImGuiWindow* window);
4731CIMGUI_API void igGcAwakeTransientWindowBuffers(ImGuiWindow* window);
4732CIMGUI_API void igDebugLog(const char* fmt,...);
4733CIMGUI_API void igDebugLogV(const char* fmt,va_list args);
4734CIMGUI_API void igDebugAllocHook(ImGuiDebugAllocInfo* info,int frame_count,void* ptr,size_t size);
4735CIMGUI_API void igErrorCheckEndFrameRecover(ImGuiErrorLogCallback log_callback,void* user_data);
4736CIMGUI_API void igErrorCheckEndWindowRecover(ImGuiErrorLogCallback log_callback,void* user_data);
4737CIMGUI_API void igErrorCheckUsingSetCursorPosToExtendParentBoundaries(void);
4738CIMGUI_API void igDebugDrawCursorPos(ImU32 col);
4739CIMGUI_API void igDebugDrawLineExtents(ImU32 col);
4740CIMGUI_API void igDebugDrawItemRect(ImU32 col);
4741CIMGUI_API void igDebugTextUnformattedWithLocateItem(const char* line_begin,const char* line_end);
4742CIMGUI_API void igDebugLocateItem(ImGuiID target_id);
4743CIMGUI_API void igDebugLocateItemOnHover(ImGuiID target_id);
4744CIMGUI_API void igDebugLocateItemResolveWithLastItem(void);
4745CIMGUI_API void igDebugBreakClearData(void);
4746CIMGUI_API bool igDebugBreakButton(const char* label,const char* description_of_location);
4747CIMGUI_API void igDebugBreakButtonTooltip(bool keyboard_only,const char* description_of_location);
4748CIMGUI_API void igShowFontAtlas(ImFontAtlas* atlas);
4749CIMGUI_API void igDebugHookIdInfo(ImGuiID id,ImGuiDataType data_type,const void* data_id,const void* data_id_end);
4750CIMGUI_API void igDebugNodeColumns(ImGuiOldColumns* columns);
4751CIMGUI_API void igDebugNodeDockNode(ImGuiDockNode* node,const char* label);
4752CIMGUI_API void igDebugNodeDrawList(ImGuiWindow* window,ImGuiViewportP* viewport,const ImDrawList* draw_list,const char* label);
4753CIMGUI_API void igDebugNodeDrawCmdShowMeshAndBoundingBox(ImDrawList* out_draw_list,const ImDrawList* draw_list,const ImDrawCmd* draw_cmd,bool show_mesh,bool show_aabb);
4754CIMGUI_API void igDebugNodeFont(ImFont* font);
4755CIMGUI_API void igDebugNodeFontGlyph(ImFont* font,const ImFontGlyph* glyph);
4756CIMGUI_API void igDebugNodeStorage(ImGuiStorage* storage,const char* label);
4757CIMGUI_API void igDebugNodeTabBar(ImGuiTabBar* tab_bar,const char* label);
4758CIMGUI_API void igDebugNodeTable(ImGuiTable* table);
4759CIMGUI_API void igDebugNodeTableSettings(ImGuiTableSettings* settings);
4760CIMGUI_API void igDebugNodeInputTextState(ImGuiInputTextState* state);
4761CIMGUI_API void igDebugNodeTypingSelectState(ImGuiTypingSelectState* state);
4762CIMGUI_API void igDebugNodeWindow(ImGuiWindow* window,const char* label);
4763CIMGUI_API void igDebugNodeWindowSettings(ImGuiWindowSettings* settings);
4764CIMGUI_API void igDebugNodeWindowsList(ImVector_ImGuiWindowPtr* windows,const char* label);
4765CIMGUI_API void igDebugNodeWindowsListByBeginStackParent(ImGuiWindow** windows,int windows_size,ImGuiWindow* parent_in_begin_stack);
4766CIMGUI_API void igDebugNodeViewport(ImGuiViewportP* viewport);
4767CIMGUI_API void igDebugRenderKeyboardPreview(ImDrawList* draw_list);
4768CIMGUI_API void igDebugRenderViewportThumbnail(ImDrawList* draw_list,ImGuiViewportP* viewport,const ImRect bb);
4769CIMGUI_API const ImFontBuilderIO* igImFontAtlasGetBuilderForStbTruetype(void);
4770CIMGUI_API void igImFontAtlasUpdateConfigDataPointers(ImFontAtlas* atlas);
4771CIMGUI_API void igImFontAtlasBuildInit(ImFontAtlas* atlas);
4772CIMGUI_API void igImFontAtlasBuildSetupFont(ImFontAtlas* atlas,ImFont* font,ImFontConfig* font_config,float ascent,float descent);
4773CIMGUI_API void igImFontAtlasBuildPackCustomRects(ImFontAtlas* atlas,void* stbrp_context_opaque);
4774CIMGUI_API void igImFontAtlasBuildFinish(ImFontAtlas* atlas);
4775CIMGUI_API void igImFontAtlasBuildRender8bppRectFromString(ImFontAtlas* atlas,int x,int y,int w,int h,const char* in_str,char in_marker_char,unsigned char in_marker_pixel_value);
4776CIMGUI_API void igImFontAtlasBuildRender32bppRectFromString(ImFontAtlas* atlas,int x,int y,int w,int h,const char* in_str,char in_marker_char,unsigned int in_marker_pixel_value);
4777CIMGUI_API void igImFontAtlasBuildMultiplyCalcLookupTable(unsigned char out_table[256],float in_multiply_factor);
4778CIMGUI_API void igImFontAtlasBuildMultiplyRectAlpha8(const unsigned char table[256],unsigned char* pixels,int x,int y,int w,int h,int stride);
4779
4780
4781/////////////////////////hand written functions
4782//no LogTextV
4783CIMGUI_API void igLogText(CONST char *fmt, ...);
4784//no appendfV
4785CIMGUI_API void ImGuiTextBuffer_appendf(struct ImGuiTextBuffer *buffer, const char *fmt, ...);
4786//for getting FLT_MAX in bindings
4787CIMGUI_API float igGET_FLT_MAX(void);
4788//for getting FLT_MIN in bindings
4789CIMGUI_API float igGET_FLT_MIN(void);
4790
4791
4792CIMGUI_API ImVector_ImWchar* ImVector_ImWchar_create(void);
4793CIMGUI_API void ImVector_ImWchar_destroy(ImVector_ImWchar* self);
4794CIMGUI_API void ImVector_ImWchar_Init(ImVector_ImWchar* p);
4795CIMGUI_API void ImVector_ImWchar_UnInit(ImVector_ImWchar* p);
4796
4797#ifdef IMGUI_HAS_DOCK
4798CIMGUI_API void ImGuiPlatformIO_Set_Platform_GetWindowPos(ImGuiPlatformIO* platform_io, void(*user_callback)(ImGuiViewport* vp, ImVec2* out_pos));
4799CIMGUI_API void ImGuiPlatformIO_Set_Platform_GetWindowSize(ImGuiPlatformIO* platform_io, void(*user_callback)(ImGuiViewport* vp, ImVec2* out_size));
4800#endif
4801
4802#endif //CIMGUI_INCLUDED
4803
4804
4805
4806