This repository has been archived by the owner on Jul 18, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
definitions.odin
687 lines (682 loc) · 53.7 KB
/
definitions.odin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
// This file is generated automatically.
// Keep in mind when editing - will get replaced when regenerated!
package imgui_binding
import "vendor:glfw"
import vk "vendor:vulkan"
when ODIN_OS == .Linux {
foreign import imgui "./vendor/cimgui/build/cimgui.a"
} else when ODIN_OS == .Windows {
foreign import imgui { "./vendor/cimgui/build/Release/cimgui.lib", "./vendor/cimgui/build_impl/imgui_impl.lib" }
}
@(default_calling_convention="c")
foreign imgui {
ImColor_HSV :: proc (pOut: ^ImColor, h: f32, s: f32, v: f32, a: f32) ---
ImColor_ImColor_Nil :: proc () ---
ImColor_ImColor_Float :: proc (r: f32, g: f32, b: f32, a: f32) ---
ImColor_ImColor_Vec4 :: proc (col: ImVec4) ---
ImColor_ImColor_Int :: proc (r: i32, g: i32, b: i32, a: i32) ---
ImColor_ImColor_U32 :: proc (rgba: u32) ---
ImColor_SetHSV :: proc (self: ^ImColor, h: f32, s: f32, v: f32, a: f32) ---
ImColor_destroy :: proc (self: ^ImColor) ---
ImDrawCmd_GetTexID :: proc (self: ^ImDrawCmd) -> ImTextureID ---
ImDrawCmd_ImDrawCmd :: proc () ---
ImDrawCmd_destroy :: proc (self: ^ImDrawCmd) ---
ImDrawData_Clear :: proc (self: ^ImDrawData) ---
ImDrawData_DeIndexAllBuffers :: proc (self: ^ImDrawData) ---
ImDrawData_ImDrawData :: proc () ---
ImDrawData_ScaleClipRects :: proc (self: ^ImDrawData, fb_scale: ImVec2) ---
ImDrawData_destroy :: proc (self: ^ImDrawData) ---
ImDrawListSplitter_Clear :: proc (self: ^ImDrawListSplitter) ---
ImDrawListSplitter_ClearFreeMemory :: proc (self: ^ImDrawListSplitter) ---
ImDrawListSplitter_ImDrawListSplitter :: proc () ---
ImDrawListSplitter_Merge :: proc (self: ^ImDrawListSplitter, draw_list: ^ImDrawList) ---
ImDrawListSplitter_SetCurrentChannel :: proc (self: ^ImDrawListSplitter, draw_list: ^ImDrawList, channel_idx: i32) ---
ImDrawListSplitter_Split :: proc (self: ^ImDrawListSplitter, draw_list: ^ImDrawList, count: i32) ---
ImDrawListSplitter_destroy :: proc (self: ^ImDrawListSplitter) ---
ImDrawList_AddBezierCubic :: proc (self: ^ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, p4: ImVec2, col: u32, thickness: f32, num_segments: i32) ---
ImDrawList_AddBezierQuadratic :: proc (self: ^ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, col: u32, thickness: f32, num_segments: i32) ---
ImDrawList_AddCallback :: proc (self: ^ImDrawList, callback: ImDrawCallback, callback_data: rawptr) ---
ImDrawList_AddCircle :: proc (self: ^ImDrawList, center: ImVec2, radius: f32, col: u32, num_segments: i32, thickness: f32) ---
ImDrawList_AddCircleFilled :: proc (self: ^ImDrawList, center: ImVec2, radius: f32, col: u32, num_segments: i32) ---
ImDrawList_AddConvexPolyFilled :: proc (self: ^ImDrawList, points: ^ImVec2, num_points: i32, col: u32) ---
ImDrawList_AddDrawCmd :: proc (self: ^ImDrawList) ---
ImDrawList_AddImage :: proc (self: ^ImDrawList, user_texture_id: ImTextureID, p_min: ImVec2, p_max: ImVec2, uv_min: ImVec2, uv_max: ImVec2, col: u32) ---
ImDrawList_AddImageQuad :: proc (self: ^ImDrawList, user_texture_id: ImTextureID, p1: ImVec2, p2: ImVec2, p3: ImVec2, p4: ImVec2, uv1: ImVec2, uv2: ImVec2, uv3: ImVec2, uv4: ImVec2, col: u32) ---
ImDrawList_AddImageRounded :: proc (self: ^ImDrawList, user_texture_id: ImTextureID, p_min: ImVec2, p_max: ImVec2, uv_min: ImVec2, uv_max: ImVec2, col: u32, rounding: f32, flags: ImDrawFlags) ---
ImDrawList_AddLine :: proc (self: ^ImDrawList, p1: ImVec2, p2: ImVec2, col: u32, thickness: f32) ---
ImDrawList_AddNgon :: proc (self: ^ImDrawList, center: ImVec2, radius: f32, col: u32, num_segments: i32, thickness: f32) ---
ImDrawList_AddNgonFilled :: proc (self: ^ImDrawList, center: ImVec2, radius: f32, col: u32, num_segments: i32) ---
ImDrawList_AddPolyline :: proc (self: ^ImDrawList, points: ^ImVec2, num_points: i32, col: u32, flags: ImDrawFlags, thickness: f32) ---
ImDrawList_AddQuad :: proc (self: ^ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, p4: ImVec2, col: u32, thickness: f32) ---
ImDrawList_AddQuadFilled :: proc (self: ^ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, p4: ImVec2, col: u32) ---
ImDrawList_AddRect :: proc (self: ^ImDrawList, p_min: ImVec2, p_max: ImVec2, col: u32, rounding: f32, flags: ImDrawFlags, thickness: f32) ---
ImDrawList_AddRectFilled :: proc (self: ^ImDrawList, p_min: ImVec2, p_max: ImVec2, col: u32, rounding: f32, flags: ImDrawFlags) ---
ImDrawList_AddRectFilledMultiColor :: proc (self: ^ImDrawList, p_min: ImVec2, p_max: ImVec2, col_upr_left: u32, col_upr_right: u32, col_bot_right: u32, col_bot_left: u32) ---
ImDrawList_AddText_Vec2 :: proc (self: ^ImDrawList, pos: ImVec2, col: u32, text_begin: cstring, text_end: cstring) ---
ImDrawList_AddText_FontPtr :: proc (self: ^ImDrawList, font: ^ImFont, font_size: f32, pos: ImVec2, col: u32, text_begin: cstring, text_end: cstring, wrap_width: f32, cpu_fine_clip_rect: ^ImVec4) ---
ImDrawList_AddTriangle :: proc (self: ^ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, col: u32, thickness: f32) ---
ImDrawList_AddTriangleFilled :: proc (self: ^ImDrawList, p1: ImVec2, p2: ImVec2, p3: ImVec2, col: u32) ---
ImDrawList_ChannelsMerge :: proc (self: ^ImDrawList) ---
ImDrawList_ChannelsSetCurrent :: proc (self: ^ImDrawList, n: i32) ---
ImDrawList_ChannelsSplit :: proc (self: ^ImDrawList, count: i32) ---
ImDrawList_CloneOutput :: proc (self: ^ImDrawList) -> ^ImDrawList ---
ImDrawList_GetClipRectMax :: proc (pOut: ^ImVec2, self: ^ImDrawList) ---
ImDrawList_GetClipRectMin :: proc (pOut: ^ImVec2, self: ^ImDrawList) ---
ImDrawList_ImDrawList :: proc (shared_data: ^ImDrawListSharedData) ---
ImDrawList_PathArcTo :: proc (self: ^ImDrawList, center: ImVec2, radius: f32, a_min: f32, a_max: f32, num_segments: i32) ---
ImDrawList_PathArcToFast :: proc (self: ^ImDrawList, center: ImVec2, radius: f32, a_min_of_12: i32, a_max_of_12: i32) ---
ImDrawList_PathBezierCubicCurveTo :: proc (self: ^ImDrawList, p2: ImVec2, p3: ImVec2, p4: ImVec2, num_segments: i32) ---
ImDrawList_PathBezierQuadraticCurveTo :: proc (self: ^ImDrawList, p2: ImVec2, p3: ImVec2, num_segments: i32) ---
ImDrawList_PathClear :: proc (self: ^ImDrawList) ---
ImDrawList_PathFillConvex :: proc (self: ^ImDrawList, col: u32) ---
ImDrawList_PathLineTo :: proc (self: ^ImDrawList, pos: ImVec2) ---
ImDrawList_PathLineToMergeDuplicate :: proc (self: ^ImDrawList, pos: ImVec2) ---
ImDrawList_PathRect :: proc (self: ^ImDrawList, rect_min: ImVec2, rect_max: ImVec2, rounding: f32, flags: ImDrawFlags) ---
ImDrawList_PathStroke :: proc (self: ^ImDrawList, col: u32, flags: ImDrawFlags, thickness: f32) ---
ImDrawList_PopClipRect :: proc (self: ^ImDrawList) ---
ImDrawList_PopTextureID :: proc (self: ^ImDrawList) ---
ImDrawList_PrimQuadUV :: proc (self: ^ImDrawList, a: ImVec2, b: ImVec2, c: ImVec2, d: ImVec2, uv_a: ImVec2, uv_b: ImVec2, uv_c: ImVec2, uv_d: ImVec2, col: u32) ---
ImDrawList_PrimRect :: proc (self: ^ImDrawList, a: ImVec2, b: ImVec2, col: u32) ---
ImDrawList_PrimRectUV :: proc (self: ^ImDrawList, a: ImVec2, b: ImVec2, uv_a: ImVec2, uv_b: ImVec2, col: u32) ---
ImDrawList_PrimReserve :: proc (self: ^ImDrawList, idx_count: i32, vtx_count: i32) ---
ImDrawList_PrimUnreserve :: proc (self: ^ImDrawList, idx_count: i32, vtx_count: i32) ---
ImDrawList_PrimVtx :: proc (self: ^ImDrawList, pos: ImVec2, uv: ImVec2, col: u32) ---
ImDrawList_PrimWriteIdx :: proc (self: ^ImDrawList, idx: ImDrawIdx) ---
ImDrawList_PrimWriteVtx :: proc (self: ^ImDrawList, pos: ImVec2, uv: ImVec2, col: u32) ---
ImDrawList_PushClipRect :: proc (self: ^ImDrawList, clip_rect_min: ImVec2, clip_rect_max: ImVec2, intersect_with_current_clip_rect: bool) ---
ImDrawList_PushClipRectFullScreen :: proc (self: ^ImDrawList) ---
ImDrawList_PushTextureID :: proc (self: ^ImDrawList, texture_id: ImTextureID) ---
ImDrawList__CalcCircleAutoSegmentCount :: proc (self: ^ImDrawList, radius: f32) -> i32 ---
ImDrawList__ClearFreeMemory :: proc (self: ^ImDrawList) ---
ImDrawList__OnChangedClipRect :: proc (self: ^ImDrawList) ---
ImDrawList__OnChangedTextureID :: proc (self: ^ImDrawList) ---
ImDrawList__OnChangedVtxOffset :: proc (self: ^ImDrawList) ---
ImDrawList__PathArcToFastEx :: proc (self: ^ImDrawList, center: ImVec2, radius: f32, a_min_sample: i32, a_max_sample: i32, a_step: i32) ---
ImDrawList__PathArcToN :: proc (self: ^ImDrawList, center: ImVec2, radius: f32, a_min: f32, a_max: f32, num_segments: i32) ---
ImDrawList__PopUnusedDrawCmd :: proc (self: ^ImDrawList) ---
ImDrawList__ResetForNewFrame :: proc (self: ^ImDrawList) ---
ImDrawList__TryMergeDrawCmds :: proc (self: ^ImDrawList) ---
ImDrawList_destroy :: proc (self: ^ImDrawList) ---
ImFontAtlasCustomRect_ImFontAtlasCustomRect :: proc () ---
ImFontAtlasCustomRect_IsPacked :: proc (self: ^ImFontAtlasCustomRect) -> bool ---
ImFontAtlasCustomRect_destroy :: proc (self: ^ImFontAtlasCustomRect) ---
ImFontAtlas_AddCustomRectFontGlyph :: proc (self: ^ImFontAtlas, font: ^ImFont, id: ImWchar, width: i32, height: i32, advance_x: f32, offset: ImVec2) -> i32 ---
ImFontAtlas_AddCustomRectRegular :: proc (self: ^ImFontAtlas, width: i32, height: i32) -> i32 ---
ImFontAtlas_AddFont :: proc (self: ^ImFontAtlas, font_cfg: ^ImFontConfig) -> ^ImFont ---
ImFontAtlas_AddFontDefault :: proc (self: ^ImFontAtlas, font_cfg: ^ImFontConfig) -> ^ImFont ---
ImFontAtlas_AddFontFromFileTTF :: proc (self: ^ImFontAtlas, filename: cstring, size_pixels: f32, font_cfg: ^ImFontConfig, glyph_ranges: ^ImWchar) -> ^ImFont ---
ImFontAtlas_AddFontFromMemoryCompressedBase85TTF :: proc (self: ^ImFontAtlas, compressed_font_data_base85: cstring, size_pixels: f32, font_cfg: ^ImFontConfig, glyph_ranges: ^ImWchar) -> ^ImFont ---
ImFontAtlas_AddFontFromMemoryCompressedTTF :: proc (self: ^ImFontAtlas, compressed_font_data: rawptr, compressed_font_size: i32, size_pixels: f32, font_cfg: ^ImFontConfig, glyph_ranges: ^ImWchar) -> ^ImFont ---
ImFontAtlas_AddFontFromMemoryTTF :: proc (self: ^ImFontAtlas, font_data: rawptr, font_size: i32, size_pixels: f32, font_cfg: ^ImFontConfig, glyph_ranges: ^ImWchar) -> ^ImFont ---
ImFontAtlas_Build :: proc (self: ^ImFontAtlas) -> bool ---
ImFontAtlas_CalcCustomRectUV :: proc (self: ^ImFontAtlas, rect: ^ImFontAtlasCustomRect, out_uv_min: ^ImVec2, out_uv_max: ^ImVec2) ---
ImFontAtlas_Clear :: proc (self: ^ImFontAtlas) ---
ImFontAtlas_ClearFonts :: proc (self: ^ImFontAtlas) ---
ImFontAtlas_ClearInputData :: proc (self: ^ImFontAtlas) ---
ImFontAtlas_ClearTexData :: proc (self: ^ImFontAtlas) ---
ImFontAtlas_GetCustomRectByIndex :: proc (self: ^ImFontAtlas, index: i32) -> ^ImFontAtlasCustomRect ---
ImFontAtlas_GetGlyphRangesChineseFull :: proc (self: ^ImFontAtlas) -> ^ImWchar ---
ImFontAtlas_GetGlyphRangesChineseSimplifiedCommon :: proc (self: ^ImFontAtlas) -> ^ImWchar ---
ImFontAtlas_GetGlyphRangesCyrillic :: proc (self: ^ImFontAtlas) -> ^ImWchar ---
ImFontAtlas_GetGlyphRangesDefault :: proc (self: ^ImFontAtlas) -> ^ImWchar ---
ImFontAtlas_GetGlyphRangesGreek :: proc (self: ^ImFontAtlas) -> ^ImWchar ---
ImFontAtlas_GetGlyphRangesJapanese :: proc (self: ^ImFontAtlas) -> ^ImWchar ---
ImFontAtlas_GetGlyphRangesKorean :: proc (self: ^ImFontAtlas) -> ^ImWchar ---
ImFontAtlas_GetGlyphRangesThai :: proc (self: ^ImFontAtlas) -> ^ImWchar ---
ImFontAtlas_GetGlyphRangesVietnamese :: proc (self: ^ImFontAtlas) -> ^ImWchar ---
ImFontAtlas_GetMouseCursorTexData :: proc (self: ^ImFontAtlas, cursor: ImGuiMouseCursor, out_offset: ^ImVec2, out_size: ^ImVec2, out_uv_border: ^[2]ImVec2, out_uv_fill: ^[2]ImVec2) -> bool ---
ImFontAtlas_GetTexDataAsAlpha8 :: proc (self: ^ImFontAtlas, out_pixels: ^^u8, out_width: ^i32, out_height: ^i32, out_bytes_per_pixel: ^i32) ---
ImFontAtlas_GetTexDataAsRGBA32 :: proc (self: ^ImFontAtlas, out_pixels: ^^u8, out_width: ^i32, out_height: ^i32, out_bytes_per_pixel: ^i32) ---
ImFontAtlas_ImFontAtlas :: proc () ---
ImFontAtlas_IsBuilt :: proc (self: ^ImFontAtlas) -> bool ---
ImFontAtlas_SetTexID :: proc (self: ^ImFontAtlas, id: ImTextureID) ---
ImFontAtlas_destroy :: proc (self: ^ImFontAtlas) ---
ImFontConfig_ImFontConfig :: proc () ---
ImFontConfig_destroy :: proc (self: ^ImFontConfig) ---
ImFontGlyphRangesBuilder_AddChar :: proc (self: ^ImFontGlyphRangesBuilder, c: ImWchar) ---
ImFontGlyphRangesBuilder_AddRanges :: proc (self: ^ImFontGlyphRangesBuilder, ranges: ^ImWchar) ---
ImFontGlyphRangesBuilder_AddText :: proc (self: ^ImFontGlyphRangesBuilder, text: cstring, text_end: cstring) ---
ImFontGlyphRangesBuilder_BuildRanges :: proc (self: ^ImFontGlyphRangesBuilder, out_ranges: ImVector(^ImWchar)) ---
ImFontGlyphRangesBuilder_Clear :: proc (self: ^ImFontGlyphRangesBuilder) ---
ImFontGlyphRangesBuilder_GetBit :: proc (self: ^ImFontGlyphRangesBuilder, n: u64) -> bool ---
ImFontGlyphRangesBuilder_ImFontGlyphRangesBuilder :: proc () ---
ImFontGlyphRangesBuilder_SetBit :: proc (self: ^ImFontGlyphRangesBuilder, n: u64) ---
ImFontGlyphRangesBuilder_destroy :: proc (self: ^ImFontGlyphRangesBuilder) ---
ImFont_AddGlyph :: proc (self: ^ImFont, src_cfg: ^ImFontConfig, c: ImWchar, x0: f32, y0: f32, x1: f32, y1: f32, u0: f32, v0: f32, u1: f32, v1: f32, advance_x: f32) ---
ImFont_AddRemapChar :: proc (self: ^ImFont, dst: ImWchar, src: ImWchar, overwrite_dst: bool) ---
ImFont_BuildLookupTable :: proc (self: ^ImFont) ---
ImFont_CalcTextSizeA :: proc (pOut: ^ImVec2, self: ^ImFont, size: f32, max_width: f32, wrap_width: f32, text_begin: cstring, text_end: cstring, remaining: ^^i8) ---
ImFont_CalcWordWrapPositionA :: proc (self: ^ImFont, scale: f32, text: cstring, text_end: cstring, wrap_width: f32) -> cstring ---
ImFont_ClearOutputData :: proc (self: ^ImFont) ---
ImFont_FindGlyph :: proc (self: ^ImFont, c: ImWchar) -> ^ImFontGlyph ---
ImFont_FindGlyphNoFallback :: proc (self: ^ImFont, c: ImWchar) -> ^ImFontGlyph ---
ImFont_GetCharAdvance :: proc (self: ^ImFont, c: ImWchar) -> f32 ---
ImFont_GetDebugName :: proc (self: ^ImFont) -> cstring ---
ImFont_GrowIndex :: proc (self: ^ImFont, new_size: i32) ---
ImFont_ImFont :: proc () ---
ImFont_IsGlyphRangeUnused :: proc (self: ^ImFont, c_begin: u32, c_last: u32) -> bool ---
ImFont_IsLoaded :: proc (self: ^ImFont) -> bool ---
ImFont_RenderChar :: proc (self: ^ImFont, draw_list: ^ImDrawList, size: f32, pos: ImVec2, col: u32, c: ImWchar) ---
ImFont_RenderText :: proc (self: ^ImFont, draw_list: ^ImDrawList, size: f32, pos: ImVec2, col: u32, clip_rect: ImVec4, text_begin: cstring, text_end: cstring, wrap_width: f32, cpu_fine_clip: bool) ---
ImFont_SetGlyphVisible :: proc (self: ^ImFont, c: ImWchar, visible: bool) ---
ImFont_destroy :: proc (self: ^ImFont) ---
ImGuiFreeType_GetBuilderForFreeType :: proc () -> ^ImFontBuilderIO ---
ImGuiFreeType_SetAllocatorFunctions :: proc (alloc_func: #type proc "c" (sz: u64, user_data: rawptr) -> rawptr, free_func: #type proc "c" (ptr: rawptr, user_data: rawptr), user_data: rawptr) ---
ImGuiIO_AddFocusEvent :: proc (self: ^ImGuiIO, focused: bool) ---
ImGuiIO_AddInputCharacter :: proc (self: ^ImGuiIO, c: u32) ---
ImGuiIO_AddInputCharacterUTF16 :: proc (self: ^ImGuiIO, c: ImWchar16) ---
ImGuiIO_AddInputCharactersUTF8 :: proc (self: ^ImGuiIO, str: cstring) ---
ImGuiIO_AddKeyAnalogEvent :: proc (self: ^ImGuiIO, key: ImGuiKey, down: bool, v: f32) ---
ImGuiIO_AddKeyEvent :: proc (self: ^ImGuiIO, key: ImGuiKey, down: bool) ---
ImGuiIO_AddMouseButtonEvent :: proc (self: ^ImGuiIO, button: i32, down: bool) ---
ImGuiIO_AddMousePosEvent :: proc (self: ^ImGuiIO, x: f32, y: f32) ---
ImGuiIO_AddMouseViewportEvent :: proc (self: ^ImGuiIO, id: ImGuiID) ---
ImGuiIO_AddMouseWheelEvent :: proc (self: ^ImGuiIO, wh_x: f32, wh_y: f32) ---
ImGuiIO_ClearInputCharacters :: proc (self: ^ImGuiIO) ---
ImGuiIO_ClearInputKeys :: proc (self: ^ImGuiIO) ---
ImGuiIO_ImGuiIO :: proc () ---
ImGuiIO_SetAppAcceptingEvents :: proc (self: ^ImGuiIO, accepting_events: bool) ---
ImGuiIO_SetKeyEventNativeData :: proc (self: ^ImGuiIO, key: ImGuiKey, native_keycode: i32, native_scancode: i32, native_legacy_index: i32) ---
ImGuiIO_destroy :: proc (self: ^ImGuiIO) ---
ImGuiInputTextCallbackData_ClearSelection :: proc (self: ^ImGuiInputTextCallbackData) ---
ImGuiInputTextCallbackData_DeleteChars :: proc (self: ^ImGuiInputTextCallbackData, pos: i32, bytes_count: i32) ---
ImGuiInputTextCallbackData_HasSelection :: proc (self: ^ImGuiInputTextCallbackData) -> bool ---
ImGuiInputTextCallbackData_ImGuiInputTextCallbackData :: proc () ---
ImGuiInputTextCallbackData_InsertChars :: proc (self: ^ImGuiInputTextCallbackData, pos: i32, text: cstring, text_end: cstring) ---
ImGuiInputTextCallbackData_SelectAll :: proc (self: ^ImGuiInputTextCallbackData) ---
ImGuiInputTextCallbackData_destroy :: proc (self: ^ImGuiInputTextCallbackData) ---
ImGuiListClipper_Begin :: proc (self: ^ImGuiListClipper, items_count: i32, items_height: f32) ---
ImGuiListClipper_End :: proc (self: ^ImGuiListClipper) ---
ImGuiListClipper_ForceDisplayRangeByIndices :: proc (self: ^ImGuiListClipper, item_min: i32, item_max: i32) ---
ImGuiListClipper_ImGuiListClipper :: proc () ---
ImGuiListClipper_Step :: proc (self: ^ImGuiListClipper) -> bool ---
ImGuiListClipper_destroy :: proc (self: ^ImGuiListClipper) ---
ImGuiOnceUponAFrame_ImGuiOnceUponAFrame :: proc () ---
ImGuiOnceUponAFrame_destroy :: proc (self: ^ImGuiOnceUponAFrame) ---
ImGuiPayload_Clear :: proc (self: ^ImGuiPayload) ---
ImGuiPayload_ImGuiPayload :: proc () ---
ImGuiPayload_IsDataType :: proc (self: ^ImGuiPayload, type: cstring) -> bool ---
ImGuiPayload_IsDelivery :: proc (self: ^ImGuiPayload) -> bool ---
ImGuiPayload_IsPreview :: proc (self: ^ImGuiPayload) -> bool ---
ImGuiPayload_destroy :: proc (self: ^ImGuiPayload) ---
ImGuiPlatformIO_ImGuiPlatformIO :: proc () ---
ImGuiPlatformIO_destroy :: proc (self: ^ImGuiPlatformIO) ---
ImGuiPlatformImeData_ImGuiPlatformImeData :: proc () ---
ImGuiPlatformImeData_destroy :: proc (self: ^ImGuiPlatformImeData) ---
ImGuiPlatformMonitor_ImGuiPlatformMonitor :: proc () ---
ImGuiPlatformMonitor_destroy :: proc (self: ^ImGuiPlatformMonitor) ---
ImGuiStoragePair_ImGuiStoragePair_Int :: proc (_key: ImGuiID, _val_i: i32) ---
ImGuiStoragePair_ImGuiStoragePair_Float :: proc (_key: ImGuiID, _val_f: f32) ---
ImGuiStoragePair_ImGuiStoragePair_Ptr :: proc (_key: ImGuiID, _val_p: rawptr) ---
ImGuiStoragePair_destroy :: proc (self: ^ImGuiStoragePair) ---
ImGuiStorage_BuildSortByKey :: proc (self: ^ImGuiStorage) ---
ImGuiStorage_Clear :: proc (self: ^ImGuiStorage) ---
ImGuiStorage_GetBool :: proc (self: ^ImGuiStorage, key: ImGuiID, default_val: bool) -> bool ---
ImGuiStorage_GetBoolRef :: proc (self: ^ImGuiStorage, key: ImGuiID, default_val: bool) -> ^bool ---
ImGuiStorage_GetFloat :: proc (self: ^ImGuiStorage, key: ImGuiID, default_val: f32) -> f32 ---
ImGuiStorage_GetFloatRef :: proc (self: ^ImGuiStorage, key: ImGuiID, default_val: f32) -> ^f32 ---
ImGuiStorage_GetInt :: proc (self: ^ImGuiStorage, key: ImGuiID, default_val: i32) -> i32 ---
ImGuiStorage_GetIntRef :: proc (self: ^ImGuiStorage, key: ImGuiID, default_val: i32) -> ^i32 ---
ImGuiStorage_GetVoidPtr :: proc (self: ^ImGuiStorage, key: ImGuiID) -> rawptr ---
ImGuiStorage_GetVoidPtrRef :: proc (self: ^ImGuiStorage, key: ImGuiID, default_val: rawptr) -> ^rawptr ---
ImGuiStorage_SetAllInt :: proc (self: ^ImGuiStorage, val: i32) ---
ImGuiStorage_SetBool :: proc (self: ^ImGuiStorage, key: ImGuiID, val: bool) ---
ImGuiStorage_SetFloat :: proc (self: ^ImGuiStorage, key: ImGuiID, val: f32) ---
ImGuiStorage_SetInt :: proc (self: ^ImGuiStorage, key: ImGuiID, val: i32) ---
ImGuiStorage_SetVoidPtr :: proc (self: ^ImGuiStorage, key: ImGuiID, val: rawptr) ---
ImGuiStyle_ImGuiStyle :: proc () ---
ImGuiStyle_ScaleAllSizes :: proc (self: ^ImGuiStyle, scale_factor: f32) ---
ImGuiStyle_destroy :: proc (self: ^ImGuiStyle) ---
ImGuiTableColumnSortSpecs_ImGuiTableColumnSortSpecs :: proc () ---
ImGuiTableColumnSortSpecs_destroy :: proc (self: ^ImGuiTableColumnSortSpecs) ---
ImGuiTableSortSpecs_ImGuiTableSortSpecs :: proc () ---
ImGuiTableSortSpecs_destroy :: proc (self: ^ImGuiTableSortSpecs) ---
ImGuiTextBuffer_ImGuiTextBuffer :: proc () ---
ImGuiTextBuffer_append :: proc (self: ^ImGuiTextBuffer, str: cstring, str_end: cstring) ---
ImGuiTextBuffer_appendf :: proc (self: ^ImGuiTextBuffer, fmt: cstring, #c_vararg args: ..any) ---
ImGuiTextBuffer_begin :: proc (self: ^ImGuiTextBuffer) -> cstring ---
ImGuiTextBuffer_c_str :: proc (self: ^ImGuiTextBuffer) -> cstring ---
ImGuiTextBuffer_clear :: proc (self: ^ImGuiTextBuffer) ---
ImGuiTextBuffer_destroy :: proc (self: ^ImGuiTextBuffer) ---
ImGuiTextBuffer_empty :: proc (self: ^ImGuiTextBuffer) -> bool ---
ImGuiTextBuffer_end :: proc (self: ^ImGuiTextBuffer) -> cstring ---
ImGuiTextBuffer_reserve :: proc (self: ^ImGuiTextBuffer, capacity: i32) ---
ImGuiTextBuffer_size :: proc (self: ^ImGuiTextBuffer) -> i32 ---
ImGuiTextFilter_Build :: proc (self: ^ImGuiTextFilter) ---
ImGuiTextFilter_Clear :: proc (self: ^ImGuiTextFilter) ---
ImGuiTextFilter_Draw :: proc (self: ^ImGuiTextFilter, label: cstring, width: f32) -> bool ---
ImGuiTextFilter_ImGuiTextFilter :: proc (default_filter: cstring) ---
ImGuiTextFilter_IsActive :: proc (self: ^ImGuiTextFilter) -> bool ---
ImGuiTextFilter_PassFilter :: proc (self: ^ImGuiTextFilter, text: cstring, text_end: cstring) -> bool ---
ImGuiTextFilter_destroy :: proc (self: ^ImGuiTextFilter) ---
ImGuiTextRange_ImGuiTextRange_Nil :: proc () ---
ImGuiTextRange_ImGuiTextRange_Str :: proc (_b: cstring, _e: cstring) ---
ImGuiTextRange_destroy :: proc (self: ^ImGuiTextRange) ---
ImGuiTextRange_empty :: proc (self: ^ImGuiTextRange) -> bool ---
ImGuiTextRange_split :: proc (self: ^ImGuiTextRange, separator: i8, out: ImVector(^ImGuiTextRange)) ---
ImGuiViewport_GetCenter :: proc (pOut: ^ImVec2, self: ^ImGuiViewport) ---
ImGuiViewport_GetWorkCenter :: proc (pOut: ^ImVec2, self: ^ImGuiViewport) ---
ImGuiViewport_ImGuiViewport :: proc () ---
ImGuiViewport_destroy :: proc (self: ^ImGuiViewport) ---
ImGuiWindowClass_ImGuiWindowClass :: proc () ---
ImGuiWindowClass_destroy :: proc (self: ^ImGuiWindowClass) ---
ImVec2_ImVec2_Nil :: proc () ---
ImVec2_ImVec2_Float :: proc (_x: f32, _y: f32) ---
ImVec2_destroy :: proc (self: ^ImVec2) ---
ImVec4_ImVec4_Nil :: proc () ---
ImVec4_ImVec4_Float :: proc (_x: f32, _y: f32, _z: f32, _w: f32) ---
ImVec4_destroy :: proc (self: ^ImVec4) ---
igAcceptDragDropPayload :: proc (type: cstring, flags: ImGuiDragDropFlags) -> ^ImGuiPayload ---
igAlignTextToFramePadding :: proc () ---
igArrowButton :: proc (str_id: cstring, dir: ImGuiDir) -> bool ---
igBegin :: proc (name: cstring, p_open: ^bool, flags: ImGuiWindowFlags) -> bool ---
igBeginChild_Str :: proc (str_id: cstring, size: ImVec2, border: bool, flags: ImGuiWindowFlags) -> bool ---
igBeginChild_ID :: proc (id: ImGuiID, size: ImVec2, border: bool, flags: ImGuiWindowFlags) -> bool ---
igBeginChildFrame :: proc (id: ImGuiID, size: ImVec2, flags: ImGuiWindowFlags) -> bool ---
igBeginCombo :: proc (label: cstring, preview_value: cstring, flags: ImGuiComboFlags) -> bool ---
igBeginDisabled :: proc (disabled: bool) ---
igBeginDragDropSource :: proc (flags: ImGuiDragDropFlags) -> bool ---
igBeginDragDropTarget :: proc () -> bool ---
igBeginGroup :: proc () ---
igBeginListBox :: proc (label: cstring, size: ImVec2) -> bool ---
igBeginMainMenuBar :: proc () -> bool ---
igBeginMenu :: proc (label: cstring, enabled: bool) -> bool ---
igBeginMenuBar :: proc () -> bool ---
igBeginPopup :: proc (str_id: cstring, flags: ImGuiWindowFlags) -> bool ---
igBeginPopupContextItem :: proc (str_id: cstring, popup_flags: ImGuiPopupFlags) -> bool ---
igBeginPopupContextVoid :: proc (str_id: cstring, popup_flags: ImGuiPopupFlags) -> bool ---
igBeginPopupContextWindow :: proc (str_id: cstring, popup_flags: ImGuiPopupFlags) -> bool ---
igBeginPopupModal :: proc (name: cstring, p_open: ^bool, flags: ImGuiWindowFlags) -> bool ---
igBeginTabBar :: proc (str_id: cstring, flags: ImGuiTabBarFlags) -> bool ---
igBeginTabItem :: proc (label: cstring, p_open: ^bool, flags: ImGuiTabItemFlags) -> bool ---
igBeginTable :: proc (str_id: cstring, column: i32, flags: ImGuiTableFlags, outer_size: ImVec2, inner_width: f32) -> bool ---
igBeginTooltip :: proc () ---
igBullet :: proc () ---
igBulletText :: proc (fmt: cstring, #c_vararg args: ..any) ---
igButton :: proc (label: cstring, size: ImVec2) -> bool ---
igCalcItemWidth :: proc () -> f32 ---
igCalcTextSize :: proc (pOut: ^ImVec2, text: cstring, text_end: cstring, hide_text_after_double_hash: bool, wrap_width: f32) ---
igCheckbox :: proc (label: cstring, v: ^bool) -> bool ---
igCheckboxFlags_IntPtr :: proc (label: cstring, flags: ^i32, flags_value: i32) -> bool ---
igCheckboxFlags_UintPtr :: proc (label: cstring, flags: ^u32, flags_value: u32) -> bool ---
igCloseCurrentPopup :: proc () ---
igCollapsingHeader_TreeNodeFlags :: proc (label: cstring, flags: ImGuiTreeNodeFlags) -> bool ---
igCollapsingHeader_BoolPtr :: proc (label: cstring, p_visible: ^bool, flags: ImGuiTreeNodeFlags) -> bool ---
igColorButton :: proc (desc_id: cstring, col: ImVec4, flags: ImGuiColorEditFlags, size: ImVec2) -> bool ---
igColorConvertFloat4ToU32 :: proc (_in: ImVec4) -> u32 ---
igColorConvertHSVtoRGB :: proc (h: f32, s: f32, v: f32, out_r: ^f32, out_g: ^f32, out_b: ^f32) ---
igColorConvertRGBtoHSV :: proc (r: f32, g: f32, b: f32, out_h: ^f32, out_s: ^f32, out_v: ^f32) ---
igColorConvertU32ToFloat4 :: proc (pOut: ^ImVec4, _in: u32) ---
igColorEdit3 :: proc (label: cstring, col: ^[3]f32, flags: ImGuiColorEditFlags) -> bool ---
igColorEdit4 :: proc (label: cstring, col: ^[4]f32, flags: ImGuiColorEditFlags) -> bool ---
igColorPicker3 :: proc (label: cstring, col: ^[3]f32, flags: ImGuiColorEditFlags) -> bool ---
igColorPicker4 :: proc (label: cstring, col: ^[4]f32, flags: ImGuiColorEditFlags, ref_col: ^f32) -> bool ---
igColumns :: proc (count: i32, id: cstring, border: bool) ---
igCombo_Str_arr :: proc (label: cstring, current_item: ^i32, items: [^]cstring, items_count: i32, popup_max_height_in_items: i32) -> bool ---
igCombo_Str :: proc (label: cstring, current_item: ^i32, items_separated_by_zeros: cstring, popup_max_height_in_items: i32) -> bool ---
igCombo_FnBoolPtr :: proc (label: cstring, current_item: ^i32, items_getter: #type proc "c" (data: rawptr, idx: i32, out_text: ^^i8) -> bool, data: rawptr, items_count: i32, popup_max_height_in_items: i32) -> bool ---
igCreateContext :: proc (shared_font_atlas: ^ImFontAtlas) -> ^ImGuiContext ---
igDebugCheckVersionAndDataLayout :: proc (version_str: cstring, sz_io: u64, sz_style: u64, sz_vec2: u64, sz_vec4: u64, sz_drawvert: u64, sz_drawidx: u64) -> bool ---
igDebugTextEncoding :: proc (text: cstring) ---
igDestroyContext :: proc (ctx: ^ImGuiContext) ---
igDestroyPlatformWindows :: proc () ---
igDockSpace :: proc (id: ImGuiID, size: ImVec2, flags: ImGuiDockNodeFlags, window_class: ^ImGuiWindowClass) -> ImGuiID ---
igDockSpaceOverViewport :: proc (viewport: ^ImGuiViewport, flags: ImGuiDockNodeFlags, window_class: ^ImGuiWindowClass) -> ImGuiID ---
igDragFloat :: proc (label: cstring, v: ^f32, v_speed: f32, v_min: f32, v_max: f32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igDragFloat2 :: proc (label: cstring, v: ^[2]f32, v_speed: f32, v_min: f32, v_max: f32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igDragFloat3 :: proc (label: cstring, v: ^[3]f32, v_speed: f32, v_min: f32, v_max: f32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igDragFloat4 :: proc (label: cstring, v: ^[4]f32, v_speed: f32, v_min: f32, v_max: f32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igDragFloatRange2 :: proc (label: cstring, v_current_min: ^f32, v_current_max: ^f32, v_speed: f32, v_min: f32, v_max: f32, format: cstring, format_max: cstring, flags: ImGuiSliderFlags) -> bool ---
igDragInt :: proc (label: cstring, v: ^i32, v_speed: f32, v_min: i32, v_max: i32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igDragInt2 :: proc (label: cstring, v: ^[2]i32, v_speed: f32, v_min: i32, v_max: i32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igDragInt3 :: proc (label: cstring, v: ^[3]i32, v_speed: f32, v_min: i32, v_max: i32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igDragInt4 :: proc (label: cstring, v: ^[4]i32, v_speed: f32, v_min: i32, v_max: i32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igDragIntRange2 :: proc (label: cstring, v_current_min: ^i32, v_current_max: ^i32, v_speed: f32, v_min: i32, v_max: i32, format: cstring, format_max: cstring, flags: ImGuiSliderFlags) -> bool ---
igDragScalar :: proc (label: cstring, data_type: ImGuiDataType, p_data: rawptr, v_speed: f32, p_min: rawptr, p_max: rawptr, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igDragScalarN :: proc (label: cstring, data_type: ImGuiDataType, p_data: rawptr, components: i32, v_speed: f32, p_min: rawptr, p_max: rawptr, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igDummy :: proc (size: ImVec2) ---
igEnd :: proc () ---
igEndChild :: proc () ---
igEndChildFrame :: proc () ---
igEndCombo :: proc () ---
igEndDisabled :: proc () ---
igEndDragDropSource :: proc () ---
igEndDragDropTarget :: proc () ---
igEndFrame :: proc () ---
igEndGroup :: proc () ---
igEndListBox :: proc () ---
igEndMainMenuBar :: proc () ---
igEndMenu :: proc () ---
igEndMenuBar :: proc () ---
igEndPopup :: proc () ---
igEndTabBar :: proc () ---
igEndTabItem :: proc () ---
igEndTable :: proc () ---
igEndTooltip :: proc () ---
igFindViewportByID :: proc (id: ImGuiID) -> ^ImGuiViewport ---
igFindViewportByPlatformHandle :: proc (platform_handle: rawptr) -> ^ImGuiViewport ---
igGetAllocatorFunctions :: proc (p_alloc_func: ^ImGuiMemAllocFunc, p_free_func: ^ImGuiMemFreeFunc, p_user_data: ^rawptr) ---
igGetBackgroundDrawList_Nil :: proc () -> ^ImDrawList ---
igGetBackgroundDrawList_ViewportPtr :: proc (viewport: ^ImGuiViewport) -> ^ImDrawList ---
igGetClipboardText :: proc () -> cstring ---
igGetColorU32_Col :: proc (idx: ImGuiCol, alpha_mul: f32) -> u32 ---
igGetColorU32_Vec4 :: proc (col: ImVec4) -> u32 ---
igGetColorU32_U32 :: proc (col: u32) -> u32 ---
igGetColumnIndex :: proc () -> i32 ---
igGetColumnOffset :: proc (column_index: i32) -> f32 ---
igGetColumnWidth :: proc (column_index: i32) -> f32 ---
igGetColumnsCount :: proc () -> i32 ---
igGetContentRegionAvail :: proc (pOut: ^ImVec2) ---
igGetContentRegionMax :: proc (pOut: ^ImVec2) ---
igGetCurrentContext :: proc () -> ^ImGuiContext ---
igGetCursorPos :: proc (pOut: ^ImVec2) ---
igGetCursorPosX :: proc () -> f32 ---
igGetCursorPosY :: proc () -> f32 ---
igGetCursorScreenPos :: proc (pOut: ^ImVec2) ---
igGetCursorStartPos :: proc (pOut: ^ImVec2) ---
igGetDragDropPayload :: proc () -> ^ImGuiPayload ---
igGetDrawData :: proc () -> ^ImDrawData ---
igGetDrawListSharedData :: proc () -> ^ImDrawListSharedData ---
igGetFont :: proc () -> ^ImFont ---
igGetFontSize :: proc () -> f32 ---
igGetFontTexUvWhitePixel :: proc (pOut: ^ImVec2) ---
igGetForegroundDrawList_Nil :: proc () -> ^ImDrawList ---
igGetForegroundDrawList_ViewportPtr :: proc (viewport: ^ImGuiViewport) -> ^ImDrawList ---
igGetFrameCount :: proc () -> i32 ---
igGetFrameHeight :: proc () -> f32 ---
igGetFrameHeightWithSpacing :: proc () -> f32 ---
igGetID_Str :: proc (str_id: cstring) -> ImGuiID ---
igGetID_StrStr :: proc (str_id_begin: cstring, str_id_end: cstring) -> ImGuiID ---
igGetID_Ptr :: proc (ptr_id: rawptr) -> ImGuiID ---
igGetIO :: proc () -> ^ImGuiIO ---
igGetItemRectMax :: proc (pOut: ^ImVec2) ---
igGetItemRectMin :: proc (pOut: ^ImVec2) ---
igGetItemRectSize :: proc (pOut: ^ImVec2) ---
igGetKeyIndex :: proc (key: ImGuiKey) -> ImGuiKey ---
igGetKeyName :: proc (key: ImGuiKey) -> cstring ---
igGetKeyPressedAmount :: proc (key: ImGuiKey, repeat_delay: f32, rate: f32) -> i32 ---
igGetMainViewport :: proc () -> ^ImGuiViewport ---
igGetMouseClickedCount :: proc (button: ImGuiMouseButton) -> i32 ---
igGetMouseCursor :: proc () -> ImGuiMouseCursor ---
igGetMouseDragDelta :: proc (pOut: ^ImVec2, button: ImGuiMouseButton, lock_threshold: f32) ---
igGetMousePos :: proc (pOut: ^ImVec2) ---
igGetMousePosOnOpeningCurrentPopup :: proc (pOut: ^ImVec2) ---
igGetPlatformIO :: proc () -> ^ImGuiPlatformIO ---
igGetScrollMaxX :: proc () -> f32 ---
igGetScrollMaxY :: proc () -> f32 ---
igGetScrollX :: proc () -> f32 ---
igGetScrollY :: proc () -> f32 ---
igGetStateStorage :: proc () -> ^ImGuiStorage ---
igGetStyle :: proc () -> ^ImGuiStyle ---
igGetStyleColorName :: proc (idx: ImGuiCol) -> cstring ---
igGetStyleColorVec4 :: proc (idx: ImGuiCol) -> ^ImVec4 ---
igGetTextLineHeight :: proc () -> f32 ---
igGetTextLineHeightWithSpacing :: proc () -> f32 ---
igGetTime :: proc () -> f64 ---
igGetTreeNodeToLabelSpacing :: proc () -> f32 ---
igGetVersion :: proc () -> cstring ---
igGetWindowContentRegionMax :: proc (pOut: ^ImVec2) ---
igGetWindowContentRegionMin :: proc (pOut: ^ImVec2) ---
igGetWindowDockID :: proc () -> ImGuiID ---
igGetWindowDpiScale :: proc () -> f32 ---
igGetWindowDrawList :: proc () -> ^ImDrawList ---
igGetWindowHeight :: proc () -> f32 ---
igGetWindowPos :: proc (pOut: ^ImVec2) ---
igGetWindowSize :: proc (pOut: ^ImVec2) ---
igGetWindowViewport :: proc () -> ^ImGuiViewport ---
igGetWindowWidth :: proc () -> f32 ---
igImage :: proc (user_texture_id: ImTextureID, size: ImVec2, uv0: ImVec2, uv1: ImVec2, tint_col: ImVec4, border_col: ImVec4) ---
igImageButton :: proc (str_id: cstring, user_texture_id: ImTextureID, size: ImVec2, uv0: ImVec2, uv1: ImVec2, bg_col: ImVec4, tint_col: ImVec4) -> bool ---
igIndent :: proc (indent_w: f32) ---
igInputDouble :: proc (label: cstring, v: ^f64, step: f64, step_fast: f64, format: cstring, flags: ImGuiInputTextFlags) -> bool ---
igInputFloat :: proc (label: cstring, v: ^f32, step: f32, step_fast: f32, format: cstring, flags: ImGuiInputTextFlags) -> bool ---
igInputFloat2 :: proc (label: cstring, v: ^[2]f32, format: cstring, flags: ImGuiInputTextFlags) -> bool ---
igInputFloat3 :: proc (label: cstring, v: ^[3]f32, format: cstring, flags: ImGuiInputTextFlags) -> bool ---
igInputFloat4 :: proc (label: cstring, v: ^[4]f32, format: cstring, flags: ImGuiInputTextFlags) -> bool ---
igInputInt :: proc (label: cstring, v: ^i32, step: i32, step_fast: i32, flags: ImGuiInputTextFlags) -> bool ---
igInputInt2 :: proc (label: cstring, v: ^[2]i32, flags: ImGuiInputTextFlags) -> bool ---
igInputInt3 :: proc (label: cstring, v: ^[3]i32, flags: ImGuiInputTextFlags) -> bool ---
igInputInt4 :: proc (label: cstring, v: ^[4]i32, flags: ImGuiInputTextFlags) -> bool ---
igInputScalar :: proc (label: cstring, data_type: ImGuiDataType, p_data: rawptr, p_step: rawptr, p_step_fast: rawptr, format: cstring, flags: ImGuiInputTextFlags) -> bool ---
igInputScalarN :: proc (label: cstring, data_type: ImGuiDataType, p_data: rawptr, components: i32, p_step: rawptr, p_step_fast: rawptr, format: cstring, flags: ImGuiInputTextFlags) -> bool ---
igInputText :: proc (label: cstring, buf: ^i8, buf_size: u64, flags: ImGuiInputTextFlags, callback: ImGuiInputTextCallback, user_data: rawptr) -> bool ---
igInputTextMultiline :: proc (label: cstring, buf: ^i8, buf_size: u64, size: ImVec2, flags: ImGuiInputTextFlags, callback: ImGuiInputTextCallback, user_data: rawptr) -> bool ---
igInputTextWithHint :: proc (label: cstring, hint: cstring, buf: ^i8, buf_size: u64, flags: ImGuiInputTextFlags, callback: ImGuiInputTextCallback, user_data: rawptr) -> bool ---
igInvisibleButton :: proc (str_id: cstring, size: ImVec2, flags: ImGuiButtonFlags) -> bool ---
igIsAnyItemActive :: proc () -> bool ---
igIsAnyItemFocused :: proc () -> bool ---
igIsAnyItemHovered :: proc () -> bool ---
igIsAnyMouseDown :: proc () -> bool ---
igIsItemActivated :: proc () -> bool ---
igIsItemActive :: proc () -> bool ---
igIsItemClicked :: proc (mouse_button: ImGuiMouseButton) -> bool ---
igIsItemDeactivated :: proc () -> bool ---
igIsItemDeactivatedAfterEdit :: proc () -> bool ---
igIsItemEdited :: proc () -> bool ---
igIsItemFocused :: proc () -> bool ---
igIsItemHovered :: proc (flags: ImGuiHoveredFlags) -> bool ---
igIsItemToggledOpen :: proc () -> bool ---
igIsItemVisible :: proc () -> bool ---
igIsKeyDown :: proc (key: ImGuiKey) -> bool ---
igIsKeyPressed :: proc (key: ImGuiKey, repeat: bool) -> bool ---
igIsKeyReleased :: proc (key: ImGuiKey) -> bool ---
igIsMouseClicked :: proc (button: ImGuiMouseButton, repeat: bool) -> bool ---
igIsMouseDoubleClicked :: proc (button: ImGuiMouseButton) -> bool ---
igIsMouseDown :: proc (button: ImGuiMouseButton) -> bool ---
igIsMouseDragging :: proc (button: ImGuiMouseButton, lock_threshold: f32) -> bool ---
igIsMouseHoveringRect :: proc (r_min: ImVec2, r_max: ImVec2, clip: bool) -> bool ---
igIsMousePosValid :: proc (mouse_pos: ^ImVec2) -> bool ---
igIsMouseReleased :: proc (button: ImGuiMouseButton) -> bool ---
igIsPopupOpen :: proc (str_id: cstring, flags: ImGuiPopupFlags) -> bool ---
igIsRectVisible_Nil :: proc (size: ImVec2) -> bool ---
igIsRectVisible_Vec2 :: proc (rect_min: ImVec2, rect_max: ImVec2) -> bool ---
igIsWindowAppearing :: proc () -> bool ---
igIsWindowCollapsed :: proc () -> bool ---
igIsWindowDocked :: proc () -> bool ---
igIsWindowFocused :: proc (flags: ImGuiFocusedFlags) -> bool ---
igIsWindowHovered :: proc (flags: ImGuiHoveredFlags) -> bool ---
igLabelText :: proc (label: cstring, fmt: cstring, #c_vararg args: ..any) ---
igListBox_Str_arr :: proc (label: cstring, current_item: ^i32, items: [^]cstring, items_count: i32, height_in_items: i32) -> bool ---
igListBox_FnBoolPtr :: proc (label: cstring, current_item: ^i32, items_getter: #type proc "c" (data: rawptr, idx: i32, out_text: ^^i8) -> bool, data: rawptr, items_count: i32, height_in_items: i32) -> bool ---
igLoadIniSettingsFromDisk :: proc (ini_filename: cstring) ---
igLoadIniSettingsFromMemory :: proc (ini_data: cstring, ini_size: u64) ---
igLogButtons :: proc () ---
igLogFinish :: proc () ---
igLogText :: proc (fmt: cstring, #c_vararg args: ..any) ---
igLogToClipboard :: proc (auto_open_depth: i32) ---
igLogToFile :: proc (auto_open_depth: i32, filename: cstring) ---
igLogToTTY :: proc (auto_open_depth: i32) ---
igMemAlloc :: proc (size: u64) -> rawptr ---
igMemFree :: proc (ptr: rawptr) ---
igMenuItem_Bool :: proc (label: cstring, shortcut: cstring, selected: bool, enabled: bool) -> bool ---
igMenuItem_BoolPtr :: proc (label: cstring, shortcut: cstring, p_selected: ^bool, enabled: bool) -> bool ---
igNewFrame :: proc () ---
igNewLine :: proc () ---
igNextColumn :: proc () ---
igOpenPopup_Str :: proc (str_id: cstring, popup_flags: ImGuiPopupFlags) ---
igOpenPopup_ID :: proc (id: ImGuiID, popup_flags: ImGuiPopupFlags) ---
igOpenPopupOnItemClick :: proc (str_id: cstring, popup_flags: ImGuiPopupFlags) ---
igPlotHistogram_FloatPtr :: proc (label: cstring, values: ^f32, values_count: i32, values_offset: i32, overlay_text: cstring, scale_min: f32, scale_max: f32, graph_size: ImVec2, stride: i32) ---
igPlotHistogram_FnFloatPtr :: proc (label: cstring, values_getter: #type proc "c" (data: rawptr, idx: i32) -> f32, data: rawptr, values_count: i32, values_offset: i32, overlay_text: cstring, scale_min: f32, scale_max: f32, graph_size: ImVec2) ---
igPlotLines_FloatPtr :: proc (label: cstring, values: ^f32, values_count: i32, values_offset: i32, overlay_text: cstring, scale_min: f32, scale_max: f32, graph_size: ImVec2, stride: i32) ---
igPlotLines_FnFloatPtr :: proc (label: cstring, values_getter: #type proc "c" (data: rawptr, idx: i32) -> f32, data: rawptr, values_count: i32, values_offset: i32, overlay_text: cstring, scale_min: f32, scale_max: f32, graph_size: ImVec2) ---
igPopAllowKeyboardFocus :: proc () ---
igPopButtonRepeat :: proc () ---
igPopClipRect :: proc () ---
igPopFont :: proc () ---
igPopID :: proc () ---
igPopItemWidth :: proc () ---
igPopStyleColor :: proc (count: i32) ---
igPopStyleVar :: proc (count: i32) ---
igPopTextWrapPos :: proc () ---
igProgressBar :: proc (fraction: f32, size_arg: ImVec2, overlay: cstring) ---
igPushAllowKeyboardFocus :: proc (allow_keyboard_focus: bool) ---
igPushButtonRepeat :: proc (repeat: bool) ---
igPushClipRect :: proc (clip_rect_min: ImVec2, clip_rect_max: ImVec2, intersect_with_current_clip_rect: bool) ---
igPushFont :: proc (font: ^ImFont) ---
igPushID_Str :: proc (str_id: cstring) ---
igPushID_StrStr :: proc (str_id_begin: cstring, str_id_end: cstring) ---
igPushID_Ptr :: proc (ptr_id: rawptr) ---
igPushID_Int :: proc (int_id: i32) ---
igPushItemWidth :: proc (item_width: f32) ---
igPushStyleColor_U32 :: proc (idx: ImGuiCol, col: u32) ---
igPushStyleColor_Vec4 :: proc (idx: ImGuiCol, col: ImVec4) ---
igPushStyleVar_Float :: proc (idx: ImGuiStyleVar, val: f32) ---
igPushStyleVar_Vec2 :: proc (idx: ImGuiStyleVar, val: ImVec2) ---
igPushTextWrapPos :: proc (wrap_local_pos_x: f32) ---
igRadioButton_Bool :: proc (label: cstring, active: bool) -> bool ---
igRadioButton_IntPtr :: proc (label: cstring, v: ^i32, v_button: i32) -> bool ---
igRender :: proc () ---
igRenderPlatformWindowsDefault :: proc (platform_render_arg: rawptr, renderer_render_arg: rawptr) ---
igResetMouseDragDelta :: proc (button: ImGuiMouseButton) ---
igSameLine :: proc (offset_from_start_x: f32, spacing: f32) ---
igSaveIniSettingsToDisk :: proc (ini_filename: cstring) ---
igSaveIniSettingsToMemory :: proc (out_ini_size: ^u64) -> cstring ---
igSelectable_Bool :: proc (label: cstring, selected: bool, flags: ImGuiSelectableFlags, size: ImVec2) -> bool ---
igSelectable_BoolPtr :: proc (label: cstring, p_selected: ^bool, flags: ImGuiSelectableFlags, size: ImVec2) -> bool ---
igSeparator :: proc () ---
igSetAllocatorFunctions :: proc (alloc_func: ImGuiMemAllocFunc, free_func: ImGuiMemFreeFunc, user_data: rawptr) ---
igSetClipboardText :: proc (text: cstring) ---
igSetColorEditOptions :: proc (flags: ImGuiColorEditFlags) ---
igSetColumnOffset :: proc (column_index: i32, offset_x: f32) ---
igSetColumnWidth :: proc (column_index: i32, width: f32) ---
igSetCurrentContext :: proc (ctx: ^ImGuiContext) ---
igSetCursorPos :: proc (local_pos: ImVec2) ---
igSetCursorPosX :: proc (local_x: f32) ---
igSetCursorPosY :: proc (local_y: f32) ---
igSetCursorScreenPos :: proc (pos: ImVec2) ---
igSetDragDropPayload :: proc (type: cstring, data: rawptr, sz: u64, cond: ImGuiCond) -> bool ---
igSetItemAllowOverlap :: proc () ---
igSetItemDefaultFocus :: proc () ---
igSetKeyboardFocusHere :: proc (offset: i32) ---
igSetMouseCursor :: proc (cursor_type: ImGuiMouseCursor) ---
igSetNextFrameWantCaptureKeyboard :: proc (want_capture_keyboard: bool) ---
igSetNextFrameWantCaptureMouse :: proc (want_capture_mouse: bool) ---
igSetNextItemOpen :: proc (is_open: bool, cond: ImGuiCond) ---
igSetNextItemWidth :: proc (item_width: f32) ---
igSetNextWindowBgAlpha :: proc (alpha: f32) ---
igSetNextWindowClass :: proc (window_class: ^ImGuiWindowClass) ---
igSetNextWindowCollapsed :: proc (collapsed: bool, cond: ImGuiCond) ---
igSetNextWindowContentSize :: proc (size: ImVec2) ---
igSetNextWindowDockID :: proc (dock_id: ImGuiID, cond: ImGuiCond) ---
igSetNextWindowFocus :: proc () ---
igSetNextWindowPos :: proc (pos: ImVec2, cond: ImGuiCond, pivot: ImVec2) ---
igSetNextWindowScroll :: proc (scroll: ImVec2) ---
igSetNextWindowSize :: proc (size: ImVec2, cond: ImGuiCond) ---
igSetNextWindowSizeConstraints :: proc (size_min: ImVec2, size_max: ImVec2, custom_callback: ImGuiSizeCallback, custom_callback_data: rawptr) ---
igSetNextWindowViewport :: proc (viewport_id: ImGuiID) ---
igSetScrollFromPosX :: proc (local_x: f32, center_x_ratio: f32) ---
igSetScrollFromPosY :: proc (local_y: f32, center_y_ratio: f32) ---
igSetScrollHereX :: proc (center_x_ratio: f32) ---
igSetScrollHereY :: proc (center_y_ratio: f32) ---
igSetScrollX :: proc (scroll_x: f32) ---
igSetScrollY :: proc (scroll_y: f32) ---
igSetStateStorage :: proc (storage: ^ImGuiStorage) ---
igSetTabItemClosed :: proc (tab_or_docked_window_label: cstring) ---
igSetTooltip :: proc (fmt: cstring, #c_vararg args: ..any) ---
igSetWindowCollapsed_Bool :: proc (collapsed: bool, cond: ImGuiCond) ---
igSetWindowCollapsed_Str :: proc (name: cstring, collapsed: bool, cond: ImGuiCond) ---
igSetWindowFocus_Nil :: proc () ---
igSetWindowFocus_Str :: proc (name: cstring) ---
igSetWindowFontScale :: proc (scale: f32) ---
igSetWindowPos_Vec2 :: proc (pos: ImVec2, cond: ImGuiCond) ---
igSetWindowPos_Str :: proc (name: cstring, pos: ImVec2, cond: ImGuiCond) ---
igSetWindowSize_Vec2 :: proc (size: ImVec2, cond: ImGuiCond) ---
igSetWindowSize_Str :: proc (name: cstring, size: ImVec2, cond: ImGuiCond) ---
igShowAboutWindow :: proc (p_open: ^bool) ---
igShowDebugLogWindow :: proc (p_open: ^bool) ---
igShowDemoWindow :: proc (p_open: ^bool) ---
igShowFontSelector :: proc (label: cstring) ---
igShowMetricsWindow :: proc (p_open: ^bool) ---
igShowStackToolWindow :: proc (p_open: ^bool) ---
igShowStyleEditor :: proc (ref: ^ImGuiStyle) ---
igShowStyleSelector :: proc (label: cstring) -> bool ---
igShowUserGuide :: proc () ---
igSliderAngle :: proc (label: cstring, v_rad: ^f32, v_degrees_min: f32, v_degrees_max: f32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igSliderFloat :: proc (label: cstring, v: ^f32, v_min: f32, v_max: f32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igSliderFloat2 :: proc (label: cstring, v: ^[2]f32, v_min: f32, v_max: f32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igSliderFloat3 :: proc (label: cstring, v: ^[3]f32, v_min: f32, v_max: f32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igSliderFloat4 :: proc (label: cstring, v: ^[4]f32, v_min: f32, v_max: f32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igSliderInt :: proc (label: cstring, v: ^i32, v_min: i32, v_max: i32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igSliderInt2 :: proc (label: cstring, v: ^[2]i32, v_min: i32, v_max: i32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igSliderInt3 :: proc (label: cstring, v: ^[3]i32, v_min: i32, v_max: i32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igSliderInt4 :: proc (label: cstring, v: ^[4]i32, v_min: i32, v_max: i32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igSliderScalar :: proc (label: cstring, data_type: ImGuiDataType, p_data: rawptr, p_min: rawptr, p_max: rawptr, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igSliderScalarN :: proc (label: cstring, data_type: ImGuiDataType, p_data: rawptr, components: i32, p_min: rawptr, p_max: rawptr, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igSmallButton :: proc (label: cstring) -> bool ---
igSpacing :: proc () ---
igStyleColorsClassic :: proc (dst: ^ImGuiStyle) ---
igStyleColorsDark :: proc (dst: ^ImGuiStyle) ---
igStyleColorsLight :: proc (dst: ^ImGuiStyle) ---
igTabItemButton :: proc (label: cstring, flags: ImGuiTabItemFlags) -> bool ---
igTableGetColumnCount :: proc () -> i32 ---
igTableGetColumnFlags :: proc (column_n: i32) -> ImGuiTableColumnFlags ---
igTableGetColumnIndex :: proc () -> i32 ---
igTableGetColumnName :: proc (column_n: i32) -> cstring ---
igTableGetRowIndex :: proc () -> i32 ---
igTableGetSortSpecs :: proc () -> ^ImGuiTableSortSpecs ---
igTableHeader :: proc (label: cstring) ---
igTableHeadersRow :: proc () ---
igTableNextColumn :: proc () -> bool ---
igTableNextRow :: proc (row_flags: ImGuiTableRowFlags, min_row_height: f32) ---
igTableSetBgColor :: proc (target: ImGuiTableBgTarget, color: u32, column_n: i32) ---
igTableSetColumnEnabled :: proc (column_n: i32, v: bool) ---
igTableSetColumnIndex :: proc (column_n: i32) -> bool ---
igTableSetupColumn :: proc (label: cstring, flags: ImGuiTableColumnFlags, init_width_or_weight: f32, user_id: ImGuiID) ---
igTableSetupScrollFreeze :: proc (cols: i32, rows: i32) ---
igText :: proc (fmt: cstring, #c_vararg args: ..any) ---
igTextColored :: proc (col: ImVec4, fmt: cstring, #c_vararg args: ..any) ---
igTextDisabled :: proc (fmt: cstring, #c_vararg args: ..any) ---
igTextUnformatted :: proc (text: cstring, text_end: cstring) ---
igTextWrapped :: proc (fmt: cstring, #c_vararg args: ..any) ---
igTreeNode_Str :: proc (label: cstring) -> bool ---
igTreeNode_StrStr :: proc (str_id: cstring, fmt: cstring, #c_vararg args: ..any) -> bool ---
igTreeNode_Ptr :: proc (ptr_id: rawptr, fmt: cstring, #c_vararg args: ..any) -> bool ---
igTreeNodeEx_Str :: proc (label: cstring, flags: ImGuiTreeNodeFlags) -> bool ---
igTreeNodeEx_StrStr :: proc (str_id: cstring, flags: ImGuiTreeNodeFlags, fmt: cstring, #c_vararg args: ..any) -> bool ---
igTreeNodeEx_Ptr :: proc (ptr_id: rawptr, flags: ImGuiTreeNodeFlags, fmt: cstring, #c_vararg args: ..any) -> bool ---
igTreePop :: proc () ---
igTreePush_Str :: proc (str_id: cstring) ---
igTreePush_Ptr :: proc (ptr_id: rawptr) ---
igUnindent :: proc (indent_w: f32) ---
igUpdatePlatformWindows :: proc () ---
igVSliderFloat :: proc (label: cstring, size: ImVec2, v: ^f32, v_min: f32, v_max: f32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igVSliderInt :: proc (label: cstring, size: ImVec2, v: ^i32, v_min: i32, v_max: i32, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igVSliderScalar :: proc (label: cstring, size: ImVec2, data_type: ImGuiDataType, p_data: rawptr, p_min: rawptr, p_max: rawptr, format: cstring, flags: ImGuiSliderFlags) -> bool ---
igValue_Bool :: proc (prefix: cstring, b: bool) ---
igValue_Int :: proc (prefix: cstring, v: i32) ---
igValue_Uint :: proc (prefix: cstring, v: u32) ---
igValue_Float :: proc (prefix: cstring, v: f32, float_format: cstring) ---
ImGui_ImplGlfw_CharCallback :: proc (window: glfw.WindowHandle, c: u32) ---
ImGui_ImplGlfw_CursorEnterCallback :: proc (window: glfw.WindowHandle, entered: i32) ---
ImGui_ImplGlfw_CursorPosCallback :: proc (window: glfw.WindowHandle, x: f64, y: f64) ---
ImGui_ImplGlfw_InitForOpenGL :: proc (window: glfw.WindowHandle, install_callbacks: bool) -> bool ---
ImGui_ImplGlfw_InitForOther :: proc (window: glfw.WindowHandle, install_callbacks: bool) -> bool ---
ImGui_ImplGlfw_InitForVulkan :: proc (window: glfw.WindowHandle, install_callbacks: bool) -> bool ---
ImGui_ImplGlfw_InstallCallbacks :: proc (window: glfw.WindowHandle) ---
ImGui_ImplGlfw_KeyCallback :: proc (window: glfw.WindowHandle, key: i32, scancode: i32, action: i32, mods: i32) ---
ImGui_ImplGlfw_MonitorCallback :: proc (monitor: glfw.MonitorHandle, event: i32) ---
ImGui_ImplGlfw_MouseButtonCallback :: proc (window: glfw.WindowHandle, button: i32, action: i32, mods: i32) ---
ImGui_ImplGlfw_NewFrame :: proc () ---
ImGui_ImplGlfw_RestoreCallbacks :: proc (window: glfw.WindowHandle) ---
ImGui_ImplGlfw_ScrollCallback :: proc (window: glfw.WindowHandle, xoffset: f64, yoffset: f64) ---
ImGui_ImplGlfw_Shutdown :: proc () ---
ImGui_ImplGlfw_WindowFocusCallback :: proc (window: glfw.WindowHandle, focused: i32) ---
ImGui_ImplVulkanH_CreateOrResizeWindow :: proc (instance: vk.Instance, physical_device: vk.PhysicalDevice, device: vk.Device, wnd: ^ImGui_ImplVulkanH_Window, queue_family: u32, allocator: ^vk.AllocationCallbacks, w: i32, h: i32, min_image_count: u32) ---
ImGui_ImplVulkanH_DestroyWindow :: proc (instance: vk.Instance, device: vk.Device, wnd: ^ImGui_ImplVulkanH_Window, allocator: ^vk.AllocationCallbacks) ---
ImGui_ImplVulkanH_GetMinImageCountFromPresentMode :: proc (present_mode: vk.PresentModeKHR) -> i32 ---
ImGui_ImplVulkanH_SelectPresentMode :: proc (physical_device: vk.PhysicalDevice, surface: vk.SurfaceKHR, request_modes: ^vk.PresentModeKHR, request_modes_count: i32) -> vk.PresentModeKHR ---
ImGui_ImplVulkanH_SelectSurfaceFormat :: proc (physical_device: vk.PhysicalDevice, surface: vk.SurfaceKHR, request_formats: ^vk.Format, request_formats_count: i32, request_color_space: vk.ColorSpaceKHR) -> vk.SurfaceFormatKHR ---
ImGui_ImplVulkanH_Window_ImGui_ImplVulkanH_Window :: proc () ---
ImGui_ImplVulkanH_Window_destroy :: proc (self: ^ImGui_ImplVulkanH_Window) ---
ImGui_ImplVulkan_AddTexture :: proc (sampler: vk.Sampler, image_view: vk.ImageView, image_layout: vk.ImageLayout) -> vk.DescriptorSet ---
ImGui_ImplVulkan_CreateFontsTexture :: proc (command_buffer: vk.CommandBuffer) -> bool ---
ImGui_ImplVulkan_DestroyFontUploadObjects :: proc () ---
ImGui_ImplVulkan_Init :: proc (info: ^ImGui_ImplVulkan_InitInfo, render_pass: vk.RenderPass) -> bool ---
ImGui_ImplVulkan_LoadFunctions :: proc (procedure: #type proc "c" (function_name: cstring, user_data: rawptr) -> rawptr, user_data: rawptr = nil) -> bool ---
ImGui_ImplVulkan_NewFrame :: proc () ---
ImGui_ImplVulkan_RemoveTexture :: proc (descriptor_set: vk.DescriptorSet) ---
ImGui_ImplVulkan_RenderDrawData :: proc (draw_data: ^ImDrawData, command_buffer: vk.CommandBuffer, pipeline: vk.Pipeline) ---
ImGui_ImplVulkan_SetMinImageCount :: proc (min_image_count: u32) ---
ImGui_ImplVulkan_Shutdown :: proc () ---
}