imgui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +273 -0
  4. data/Rakefile +97 -0
  5. data/api/v1.json +53 -0
  6. data/ext/CMakeLists.txt +128 -0
  7. data/ext/Rakefile +31 -0
  8. data/ext/backend_function_bridge.cpp +180 -0
  9. data/ext/backend_function_bridge.h +40 -0
  10. data/ext/build_cimgui.rb +59 -0
  11. data/ext/extconf.rb +25 -0
  12. data/ext/glfw_vulkan_bridge.cpp +14 -0
  13. data/ext/imgui_ruby_build_config.h +17 -0
  14. data/ext/imgui_ruby_glfw.cpp +73 -0
  15. data/ext/imgui_ruby_sdl3.cpp +70 -0
  16. data/ext/imgui_ruby_wgpu.cpp +75 -0
  17. data/ext/install_cimgui.rb +25 -0
  18. data/ext/webgpu_function_bridge.cpp +245 -0
  19. data/generator/api_emitter.rb +164 -0
  20. data/generator/emitter.rb +317 -0
  21. data/generator/generate.rb +47 -0
  22. data/generator/native-dependencies.yml +88 -0
  23. data/generator/native_dependency_lock.rb +78 -0
  24. data/generator/native_dependency_snapshot.rb +159 -0
  25. data/generator/overrides.yml +11 -0
  26. data/generator/type_mapper.rb +112 -0
  27. data/generator/update_vendor.rb +30 -0
  28. data/lib/imgui/api.rb +88 -0
  29. data/lib/imgui/api_generated.rb +1633 -0
  30. data/lib/imgui/api_support.rb +144 -0
  31. data/lib/imgui/backends/glfw.rb +75 -0
  32. data/lib/imgui/backends/opengl3.rb +44 -0
  33. data/lib/imgui/backends/sdl3.rb +133 -0
  34. data/lib/imgui/backends/wgpu.rb +176 -0
  35. data/lib/imgui/backends.rb +60 -0
  36. data/lib/imgui/draw_data.rb +43 -0
  37. data/lib/imgui/dsl.rb +311 -0
  38. data/lib/imgui/dsl_support.rb +107 -0
  39. data/lib/imgui/easy_loop.rb +25 -0
  40. data/lib/imgui/errors.rb +11 -0
  41. data/lib/imgui/fonts.rb +46 -0
  42. data/lib/imgui/io.rb +91 -0
  43. data/lib/imgui/layout.rb +138 -0
  44. data/lib/imgui/memory_pool.rb +18 -0
  45. data/lib/imgui/native/enums.rb +2251 -0
  46. data/lib/imgui/native/functions.rb +1470 -0
  47. data/lib/imgui/native/structs.rb +1926 -0
  48. data/lib/imgui/native/typedefs.rb +93 -0
  49. data/lib/imgui/native.rb +130 -0
  50. data/lib/imgui/plot/api.rb +273 -0
  51. data/lib/imgui/plot/native/enums.rb +593 -0
  52. data/lib/imgui/plot/native/functions.rb +749 -0
  53. data/lib/imgui/plot/native/structs.rb +363 -0
  54. data/lib/imgui/plot/native/typedefs.rb +79 -0
  55. data/lib/imgui/plot.rb +13 -0
  56. data/lib/imgui/struct_value.rb +33 -0
  57. data/lib/imgui/style.rb +44 -0
  58. data/lib/imgui/value.rb +104 -0
  59. data/lib/imgui/version.rb +5 -0
  60. data/lib/imgui/widgets.rb +187 -0
  61. data/lib/imgui.rb +30 -0
  62. data/rakelib/platform_gem.rake +54 -0
  63. data/rakelib/source_gem.rake +75 -0
  64. metadata +129 -0
@@ -0,0 +1,1926 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file is generated by `rake generate`. Do not edit it manually.
4
+
5
+
6
+ module ImGui
7
+ module Native
8
+ class ImBitVector < FFI::Struct; end
9
+ class ImColor < FFI::Struct; end
10
+ class ImDrawChannel < FFI::Struct; end
11
+ class ImDrawCmd < FFI::Struct; end
12
+ class ImDrawCmdHeader < FFI::Struct; end
13
+ class ImDrawData < FFI::Struct; end
14
+ class ImDrawDataBuilder < FFI::Struct; end
15
+ class ImDrawList < FFI::Struct; end
16
+ class ImDrawListSharedData < FFI::Struct; end
17
+ class ImDrawListSplitter < FFI::Struct; end
18
+ class ImDrawVert < FFI::Struct; end
19
+ class ImFont < FFI::Struct; end
20
+ class ImFontAtlas < FFI::Struct; end
21
+ class ImFontAtlasCustomRect < FFI::Struct; end
22
+ class ImFontBuilderIO < FFI::Struct; end
23
+ class ImFontConfig < FFI::Struct; end
24
+ class ImFontGlyph < FFI::Struct; end
25
+ class ImFontGlyphRangesBuilder < FFI::Struct; end
26
+ class ImGuiBoxSelectState < FFI::Struct; end
27
+ class ImGuiColorMod < FFI::Struct; end
28
+ class ImGuiComboPreviewData < FFI::Struct; end
29
+ class ImGuiContext < FFI::Struct; end
30
+ class ImGuiContextHook < FFI::Struct; end
31
+ class ImGuiDataTypeInfo < FFI::Struct; end
32
+ class ImGuiDataTypeStorage < FFI::Struct; end
33
+ class ImGuiDeactivatedItemData < FFI::Struct; end
34
+ class ImGuiDebugAllocEntry < FFI::Struct; end
35
+ class ImGuiDebugAllocInfo < FFI::Struct; end
36
+ class ImGuiDockContext < FFI::Struct; end
37
+ class ImGuiDockNode < FFI::Struct; end
38
+ class ImGuiErrorRecoveryState < FFI::Struct; end
39
+ class ImGuiFocusScopeData < FFI::Struct; end
40
+ class ImGuiGroupData < FFI::Struct; end
41
+ class ImGuiIDStackTool < FFI::Struct; end
42
+ class ImGuiIO < FFI::Struct; end
43
+ class ImGuiInputEvent < FFI::Struct; end
44
+ class ImGuiInputEventAppFocused < FFI::Struct; end
45
+ class ImGuiInputEventKey < FFI::Struct; end
46
+ class ImGuiInputEventMouseButton < FFI::Struct; end
47
+ class ImGuiInputEventMousePos < FFI::Struct; end
48
+ class ImGuiInputEventMouseViewport < FFI::Struct; end
49
+ class ImGuiInputEventMouseWheel < FFI::Struct; end
50
+ class ImGuiInputEventText < FFI::Struct; end
51
+ class ImGuiInputTextCallbackData < FFI::Struct; end
52
+ class ImGuiInputTextDeactivatedState < FFI::Struct; end
53
+ class ImGuiInputTextState < FFI::Struct; end
54
+ class ImGuiKeyData < FFI::Struct; end
55
+ class ImGuiKeyOwnerData < FFI::Struct; end
56
+ class ImGuiKeyRoutingData < FFI::Struct; end
57
+ class ImGuiKeyRoutingTable < FFI::Struct; end
58
+ class ImGuiLastItemData < FFI::Struct; end
59
+ class ImGuiListClipper < FFI::Struct; end
60
+ class ImGuiListClipperData < FFI::Struct; end
61
+ class ImGuiListClipperRange < FFI::Struct; end
62
+ class ImGuiLocEntry < FFI::Struct; end
63
+ class ImGuiMenuColumns < FFI::Struct; end
64
+ class ImGuiMetricsConfig < FFI::Struct; end
65
+ class ImGuiMultiSelectIO < FFI::Struct; end
66
+ class ImGuiMultiSelectState < FFI::Struct; end
67
+ class ImGuiMultiSelectTempData < FFI::Struct; end
68
+ class ImGuiNavItemData < FFI::Struct; end
69
+ class ImGuiNextItemData < FFI::Struct; end
70
+ class ImGuiNextWindowData < FFI::Struct; end
71
+ class ImGuiOldColumnData < FFI::Struct; end
72
+ class ImGuiOldColumns < FFI::Struct; end
73
+ class ImGuiOnceUponAFrame < FFI::Struct; end
74
+ class ImGuiPayload < FFI::Struct; end
75
+ class ImGuiPlatformIO < FFI::Struct; end
76
+ class ImGuiPlatformImeData < FFI::Struct; end
77
+ class ImGuiPlatformMonitor < FFI::Struct; end
78
+ class ImGuiPopupData < FFI::Struct; end
79
+ class ImGuiPtrOrIndex < FFI::Struct; end
80
+ class ImGuiSelectionBasicStorage < FFI::Struct; end
81
+ class ImGuiSelectionExternalStorage < FFI::Struct; end
82
+ class ImGuiSelectionRequest < FFI::Struct; end
83
+ class ImGuiSettingsHandler < FFI::Struct; end
84
+ class ImGuiShrinkWidthItem < FFI::Struct; end
85
+ class ImGuiSizeCallbackData < FFI::Struct; end
86
+ class ImGuiStackLevelInfo < FFI::Struct; end
87
+ class ImGuiStorage < FFI::Struct; end
88
+ class ImGuiStoragePair < FFI::Struct; end
89
+ class ImGuiStyle < FFI::Struct; end
90
+ class ImGuiStyleMod < FFI::Struct; end
91
+ class ImGuiStyleVarInfo < FFI::Struct; end
92
+ class ImGuiTabBar < FFI::Struct; end
93
+ class ImGuiTabItem < FFI::Struct; end
94
+ class ImGuiTable < FFI::Struct; end
95
+ class ImGuiTableCellData < FFI::Struct; end
96
+ class ImGuiTableColumn < FFI::Struct; end
97
+ class ImGuiTableColumnSettings < FFI::Struct; end
98
+ class ImGuiTableColumnSortSpecs < FFI::Struct; end
99
+ class ImGuiTableHeaderData < FFI::Struct; end
100
+ class ImGuiTableInstanceData < FFI::Struct; end
101
+ class ImGuiTableSettings < FFI::Struct; end
102
+ class ImGuiTableSortSpecs < FFI::Struct; end
103
+ class ImGuiTableTempData < FFI::Struct; end
104
+ class ImGuiTextBuffer < FFI::Struct; end
105
+ class ImGuiTextFilter < FFI::Struct; end
106
+ class ImGuiTextIndex < FFI::Struct; end
107
+ class ImGuiTextRange < FFI::Struct; end
108
+ class ImGuiTreeNodeStackData < FFI::Struct; end
109
+ class ImGuiTypingSelectRequest < FFI::Struct; end
110
+ class ImGuiTypingSelectState < FFI::Struct; end
111
+ class ImGuiViewport < FFI::Struct; end
112
+ class ImGuiViewportP < FFI::Struct; end
113
+ class ImGuiWindow < FFI::Struct; end
114
+ class ImGuiWindowClass < FFI::Struct; end
115
+ class ImGuiWindowDockStyle < FFI::Struct; end
116
+ class ImGuiWindowSettings < FFI::Struct; end
117
+ class ImGuiWindowStackData < FFI::Struct; end
118
+ class ImGuiWindowTempData < FFI::Struct; end
119
+ class ImRect < FFI::Struct; end
120
+ class ImVec1 < FFI::Struct; end
121
+ class ImVec2 < FFI::Struct; end
122
+ class ImVec2ih < FFI::Struct; end
123
+ class ImVec4 < FFI::Struct; end
124
+ class ImVector < FFI::Struct; end
125
+
126
+ ImVector.layout(
127
+ "Size", :int,
128
+ "Capacity", :int,
129
+ "Data", :pointer
130
+ )
131
+ ImBitVector.layout(
132
+ "Storage", ImVector.by_value
133
+ )
134
+ ImVec4.layout(
135
+ "x", :float,
136
+ "y", :float,
137
+ "z", :float,
138
+ "w", :float
139
+ )
140
+ ImColor.layout(
141
+ "Value", ImVec4.by_value
142
+ )
143
+ ImDrawChannel.layout(
144
+ "_CmdBuffer", ImVector.by_value,
145
+ "_IdxBuffer", ImVector.by_value
146
+ )
147
+ ImDrawCmd.layout(
148
+ "ClipRect", ImVec4.by_value,
149
+ "TextureId", :ulong_long,
150
+ "VtxOffset", :uint,
151
+ "IdxOffset", :uint,
152
+ "ElemCount", :uint,
153
+ "UserCallback", :ImDrawCallback,
154
+ "UserCallbackData", :pointer,
155
+ "UserCallbackDataSize", :int,
156
+ "UserCallbackDataOffset", :int
157
+ )
158
+ ImDrawCmdHeader.layout(
159
+ "ClipRect", ImVec4.by_value,
160
+ "TextureId", :ulong_long,
161
+ "VtxOffset", :uint
162
+ )
163
+ ImVec2.layout(
164
+ "x", :float,
165
+ "y", :float
166
+ )
167
+ ImDrawData.layout(
168
+ "Valid", :bool,
169
+ "CmdListsCount", :int,
170
+ "TotalIdxCount", :int,
171
+ "TotalVtxCount", :int,
172
+ "CmdLists", ImVector.by_value,
173
+ "DisplayPos", ImVec2.by_value,
174
+ "DisplaySize", ImVec2.by_value,
175
+ "FramebufferScale", ImVec2.by_value,
176
+ "OwnerViewport", :pointer
177
+ )
178
+ ImDrawDataBuilder.layout(
179
+ "Layers[2]", [:pointer, 2],
180
+ "LayerData1", ImVector.by_value
181
+ )
182
+ ImDrawListSplitter.layout(
183
+ "_Current", :int,
184
+ "_Count", :int,
185
+ "_Channels", ImVector.by_value
186
+ )
187
+ ImDrawList.layout(
188
+ "CmdBuffer", ImVector.by_value,
189
+ "IdxBuffer", ImVector.by_value,
190
+ "VtxBuffer", ImVector.by_value,
191
+ "Flags", :int,
192
+ "_VtxCurrentIdx", :uint,
193
+ "_Data", :pointer,
194
+ "_VtxWritePtr", :pointer,
195
+ "_IdxWritePtr", :pointer,
196
+ "_Path", ImVector.by_value,
197
+ "_CmdHeader", ImDrawCmdHeader.by_value,
198
+ "_Splitter", ImDrawListSplitter.by_value,
199
+ "_ClipRectStack", ImVector.by_value,
200
+ "_TextureIdStack", ImVector.by_value,
201
+ "_CallbacksDataBuf", ImVector.by_value,
202
+ "_FringeScale", :float,
203
+ "_OwnerName", :pointer
204
+ )
205
+ ImDrawListSharedData.layout(
206
+ "TexUvWhitePixel", ImVec2.by_value,
207
+ "TexUvLines", :pointer,
208
+ "Font", :pointer,
209
+ "FontSize", :float,
210
+ "FontScale", :float,
211
+ "CurveTessellationTol", :float,
212
+ "CircleSegmentMaxError", :float,
213
+ "InitialFringeScale", :float,
214
+ "InitialFlags", :int,
215
+ "ClipRectFullscreen", ImVec4.by_value,
216
+ "TempBuffer", ImVector.by_value,
217
+ "ArcFastVtx[48]", [ImVec2.by_value, 48],
218
+ "ArcFastRadiusCutoff", :float,
219
+ "CircleSegmentCounts[64]", [:uchar, 64]
220
+ )
221
+ ImDrawVert.layout(
222
+ "pos", ImVec2.by_value,
223
+ "uv", ImVec2.by_value,
224
+ "col", :uint
225
+ )
226
+ ImFont.layout(
227
+ "IndexAdvanceX", ImVector.by_value,
228
+ "FallbackAdvanceX", :float,
229
+ "FontSize", :float,
230
+ "IndexLookup", ImVector.by_value,
231
+ "Glyphs", ImVector.by_value,
232
+ "FallbackGlyph", :pointer,
233
+ "ContainerAtlas", :pointer,
234
+ "Sources", :pointer,
235
+ "SourcesCount", :short,
236
+ "EllipsisCharCount", :short,
237
+ "EllipsisChar", :ushort,
238
+ "FallbackChar", :ushort,
239
+ "EllipsisWidth", :float,
240
+ "EllipsisCharStep", :float,
241
+ "Scale", :float,
242
+ "Ascent", :float,
243
+ "Descent", :float,
244
+ "MetricsTotalSurface", :int,
245
+ "DirtyLookupTables", :bool,
246
+ "Used8kPagesMap[(0xFFFF+1)/8192/8]", [:uchar, 1]
247
+ )
248
+ ImFontAtlas.layout(
249
+ "Flags", :int,
250
+ "TexID", :ulong_long,
251
+ "TexDesiredWidth", :int,
252
+ "TexGlyphPadding", :int,
253
+ "UserData", :pointer,
254
+ "Locked", :bool,
255
+ "TexReady", :bool,
256
+ "TexPixelsUseColors", :bool,
257
+ "TexPixelsAlpha8", :pointer,
258
+ "TexPixelsRGBA32", :pointer,
259
+ "TexWidth", :int,
260
+ "TexHeight", :int,
261
+ "TexUvScale", ImVec2.by_value,
262
+ "TexUvWhitePixel", ImVec2.by_value,
263
+ "Fonts", ImVector.by_value,
264
+ "CustomRects", ImVector.by_value,
265
+ "Sources", ImVector.by_value,
266
+ "TexUvLines[(32)+1]", [ImVec4.by_value, 33],
267
+ "FontBuilderIO", :pointer,
268
+ "FontBuilderFlags", :uint,
269
+ "PackIdMouseCursors", :int,
270
+ "PackIdLines", :int
271
+ )
272
+ ImFontAtlasCustomRect.layout(
273
+ "X", :ushort,
274
+ "Y", :ushort,
275
+ "Width", :ushort,
276
+ "Height", :ushort,
277
+ "_bitfield_1", :uint,
278
+ "GlyphAdvanceX", :float,
279
+ "GlyphOffset", ImVec2.by_value,
280
+ "Font", :pointer
281
+ )
282
+ ImFontBuilderIO.layout(
283
+ "FontBuilder_Build", :pointer
284
+ )
285
+ ImFontConfig.layout(
286
+ "FontData", :pointer,
287
+ "FontDataSize", :int,
288
+ "FontDataOwnedByAtlas", :bool,
289
+ "MergeMode", :bool,
290
+ "PixelSnapH", :bool,
291
+ "FontNo", :int,
292
+ "OversampleH", :int,
293
+ "OversampleV", :int,
294
+ "SizePixels", :float,
295
+ "GlyphOffset", ImVec2.by_value,
296
+ "GlyphRanges", :pointer,
297
+ "GlyphMinAdvanceX", :float,
298
+ "GlyphMaxAdvanceX", :float,
299
+ "GlyphExtraAdvanceX", :float,
300
+ "FontBuilderFlags", :uint,
301
+ "RasterizerMultiply", :float,
302
+ "RasterizerDensity", :float,
303
+ "EllipsisChar", :ushort,
304
+ "Name[40]", [:char, 40],
305
+ "DstFont", :pointer
306
+ )
307
+ ImFontGlyph.layout(
308
+ "_bitfield_1", :uint,
309
+ "AdvanceX", :float,
310
+ "X0", :float,
311
+ "Y0", :float,
312
+ "X1", :float,
313
+ "Y1", :float,
314
+ "U0", :float,
315
+ "V0", :float,
316
+ "U1", :float,
317
+ "V1", :float
318
+ )
319
+ ImFontGlyphRangesBuilder.layout(
320
+ "UsedChars", ImVector.by_value
321
+ )
322
+ ImRect.layout(
323
+ "Min", ImVec2.by_value,
324
+ "Max", ImVec2.by_value
325
+ )
326
+ ImGuiBoxSelectState.layout(
327
+ "ID", :uint,
328
+ "IsActive", :bool,
329
+ "IsStarting", :bool,
330
+ "IsStartedFromVoid", :bool,
331
+ "IsStartedSetNavIdOnce", :bool,
332
+ "RequestClear", :bool,
333
+ "_bitfield_1", :int,
334
+ "StartPosRel", ImVec2.by_value,
335
+ "EndPosRel", ImVec2.by_value,
336
+ "ScrollAccum", ImVec2.by_value,
337
+ "Window", :pointer,
338
+ "UnclipMode", :bool,
339
+ "UnclipRect", ImRect.by_value,
340
+ "BoxSelectRectPrev", ImRect.by_value,
341
+ "BoxSelectRectCurr", ImRect.by_value
342
+ )
343
+ ImGuiColorMod.layout(
344
+ "Col", :int,
345
+ "BackupValue", ImVec4.by_value
346
+ )
347
+ ImGuiComboPreviewData.layout(
348
+ "PreviewRect", ImRect.by_value,
349
+ "BackupCursorPos", ImVec2.by_value,
350
+ "BackupCursorMaxPos", ImVec2.by_value,
351
+ "BackupCursorPosPrevLine", ImVec2.by_value,
352
+ "BackupPrevLineTextBaseOffset", :float,
353
+ "BackupLayout", :int
354
+ )
355
+ ImGuiKeyData.layout(
356
+ "Down", :bool,
357
+ "DownDuration", :float,
358
+ "DownDurationPrev", :float,
359
+ "AnalogValue", :float
360
+ )
361
+ ImGuiIO.layout(
362
+ "ConfigFlags", :int,
363
+ "BackendFlags", :int,
364
+ "DisplaySize", ImVec2.by_value,
365
+ "DeltaTime", :float,
366
+ "IniSavingRate", :float,
367
+ "IniFilename", :pointer,
368
+ "LogFilename", :pointer,
369
+ "UserData", :pointer,
370
+ "Fonts", :pointer,
371
+ "FontGlobalScale", :float,
372
+ "FontAllowUserScaling", :bool,
373
+ "FontDefault", :pointer,
374
+ "DisplayFramebufferScale", ImVec2.by_value,
375
+ "ConfigNavSwapGamepadButtons", :bool,
376
+ "ConfigNavMoveSetMousePos", :bool,
377
+ "ConfigNavCaptureKeyboard", :bool,
378
+ "ConfigNavEscapeClearFocusItem", :bool,
379
+ "ConfigNavEscapeClearFocusWindow", :bool,
380
+ "ConfigNavCursorVisibleAuto", :bool,
381
+ "ConfigNavCursorVisibleAlways", :bool,
382
+ "ConfigDockingNoSplit", :bool,
383
+ "ConfigDockingWithShift", :bool,
384
+ "ConfigDockingAlwaysTabBar", :bool,
385
+ "ConfigDockingTransparentPayload", :bool,
386
+ "ConfigViewportsNoAutoMerge", :bool,
387
+ "ConfigViewportsNoTaskBarIcon", :bool,
388
+ "ConfigViewportsNoDecoration", :bool,
389
+ "ConfigViewportsNoDefaultParent", :bool,
390
+ "MouseDrawCursor", :bool,
391
+ "ConfigMacOSXBehaviors", :bool,
392
+ "ConfigInputTrickleEventQueue", :bool,
393
+ "ConfigInputTextCursorBlink", :bool,
394
+ "ConfigInputTextEnterKeepActive", :bool,
395
+ "ConfigDragClickToInputText", :bool,
396
+ "ConfigWindowsResizeFromEdges", :bool,
397
+ "ConfigWindowsMoveFromTitleBarOnly", :bool,
398
+ "ConfigWindowsCopyContentsWithCtrlC", :bool,
399
+ "ConfigScrollbarScrollByPage", :bool,
400
+ "ConfigMemoryCompactTimer", :float,
401
+ "MouseDoubleClickTime", :float,
402
+ "MouseDoubleClickMaxDist", :float,
403
+ "MouseDragThreshold", :float,
404
+ "KeyRepeatDelay", :float,
405
+ "KeyRepeatRate", :float,
406
+ "ConfigErrorRecovery", :bool,
407
+ "ConfigErrorRecoveryEnableAssert", :bool,
408
+ "ConfigErrorRecoveryEnableDebugLog", :bool,
409
+ "ConfigErrorRecoveryEnableTooltip", :bool,
410
+ "ConfigDebugIsDebuggerPresent", :bool,
411
+ "ConfigDebugHighlightIdConflicts", :bool,
412
+ "ConfigDebugHighlightIdConflictsShowItemPicker", :bool,
413
+ "ConfigDebugBeginReturnValueOnce", :bool,
414
+ "ConfigDebugBeginReturnValueLoop", :bool,
415
+ "ConfigDebugIgnoreFocusLoss", :bool,
416
+ "ConfigDebugIniSettings", :bool,
417
+ "BackendPlatformName", :pointer,
418
+ "BackendRendererName", :pointer,
419
+ "BackendPlatformUserData", :pointer,
420
+ "BackendRendererUserData", :pointer,
421
+ "BackendLanguageUserData", :pointer,
422
+ "WantCaptureMouse", :bool,
423
+ "WantCaptureKeyboard", :bool,
424
+ "WantTextInput", :bool,
425
+ "WantSetMousePos", :bool,
426
+ "WantSaveIniSettings", :bool,
427
+ "NavActive", :bool,
428
+ "NavVisible", :bool,
429
+ "Framerate", :float,
430
+ "MetricsRenderVertices", :int,
431
+ "MetricsRenderIndices", :int,
432
+ "MetricsRenderWindows", :int,
433
+ "MetricsActiveWindows", :int,
434
+ "MouseDelta", ImVec2.by_value,
435
+ "Ctx", :pointer,
436
+ "MousePos", ImVec2.by_value,
437
+ "MouseDown[5]", [:bool, 5],
438
+ "MouseWheel", :float,
439
+ "MouseWheelH", :float,
440
+ "MouseSource", :int,
441
+ "MouseHoveredViewport", :uint,
442
+ "KeyCtrl", :bool,
443
+ "KeyShift", :bool,
444
+ "KeyAlt", :bool,
445
+ "KeySuper", :bool,
446
+ "KeyMods", :int,
447
+ "KeysData[ImGuiKey_NamedKey_COUNT]", [ImGuiKeyData.by_value, 155],
448
+ "WantCaptureMouseUnlessPopupClose", :bool,
449
+ "MousePosPrev", ImVec2.by_value,
450
+ "MouseClickedPos[5]", [ImVec2.by_value, 5],
451
+ "MouseClickedTime[5]", [:double, 5],
452
+ "MouseClicked[5]", [:bool, 5],
453
+ "MouseDoubleClicked[5]", [:bool, 5],
454
+ "MouseClickedCount[5]", [:ushort, 5],
455
+ "MouseClickedLastCount[5]", [:ushort, 5],
456
+ "MouseReleased[5]", [:bool, 5],
457
+ "MouseReleasedTime[5]", [:double, 5],
458
+ "MouseDownOwned[5]", [:bool, 5],
459
+ "MouseDownOwnedUnlessPopupClose[5]", [:bool, 5],
460
+ "MouseWheelRequestAxisSwap", :bool,
461
+ "MouseCtrlLeftAsRightClick", :bool,
462
+ "MouseDownDuration[5]", [:float, 5],
463
+ "MouseDownDurationPrev[5]", [:float, 5],
464
+ "MouseDragMaxDistanceAbs[5]", [ImVec2.by_value, 5],
465
+ "MouseDragMaxDistanceSqr[5]", [:float, 5],
466
+ "PenPressure", :float,
467
+ "AppFocusLost", :bool,
468
+ "AppAcceptingEvents", :bool,
469
+ "InputQueueSurrogate", :ushort,
470
+ "InputQueueCharacters", ImVector.by_value
471
+ )
472
+ ImGuiPlatformIO.layout(
473
+ "Platform_GetClipboardTextFn", :pointer,
474
+ "Platform_SetClipboardTextFn", :pointer,
475
+ "Platform_ClipboardUserData", :pointer,
476
+ "Platform_OpenInShellFn", :pointer,
477
+ "Platform_OpenInShellUserData", :pointer,
478
+ "Platform_SetImeDataFn", :pointer,
479
+ "Platform_ImeUserData", :pointer,
480
+ "Platform_LocaleDecimalPoint", :ushort,
481
+ "Renderer_RenderState", :pointer,
482
+ "Platform_CreateWindow", :pointer,
483
+ "Platform_DestroyWindow", :pointer,
484
+ "Platform_ShowWindow", :pointer,
485
+ "Platform_SetWindowPos", :pointer,
486
+ "Platform_GetWindowPos", :pointer,
487
+ "Platform_SetWindowSize", :pointer,
488
+ "Platform_GetWindowSize", :pointer,
489
+ "Platform_SetWindowFocus", :pointer,
490
+ "Platform_GetWindowFocus", :pointer,
491
+ "Platform_GetWindowMinimized", :pointer,
492
+ "Platform_SetWindowTitle", :pointer,
493
+ "Platform_SetWindowAlpha", :pointer,
494
+ "Platform_UpdateWindow", :pointer,
495
+ "Platform_RenderWindow", :pointer,
496
+ "Platform_SwapBuffers", :pointer,
497
+ "Platform_GetWindowDpiScale", :pointer,
498
+ "Platform_OnChangedViewport", :pointer,
499
+ "Platform_GetWindowWorkAreaInsets", :pointer,
500
+ "Platform_CreateVkSurface", :pointer,
501
+ "Renderer_CreateWindow", :pointer,
502
+ "Renderer_DestroyWindow", :pointer,
503
+ "Renderer_SetWindowSize", :pointer,
504
+ "Renderer_RenderWindow", :pointer,
505
+ "Renderer_SwapBuffers", :pointer,
506
+ "Monitors", ImVector.by_value,
507
+ "Viewports", ImVector.by_value
508
+ )
509
+ ImGuiStyle.layout(
510
+ "Alpha", :float,
511
+ "DisabledAlpha", :float,
512
+ "WindowPadding", ImVec2.by_value,
513
+ "WindowRounding", :float,
514
+ "WindowBorderSize", :float,
515
+ "WindowBorderHoverPadding", :float,
516
+ "WindowMinSize", ImVec2.by_value,
517
+ "WindowTitleAlign", ImVec2.by_value,
518
+ "WindowMenuButtonPosition", :int,
519
+ "ChildRounding", :float,
520
+ "ChildBorderSize", :float,
521
+ "PopupRounding", :float,
522
+ "PopupBorderSize", :float,
523
+ "FramePadding", ImVec2.by_value,
524
+ "FrameRounding", :float,
525
+ "FrameBorderSize", :float,
526
+ "ItemSpacing", ImVec2.by_value,
527
+ "ItemInnerSpacing", ImVec2.by_value,
528
+ "CellPadding", ImVec2.by_value,
529
+ "TouchExtraPadding", ImVec2.by_value,
530
+ "IndentSpacing", :float,
531
+ "ColumnsMinSpacing", :float,
532
+ "ScrollbarSize", :float,
533
+ "ScrollbarRounding", :float,
534
+ "GrabMinSize", :float,
535
+ "GrabRounding", :float,
536
+ "LogSliderDeadzone", :float,
537
+ "ImageBorderSize", :float,
538
+ "TabRounding", :float,
539
+ "TabBorderSize", :float,
540
+ "TabCloseButtonMinWidthSelected", :float,
541
+ "TabCloseButtonMinWidthUnselected", :float,
542
+ "TabBarBorderSize", :float,
543
+ "TabBarOverlineSize", :float,
544
+ "TableAngledHeadersAngle", :float,
545
+ "TableAngledHeadersTextAlign", ImVec2.by_value,
546
+ "ColorButtonPosition", :int,
547
+ "ButtonTextAlign", ImVec2.by_value,
548
+ "SelectableTextAlign", ImVec2.by_value,
549
+ "SeparatorTextBorderSize", :float,
550
+ "SeparatorTextAlign", ImVec2.by_value,
551
+ "SeparatorTextPadding", ImVec2.by_value,
552
+ "DisplayWindowPadding", ImVec2.by_value,
553
+ "DisplaySafeAreaPadding", ImVec2.by_value,
554
+ "DockingSeparatorSize", :float,
555
+ "MouseCursorScale", :float,
556
+ "AntiAliasedLines", :bool,
557
+ "AntiAliasedLinesUseTex", :bool,
558
+ "AntiAliasedFill", :bool,
559
+ "CurveTessellationTol", :float,
560
+ "CircleTessellationMaxError", :float,
561
+ "Colors[ImGuiCol_COUNT]", [ImVec4.by_value, 58],
562
+ "HoverStationaryDelay", :float,
563
+ "HoverDelayShort", :float,
564
+ "HoverDelayNormal", :float,
565
+ "HoverFlagsForTooltipMouse", :int,
566
+ "HoverFlagsForTooltipNav", :int
567
+ )
568
+ ImGuiStorage.layout(
569
+ "Data", ImVector.by_value
570
+ )
571
+ ImGuiDeactivatedItemData.layout(
572
+ "ID", :uint,
573
+ "ElapseFrame", :int,
574
+ "HasBeenEditedBefore", :bool,
575
+ "IsAlive", :bool
576
+ )
577
+ ImGuiDataTypeStorage.layout(
578
+ "Data[8]", [:uchar, 8]
579
+ )
580
+ ImGuiKeyOwnerData.layout(
581
+ "OwnerCurr", :uint,
582
+ "OwnerNext", :uint,
583
+ "LockThisFrame", :bool,
584
+ "LockUntilRelease", :bool
585
+ )
586
+ ImGuiKeyRoutingTable.layout(
587
+ "Index[ImGuiKey_NamedKey_COUNT]", [:pointer, 155],
588
+ "Entries", ImVector.by_value,
589
+ "EntriesNext", ImVector.by_value
590
+ )
591
+ ImGuiNextItemData.layout(
592
+ "HasFlags", :int,
593
+ "ItemFlags", :int,
594
+ "FocusScopeId", :uint,
595
+ "SelectionUserData", :pointer,
596
+ "Width", :float,
597
+ "Shortcut", :int,
598
+ "ShortcutFlags", :int,
599
+ "OpenVal", :bool,
600
+ "OpenCond", :uchar,
601
+ "RefVal", ImGuiDataTypeStorage.by_value,
602
+ "StorageId", :uint
603
+ )
604
+ ImGuiLastItemData.layout(
605
+ "ID", :uint,
606
+ "ItemFlags", :int,
607
+ "StatusFlags", :int,
608
+ "Rect", ImRect.by_value,
609
+ "NavRect", ImRect.by_value,
610
+ "DisplayRect", ImRect.by_value,
611
+ "ClipRect", ImRect.by_value,
612
+ "Shortcut", :int
613
+ )
614
+ ImGuiWindowClass.layout(
615
+ "ClassId", :uint,
616
+ "ParentViewportId", :uint,
617
+ "FocusRouteParentWindowId", :uint,
618
+ "ViewportFlagsOverrideSet", :int,
619
+ "ViewportFlagsOverrideClear", :int,
620
+ "TabItemFlagsOverrideSet", :int,
621
+ "DockNodeFlagsOverrideSet", :int,
622
+ "DockingAlwaysTabBar", :bool,
623
+ "DockingAllowUnclassed", :bool
624
+ )
625
+ ImGuiNextWindowData.layout(
626
+ "HasFlags", :int,
627
+ "PosCond", :int,
628
+ "SizeCond", :int,
629
+ "CollapsedCond", :int,
630
+ "DockCond", :int,
631
+ "PosVal", ImVec2.by_value,
632
+ "PosPivotVal", ImVec2.by_value,
633
+ "SizeVal", ImVec2.by_value,
634
+ "ContentSizeVal", ImVec2.by_value,
635
+ "ScrollVal", ImVec2.by_value,
636
+ "WindowFlags", :int,
637
+ "ChildFlags", :int,
638
+ "PosUndock", :bool,
639
+ "CollapsedVal", :bool,
640
+ "SizeConstraintRect", ImRect.by_value,
641
+ "SizeCallback", :ImGuiSizeCallback,
642
+ "SizeCallbackUserData", :pointer,
643
+ "BgAlphaVal", :float,
644
+ "ViewportId", :uint,
645
+ "DockId", :uint,
646
+ "WindowClass", ImGuiWindowClass.by_value,
647
+ "MenuBarOffsetMinVal", ImVec2.by_value,
648
+ "RefreshFlagsVal", :int
649
+ )
650
+ ImGuiPlatformMonitor.layout(
651
+ "MainPos", ImVec2.by_value,
652
+ "MainSize", ImVec2.by_value,
653
+ "WorkPos", ImVec2.by_value,
654
+ "WorkSize", ImVec2.by_value,
655
+ "DpiScale", :float,
656
+ "PlatformHandle", :pointer
657
+ )
658
+ ImGuiNavItemData.layout(
659
+ "Window", :pointer,
660
+ "ID", :uint,
661
+ "FocusScopeId", :uint,
662
+ "RectRel", ImRect.by_value,
663
+ "ItemFlags", :int,
664
+ "DistBox", :float,
665
+ "DistCenter", :float,
666
+ "DistAxial", :float,
667
+ "SelectionUserData", :pointer
668
+ )
669
+ ImGuiPayload.layout(
670
+ "Data", :pointer,
671
+ "DataSize", :int,
672
+ "SourceId", :uint,
673
+ "SourceParentId", :uint,
674
+ "DataFrameCount", :int,
675
+ "DataType[32+1]", [:char, 33],
676
+ "Preview", :bool,
677
+ "Delivery", :bool
678
+ )
679
+ ImGuiInputTextState.layout(
680
+ "Ctx", :pointer,
681
+ "Stb", :pointer,
682
+ "Flags", :int,
683
+ "ID", :uint,
684
+ "TextLen", :int,
685
+ "TextSrc", :pointer,
686
+ "TextA", ImVector.by_value,
687
+ "TextToRevertTo", ImVector.by_value,
688
+ "CallbackTextBackup", ImVector.by_value,
689
+ "BufCapacity", :int,
690
+ "Scroll", ImVec2.by_value,
691
+ "CursorAnim", :float,
692
+ "CursorFollow", :bool,
693
+ "SelectedAllMouseLock", :bool,
694
+ "Edited", :bool,
695
+ "WantReloadUserBuf", :bool,
696
+ "ReloadSelectionStart", :int,
697
+ "ReloadSelectionEnd", :int
698
+ )
699
+ ImGuiInputTextDeactivatedState.layout(
700
+ "ID", :uint,
701
+ "TextA", ImVector.by_value
702
+ )
703
+ ImGuiTypingSelectRequest.layout(
704
+ "Flags", :int,
705
+ "SearchBufferLen", :int,
706
+ "SearchBuffer", :pointer,
707
+ "SelectRequest", :bool,
708
+ "SingleCharMode", :bool,
709
+ "SingleCharSize", :char
710
+ )
711
+ ImGuiTypingSelectState.layout(
712
+ "Request", ImGuiTypingSelectRequest.by_value,
713
+ "SearchBuffer[64]", [:char, 64],
714
+ "FocusScope", :uint,
715
+ "LastRequestFrame", :int,
716
+ "LastRequestTime", :float,
717
+ "SingleCharModeLock", :bool
718
+ )
719
+ ImGuiPlatformImeData.layout(
720
+ "WantVisible", :bool,
721
+ "InputPos", ImVec2.by_value,
722
+ "InputLineHeight", :float
723
+ )
724
+ ImGuiDockContext.layout(
725
+ "Nodes", ImGuiStorage.by_value,
726
+ "Requests", ImVector.by_value,
727
+ "NodesSettings", ImVector.by_value,
728
+ "WantFullRebuild", :bool
729
+ )
730
+ ImGuiTextBuffer.layout(
731
+ "Buf", ImVector.by_value
732
+ )
733
+ ImGuiErrorRecoveryState.layout(
734
+ "SizeOfWindowStack", :short,
735
+ "SizeOfIDStack", :short,
736
+ "SizeOfTreeStack", :short,
737
+ "SizeOfColorStack", :short,
738
+ "SizeOfStyleVarStack", :short,
739
+ "SizeOfFontStack", :short,
740
+ "SizeOfFocusScopeStack", :short,
741
+ "SizeOfGroupStack", :short,
742
+ "SizeOfItemFlagsStack", :short,
743
+ "SizeOfBeginPopupStack", :short,
744
+ "SizeOfDisabledStack", :short
745
+ )
746
+ ImGuiTextIndex.layout(
747
+ "LineOffsets", ImVector.by_value,
748
+ "EndOffset", :int
749
+ )
750
+ ImGuiMetricsConfig.layout(
751
+ "ShowDebugLog", :bool,
752
+ "ShowIDStackTool", :bool,
753
+ "ShowWindowsRects", :bool,
754
+ "ShowWindowsBeginOrder", :bool,
755
+ "ShowTablesRects", :bool,
756
+ "ShowDrawCmdMesh", :bool,
757
+ "ShowDrawCmdBoundingBoxes", :bool,
758
+ "ShowTextEncodingViewer", :bool,
759
+ "ShowDockingNodes", :bool,
760
+ "ShowWindowsRectsType", :int,
761
+ "ShowTablesRectsType", :int,
762
+ "HighlightMonitorIdx", :int,
763
+ "HighlightViewportID", :uint
764
+ )
765
+ ImGuiIDStackTool.layout(
766
+ "LastActiveFrame", :int,
767
+ "StackLevel", :int,
768
+ "QueryId", :uint,
769
+ "Results", ImVector.by_value,
770
+ "CopyToClipboardOnCtrlC", :bool,
771
+ "CopyToClipboardLastTime", :float,
772
+ "ResultPathBuf", ImGuiTextBuffer.by_value
773
+ )
774
+ ImGuiDebugAllocEntry.layout(
775
+ "FrameCount", :int,
776
+ "AllocCount", :pointer,
777
+ "FreeCount", :pointer
778
+ )
779
+ ImGuiDebugAllocInfo.layout(
780
+ "TotalAllocCount", :int,
781
+ "TotalFreeCount", :int,
782
+ "LastEntriesIdx", :pointer,
783
+ "LastEntriesBuf[6]", [ImGuiDebugAllocEntry.by_value, 6]
784
+ )
785
+ ImGuiContext.layout(
786
+ "Initialized", :bool,
787
+ "FontAtlasOwnedByContext", :bool,
788
+ "IO", ImGuiIO.by_value,
789
+ "PlatformIO", ImGuiPlatformIO.by_value,
790
+ "Style", ImGuiStyle.by_value,
791
+ "ConfigFlagsCurrFrame", :int,
792
+ "ConfigFlagsLastFrame", :int,
793
+ "Font", :pointer,
794
+ "FontSize", :float,
795
+ "FontBaseSize", :float,
796
+ "FontScale", :float,
797
+ "CurrentDpiScale", :float,
798
+ "DrawListSharedData", ImDrawListSharedData.by_value,
799
+ "Time", :double,
800
+ "FrameCount", :int,
801
+ "FrameCountEnded", :int,
802
+ "FrameCountPlatformEnded", :int,
803
+ "FrameCountRendered", :int,
804
+ "WithinEndChildID", :uint,
805
+ "WithinFrameScope", :bool,
806
+ "WithinFrameScopeWithImplicitWindow", :bool,
807
+ "GcCompactAll", :bool,
808
+ "TestEngineHookItems", :bool,
809
+ "TestEngine", :pointer,
810
+ "ContextName[16]", [:char, 16],
811
+ "InputEventsQueue", ImVector.by_value,
812
+ "InputEventsTrail", ImVector.by_value,
813
+ "InputEventsNextMouseSource", :int,
814
+ "InputEventsNextEventId", :uint,
815
+ "Windows", ImVector.by_value,
816
+ "WindowsFocusOrder", ImVector.by_value,
817
+ "WindowsTempSortBuffer", ImVector.by_value,
818
+ "CurrentWindowStack", ImVector.by_value,
819
+ "WindowsById", ImGuiStorage.by_value,
820
+ "WindowsActiveCount", :int,
821
+ "WindowsBorderHoverPadding", :float,
822
+ "DebugBreakInWindow", :uint,
823
+ "CurrentWindow", :pointer,
824
+ "HoveredWindow", :pointer,
825
+ "HoveredWindowUnderMovingWindow", :pointer,
826
+ "HoveredWindowBeforeClear", :pointer,
827
+ "MovingWindow", :pointer,
828
+ "WheelingWindow", :pointer,
829
+ "WheelingWindowRefMousePos", ImVec2.by_value,
830
+ "WheelingWindowStartFrame", :int,
831
+ "WheelingWindowScrolledFrame", :int,
832
+ "WheelingWindowReleaseTimer", :float,
833
+ "WheelingWindowWheelRemainder", ImVec2.by_value,
834
+ "WheelingAxisAvg", ImVec2.by_value,
835
+ "DebugDrawIdConflicts", :uint,
836
+ "DebugHookIdInfo", :uint,
837
+ "HoveredId", :uint,
838
+ "HoveredIdPreviousFrame", :uint,
839
+ "HoveredIdPreviousFrameItemCount", :int,
840
+ "HoveredIdTimer", :float,
841
+ "HoveredIdNotActiveTimer", :float,
842
+ "HoveredIdAllowOverlap", :bool,
843
+ "HoveredIdIsDisabled", :bool,
844
+ "ItemUnclipByLog", :bool,
845
+ "ActiveId", :uint,
846
+ "ActiveIdIsAlive", :uint,
847
+ "ActiveIdTimer", :float,
848
+ "ActiveIdIsJustActivated", :bool,
849
+ "ActiveIdAllowOverlap", :bool,
850
+ "ActiveIdNoClearOnFocusLoss", :bool,
851
+ "ActiveIdHasBeenPressedBefore", :bool,
852
+ "ActiveIdHasBeenEditedBefore", :bool,
853
+ "ActiveIdHasBeenEditedThisFrame", :bool,
854
+ "ActiveIdFromShortcut", :bool,
855
+ "_bitfield_1", :int,
856
+ "ActiveIdClickOffset", ImVec2.by_value,
857
+ "ActiveIdWindow", :pointer,
858
+ "ActiveIdSource", :int,
859
+ "ActiveIdPreviousFrame", :uint,
860
+ "DeactivatedItemData", ImGuiDeactivatedItemData.by_value,
861
+ "ActiveIdValueOnActivation", ImGuiDataTypeStorage.by_value,
862
+ "LastActiveId", :uint,
863
+ "LastActiveIdTimer", :float,
864
+ "LastKeyModsChangeTime", :double,
865
+ "LastKeyModsChangeFromNoneTime", :double,
866
+ "LastKeyboardKeyPressTime", :double,
867
+ "KeysMayBeCharInput", :pointer,
868
+ "KeysOwnerData[ImGuiKey_NamedKey_COUNT]", [ImGuiKeyOwnerData.by_value, 155],
869
+ "KeysRoutingTable", ImGuiKeyRoutingTable.by_value,
870
+ "ActiveIdUsingNavDirMask", :uint,
871
+ "ActiveIdUsingAllKeyboardKeys", :bool,
872
+ "DebugBreakInShortcutRouting", :int,
873
+ "CurrentFocusScopeId", :uint,
874
+ "CurrentItemFlags", :int,
875
+ "DebugLocateId", :uint,
876
+ "NextItemData", ImGuiNextItemData.by_value,
877
+ "LastItemData", ImGuiLastItemData.by_value,
878
+ "NextWindowData", ImGuiNextWindowData.by_value,
879
+ "DebugShowGroupRects", :bool,
880
+ "DebugFlashStyleColorIdx", :int,
881
+ "ColorStack", ImVector.by_value,
882
+ "StyleVarStack", ImVector.by_value,
883
+ "FontStack", ImVector.by_value,
884
+ "FocusScopeStack", ImVector.by_value,
885
+ "ItemFlagsStack", ImVector.by_value,
886
+ "GroupStack", ImVector.by_value,
887
+ "OpenPopupStack", ImVector.by_value,
888
+ "BeginPopupStack", ImVector.by_value,
889
+ "TreeNodeStack", ImVector.by_value,
890
+ "Viewports", ImVector.by_value,
891
+ "CurrentViewport", :pointer,
892
+ "MouseViewport", :pointer,
893
+ "MouseLastHoveredViewport", :pointer,
894
+ "PlatformLastFocusedViewportId", :uint,
895
+ "FallbackMonitor", ImGuiPlatformMonitor.by_value,
896
+ "PlatformMonitorsFullWorkRect", ImRect.by_value,
897
+ "ViewportCreatedCount", :int,
898
+ "PlatformWindowsCreatedCount", :int,
899
+ "ViewportFocusedStampCount", :int,
900
+ "NavCursorVisible", :bool,
901
+ "NavHighlightItemUnderNav", :bool,
902
+ "NavMousePosDirty", :bool,
903
+ "NavIdIsAlive", :bool,
904
+ "NavId", :uint,
905
+ "NavWindow", :pointer,
906
+ "NavFocusScopeId", :uint,
907
+ "NavLayer", :int,
908
+ "NavActivateId", :uint,
909
+ "NavActivateDownId", :uint,
910
+ "NavActivatePressedId", :uint,
911
+ "NavActivateFlags", :int,
912
+ "NavFocusRoute", ImVector.by_value,
913
+ "NavHighlightActivatedId", :uint,
914
+ "NavHighlightActivatedTimer", :float,
915
+ "NavNextActivateId", :uint,
916
+ "NavNextActivateFlags", :int,
917
+ "NavInputSource", :int,
918
+ "NavLastValidSelectionUserData", :pointer,
919
+ "NavCursorHideFrames", :char,
920
+ "NavAnyRequest", :bool,
921
+ "NavInitRequest", :bool,
922
+ "NavInitRequestFromMove", :bool,
923
+ "NavInitResult", ImGuiNavItemData.by_value,
924
+ "NavMoveSubmitted", :bool,
925
+ "NavMoveScoringItems", :bool,
926
+ "NavMoveForwardToNextFrame", :bool,
927
+ "NavMoveFlags", :int,
928
+ "NavMoveScrollFlags", :int,
929
+ "NavMoveKeyMods", :int,
930
+ "NavMoveDir", :int,
931
+ "NavMoveDirForDebug", :int,
932
+ "NavMoveClipDir", :int,
933
+ "NavScoringRect", ImRect.by_value,
934
+ "NavScoringNoClipRect", ImRect.by_value,
935
+ "NavScoringDebugCount", :int,
936
+ "NavTabbingDir", :int,
937
+ "NavTabbingCounter", :int,
938
+ "NavMoveResultLocal", ImGuiNavItemData.by_value,
939
+ "NavMoveResultLocalVisible", ImGuiNavItemData.by_value,
940
+ "NavMoveResultOther", ImGuiNavItemData.by_value,
941
+ "NavTabbingResultFirst", ImGuiNavItemData.by_value,
942
+ "NavJustMovedFromFocusScopeId", :uint,
943
+ "NavJustMovedToId", :uint,
944
+ "NavJustMovedToFocusScopeId", :uint,
945
+ "NavJustMovedToKeyMods", :int,
946
+ "NavJustMovedToIsTabbing", :bool,
947
+ "NavJustMovedToHasSelectionData", :bool,
948
+ "ConfigNavWindowingKeyNext", :int,
949
+ "ConfigNavWindowingKeyPrev", :int,
950
+ "NavWindowingTarget", :pointer,
951
+ "NavWindowingTargetAnim", :pointer,
952
+ "NavWindowingListWindow", :pointer,
953
+ "NavWindowingTimer", :float,
954
+ "NavWindowingHighlightAlpha", :float,
955
+ "NavWindowingToggleLayer", :bool,
956
+ "NavWindowingToggleKey", :int,
957
+ "NavWindowingAccumDeltaPos", ImVec2.by_value,
958
+ "NavWindowingAccumDeltaSize", ImVec2.by_value,
959
+ "DimBgRatio", :float,
960
+ "DragDropActive", :bool,
961
+ "DragDropWithinSource", :bool,
962
+ "DragDropWithinTarget", :bool,
963
+ "DragDropSourceFlags", :int,
964
+ "DragDropSourceFrameCount", :int,
965
+ "DragDropMouseButton", :int,
966
+ "DragDropPayload", ImGuiPayload.by_value,
967
+ "DragDropTargetRect", ImRect.by_value,
968
+ "DragDropTargetClipRect", ImRect.by_value,
969
+ "DragDropTargetId", :uint,
970
+ "DragDropAcceptFlags", :int,
971
+ "DragDropAcceptIdCurrRectSurface", :float,
972
+ "DragDropAcceptIdCurr", :uint,
973
+ "DragDropAcceptIdPrev", :uint,
974
+ "DragDropAcceptFrameCount", :int,
975
+ "DragDropHoldJustPressedId", :uint,
976
+ "DragDropPayloadBufHeap", ImVector.by_value,
977
+ "DragDropPayloadBufLocal[16]", [:uchar, 16],
978
+ "ClipperTempDataStacked", :int,
979
+ "ClipperTempData", ImVector.by_value,
980
+ "CurrentTable", :pointer,
981
+ "DebugBreakInTable", :uint,
982
+ "TablesTempDataStacked", :int,
983
+ "TablesTempData", ImVector.by_value,
984
+ "Tables", :pointer,
985
+ "TablesLastTimeActive", ImVector.by_value,
986
+ "DrawChannelsTempMergeBuffer", ImVector.by_value,
987
+ "CurrentTabBar", :pointer,
988
+ "TabBars", :pointer,
989
+ "CurrentTabBarStack", ImVector.by_value,
990
+ "ShrinkWidthBuffer", ImVector.by_value,
991
+ "BoxSelectState", ImGuiBoxSelectState.by_value,
992
+ "CurrentMultiSelect", :pointer,
993
+ "MultiSelectTempDataStacked", :int,
994
+ "MultiSelectTempData", ImVector.by_value,
995
+ "MultiSelectStorage", :pointer,
996
+ "HoverItemDelayId", :uint,
997
+ "HoverItemDelayIdPreviousFrame", :uint,
998
+ "HoverItemDelayTimer", :float,
999
+ "HoverItemDelayClearTimer", :float,
1000
+ "HoverItemUnlockedStationaryId", :uint,
1001
+ "HoverWindowUnlockedStationaryId", :uint,
1002
+ "MouseCursor", :int,
1003
+ "MouseStationaryTimer", :float,
1004
+ "MouseLastValidPos", ImVec2.by_value,
1005
+ "InputTextState", ImGuiInputTextState.by_value,
1006
+ "InputTextDeactivatedState", ImGuiInputTextDeactivatedState.by_value,
1007
+ "InputTextPasswordFont", ImFont.by_value,
1008
+ "TempInputId", :uint,
1009
+ "DataTypeZeroValue", ImGuiDataTypeStorage.by_value,
1010
+ "BeginMenuDepth", :int,
1011
+ "BeginComboDepth", :int,
1012
+ "ColorEditOptions", :int,
1013
+ "ColorEditCurrentID", :uint,
1014
+ "ColorEditSavedID", :uint,
1015
+ "ColorEditSavedHue", :float,
1016
+ "ColorEditSavedSat", :float,
1017
+ "ColorEditSavedColor", :uint,
1018
+ "ColorPickerRef", ImVec4.by_value,
1019
+ "ComboPreviewData", ImGuiComboPreviewData.by_value,
1020
+ "WindowResizeBorderExpectedRect", ImRect.by_value,
1021
+ "WindowResizeRelativeMode", :bool,
1022
+ "ScrollbarSeekMode", :short,
1023
+ "ScrollbarClickDeltaToGrabCenter", :float,
1024
+ "SliderGrabClickOffset", :float,
1025
+ "SliderCurrentAccum", :float,
1026
+ "SliderCurrentAccumDirty", :bool,
1027
+ "DragCurrentAccumDirty", :bool,
1028
+ "DragCurrentAccum", :float,
1029
+ "DragSpeedDefaultRatio", :float,
1030
+ "DisabledAlphaBackup", :float,
1031
+ "DisabledStackSize", :short,
1032
+ "TooltipOverrideCount", :short,
1033
+ "TooltipPreviousWindow", :pointer,
1034
+ "ClipboardHandlerData", ImVector.by_value,
1035
+ "MenusIdSubmittedThisFrame", ImVector.by_value,
1036
+ "TypingSelectState", ImGuiTypingSelectState.by_value,
1037
+ "PlatformImeData", ImGuiPlatformImeData.by_value,
1038
+ "PlatformImeDataPrev", ImGuiPlatformImeData.by_value,
1039
+ "PlatformImeViewport", :uint,
1040
+ "DockContext", ImGuiDockContext.by_value,
1041
+ "DockNodeWindowMenuHandler", :pointer,
1042
+ "SettingsLoaded", :bool,
1043
+ "SettingsDirtyTimer", :float,
1044
+ "SettingsIniData", ImGuiTextBuffer.by_value,
1045
+ "SettingsHandlers", ImVector.by_value,
1046
+ "SettingsWindows", :pointer,
1047
+ "SettingsTables", :pointer,
1048
+ "Hooks", ImVector.by_value,
1049
+ "HookIdNext", :uint,
1050
+ "LocalizationTable[ImGuiLocKey_COUNT]", [:pointer, 13],
1051
+ "LogEnabled", :bool,
1052
+ "LogFlags", :int,
1053
+ "LogWindow", :pointer,
1054
+ "LogFile", :pointer,
1055
+ "LogBuffer", ImGuiTextBuffer.by_value,
1056
+ "LogNextPrefix", :pointer,
1057
+ "LogNextSuffix", :pointer,
1058
+ "LogLinePosY", :float,
1059
+ "LogLineFirstItem", :bool,
1060
+ "LogDepthRef", :int,
1061
+ "LogDepthToExpand", :int,
1062
+ "LogDepthToExpandDefault", :int,
1063
+ "ErrorCallback", :ImGuiErrorCallback,
1064
+ "ErrorCallbackUserData", :pointer,
1065
+ "ErrorTooltipLockedPos", ImVec2.by_value,
1066
+ "ErrorFirst", :bool,
1067
+ "ErrorCountCurrentFrame", :int,
1068
+ "StackSizesInNewFrame", ImGuiErrorRecoveryState.by_value,
1069
+ "StackSizesInBeginForCurrentWindow", :pointer,
1070
+ "DebugDrawIdConflictsCount", :int,
1071
+ "DebugLogFlags", :int,
1072
+ "DebugLogBuf", ImGuiTextBuffer.by_value,
1073
+ "DebugLogIndex", ImGuiTextIndex.by_value,
1074
+ "DebugLogSkippedErrors", :int,
1075
+ "DebugLogAutoDisableFlags", :int,
1076
+ "DebugLogAutoDisableFrames", :uchar,
1077
+ "DebugLocateFrames", :uchar,
1078
+ "DebugBreakInLocateId", :bool,
1079
+ "DebugBreakKeyChord", :int,
1080
+ "DebugBeginReturnValueCullDepth", :char,
1081
+ "DebugItemPickerActive", :bool,
1082
+ "DebugItemPickerMouseButton", :uchar,
1083
+ "DebugItemPickerBreakId", :uint,
1084
+ "DebugFlashStyleColorTime", :float,
1085
+ "DebugFlashStyleColorBackup", ImVec4.by_value,
1086
+ "DebugMetricsConfig", ImGuiMetricsConfig.by_value,
1087
+ "DebugIDStackTool", ImGuiIDStackTool.by_value,
1088
+ "DebugAllocInfo", ImGuiDebugAllocInfo.by_value,
1089
+ "DebugHoveredDockNode", :pointer,
1090
+ "FramerateSecPerFrame[60]", [:float, 60],
1091
+ "FramerateSecPerFrameIdx", :int,
1092
+ "FramerateSecPerFrameCount", :int,
1093
+ "FramerateSecPerFrameAccum", :float,
1094
+ "WantCaptureMouseNextFrame", :int,
1095
+ "WantCaptureKeyboardNextFrame", :int,
1096
+ "WantTextInputNextFrame", :int,
1097
+ "TempBuffer", ImVector.by_value,
1098
+ "TempKeychordName[64]", [:char, 64]
1099
+ )
1100
+ ImGuiContextHook.layout(
1101
+ "HookId", :uint,
1102
+ "Type", :int,
1103
+ "Owner", :uint,
1104
+ "Callback", :ImGuiContextHookCallback,
1105
+ "UserData", :pointer
1106
+ )
1107
+ ImGuiDataTypeInfo.layout(
1108
+ "Size", :size_t,
1109
+ "Name", :pointer,
1110
+ "PrintFmt", :pointer,
1111
+ "ScanFmt", :pointer
1112
+ )
1113
+ ImGuiDockNode.layout(
1114
+ "ID", :uint,
1115
+ "SharedFlags", :int,
1116
+ "LocalFlags", :int,
1117
+ "LocalFlagsInWindows", :int,
1118
+ "MergedFlags", :int,
1119
+ "State", :int,
1120
+ "ParentNode", :pointer,
1121
+ "ChildNodes[2]", [:pointer, 2],
1122
+ "Windows", ImVector.by_value,
1123
+ "TabBar", :pointer,
1124
+ "Pos", ImVec2.by_value,
1125
+ "Size", ImVec2.by_value,
1126
+ "SizeRef", ImVec2.by_value,
1127
+ "SplitAxis", :int,
1128
+ "WindowClass", ImGuiWindowClass.by_value,
1129
+ "LastBgColor", :uint,
1130
+ "HostWindow", :pointer,
1131
+ "VisibleWindow", :pointer,
1132
+ "CentralNode", :pointer,
1133
+ "OnlyNodeWithWindows", :pointer,
1134
+ "CountNodeWithWindows", :int,
1135
+ "LastFrameAlive", :int,
1136
+ "LastFrameActive", :int,
1137
+ "LastFrameFocused", :int,
1138
+ "LastFocusedNodeId", :uint,
1139
+ "SelectedTabId", :uint,
1140
+ "WantCloseTabId", :uint,
1141
+ "RefViewportId", :uint,
1142
+ "_bitfield_1", :int,
1143
+ "_bitfield_2", :bool
1144
+ )
1145
+ ImGuiFocusScopeData.layout(
1146
+ "ID", :uint,
1147
+ "WindowID", :uint
1148
+ )
1149
+ ImVec1.layout(
1150
+ "x", :float
1151
+ )
1152
+ ImGuiGroupData.layout(
1153
+ "WindowID", :uint,
1154
+ "BackupCursorPos", ImVec2.by_value,
1155
+ "BackupCursorMaxPos", ImVec2.by_value,
1156
+ "BackupCursorPosPrevLine", ImVec2.by_value,
1157
+ "BackupIndent", ImVec1.by_value,
1158
+ "BackupGroupOffset", ImVec1.by_value,
1159
+ "BackupCurrLineSize", ImVec2.by_value,
1160
+ "BackupCurrLineTextBaseOffset", :float,
1161
+ "BackupActiveIdIsAlive", :uint,
1162
+ "BackupDeactivatedIdIsAlive", :bool,
1163
+ "BackupHoveredIdIsAlive", :bool,
1164
+ "BackupIsSameLine", :bool,
1165
+ "EmitItem", :bool
1166
+ )
1167
+ ImGuiInputEvent.layout(
1168
+ "Type", :int,
1169
+ "Source", :int,
1170
+ "EventId", :uint,
1171
+ "_anonymous_1", :pointer,
1172
+ "AddedByTestEngine", :bool
1173
+ )
1174
+ ImGuiInputEventAppFocused.layout(
1175
+ "Focused", :bool
1176
+ )
1177
+ ImGuiInputEventKey.layout(
1178
+ "Key", :int,
1179
+ "Down", :bool,
1180
+ "AnalogValue", :float
1181
+ )
1182
+ ImGuiInputEventMouseButton.layout(
1183
+ "Button", :int,
1184
+ "Down", :bool,
1185
+ "MouseSource", :int
1186
+ )
1187
+ ImGuiInputEventMousePos.layout(
1188
+ "PosX", :float,
1189
+ "PosY", :float,
1190
+ "MouseSource", :int
1191
+ )
1192
+ ImGuiInputEventMouseViewport.layout(
1193
+ "HoveredViewportID", :uint
1194
+ )
1195
+ ImGuiInputEventMouseWheel.layout(
1196
+ "WheelX", :float,
1197
+ "WheelY", :float,
1198
+ "MouseSource", :int
1199
+ )
1200
+ ImGuiInputEventText.layout(
1201
+ "Char", :uint
1202
+ )
1203
+ ImGuiInputTextCallbackData.layout(
1204
+ "Ctx", :pointer,
1205
+ "EventFlag", :int,
1206
+ "Flags", :int,
1207
+ "UserData", :pointer,
1208
+ "EventChar", :ushort,
1209
+ "EventKey", :int,
1210
+ "Buf", :pointer,
1211
+ "BufTextLen", :int,
1212
+ "BufSize", :int,
1213
+ "BufDirty", :bool,
1214
+ "CursorPos", :int,
1215
+ "SelectionStart", :int,
1216
+ "SelectionEnd", :int
1217
+ )
1218
+ ImGuiKeyRoutingData.layout(
1219
+ "NextEntryIndex", :pointer,
1220
+ "Mods", :ushort,
1221
+ "RoutingCurrScore", :uchar,
1222
+ "RoutingNextScore", :uchar,
1223
+ "RoutingCurr", :uint,
1224
+ "RoutingNext", :uint
1225
+ )
1226
+ ImGuiListClipper.layout(
1227
+ "Ctx", :pointer,
1228
+ "DisplayStart", :int,
1229
+ "DisplayEnd", :int,
1230
+ "ItemsCount", :int,
1231
+ "ItemsHeight", :float,
1232
+ "StartPosY", :float,
1233
+ "StartSeekOffsetY", :double,
1234
+ "TempData", :pointer
1235
+ )
1236
+ ImGuiListClipperData.layout(
1237
+ "ListClipper", :pointer,
1238
+ "LossynessOffset", :float,
1239
+ "StepNo", :int,
1240
+ "ItemsFrozen", :int,
1241
+ "Ranges", ImVector.by_value
1242
+ )
1243
+ ImGuiListClipperRange.layout(
1244
+ "Min", :int,
1245
+ "Max", :int,
1246
+ "PosToIndexConvert", :bool,
1247
+ "PosToIndexOffsetMin", :char,
1248
+ "PosToIndexOffsetMax", :char
1249
+ )
1250
+ ImGuiLocEntry.layout(
1251
+ "Key", :int,
1252
+ "Text", :pointer
1253
+ )
1254
+ ImGuiMenuColumns.layout(
1255
+ "TotalWidth", :uint,
1256
+ "NextTotalWidth", :uint,
1257
+ "Spacing", :ushort,
1258
+ "OffsetIcon", :ushort,
1259
+ "OffsetLabel", :ushort,
1260
+ "OffsetShortcut", :ushort,
1261
+ "OffsetMark", :ushort,
1262
+ "Widths[4]", [:ushort, 4]
1263
+ )
1264
+ ImGuiMultiSelectIO.layout(
1265
+ "Requests", ImVector.by_value,
1266
+ "RangeSrcItem", :pointer,
1267
+ "NavIdItem", :pointer,
1268
+ "NavIdSelected", :bool,
1269
+ "RangeSrcReset", :bool,
1270
+ "ItemsCount", :int
1271
+ )
1272
+ ImGuiMultiSelectState.layout(
1273
+ "Window", :pointer,
1274
+ "ID", :uint,
1275
+ "LastFrameActive", :int,
1276
+ "LastSelectionSize", :int,
1277
+ "RangeSelected", :char,
1278
+ "NavIdSelected", :char,
1279
+ "RangeSrcItem", :pointer,
1280
+ "NavIdItem", :pointer
1281
+ )
1282
+ ImGuiMultiSelectTempData.layout(
1283
+ "IO", ImGuiMultiSelectIO.by_value,
1284
+ "Storage", :pointer,
1285
+ "FocusScopeId", :uint,
1286
+ "Flags", :int,
1287
+ "ScopeRectMin", ImVec2.by_value,
1288
+ "BackupCursorMaxPos", ImVec2.by_value,
1289
+ "LastSubmittedItem", :pointer,
1290
+ "BoxSelectId", :uint,
1291
+ "KeyMods", :int,
1292
+ "LoopRequestSetAll", :char,
1293
+ "IsEndIO", :bool,
1294
+ "IsFocused", :bool,
1295
+ "IsKeyboardSetRange", :bool,
1296
+ "NavIdPassedBy", :bool,
1297
+ "RangeSrcPassedBy", :bool,
1298
+ "RangeDstPassedBy", :bool
1299
+ )
1300
+ ImGuiOldColumnData.layout(
1301
+ "OffsetNorm", :float,
1302
+ "OffsetNormBeforeResize", :float,
1303
+ "Flags", :int,
1304
+ "ClipRect", ImRect.by_value
1305
+ )
1306
+ ImGuiOldColumns.layout(
1307
+ "ID", :uint,
1308
+ "Flags", :int,
1309
+ "IsFirstFrame", :bool,
1310
+ "IsBeingResized", :bool,
1311
+ "Current", :int,
1312
+ "Count", :int,
1313
+ "OffMinX", :float,
1314
+ "OffMaxX", :float,
1315
+ "LineMinY", :float,
1316
+ "LineMaxY", :float,
1317
+ "HostCursorPosY", :float,
1318
+ "HostCursorMaxPosX", :float,
1319
+ "HostInitialClipRect", ImRect.by_value,
1320
+ "HostBackupClipRect", ImRect.by_value,
1321
+ "HostBackupParentWorkRect", ImRect.by_value,
1322
+ "Columns", ImVector.by_value,
1323
+ "Splitter", ImDrawListSplitter.by_value
1324
+ )
1325
+ ImGuiOnceUponAFrame.layout(
1326
+ "RefFrame", :int
1327
+ )
1328
+ ImGuiPopupData.layout(
1329
+ "PopupId", :uint,
1330
+ "Window", :pointer,
1331
+ "RestoreNavWindow", :pointer,
1332
+ "ParentNavLayer", :int,
1333
+ "OpenFrameCount", :int,
1334
+ "OpenParentId", :uint,
1335
+ "OpenPopupPos", ImVec2.by_value,
1336
+ "OpenMousePos", ImVec2.by_value
1337
+ )
1338
+ ImGuiPtrOrIndex.layout(
1339
+ "Ptr", :pointer,
1340
+ "Index", :int
1341
+ )
1342
+ ImGuiSelectionBasicStorage.layout(
1343
+ "Size", :int,
1344
+ "PreserveOrder", :bool,
1345
+ "UserData", :pointer,
1346
+ "AdapterIndexToStorageId", :pointer,
1347
+ "_SelectionOrder", :int,
1348
+ "_Storage", ImGuiStorage.by_value
1349
+ )
1350
+ ImGuiSelectionExternalStorage.layout(
1351
+ "UserData", :pointer,
1352
+ "AdapterSetItemSelected", :pointer
1353
+ )
1354
+ ImGuiSelectionRequest.layout(
1355
+ "Type", :int,
1356
+ "Selected", :bool,
1357
+ "RangeDirection", :char,
1358
+ "RangeFirstItem", :pointer,
1359
+ "RangeLastItem", :pointer
1360
+ )
1361
+ ImGuiSettingsHandler.layout(
1362
+ "TypeName", :pointer,
1363
+ "TypeHash", :uint,
1364
+ "ClearAllFn", :pointer,
1365
+ "ReadInitFn", :pointer,
1366
+ "ReadOpenFn", :pointer,
1367
+ "ReadLineFn", :pointer,
1368
+ "ApplyAllFn", :pointer,
1369
+ "WriteAllFn", :pointer,
1370
+ "UserData", :pointer
1371
+ )
1372
+ ImGuiShrinkWidthItem.layout(
1373
+ "Index", :int,
1374
+ "Width", :float,
1375
+ "InitialWidth", :float
1376
+ )
1377
+ ImGuiSizeCallbackData.layout(
1378
+ "UserData", :pointer,
1379
+ "Pos", ImVec2.by_value,
1380
+ "CurrentSize", ImVec2.by_value,
1381
+ "DesiredSize", ImVec2.by_value
1382
+ )
1383
+ ImGuiStackLevelInfo.layout(
1384
+ "ID", :uint,
1385
+ "QueryFrameCount", :char,
1386
+ "QuerySuccess", :bool,
1387
+ "_bitfield_1", :int,
1388
+ "Desc[57]", [:char, 57]
1389
+ )
1390
+ ImGuiStoragePair.layout(
1391
+ "key", :uint,
1392
+ "_anonymous_1", :pointer
1393
+ )
1394
+ ImGuiStyleMod.layout(
1395
+ "VarIdx", :int,
1396
+ "_anonymous_1", :pointer
1397
+ )
1398
+ ImGuiStyleVarInfo.layout(
1399
+ "_bitfield_1", :uint,
1400
+ "_bitfield_2", :int,
1401
+ "_bitfield_3", :uint
1402
+ )
1403
+ ImGuiTabBar.layout(
1404
+ "Window", :pointer,
1405
+ "Tabs", ImVector.by_value,
1406
+ "Flags", :int,
1407
+ "ID", :uint,
1408
+ "SelectedTabId", :uint,
1409
+ "NextSelectedTabId", :uint,
1410
+ "VisibleTabId", :uint,
1411
+ "CurrFrameVisible", :int,
1412
+ "PrevFrameVisible", :int,
1413
+ "BarRect", ImRect.by_value,
1414
+ "CurrTabsContentsHeight", :float,
1415
+ "PrevTabsContentsHeight", :float,
1416
+ "WidthAllTabs", :float,
1417
+ "WidthAllTabsIdeal", :float,
1418
+ "ScrollingAnim", :float,
1419
+ "ScrollingTarget", :float,
1420
+ "ScrollingTargetDistToVisibility", :float,
1421
+ "ScrollingSpeed", :float,
1422
+ "ScrollingRectMinX", :float,
1423
+ "ScrollingRectMaxX", :float,
1424
+ "SeparatorMinX", :float,
1425
+ "SeparatorMaxX", :float,
1426
+ "ReorderRequestTabId", :uint,
1427
+ "ReorderRequestOffset", :pointer,
1428
+ "BeginCount", :char,
1429
+ "WantLayout", :bool,
1430
+ "VisibleTabWasSubmitted", :bool,
1431
+ "TabsAddedNew", :bool,
1432
+ "TabsActiveCount", :pointer,
1433
+ "LastTabItemIdx", :pointer,
1434
+ "ItemSpacingY", :float,
1435
+ "FramePadding", ImVec2.by_value,
1436
+ "BackupCursorPos", ImVec2.by_value,
1437
+ "TabsNames", ImGuiTextBuffer.by_value
1438
+ )
1439
+ ImGuiTabItem.layout(
1440
+ "ID", :uint,
1441
+ "Flags", :int,
1442
+ "Window", :pointer,
1443
+ "LastFrameVisible", :int,
1444
+ "LastFrameSelected", :int,
1445
+ "Offset", :float,
1446
+ "Width", :float,
1447
+ "ContentWidth", :float,
1448
+ "RequestedWidth", :float,
1449
+ "NameOffset", :pointer,
1450
+ "BeginOrder", :pointer,
1451
+ "IndexDuringLayout", :pointer,
1452
+ "WantClose", :bool
1453
+ )
1454
+ ImGuiTableInstanceData.layout(
1455
+ "TableInstanceID", :uint,
1456
+ "LastOuterHeight", :float,
1457
+ "LastTopHeadersRowHeight", :float,
1458
+ "LastFrozenHeight", :float,
1459
+ "HoveredRowLast", :int,
1460
+ "HoveredRowNext", :int
1461
+ )
1462
+ ImGuiTableColumnSortSpecs.layout(
1463
+ "ColumnUserID", :uint,
1464
+ "ColumnIndex", :pointer,
1465
+ "SortOrder", :pointer,
1466
+ "SortDirection", :int
1467
+ )
1468
+ ImGuiTableSortSpecs.layout(
1469
+ "Specs", :pointer,
1470
+ "SpecsCount", :int,
1471
+ "SpecsDirty", :bool
1472
+ )
1473
+ ImGuiTable.layout(
1474
+ "ID", :uint,
1475
+ "Flags", :int,
1476
+ "RawData", :pointer,
1477
+ "TempData", :pointer,
1478
+ "Columns", :pointer,
1479
+ "DisplayOrderToIndex", :pointer,
1480
+ "RowCellData", :pointer,
1481
+ "EnabledMaskByDisplayOrder", :pointer,
1482
+ "EnabledMaskByIndex", :pointer,
1483
+ "VisibleMaskByIndex", :pointer,
1484
+ "SettingsLoadedFlags", :int,
1485
+ "SettingsOffset", :int,
1486
+ "LastFrameActive", :int,
1487
+ "ColumnsCount", :int,
1488
+ "CurrentRow", :int,
1489
+ "CurrentColumn", :int,
1490
+ "InstanceCurrent", :pointer,
1491
+ "InstanceInteracted", :pointer,
1492
+ "RowPosY1", :float,
1493
+ "RowPosY2", :float,
1494
+ "RowMinHeight", :float,
1495
+ "RowCellPaddingY", :float,
1496
+ "RowTextBaseline", :float,
1497
+ "RowIndentOffsetX", :float,
1498
+ "_bitfield_1", :int,
1499
+ "RowBgColorCounter", :int,
1500
+ "RowBgColor[2]", [:uint, 2],
1501
+ "BorderColorStrong", :uint,
1502
+ "BorderColorLight", :uint,
1503
+ "BorderX1", :float,
1504
+ "BorderX2", :float,
1505
+ "HostIndentX", :float,
1506
+ "MinColumnWidth", :float,
1507
+ "OuterPaddingX", :float,
1508
+ "CellPaddingX", :float,
1509
+ "CellSpacingX1", :float,
1510
+ "CellSpacingX2", :float,
1511
+ "InnerWidth", :float,
1512
+ "ColumnsGivenWidth", :float,
1513
+ "ColumnsAutoFitWidth", :float,
1514
+ "ColumnsStretchSumWeights", :float,
1515
+ "ResizedColumnNextWidth", :float,
1516
+ "ResizeLockMinContentsX2", :float,
1517
+ "RefScale", :float,
1518
+ "AngledHeadersHeight", :float,
1519
+ "AngledHeadersSlope", :float,
1520
+ "OuterRect", ImRect.by_value,
1521
+ "InnerRect", ImRect.by_value,
1522
+ "WorkRect", ImRect.by_value,
1523
+ "InnerClipRect", ImRect.by_value,
1524
+ "BgClipRect", ImRect.by_value,
1525
+ "Bg0ClipRectForDrawCmd", ImRect.by_value,
1526
+ "Bg2ClipRectForDrawCmd", ImRect.by_value,
1527
+ "HostClipRect", ImRect.by_value,
1528
+ "HostBackupInnerClipRect", ImRect.by_value,
1529
+ "OuterWindow", :pointer,
1530
+ "InnerWindow", :pointer,
1531
+ "ColumnsNames", ImGuiTextBuffer.by_value,
1532
+ "DrawSplitter", :pointer,
1533
+ "InstanceDataFirst", ImGuiTableInstanceData.by_value,
1534
+ "InstanceDataExtra", ImVector.by_value,
1535
+ "SortSpecsSingle", ImGuiTableColumnSortSpecs.by_value,
1536
+ "SortSpecsMulti", ImVector.by_value,
1537
+ "SortSpecs", ImGuiTableSortSpecs.by_value,
1538
+ "SortSpecsCount", :pointer,
1539
+ "ColumnsEnabledCount", :pointer,
1540
+ "ColumnsEnabledFixedCount", :pointer,
1541
+ "DeclColumnsCount", :pointer,
1542
+ "AngledHeadersCount", :pointer,
1543
+ "HoveredColumnBody", :pointer,
1544
+ "HoveredColumnBorder", :pointer,
1545
+ "HighlightColumnHeader", :pointer,
1546
+ "AutoFitSingleColumn", :pointer,
1547
+ "ResizedColumn", :pointer,
1548
+ "LastResizedColumn", :pointer,
1549
+ "HeldHeaderColumn", :pointer,
1550
+ "ReorderColumn", :pointer,
1551
+ "ReorderColumnDir", :pointer,
1552
+ "LeftMostEnabledColumn", :pointer,
1553
+ "RightMostEnabledColumn", :pointer,
1554
+ "LeftMostStretchedColumn", :pointer,
1555
+ "RightMostStretchedColumn", :pointer,
1556
+ "ContextPopupColumn", :pointer,
1557
+ "FreezeRowsRequest", :pointer,
1558
+ "FreezeRowsCount", :pointer,
1559
+ "FreezeColumnsRequest", :pointer,
1560
+ "FreezeColumnsCount", :pointer,
1561
+ "RowCellDataCurrent", :pointer,
1562
+ "DummyDrawChannel", :ushort,
1563
+ "Bg2DrawChannelCurrent", :ushort,
1564
+ "Bg2DrawChannelUnfrozen", :ushort,
1565
+ "NavLayer", :char,
1566
+ "IsLayoutLocked", :bool,
1567
+ "IsInsideRow", :bool,
1568
+ "IsInitializing", :bool,
1569
+ "IsSortSpecsDirty", :bool,
1570
+ "IsUsingHeaders", :bool,
1571
+ "IsContextPopupOpen", :bool,
1572
+ "DisableDefaultContextMenu", :bool,
1573
+ "IsSettingsRequestLoad", :bool,
1574
+ "IsSettingsDirty", :bool,
1575
+ "IsDefaultDisplayOrder", :bool,
1576
+ "IsResetAllRequest", :bool,
1577
+ "IsResetDisplayOrderRequest", :bool,
1578
+ "IsUnfrozenRows", :bool,
1579
+ "IsDefaultSizingPolicy", :bool,
1580
+ "IsActiveIdAliveBeforeTable", :bool,
1581
+ "IsActiveIdInTable", :bool,
1582
+ "HasScrollbarYCurr", :bool,
1583
+ "HasScrollbarYPrev", :bool,
1584
+ "MemoryCompacted", :bool,
1585
+ "HostSkipItems", :bool
1586
+ )
1587
+ ImGuiTableCellData.layout(
1588
+ "BgColor", :uint,
1589
+ "Column", :pointer
1590
+ )
1591
+ ImGuiTableColumn.layout(
1592
+ "Flags", :int,
1593
+ "WidthGiven", :float,
1594
+ "MinX", :float,
1595
+ "MaxX", :float,
1596
+ "WidthRequest", :float,
1597
+ "WidthAuto", :float,
1598
+ "WidthMax", :float,
1599
+ "StretchWeight", :float,
1600
+ "InitStretchWeightOrWidth", :float,
1601
+ "ClipRect", ImRect.by_value,
1602
+ "UserID", :uint,
1603
+ "WorkMinX", :float,
1604
+ "WorkMaxX", :float,
1605
+ "ItemWidth", :float,
1606
+ "ContentMaxXFrozen", :float,
1607
+ "ContentMaxXUnfrozen", :float,
1608
+ "ContentMaxXHeadersUsed", :float,
1609
+ "ContentMaxXHeadersIdeal", :float,
1610
+ "NameOffset", :pointer,
1611
+ "DisplayOrder", :pointer,
1612
+ "IndexWithinEnabledSet", :pointer,
1613
+ "PrevEnabledColumn", :pointer,
1614
+ "NextEnabledColumn", :pointer,
1615
+ "SortOrder", :pointer,
1616
+ "DrawChannelCurrent", :ushort,
1617
+ "DrawChannelFrozen", :ushort,
1618
+ "DrawChannelUnfrozen", :ushort,
1619
+ "IsEnabled", :bool,
1620
+ "IsUserEnabled", :bool,
1621
+ "IsUserEnabledNextFrame", :bool,
1622
+ "IsVisibleX", :bool,
1623
+ "IsVisibleY", :bool,
1624
+ "IsRequestOutput", :bool,
1625
+ "IsSkipItems", :bool,
1626
+ "IsPreserveWidthAuto", :bool,
1627
+ "NavLayerCurrent", :char,
1628
+ "AutoFitQueue", :uchar,
1629
+ "CannotSkipItemsQueue", :uchar,
1630
+ "_bitfield_1", :uchar,
1631
+ "SortDirectionsAvailList", :uchar
1632
+ )
1633
+ ImGuiTableColumnSettings.layout(
1634
+ "WidthOrWeight", :float,
1635
+ "UserID", :uint,
1636
+ "Index", :pointer,
1637
+ "DisplayOrder", :pointer,
1638
+ "SortOrder", :pointer,
1639
+ "_bitfield_1", :uchar,
1640
+ "_bitfield_2", :char,
1641
+ "_bitfield_3", :uchar
1642
+ )
1643
+ ImGuiTableHeaderData.layout(
1644
+ "Index", :pointer,
1645
+ "TextColor", :uint,
1646
+ "BgColor0", :uint,
1647
+ "BgColor1", :uint
1648
+ )
1649
+ ImGuiTableSettings.layout(
1650
+ "ID", :uint,
1651
+ "SaveFlags", :int,
1652
+ "RefScale", :float,
1653
+ "ColumnsCount", :pointer,
1654
+ "ColumnsCountMax", :pointer,
1655
+ "WantApply", :bool
1656
+ )
1657
+ ImGuiTableTempData.layout(
1658
+ "TableIndex", :int,
1659
+ "LastTimeActive", :float,
1660
+ "AngledHeadersExtraWidth", :float,
1661
+ "AngledHeadersRequests", ImVector.by_value,
1662
+ "UserOuterSize", ImVec2.by_value,
1663
+ "DrawSplitter", ImDrawListSplitter.by_value,
1664
+ "HostBackupWorkRect", ImRect.by_value,
1665
+ "HostBackupParentWorkRect", ImRect.by_value,
1666
+ "HostBackupPrevLineSize", ImVec2.by_value,
1667
+ "HostBackupCurrLineSize", ImVec2.by_value,
1668
+ "HostBackupCursorMaxPos", ImVec2.by_value,
1669
+ "HostBackupColumnsOffset", ImVec1.by_value,
1670
+ "HostBackupItemWidth", :float,
1671
+ "HostBackupItemWidthStackSize", :int
1672
+ )
1673
+ ImGuiTextFilter.layout(
1674
+ "InputBuf[256]", [:char, 256],
1675
+ "Filters", ImVector.by_value,
1676
+ "CountGrep", :int
1677
+ )
1678
+ ImGuiTextRange.layout(
1679
+ "b", :pointer,
1680
+ "e", :pointer
1681
+ )
1682
+ ImGuiTreeNodeStackData.layout(
1683
+ "ID", :uint,
1684
+ "TreeFlags", :int,
1685
+ "ItemFlags", :int,
1686
+ "NavRect", ImRect.by_value
1687
+ )
1688
+ ImGuiViewport.layout(
1689
+ "ID", :uint,
1690
+ "Flags", :int,
1691
+ "Pos", ImVec2.by_value,
1692
+ "Size", ImVec2.by_value,
1693
+ "WorkPos", ImVec2.by_value,
1694
+ "WorkSize", ImVec2.by_value,
1695
+ "DpiScale", :float,
1696
+ "ParentViewportId", :uint,
1697
+ "DrawData", :pointer,
1698
+ "RendererUserData", :pointer,
1699
+ "PlatformUserData", :pointer,
1700
+ "PlatformHandle", :pointer,
1701
+ "PlatformHandleRaw", :pointer,
1702
+ "PlatformWindowCreated", :bool,
1703
+ "PlatformRequestMove", :bool,
1704
+ "PlatformRequestResize", :bool,
1705
+ "PlatformRequestClose", :bool
1706
+ )
1707
+ ImGuiViewportP.layout(
1708
+ "_ImGuiViewport", ImGuiViewport.by_value,
1709
+ "Window", :pointer,
1710
+ "Idx", :int,
1711
+ "LastFrameActive", :int,
1712
+ "LastFocusedStampCount", :int,
1713
+ "LastNameHash", :uint,
1714
+ "LastPos", ImVec2.by_value,
1715
+ "LastSize", ImVec2.by_value,
1716
+ "Alpha", :float,
1717
+ "LastAlpha", :float,
1718
+ "LastFocusedHadNavWindow", :bool,
1719
+ "PlatformMonitor", :short,
1720
+ "BgFgDrawListsLastFrame[2]", [:int, 2],
1721
+ "BgFgDrawLists[2]", [:pointer, 2],
1722
+ "DrawDataP", ImDrawData.by_value,
1723
+ "DrawDataBuilder", ImDrawDataBuilder.by_value,
1724
+ "LastPlatformPos", ImVec2.by_value,
1725
+ "LastPlatformSize", ImVec2.by_value,
1726
+ "LastRendererSize", ImVec2.by_value,
1727
+ "WorkInsetMin", ImVec2.by_value,
1728
+ "WorkInsetMax", ImVec2.by_value,
1729
+ "BuildWorkInsetMin", ImVec2.by_value,
1730
+ "BuildWorkInsetMax", ImVec2.by_value
1731
+ )
1732
+ ImGuiWindowTempData.layout(
1733
+ "CursorPos", ImVec2.by_value,
1734
+ "CursorPosPrevLine", ImVec2.by_value,
1735
+ "CursorStartPos", ImVec2.by_value,
1736
+ "CursorMaxPos", ImVec2.by_value,
1737
+ "IdealMaxPos", ImVec2.by_value,
1738
+ "CurrLineSize", ImVec2.by_value,
1739
+ "PrevLineSize", ImVec2.by_value,
1740
+ "CurrLineTextBaseOffset", :float,
1741
+ "PrevLineTextBaseOffset", :float,
1742
+ "IsSameLine", :bool,
1743
+ "IsSetPos", :bool,
1744
+ "Indent", ImVec1.by_value,
1745
+ "ColumnsOffset", ImVec1.by_value,
1746
+ "GroupOffset", ImVec1.by_value,
1747
+ "CursorStartPosLossyness", ImVec2.by_value,
1748
+ "NavLayerCurrent", :int,
1749
+ "NavLayersActiveMask", :short,
1750
+ "NavLayersActiveMaskNext", :short,
1751
+ "NavIsScrollPushableX", :bool,
1752
+ "NavHideHighlightOneFrame", :bool,
1753
+ "NavWindowHasScrollY", :bool,
1754
+ "MenuBarAppending", :bool,
1755
+ "MenuBarOffset", ImVec2.by_value,
1756
+ "MenuColumns", ImGuiMenuColumns.by_value,
1757
+ "TreeDepth", :int,
1758
+ "TreeHasStackDataDepthMask", :uint,
1759
+ "ChildWindows", ImVector.by_value,
1760
+ "StateStorage", :pointer,
1761
+ "CurrentColumns", :pointer,
1762
+ "CurrentTableIdx", :int,
1763
+ "LayoutType", :int,
1764
+ "ParentLayoutType", :int,
1765
+ "ModalDimBgColor", :uint,
1766
+ "WindowItemStatusFlags", :int,
1767
+ "ChildItemStatusFlags", :int,
1768
+ "DockTabItemStatusFlags", :int,
1769
+ "DockTabItemRect", ImRect.by_value,
1770
+ "ItemWidth", :float,
1771
+ "TextWrapPos", :float,
1772
+ "ItemWidthStack", ImVector.by_value,
1773
+ "TextWrapPosStack", ImVector.by_value
1774
+ )
1775
+ ImVec2ih.layout(
1776
+ "x", :short,
1777
+ "y", :short
1778
+ )
1779
+ ImGuiWindowDockStyle.layout(
1780
+ "Colors[ImGuiWindowDockStyleCol_COUNT]", [:uint, 8]
1781
+ )
1782
+ ImGuiWindow.layout(
1783
+ "Ctx", :pointer,
1784
+ "Name", :pointer,
1785
+ "ID", :uint,
1786
+ "Flags", :int,
1787
+ "FlagsPreviousFrame", :int,
1788
+ "ChildFlags", :int,
1789
+ "WindowClass", ImGuiWindowClass.by_value,
1790
+ "Viewport", :pointer,
1791
+ "ViewportId", :uint,
1792
+ "ViewportPos", ImVec2.by_value,
1793
+ "ViewportAllowPlatformMonitorExtend", :int,
1794
+ "Pos", ImVec2.by_value,
1795
+ "Size", ImVec2.by_value,
1796
+ "SizeFull", ImVec2.by_value,
1797
+ "ContentSize", ImVec2.by_value,
1798
+ "ContentSizeIdeal", ImVec2.by_value,
1799
+ "ContentSizeExplicit", ImVec2.by_value,
1800
+ "WindowPadding", ImVec2.by_value,
1801
+ "WindowRounding", :float,
1802
+ "WindowBorderSize", :float,
1803
+ "TitleBarHeight", :float,
1804
+ "MenuBarHeight", :float,
1805
+ "DecoOuterSizeX1", :float,
1806
+ "DecoOuterSizeY1", :float,
1807
+ "DecoOuterSizeX2", :float,
1808
+ "DecoOuterSizeY2", :float,
1809
+ "DecoInnerSizeX1", :float,
1810
+ "DecoInnerSizeY1", :float,
1811
+ "NameBufLen", :int,
1812
+ "MoveId", :uint,
1813
+ "TabId", :uint,
1814
+ "ChildId", :uint,
1815
+ "PopupId", :uint,
1816
+ "Scroll", ImVec2.by_value,
1817
+ "ScrollMax", ImVec2.by_value,
1818
+ "ScrollTarget", ImVec2.by_value,
1819
+ "ScrollTargetCenterRatio", ImVec2.by_value,
1820
+ "ScrollTargetEdgeSnapDist", ImVec2.by_value,
1821
+ "ScrollbarSizes", ImVec2.by_value,
1822
+ "ScrollbarX", :bool,
1823
+ "ScrollbarY", :bool,
1824
+ "ScrollbarXStabilizeEnabled", :bool,
1825
+ "ScrollbarXStabilizeToggledHistory", :uchar,
1826
+ "ViewportOwned", :bool,
1827
+ "Active", :bool,
1828
+ "WasActive", :bool,
1829
+ "WriteAccessed", :bool,
1830
+ "Collapsed", :bool,
1831
+ "WantCollapseToggle", :bool,
1832
+ "SkipItems", :bool,
1833
+ "SkipRefresh", :bool,
1834
+ "Appearing", :bool,
1835
+ "Hidden", :bool,
1836
+ "IsFallbackWindow", :bool,
1837
+ "IsExplicitChild", :bool,
1838
+ "HasCloseButton", :bool,
1839
+ "ResizeBorderHovered", :char,
1840
+ "ResizeBorderHeld", :char,
1841
+ "BeginCount", :short,
1842
+ "BeginCountPreviousFrame", :short,
1843
+ "BeginOrderWithinParent", :short,
1844
+ "BeginOrderWithinContext", :short,
1845
+ "FocusOrder", :short,
1846
+ "AutoFitFramesX", :char,
1847
+ "AutoFitFramesY", :char,
1848
+ "AutoFitOnlyGrows", :bool,
1849
+ "AutoPosLastDirection", :int,
1850
+ "HiddenFramesCanSkipItems", :char,
1851
+ "HiddenFramesCannotSkipItems", :char,
1852
+ "HiddenFramesForRenderOnly", :char,
1853
+ "DisableInputsFrames", :char,
1854
+ "_bitfield_1", :int,
1855
+ "SetWindowPosVal", ImVec2.by_value,
1856
+ "SetWindowPosPivot", ImVec2.by_value,
1857
+ "IDStack", ImVector.by_value,
1858
+ "DC", ImGuiWindowTempData.by_value,
1859
+ "OuterRectClipped", ImRect.by_value,
1860
+ "InnerRect", ImRect.by_value,
1861
+ "InnerClipRect", ImRect.by_value,
1862
+ "WorkRect", ImRect.by_value,
1863
+ "ParentWorkRect", ImRect.by_value,
1864
+ "ClipRect", ImRect.by_value,
1865
+ "ContentRegionRect", ImRect.by_value,
1866
+ "HitTestHoleSize", ImVec2ih.by_value,
1867
+ "HitTestHoleOffset", ImVec2ih.by_value,
1868
+ "LastFrameActive", :int,
1869
+ "LastFrameJustFocused", :int,
1870
+ "LastTimeActive", :float,
1871
+ "ItemWidthDefault", :float,
1872
+ "StateStorage", ImGuiStorage.by_value,
1873
+ "ColumnsStorage", ImVector.by_value,
1874
+ "FontWindowScale", :float,
1875
+ "FontWindowScaleParents", :float,
1876
+ "FontDpiScale", :float,
1877
+ "FontRefSize", :float,
1878
+ "SettingsOffset", :int,
1879
+ "DrawList", :pointer,
1880
+ "DrawListInst", ImDrawList.by_value,
1881
+ "ParentWindow", :pointer,
1882
+ "ParentWindowInBeginStack", :pointer,
1883
+ "RootWindow", :pointer,
1884
+ "RootWindowPopupTree", :pointer,
1885
+ "RootWindowDockTree", :pointer,
1886
+ "RootWindowForTitleBarHighlight", :pointer,
1887
+ "RootWindowForNav", :pointer,
1888
+ "ParentWindowForFocusRoute", :pointer,
1889
+ "NavLastChildNavWindow", :pointer,
1890
+ "NavLastIds[ImGuiNavLayer_COUNT]", [:uint, 2],
1891
+ "NavRectRel[ImGuiNavLayer_COUNT]", [ImRect.by_value, 2],
1892
+ "NavPreferredScoringPosRel[ImGuiNavLayer_COUNT]", [ImVec2.by_value, 2],
1893
+ "NavRootFocusScopeId", :uint,
1894
+ "MemoryDrawListIdxCapacity", :int,
1895
+ "MemoryDrawListVtxCapacity", :int,
1896
+ "MemoryCompacted", :bool,
1897
+ "_bitfield_2", :bool,
1898
+ "DockOrder", :short,
1899
+ "DockStyle", ImGuiWindowDockStyle.by_value,
1900
+ "DockNode", :pointer,
1901
+ "DockNodeAsHost", :pointer,
1902
+ "DockId", :uint
1903
+ )
1904
+ ImGuiWindowSettings.layout(
1905
+ "ID", :uint,
1906
+ "Pos", ImVec2ih.by_value,
1907
+ "Size", ImVec2ih.by_value,
1908
+ "ViewportPos", ImVec2ih.by_value,
1909
+ "ViewportId", :uint,
1910
+ "DockId", :uint,
1911
+ "ClassId", :uint,
1912
+ "DockOrder", :short,
1913
+ "Collapsed", :bool,
1914
+ "IsChild", :bool,
1915
+ "WantApply", :bool,
1916
+ "WantDelete", :bool
1917
+ )
1918
+ ImGuiWindowStackData.layout(
1919
+ "Window", :pointer,
1920
+ "ParentLastItemDataBackup", ImGuiLastItemData.by_value,
1921
+ "StackSizesInBegin", ImGuiErrorRecoveryState.by_value,
1922
+ "DisabledOverrideReenable", :bool,
1923
+ "DisabledOverrideReenableAlphaBackup", :float
1924
+ )
1925
+ end
1926
+ end