1 // Generated on 2025-04-19 2 /++ 3 This is a D wrapper around the cimgui library (Dear ImGui). 4 It provides D bindings for the Dear ImGui immediate mode GUI library. 5 6 Features: 7 - Full ImGui API coverage 8 - @trusted wrapper functions 9 - Preserves ImGui's original style and naming conventions 10 - Handles memory management and context safety 11 +/ 12 module imgui; 13 version (has_imgui) 14 { 15 public import imgui.dcimgui; 16 17 @nogc nothrow: 18 19 // Callback function types 20 extern (C) alias ImGuiGetterFunc = const(char)* function(const(void)*, int); 21 extern (C) alias ImGuiValues_getterFunc = float function(void*, int); 22 extern (C) alias ImGuiOld_callbackFunc = bool function(void*, int, const(char)**); 23 24 // D-friendly wrappers 25 scope ImGuiContext* CreateContext(scope ImFontAtlas* shared_font_atlas) @trusted 26 { 27 return igCreateContext(shared_font_atlas); 28 } 29 30 void DestroyContext(scope ImGuiContext* ctx) @trusted 31 { 32 igDestroyContext(ctx); 33 } 34 35 scope ImGuiContext* GetCurrentContext() @trusted 36 { 37 return igGetCurrentContext(); 38 } 39 40 void SetCurrentContext(scope ImGuiContext* ctx) @trusted 41 { 42 igSetCurrentContext(ctx); 43 } 44 45 scope ImGuiIO* GetIO() @trusted 46 { 47 return igGetIO(); 48 } 49 50 scope ImGuiPlatformIO* GetPlatformIO() @trusted 51 { 52 return igGetPlatformIO(); 53 } 54 55 scope ImGuiStyle* GetStyle() @trusted 56 { 57 return igGetStyle(); 58 } 59 60 void NewFrame() @trusted 61 { 62 igNewFrame(); 63 } 64 65 void EndFrame() @trusted 66 { 67 igEndFrame(); 68 } 69 70 void Render() @trusted 71 { 72 igRender(); 73 } 74 75 scope ImDrawData* GetDrawData() @trusted 76 { 77 return igGetDrawData(); 78 } 79 80 void ShowDemoWindow(scope bool* p_open) @trusted 81 { 82 igShowDemoWindow(p_open); 83 } 84 85 void ShowMetricsWindow(scope bool* p_open) @trusted 86 { 87 igShowMetricsWindow(p_open); 88 } 89 90 void ShowDebugLogWindow(scope bool* p_open) @trusted 91 { 92 igShowDebugLogWindow(p_open); 93 } 94 95 void ShowIDStackToolWindow() @trusted 96 { 97 igShowIDStackToolWindow(); 98 } 99 100 void ShowIDStackToolWindowEx(scope bool* p_open) @trusted 101 { 102 igShowIDStackToolWindowEx(p_open); 103 } 104 105 void ShowAboutWindow(scope bool* p_open) @trusted 106 { 107 igShowAboutWindow(p_open); 108 } 109 110 void ShowStyleEditor(scope ImGuiStyle* ref_) @trusted 111 { 112 igShowStyleEditor(ref_); 113 } 114 115 bool ShowStyleSelector(scope const(char)* label) @trusted 116 { 117 return igShowStyleSelector(label); 118 } 119 120 void ShowFontSelector(scope const(char)* label) @trusted 121 { 122 igShowFontSelector(label); 123 } 124 125 void ShowUserGuide() @trusted 126 { 127 igShowUserGuide(); 128 } 129 130 scope const(char)* GetVersion() @trusted 131 { 132 return igGetVersion(); 133 } 134 135 void StyleColorsDark( 136 scope ImGuiStyle* dst) @trusted 137 { 138 igStyleColorsDark(dst); 139 } 140 141 void StyleColorsLight( 142 scope ImGuiStyle* dst) @trusted 143 { 144 igStyleColorsLight(dst); 145 } 146 147 void StyleColorsClassic( 148 scope ImGuiStyle* dst) @trusted 149 { 150 igStyleColorsClassic(dst); 151 } 152 153 bool Begin(scope const(char)* name, scope bool* p_open, ImGuiWindowFlags flags) @trusted 154 { 155 return igBegin(name, p_open, flags); 156 } 157 158 void End() @trusted 159 { 160 igEnd(); 161 } 162 163 bool BeginChild(scope const(char)* str_id, ImVec2 size, ImGuiChildFlags child_flags, ImGuiWindowFlags window_flags) @trusted 164 { 165 return igBeginChild(str_id, size, child_flags, window_flags); 166 } 167 168 bool BeginChildID(ImGuiID id, ImVec2 size, ImGuiChildFlags child_flags, ImGuiWindowFlags window_flags) @trusted 169 { 170 return igBeginChildID(id, size, child_flags, window_flags); 171 } 172 173 void EndChild() @trusted 174 { 175 igEndChild(); 176 } 177 178 bool IsWindowAppearing() @trusted 179 { 180 return igIsWindowAppearing(); 181 } 182 183 bool IsWindowCollapsed() @trusted 184 { 185 return igIsWindowCollapsed(); 186 } 187 188 bool IsWindowFocused( 189 ImGuiFocusedFlags flags) @trusted 190 { 191 return igIsWindowFocused( 192 flags); 193 } 194 195 bool IsWindowHovered( 196 ImGuiHoveredFlags flags) @trusted 197 { 198 return igIsWindowHovered( 199 flags); 200 } 201 202 scope ImDrawList* GetWindowDrawList() @trusted 203 { 204 return igGetWindowDrawList(); 205 } 206 207 ImVec2 GetWindowPos() @trusted 208 { 209 return igGetWindowPos(); 210 } 211 212 ImVec2 GetWindowSize() @trusted 213 { 214 return igGetWindowSize(); 215 } 216 217 float GetWindowWidth() @trusted 218 { 219 return igGetWindowWidth(); 220 } 221 222 float GetWindowHeight() @trusted 223 { 224 return igGetWindowHeight(); 225 } 226 227 void SetNextWindowPos(ImVec2 pos, ImGuiCond cond) @trusted 228 { 229 igSetNextWindowPos(pos, cond); 230 } 231 232 void SetNextWindowPosEx(ImVec2 pos, ImGuiCond cond, ImVec2 pivot) @trusted 233 { 234 igSetNextWindowPosEx(pos, cond, pivot); 235 } 236 237 void SetNextWindowSize(ImVec2 size, ImGuiCond cond) @trusted 238 { 239 igSetNextWindowSize(size, cond); 240 } 241 242 void SetNextWindowSizeConstraints(ImVec2 size_min, ImVec2 size_max, ImGuiSizeCallback custom_callback, scope 243 void* custom_callback_data) @trusted 244 { 245 igSetNextWindowSizeConstraints(size_min, size_max, custom_callback, custom_callback_data); 246 } 247 248 void SetNextWindowContentSize( 249 ImVec2 size) @trusted 250 { 251 igSetNextWindowContentSize( 252 size); 253 } 254 255 void SetNextWindowCollapsed(bool collapsed, ImGuiCond cond) @trusted 256 { 257 igSetNextWindowCollapsed(collapsed, cond); 258 } 259 260 void SetNextWindowFocus() @trusted 261 { 262 igSetNextWindowFocus(); 263 } 264 265 void SetNextWindowScroll( 266 ImVec2 scroll) @trusted 267 { 268 igSetNextWindowScroll( 269 scroll); 270 } 271 272 void SetNextWindowBgAlpha( 273 float alpha) @trusted 274 { 275 igSetNextWindowBgAlpha( 276 alpha); 277 } 278 279 void SetWindowPos(ImVec2 pos, ImGuiCond cond) @trusted 280 { 281 igSetWindowPos(pos, cond); 282 } 283 284 void SetWindowSize(ImVec2 size, ImGuiCond cond) @trusted 285 { 286 igSetWindowSize(size, cond); 287 } 288 289 void SetWindowCollapsed(bool collapsed, ImGuiCond cond) @trusted 290 { 291 igSetWindowCollapsed(collapsed, cond); 292 } 293 294 void SetWindowFocus() @trusted 295 { 296 igSetWindowFocus(); 297 } 298 299 void SetWindowFontScale( 300 float scale) @trusted 301 { 302 igSetWindowFontScale(scale); 303 } 304 305 void SetWindowPosStr(scope const(char)* name, ImVec2 pos, ImGuiCond cond) @trusted 306 { 307 igSetWindowPosStr(name, pos, cond); 308 } 309 310 void SetWindowSizeStr(scope const(char)* name, ImVec2 size, ImGuiCond cond) @trusted 311 { 312 igSetWindowSizeStr(name, size, cond); 313 } 314 315 void SetWindowCollapsedStr(scope const(char)* name, bool collapsed, ImGuiCond cond) @trusted 316 { 317 igSetWindowCollapsedStr(name, collapsed, cond); 318 } 319 320 void SetWindowFocusStr( 321 scope const(char)* name) @trusted 322 { 323 igSetWindowFocusStr(name); 324 } 325 326 float GetScrollX() @trusted 327 { 328 return igGetScrollX(); 329 } 330 331 float GetScrollY() @trusted 332 { 333 return igGetScrollY(); 334 } 335 336 void SetScrollX(float scroll_x) @trusted 337 { 338 igSetScrollX(scroll_x); 339 } 340 341 void SetScrollY(float scroll_y) @trusted 342 { 343 igSetScrollY(scroll_y); 344 } 345 346 float GetScrollMaxX() @trusted 347 { 348 return igGetScrollMaxX(); 349 } 350 351 float GetScrollMaxY() @trusted 352 { 353 return igGetScrollMaxY(); 354 } 355 356 void SetScrollHereX( 357 float center_x_ratio) @trusted 358 { 359 igSetScrollHereX( 360 center_x_ratio); 361 } 362 363 void SetScrollHereY( 364 float center_y_ratio) @trusted 365 { 366 igSetScrollHereY( 367 center_y_ratio); 368 } 369 370 void SetScrollFromPosX(float local_x, float center_x_ratio) @trusted 371 { 372 igSetScrollFromPosX(local_x, center_x_ratio); 373 } 374 375 void SetScrollFromPosY(float local_y, float center_y_ratio) @trusted 376 { 377 igSetScrollFromPosY(local_y, center_y_ratio); 378 } 379 380 void PushFont(scope ImFont* font) @trusted 381 { 382 igPushFont(font); 383 } 384 385 void PopFont() @trusted 386 { 387 igPopFont(); 388 } 389 390 void PushStyleColor(ImGuiCol idx, ImU32 col) @trusted 391 { 392 igPushStyleColor(idx, col); 393 } 394 395 void PushStyleColorImVec4(ImGuiCol idx, ImVec4 col) @trusted 396 { 397 igPushStyleColorImVec4(idx, col); 398 } 399 400 void PopStyleColor() @trusted 401 { 402 igPopStyleColor(); 403 } 404 405 void PopStyleColorEx(int count) @trusted 406 { 407 igPopStyleColorEx(count); 408 } 409 410 void PushStyleVar(ImGuiStyleVar idx, float val) @trusted 411 { 412 igPushStyleVar(idx, val); 413 } 414 415 void PushStyleVarImVec2(ImGuiStyleVar idx, ImVec2 val) @trusted 416 { 417 igPushStyleVarImVec2(idx, val); 418 } 419 420 void PushStyleVarX(ImGuiStyleVar idx, float val_x) @trusted 421 { 422 igPushStyleVarX(idx, val_x); 423 } 424 425 void PushStyleVarY(ImGuiStyleVar idx, float val_y) @trusted 426 { 427 igPushStyleVarY(idx, val_y); 428 } 429 430 void PopStyleVar() @trusted 431 { 432 igPopStyleVar(); 433 } 434 435 void PopStyleVarEx(int count) @trusted 436 { 437 igPopStyleVarEx(count); 438 } 439 440 void PushItemFlag(ImGuiItemFlags option, bool enabled) @trusted 441 { 442 igPushItemFlag(option, enabled); 443 } 444 445 void PopItemFlag() @trusted 446 { 447 igPopItemFlag(); 448 } 449 450 void PushItemWidth( 451 float item_width) @trusted 452 { 453 igPushItemWidth(item_width); 454 } 455 456 void PopItemWidth() @trusted 457 { 458 igPopItemWidth(); 459 } 460 461 void SetNextItemWidth( 462 float item_width) @trusted 463 { 464 igSetNextItemWidth( 465 item_width); 466 } 467 468 float CalcItemWidth() @trusted 469 { 470 return igCalcItemWidth(); 471 } 472 473 void PushTextWrapPos( 474 float wrap_local_pos_x) @trusted 475 { 476 igPushTextWrapPos( 477 wrap_local_pos_x); 478 } 479 480 void PopTextWrapPos() @trusted 481 { 482 igPopTextWrapPos(); 483 } 484 485 scope ImFont* GetFont() @trusted 486 { 487 return igGetFont(); 488 } 489 490 float GetFontSize() @trusted 491 { 492 return igGetFontSize(); 493 } 494 495 ImVec2 GetFontTexUvWhitePixel() @trusted 496 { 497 return igGetFontTexUvWhitePixel(); 498 } 499 500 ImU32 GetColorU32(ImGuiCol idx) @trusted 501 { 502 return igGetColorU32(idx); 503 } 504 505 ImU32 GetColorU32Ex(ImGuiCol idx, float alpha_mul) @trusted 506 { 507 return igGetColorU32Ex(idx, alpha_mul); 508 } 509 510 ImU32 GetColorU32ImVec4( 511 ImVec4 col) @trusted 512 { 513 return igGetColorU32ImVec4( 514 col); 515 } 516 517 ImU32 GetColorU32ImU32( 518 ImU32 col) @trusted 519 { 520 return igGetColorU32ImU32( 521 col); 522 } 523 524 ImU32 GetColorU32ImU32Ex(ImU32 col, float alpha_mul) @trusted 525 { 526 return igGetColorU32ImU32Ex(col, alpha_mul); 527 } 528 529 scope ImVec4* GetStyleColorVec4( 530 ImGuiCol idx) @trusted 531 { 532 return igGetStyleColorVec4( 533 idx); 534 } 535 536 ImVec2 GetCursorScreenPos() @trusted 537 { 538 return igGetCursorScreenPos(); 539 } 540 541 void SetCursorScreenPos( 542 ImVec2 pos) @trusted 543 { 544 igSetCursorScreenPos( 545 pos); 546 } 547 548 ImVec2 GetContentRegionAvail() @trusted 549 { 550 return igGetContentRegionAvail(); 551 } 552 553 ImVec2 GetCursorPos() @trusted 554 { 555 return igGetCursorPos(); 556 } 557 558 float GetCursorPosX() @trusted 559 { 560 return igGetCursorPosX(); 561 } 562 563 float GetCursorPosY() @trusted 564 { 565 return igGetCursorPosY(); 566 } 567 568 void SetCursorPos( 569 ImVec2 local_pos) @trusted 570 { 571 igSetCursorPos( 572 local_pos); 573 } 574 575 void SetCursorPosX( 576 float local_x) @trusted 577 { 578 igSetCursorPosX(local_x); 579 } 580 581 void SetCursorPosY( 582 float local_y) @trusted 583 { 584 igSetCursorPosY(local_y); 585 } 586 587 ImVec2 GetCursorStartPos() @trusted 588 { 589 return igGetCursorStartPos(); 590 } 591 592 void Separator() @trusted 593 { 594 igSeparator(); 595 } 596 597 void SameLine() @trusted 598 { 599 igSameLine(); 600 } 601 602 void SameLineEx(float offset_from_start_x, float spacing) @trusted 603 { 604 igSameLineEx(offset_from_start_x, spacing); 605 } 606 607 void NewLine() @trusted 608 { 609 igNewLine(); 610 } 611 612 void Spacing() @trusted 613 { 614 igSpacing(); 615 } 616 617 void Dummy(ImVec2 size) @trusted 618 { 619 igDummy(size); 620 } 621 622 void Indent() @trusted 623 { 624 igIndent(); 625 } 626 627 void IndentEx(float indent_w) @trusted 628 { 629 igIndentEx(indent_w); 630 } 631 632 void Unindent() @trusted 633 { 634 igUnindent(); 635 } 636 637 void UnindentEx( 638 float indent_w) @trusted 639 { 640 igUnindentEx(indent_w); 641 } 642 643 void BeginGroup() @trusted 644 { 645 igBeginGroup(); 646 } 647 648 void EndGroup() @trusted 649 { 650 igEndGroup(); 651 } 652 653 void AlignTextToFramePadding() @trusted 654 { 655 igAlignTextToFramePadding(); 656 } 657 658 float GetTextLineHeight() @trusted 659 { 660 return igGetTextLineHeight(); 661 } 662 663 float GetTextLineHeightWithSpacing() @trusted 664 { 665 return igGetTextLineHeightWithSpacing(); 666 } 667 668 float GetFrameHeight() @trusted 669 { 670 return igGetFrameHeight(); 671 } 672 673 float GetFrameHeightWithSpacing() @trusted 674 { 675 return igGetFrameHeightWithSpacing(); 676 } 677 678 void PushID( 679 scope const(char)* str_id) @trusted 680 { 681 igPushID(str_id); 682 } 683 684 void PushIDStr(scope const(char)* str_id_begin, scope const(char)* str_id_end) @trusted 685 { 686 igPushIDStr(str_id_begin, str_id_end); 687 } 688 689 void PushIDPtr( 690 scope void* ptr_id) @trusted 691 { 692 igPushIDPtr(ptr_id); 693 } 694 695 void PushIDInt(int int_id) @trusted 696 { 697 igPushIDInt(int_id); 698 } 699 700 void PopID() @trusted 701 { 702 igPopID(); 703 } 704 705 ImGuiID GetID( 706 scope const(char)* str_id) @trusted 707 { 708 return igGetID(str_id); 709 } 710 711 ImGuiID GetIDStr(scope const(char)* str_id_begin, scope const(char)* str_id_end) @trusted 712 { 713 return igGetIDStr(str_id_begin, str_id_end); 714 } 715 716 ImGuiID GetIDPtr( 717 scope void* ptr_id) @trusted 718 { 719 return igGetIDPtr( 720 ptr_id); 721 } 722 723 ImGuiID GetIDInt(int int_id) @trusted 724 { 725 return igGetIDInt( 726 int_id); 727 } 728 729 void TextUnformatted( 730 scope const(char)* text) @trusted 731 { 732 igTextUnformatted(text); 733 } 734 735 void TextUnformattedEx(scope const(char)* text, scope const(char)* text_end) @trusted 736 { 737 igTextUnformattedEx(text, text_end); 738 } 739 740 alias Text = igText; 741 742 void TextV(scope const(char)* fmt, __builtin_va_list args) @trusted 743 { 744 igTextV(fmt, args); 745 } 746 747 void TextColored(ImVec4 col, scope const(char)* fmt) @trusted 748 { 749 igTextColored(col, fmt); 750 } 751 752 void TextColoredV(ImVec4 col, scope const(char)* fmt, __builtin_va_list args) @trusted 753 { 754 igTextColoredV(col, fmt, args); 755 } 756 757 void TextDisabled( 758 scope const(char)* fmt) @trusted 759 { 760 igTextDisabled(fmt); 761 } 762 763 void TextDisabledV(scope const(char)* fmt, __builtin_va_list args) @trusted 764 { 765 igTextDisabledV(fmt, args); 766 } 767 768 void TextWrapped( 769 scope const(char)* fmt) @trusted 770 { 771 igTextWrapped(fmt); 772 } 773 774 void TextWrappedV(scope const(char)* fmt, __builtin_va_list args) @trusted 775 { 776 igTextWrappedV(fmt, args); 777 } 778 779 void LabelText(scope const(char)* label, scope const(char)* fmt) @trusted 780 { 781 igLabelText(label, fmt); 782 } 783 784 void LabelTextV(scope const(char)* label, scope const(char)* fmt, __builtin_va_list args) @trusted 785 { 786 igLabelTextV(label, fmt, args); 787 } 788 789 void BulletText( 790 scope const(char)* fmt) @trusted 791 { 792 igBulletText(fmt); 793 } 794 795 void BulletTextV(scope const(char)* fmt, __builtin_va_list args) @trusted 796 { 797 igBulletTextV(fmt, args); 798 } 799 800 void SeparatorText( 801 scope const(char)* label) @trusted 802 { 803 igSeparatorText(label); 804 } 805 806 bool Button( 807 scope const(char)* label) @trusted 808 { 809 return igButton(label); 810 } 811 812 bool ButtonEx(scope const(char)* label, ImVec2 size) @trusted 813 { 814 return igButtonEx(label, size); 815 } 816 817 bool SmallButton( 818 scope const(char)* label) @trusted 819 { 820 return igSmallButton( 821 label); 822 } 823 824 bool InvisibleButton(scope const(char)* str_id, ImVec2 size, ImGuiButtonFlags flags) @trusted 825 { 826 return igInvisibleButton(str_id, size, flags); 827 } 828 829 bool ArrowButton(scope const(char)* str_id, ImGuiDir dir) @trusted 830 { 831 return igArrowButton(str_id, dir); 832 } 833 834 bool Checkbox(scope const(char)* label, scope bool* v) @trusted 835 { 836 return igCheckbox(label, v); 837 } 838 839 bool CheckboxFlagsIntPtr(scope const(char)* label, scope int* flags, int flags_value) @trusted 840 { 841 return igCheckboxFlagsIntPtr(label, flags, flags_value); 842 } 843 844 bool CheckboxFlagsUintPtr(scope const(char)* label, scope uint* flags, uint flags_value) @trusted 845 { 846 return igCheckboxFlagsUintPtr(label, flags, flags_value); 847 } 848 849 bool RadioButton(scope const(char)* label, bool active) @trusted 850 { 851 return igRadioButton(label, active); 852 } 853 854 bool RadioButtonIntPtr(scope const(char)* label, scope int* v, int v_button) @trusted 855 { 856 return igRadioButtonIntPtr(label, v, v_button); 857 } 858 859 void ProgressBar(float fraction, ImVec2 size_arg, scope const(char)* overlay) @trusted 860 { 861 igProgressBar(fraction, size_arg, overlay); 862 } 863 864 void Bullet() @trusted 865 { 866 igBullet(); 867 } 868 869 bool TextLink( 870 scope const(char)* label) @trusted 871 { 872 return igTextLink(label); 873 } 874 875 void TextLinkOpenURL( 876 scope const(char)* label) @trusted 877 { 878 igTextLinkOpenURL(label); 879 } 880 881 void TextLinkOpenURLEx(scope const(char)* label, scope const(char)* url) @trusted 882 { 883 igTextLinkOpenURLEx(label, url); 884 } 885 886 void Image(ImTextureID user_texture_id, ImVec2 image_size) @trusted 887 { 888 igImage(user_texture_id, image_size); 889 } 890 891 void ImageEx(ImTextureID user_texture_id, ImVec2 image_size, ImVec2 uv0, ImVec2 uv1) @trusted 892 { 893 igImageEx(user_texture_id, image_size, uv0, uv1); 894 } 895 896 void ImageWithBg(ImTextureID user_texture_id, ImVec2 image_size) @trusted 897 { 898 igImageWithBg(user_texture_id, image_size); 899 } 900 901 void ImageWithBgEx(ImTextureID user_texture_id, ImVec2 image_size, ImVec2 uv0, ImVec2 uv1, ImVec4 bg_col, ImVec4 tint_col) @trusted 902 { 903 igImageWithBgEx(user_texture_id, image_size, uv0, uv1, bg_col, tint_col); 904 } 905 906 bool ImageButton(scope const(char)* str_id, ImTextureID user_texture_id, ImVec2 image_size) @trusted 907 { 908 return igImageButton(str_id, user_texture_id, image_size); 909 } 910 911 bool ImageButtonEx(scope const(char)* str_id, ImTextureID user_texture_id, ImVec2 image_size, ImVec2 uv0, ImVec2 uv1, ImVec4 bg_col, ImVec4 tint_col) @trusted 912 { 913 return igImageButtonEx(str_id, user_texture_id, image_size, uv0, uv1, bg_col, tint_col); 914 } 915 916 bool BeginCombo(scope const(char)* label, scope const(char)* preview_value, ImGuiComboFlags flags) @trusted 917 { 918 return igBeginCombo(label, preview_value, flags); 919 } 920 921 void EndCombo() @trusted 922 { 923 igEndCombo(); 924 } 925 926 bool ComboChar(scope const(char)* label, scope int* current_item, scope const(char)** items, int items_count) @trusted 927 { 928 return igComboChar(label, current_item, items, items_count); 929 } 930 931 bool ComboCharEx(scope const(char)* label, scope int* current_item, scope const(char)** items, int items_count, int popup_max_height_in_items) @trusted 932 { 933 return igComboCharEx(label, current_item, items, items_count, popup_max_height_in_items); 934 } 935 936 bool Combo(scope const(char)* label, scope int* current_item, scope const(char)* items_separated_by_zeros) @trusted 937 { 938 return igCombo(label, current_item, items_separated_by_zeros); 939 } 940 941 bool ComboEx(scope const(char)* label, scope int* current_item, scope const(char)* items_separated_by_zeros, int popup_max_height_in_items) @trusted 942 { 943 return igComboEx(label, current_item, items_separated_by_zeros, popup_max_height_in_items); 944 } 945 946 bool ComboCallback(scope const(char)* label, scope int* current_item, ImGuiGetterFunc getter, scope 947 void* user_data, int items_count) @trusted 948 { 949 return igComboCallback(label, current_item, getter, user_data, items_count); 950 } 951 952 bool ComboCallbackEx(scope const(char)* label, scope int* current_item, ImGuiGetterFunc getter, scope 953 void* user_data, int items_count, int popup_max_height_in_items) @trusted 954 { 955 return igComboCallbackEx(label, current_item, getter, user_data, items_count, popup_max_height_in_items); 956 } 957 958 bool DragFloat(scope const(char)* label, scope float* v) @trusted 959 { 960 return igDragFloat(label, v); 961 } 962 963 bool DragFloatEx(scope const(char)* label, scope float* v, float v_speed, float v_min, float v_max, scope 964 char* format, ImGuiSliderFlags flags) @trusted 965 { 966 return igDragFloatEx(label, v, v_speed, v_min, v_max, format, flags); 967 } 968 969 bool DragFloat2(scope const(char)* label, scope float* v) @trusted 970 { 971 return igDragFloat2(label, v); 972 } 973 974 bool DragFloat2Ex(scope const(char)* label, scope float* v, float v_speed, float v_min, float v_max, scope 975 char* format, ImGuiSliderFlags flags) @trusted 976 { 977 return igDragFloat2Ex(label, v, v_speed, v_min, v_max, format, flags); 978 } 979 980 bool DragFloat3(scope const(char)* label, scope float* v) @trusted 981 { 982 return igDragFloat3(label, v); 983 } 984 985 bool DragFloat3Ex(scope const(char)* label, scope float* v, float v_speed, float v_min, float v_max, scope 986 char* format, ImGuiSliderFlags flags) @trusted 987 { 988 return igDragFloat3Ex(label, v, v_speed, v_min, v_max, format, flags); 989 } 990 991 bool DragFloat4(scope const(char)* label, scope float* v) @trusted 992 { 993 return igDragFloat4(label, v); 994 } 995 996 bool DragFloat4Ex(scope const(char)* label, scope float* v, float v_speed, float v_min, float v_max, scope 997 char* format, ImGuiSliderFlags flags) @trusted 998 { 999 return igDragFloat4Ex(label, v, v_speed, v_min, v_max, format, flags); 1000 } 1001 1002 bool DragFloatRange2(scope const(char)* label, scope float* v_current_min, scope 1003 float* v_current_max) @trusted 1004 { 1005 return igDragFloatRange2(label, v_current_min, v_current_max); 1006 } 1007 1008 bool DragFloatRange2Ex(scope const(char)* label, scope float* v_current_min, scope 1009 float* v_current_max, float v_speed, float v_min, float v_max, scope const(char)* format, scope 1010 char* format_max, ImGuiSliderFlags flags) @trusted 1011 { 1012 return igDragFloatRange2Ex(label, v_current_min, v_current_max, v_speed, v_min, v_max, format, format_max, flags); 1013 } 1014 1015 bool DragInt(scope const(char)* label, scope int* v) @trusted 1016 { 1017 return igDragInt(label, v); 1018 } 1019 1020 bool DragIntEx(scope const(char)* label, scope int* v, float v_speed, int v_min, int v_max, scope 1021 char* format, ImGuiSliderFlags flags) @trusted 1022 { 1023 return igDragIntEx(label, v, v_speed, v_min, v_max, format, flags); 1024 } 1025 1026 bool DragInt2(scope const(char)* label, scope int* v) @trusted 1027 { 1028 return igDragInt2(label, v); 1029 } 1030 1031 bool DragInt2Ex(scope const(char)* label, scope int* v, float v_speed, int v_min, int v_max, scope 1032 char* format, ImGuiSliderFlags flags) @trusted 1033 { 1034 return igDragInt2Ex(label, v, v_speed, v_min, v_max, format, flags); 1035 } 1036 1037 bool DragInt3(scope const(char)* label, scope int* v) @trusted 1038 { 1039 return igDragInt3(label, v); 1040 } 1041 1042 bool DragInt3Ex(scope const(char)* label, scope int* v, float v_speed, int v_min, int v_max, scope 1043 char* format, ImGuiSliderFlags flags) @trusted 1044 { 1045 return igDragInt3Ex(label, v, v_speed, v_min, v_max, format, flags); 1046 } 1047 1048 bool DragInt4(scope const(char)* label, scope int* v) @trusted 1049 { 1050 return igDragInt4(label, v); 1051 } 1052 1053 bool DragInt4Ex(scope const(char)* label, scope int* v, float v_speed, int v_min, int v_max, scope 1054 char* format, ImGuiSliderFlags flags) @trusted 1055 { 1056 return igDragInt4Ex(label, v, v_speed, v_min, v_max, format, flags); 1057 } 1058 1059 bool DragIntRange2(scope const(char)* label, scope int* v_current_min, scope int* v_current_max) @trusted 1060 { 1061 return igDragIntRange2(label, v_current_min, v_current_max); 1062 } 1063 1064 bool DragIntRange2Ex(scope const(char)* label, scope int* v_current_min, scope int* v_current_max, float v_speed, int v_min, int v_max, scope 1065 char* format, scope const(char)* format_max, ImGuiSliderFlags flags) @trusted 1066 { 1067 return igDragIntRange2Ex(label, v_current_min, v_current_max, v_speed, v_min, v_max, format, format_max, flags); 1068 } 1069 1070 bool DragScalar(scope const(char)* label, ImGuiDataType data_type, scope void* p_data) @trusted 1071 { 1072 return igDragScalar(label, data_type, p_data); 1073 } 1074 1075 bool DragScalarEx(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, float v_speed, scope void* p_min, scope 1076 void* p_max, scope const(char)* format, ImGuiSliderFlags flags) @trusted 1077 { 1078 return igDragScalarEx(label, data_type, p_data, v_speed, p_min, p_max, format, flags); 1079 } 1080 1081 bool DragScalarN(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, int components) @trusted 1082 { 1083 return igDragScalarN(label, data_type, p_data, components); 1084 } 1085 1086 bool DragScalarNEx(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, int components, float v_speed, scope 1087 void* p_min, scope void* p_max, scope const(char)* format, ImGuiSliderFlags flags) @trusted 1088 { 1089 return igDragScalarNEx(label, data_type, p_data, components, v_speed, p_min, p_max, format, flags); 1090 } 1091 1092 bool SliderFloat(scope const(char)* label, scope float* v, float v_min, float v_max) @trusted 1093 { 1094 return igSliderFloat(label, v, v_min, v_max); 1095 } 1096 1097 bool SliderFloatEx(scope const(char)* label, scope float* v, float v_min, float v_max, scope 1098 char* format, ImGuiSliderFlags flags) @trusted 1099 { 1100 return igSliderFloatEx(label, v, v_min, v_max, format, flags); 1101 } 1102 1103 bool SliderFloat2(scope const(char)* label, scope float* v, float v_min, float v_max) @trusted 1104 { 1105 return igSliderFloat2(label, v, v_min, v_max); 1106 } 1107 1108 bool SliderFloat2Ex(scope const(char)* label, scope float* v, float v_min, float v_max, scope 1109 char* format, ImGuiSliderFlags flags) @trusted 1110 { 1111 return igSliderFloat2Ex(label, v, v_min, v_max, format, flags); 1112 } 1113 1114 bool SliderFloat3(scope const(char)* label, scope float* v, float v_min, float v_max) @trusted 1115 { 1116 return igSliderFloat3(label, v, v_min, v_max); 1117 } 1118 1119 bool SliderFloat3Ex(scope const(char)* label, scope float* v, float v_min, float v_max, scope 1120 char* format, ImGuiSliderFlags flags) @trusted 1121 { 1122 return igSliderFloat3Ex(label, v, v_min, v_max, format, flags); 1123 } 1124 1125 bool SliderFloat4(scope const(char)* label, scope float* v, float v_min, float v_max) @trusted 1126 { 1127 return igSliderFloat4(label, v, v_min, v_max); 1128 } 1129 1130 bool SliderFloat4Ex(scope const(char)* label, scope float* v, float v_min, float v_max, scope 1131 char* format, ImGuiSliderFlags flags) @trusted 1132 { 1133 return igSliderFloat4Ex(label, v, v_min, v_max, format, flags); 1134 } 1135 1136 bool SliderAngle(scope const(char)* label, scope float* v_rad) @trusted 1137 { 1138 return igSliderAngle(label, v_rad); 1139 } 1140 1141 bool SliderAngleEx(scope const(char)* label, scope float* v_rad, float v_degrees_min, float v_degrees_max, scope 1142 char* format, ImGuiSliderFlags flags) @trusted 1143 { 1144 return igSliderAngleEx(label, v_rad, v_degrees_min, v_degrees_max, format, flags); 1145 } 1146 1147 bool SliderInt(scope const(char)* label, scope int* v, int v_min, int v_max) @trusted 1148 { 1149 return igSliderInt(label, v, v_min, v_max); 1150 } 1151 1152 bool SliderIntEx(scope const(char)* label, scope int* v, int v_min, int v_max, scope 1153 char* format, ImGuiSliderFlags flags) @trusted 1154 { 1155 return igSliderIntEx(label, v, v_min, v_max, format, flags); 1156 } 1157 1158 bool SliderInt2(scope const(char)* label, scope int* v, int v_min, int v_max) @trusted 1159 { 1160 return igSliderInt2(label, v, v_min, v_max); 1161 } 1162 1163 bool SliderInt2Ex(scope const(char)* label, scope int* v, int v_min, int v_max, scope 1164 char* format, ImGuiSliderFlags flags) @trusted 1165 { 1166 return igSliderInt2Ex(label, v, v_min, v_max, format, flags); 1167 } 1168 1169 bool SliderInt3(scope const(char)* label, scope int* v, int v_min, int v_max) @trusted 1170 { 1171 return igSliderInt3(label, v, v_min, v_max); 1172 } 1173 1174 bool SliderInt3Ex(scope const(char)* label, scope int* v, int v_min, int v_max, scope 1175 char* format, ImGuiSliderFlags flags) @trusted 1176 { 1177 return igSliderInt3Ex(label, v, v_min, v_max, format, flags); 1178 } 1179 1180 bool SliderInt4(scope const(char)* label, scope int* v, int v_min, int v_max) @trusted 1181 { 1182 return igSliderInt4(label, v, v_min, v_max); 1183 } 1184 1185 bool SliderInt4Ex(scope const(char)* label, scope int* v, int v_min, int v_max, scope 1186 char* format, ImGuiSliderFlags flags) @trusted 1187 { 1188 return igSliderInt4Ex(label, v, v_min, v_max, format, flags); 1189 } 1190 1191 bool SliderScalar(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, scope 1192 void* p_min, scope void* p_max) @trusted 1193 { 1194 return igSliderScalar(label, data_type, p_data, p_min, p_max); 1195 } 1196 1197 bool SliderScalarEx(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, scope void* p_min, scope 1198 void* p_max, scope const(char)* format, ImGuiSliderFlags flags) @trusted 1199 { 1200 return igSliderScalarEx(label, data_type, p_data, p_min, p_max, format, flags); 1201 } 1202 1203 bool SliderScalarN(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, int components, scope 1204 void* p_min, scope void* p_max) @trusted 1205 { 1206 return igSliderScalarN(label, data_type, p_data, components, p_min, p_max); 1207 } 1208 1209 bool SliderScalarNEx(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, int components, scope void* p_min, scope 1210 void* p_max, scope const(char)* format, ImGuiSliderFlags flags) @trusted 1211 { 1212 return igSliderScalarNEx(label, data_type, p_data, components, p_min, p_max, format, flags); 1213 } 1214 1215 bool VSliderFloat(scope const(char)* label, ImVec2 size, scope float* v, float v_min, float v_max) @trusted 1216 { 1217 return igVSliderFloat(label, size, v, v_min, v_max); 1218 } 1219 1220 bool VSliderFloatEx(scope const(char)* label, ImVec2 size, scope float* v, float v_min, float v_max, scope 1221 char* format, ImGuiSliderFlags flags) @trusted 1222 { 1223 return igVSliderFloatEx(label, size, v, v_min, v_max, format, flags); 1224 } 1225 1226 bool VSliderInt(scope const(char)* label, ImVec2 size, scope int* v, int v_min, int v_max) @trusted 1227 { 1228 return igVSliderInt(label, size, v, v_min, v_max); 1229 } 1230 1231 bool VSliderIntEx(scope const(char)* label, ImVec2 size, scope int* v, int v_min, int v_max, scope 1232 char* format, ImGuiSliderFlags flags) @trusted 1233 { 1234 return igVSliderIntEx(label, size, v, v_min, v_max, format, flags); 1235 } 1236 1237 bool VSliderScalar(scope const(char)* label, ImVec2 size, ImGuiDataType data_type, scope 1238 void* p_data, scope void* p_min, scope void* p_max) @trusted 1239 { 1240 return igVSliderScalar(label, size, data_type, p_data, p_min, p_max); 1241 } 1242 1243 bool VSliderScalarEx(scope const(char)* label, ImVec2 size, ImGuiDataType data_type, scope 1244 void* p_data, scope void* p_min, scope void* p_max, scope const(char)* format, ImGuiSliderFlags flags) @trusted 1245 { 1246 return igVSliderScalarEx(label, size, data_type, p_data, p_min, p_max, format, flags); 1247 } 1248 1249 bool InputText(scope const(char)* label, scope char* buf, size_t buf_size, ImGuiInputTextFlags flags) @trusted 1250 { 1251 return igInputText(label, buf, buf_size, flags); 1252 } 1253 1254 bool InputTextEx(scope const(char)* label, scope char* buf, size_t buf_size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, scope 1255 void* user_data) @trusted 1256 { 1257 return igInputTextEx(label, buf, buf_size, flags, callback, user_data); 1258 } 1259 1260 bool InputTextMultiline(scope const(char)* label, scope char* buf, size_t buf_size) @trusted 1261 { 1262 return igInputTextMultiline(label, buf, buf_size); 1263 } 1264 1265 bool InputTextMultilineEx(scope const(char)* label, scope char* buf, size_t buf_size, ImVec2 size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, scope 1266 void* user_data) @trusted 1267 { 1268 return igInputTextMultilineEx(label, buf, buf_size, size, flags, callback, user_data); 1269 } 1270 1271 bool InputTextWithHint(scope const(char)* label, scope const(char)* hint, scope char* buf, size_t buf_size, ImGuiInputTextFlags flags) @trusted 1272 { 1273 return igInputTextWithHint(label, hint, buf, buf_size, flags); 1274 } 1275 1276 bool InputTextWithHintEx(scope const(char)* label, scope const(char)* hint, scope char* buf, size_t buf_size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, scope 1277 void* user_data) @trusted 1278 { 1279 return igInputTextWithHintEx(label, hint, buf, buf_size, flags, callback, user_data); 1280 } 1281 1282 bool InputFloat(scope const(char)* label, scope float* v) @trusted 1283 { 1284 return igInputFloat(label, v); 1285 } 1286 1287 bool InputFloatEx(scope const(char)* label, scope float* v, float step, float step_fast, scope 1288 char* format, ImGuiInputTextFlags flags) @trusted 1289 { 1290 return igInputFloatEx(label, v, step, step_fast, format, flags); 1291 } 1292 1293 bool InputFloat2(scope const(char)* label, scope float* v) @trusted 1294 { 1295 return igInputFloat2(label, v); 1296 } 1297 1298 bool InputFloat2Ex(scope const(char)* label, scope float* v, scope const(char)* format, ImGuiInputTextFlags flags) @trusted 1299 { 1300 return igInputFloat2Ex(label, v, format, flags); 1301 } 1302 1303 bool InputFloat3(scope const(char)* label, scope float* v) @trusted 1304 { 1305 return igInputFloat3(label, v); 1306 } 1307 1308 bool InputFloat3Ex(scope const(char)* label, scope float* v, scope const(char)* format, ImGuiInputTextFlags flags) @trusted 1309 { 1310 return igInputFloat3Ex(label, v, format, flags); 1311 } 1312 1313 bool InputFloat4(scope const(char)* label, scope float* v) @trusted 1314 { 1315 return igInputFloat4(label, v); 1316 } 1317 1318 bool InputFloat4Ex(scope const(char)* label, scope float* v, scope const(char)* format, ImGuiInputTextFlags flags) @trusted 1319 { 1320 return igInputFloat4Ex(label, v, format, flags); 1321 } 1322 1323 bool InputInt(scope const(char)* label, scope int* v) @trusted 1324 { 1325 return igInputInt(label, v); 1326 } 1327 1328 bool InputIntEx(scope const(char)* label, scope int* v, int step, int step_fast, ImGuiInputTextFlags flags) @trusted 1329 { 1330 return igInputIntEx(label, v, step, step_fast, flags); 1331 } 1332 1333 bool InputInt2(scope const(char)* label, scope int* v, ImGuiInputTextFlags flags) @trusted 1334 { 1335 return igInputInt2(label, v, flags); 1336 } 1337 1338 bool InputInt3(scope const(char)* label, scope int* v, ImGuiInputTextFlags flags) @trusted 1339 { 1340 return igInputInt3(label, v, flags); 1341 } 1342 1343 bool InputInt4(scope const(char)* label, scope int* v, ImGuiInputTextFlags flags) @trusted 1344 { 1345 return igInputInt4(label, v, flags); 1346 } 1347 1348 bool InputDouble(scope const(char)* label, scope double* v) @trusted 1349 { 1350 return igInputDouble(label, v); 1351 } 1352 1353 bool InputDoubleEx(scope const(char)* label, scope double* v, double step, double step_fast, scope 1354 char* format, ImGuiInputTextFlags flags) @trusted 1355 { 1356 return igInputDoubleEx(label, v, step, step_fast, format, flags); 1357 } 1358 1359 bool InputScalar(scope const(char)* label, ImGuiDataType data_type, scope void* p_data) @trusted 1360 { 1361 return igInputScalar(label, data_type, p_data); 1362 } 1363 1364 bool InputScalarEx(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, scope void* p_step, scope 1365 void* p_step_fast, scope const(char)* format, ImGuiInputTextFlags flags) @trusted 1366 { 1367 return igInputScalarEx(label, data_type, p_data, p_step, p_step_fast, format, flags); 1368 } 1369 1370 bool InputScalarN(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, int components) @trusted 1371 { 1372 return igInputScalarN(label, data_type, p_data, components); 1373 } 1374 1375 bool InputScalarNEx(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, int components, scope void* p_step, scope 1376 void* p_step_fast, scope const(char)* format, ImGuiInputTextFlags flags) @trusted 1377 { 1378 return igInputScalarNEx(label, data_type, p_data, components, p_step, p_step_fast, format, flags); 1379 } 1380 1381 bool ColorEdit3(scope const(char)* label, scope float* col, ImGuiColorEditFlags flags) @trusted 1382 { 1383 return igColorEdit3(label, col, flags); 1384 } 1385 1386 bool ColorEdit4(scope const(char)* label, scope float* col, ImGuiColorEditFlags flags) @trusted 1387 { 1388 return igColorEdit4(label, col, flags); 1389 } 1390 1391 bool ColorPicker3(scope const(char)* label, scope float* col, ImGuiColorEditFlags flags) @trusted 1392 { 1393 return igColorPicker3(label, col, flags); 1394 } 1395 1396 bool ColorPicker4(scope const(char)* label, scope float* col, ImGuiColorEditFlags flags, scope 1397 float* ref_col) @trusted 1398 { 1399 return igColorPicker4(label, col, flags, ref_col); 1400 } 1401 1402 bool ColorButton(scope const(char)* desc_id, ImVec4 col, ImGuiColorEditFlags flags) @trusted 1403 { 1404 return igColorButton(desc_id, col, flags); 1405 } 1406 1407 bool ColorButtonEx(scope const(char)* desc_id, ImVec4 col, ImGuiColorEditFlags flags, ImVec2 size) @trusted 1408 { 1409 return igColorButtonEx(desc_id, col, flags, size); 1410 } 1411 1412 void SetColorEditOptions( 1413 ImGuiColorEditFlags flags) @trusted 1414 { 1415 igSetColorEditOptions( 1416 flags); 1417 } 1418 1419 bool TreeNode( 1420 scope const(char)* label) @trusted 1421 { 1422 return igTreeNode(label); 1423 } 1424 1425 bool TreeNodeStr(scope const(char)* str_id, scope const(char)* fmt) @trusted 1426 { 1427 return igTreeNodeStr(str_id, fmt); 1428 } 1429 1430 bool TreeNodePtr(scope void* ptr_id, scope const(char)* fmt) @trusted 1431 { 1432 return igTreeNodePtr(ptr_id, fmt); 1433 } 1434 1435 bool TreeNodeV(scope const(char)* str_id, scope const(char)* fmt, __builtin_va_list args) @trusted 1436 { 1437 return igTreeNodeV(str_id, fmt, args); 1438 } 1439 1440 bool TreeNodeVPtr(scope void* ptr_id, scope const(char)* fmt, __builtin_va_list args) @trusted 1441 { 1442 return igTreeNodeVPtr(ptr_id, fmt, args); 1443 } 1444 1445 bool TreeNodeEx(scope const(char)* label, ImGuiTreeNodeFlags flags) @trusted 1446 { 1447 return igTreeNodeEx(label, flags); 1448 } 1449 1450 bool TreeNodeExStr(scope const(char)* str_id, ImGuiTreeNodeFlags flags, scope const(char)* fmt) @trusted 1451 { 1452 return igTreeNodeExStr(str_id, flags, fmt); 1453 } 1454 1455 bool TreeNodeExPtr(scope void* ptr_id, ImGuiTreeNodeFlags flags, scope const(char)* fmt) @trusted 1456 { 1457 return igTreeNodeExPtr(ptr_id, flags, fmt); 1458 } 1459 1460 bool TreeNodeExV(scope const(char)* str_id, ImGuiTreeNodeFlags flags, scope const(char)* fmt, __builtin_va_list args) @trusted 1461 { 1462 return igTreeNodeExV(str_id, flags, fmt, args); 1463 } 1464 1465 bool TreeNodeExVPtr(scope void* ptr_id, ImGuiTreeNodeFlags flags, scope const(char)* fmt, __builtin_va_list args) @trusted 1466 { 1467 return igTreeNodeExVPtr(ptr_id, flags, fmt, args); 1468 } 1469 1470 void TreePush( 1471 scope const(char)* str_id) @trusted 1472 { 1473 igTreePush(str_id); 1474 } 1475 1476 void TreePushPtr( 1477 scope void* ptr_id) @trusted 1478 { 1479 igTreePushPtr(ptr_id); 1480 } 1481 1482 void TreePop() @trusted 1483 { 1484 igTreePop(); 1485 } 1486 1487 float GetTreeNodeToLabelSpacing() @trusted 1488 { 1489 return igGetTreeNodeToLabelSpacing(); 1490 } 1491 1492 bool CollapsingHeader(scope const(char)* label, ImGuiTreeNodeFlags flags) @trusted 1493 { 1494 return igCollapsingHeader(label, flags); 1495 } 1496 1497 bool CollapsingHeaderBoolPtr(scope const(char)* label, scope bool* p_visible, ImGuiTreeNodeFlags flags) @trusted 1498 { 1499 return igCollapsingHeaderBoolPtr(label, p_visible, flags); 1500 } 1501 1502 void SetNextItemOpen(bool is_open, ImGuiCond cond) @trusted 1503 { 1504 igSetNextItemOpen(is_open, cond); 1505 } 1506 1507 void SetNextItemStorageID( 1508 ImGuiID storage_id) @trusted 1509 { 1510 igSetNextItemStorageID( 1511 storage_id); 1512 } 1513 1514 bool Selectable( 1515 scope const(char)* label) @trusted 1516 { 1517 return igSelectable( 1518 label); 1519 } 1520 1521 bool SelectableEx(scope const(char)* label, bool selected, ImGuiSelectableFlags flags, ImVec2 size) @trusted 1522 { 1523 return igSelectableEx(label, selected, flags, size); 1524 } 1525 1526 bool SelectableBoolPtr(scope const(char)* label, scope bool* p_selected, ImGuiSelectableFlags flags) @trusted 1527 { 1528 return igSelectableBoolPtr(label, p_selected, flags); 1529 } 1530 1531 bool SelectableBoolPtrEx(scope const(char)* label, scope bool* p_selected, ImGuiSelectableFlags flags, ImVec2 size) @trusted 1532 { 1533 return igSelectableBoolPtrEx(label, p_selected, flags, size); 1534 } 1535 1536 scope ImGuiMultiSelectIO* BeginMultiSelect( 1537 ImGuiMultiSelectFlags flags) @trusted 1538 { 1539 return igBeginMultiSelect( 1540 flags); 1541 } 1542 1543 scope ImGuiMultiSelectIO* BeginMultiSelectEx( 1544 ImGuiMultiSelectFlags flags, int selection_size, int items_count) @trusted 1545 { 1546 return igBeginMultiSelectEx(flags, selection_size, items_count); 1547 } 1548 1549 scope ImGuiMultiSelectIO* EndMultiSelect() @trusted 1550 { 1551 return igEndMultiSelect(); 1552 } 1553 1554 void SetNextItemSelectionUserData( 1555 ImGuiSelectionUserData selection_user_data) @trusted 1556 { 1557 igSetNextItemSelectionUserData( 1558 selection_user_data); 1559 } 1560 1561 bool IsItemToggledSelection() @trusted 1562 { 1563 return igIsItemToggledSelection(); 1564 } 1565 1566 bool BeginListBox(scope const(char)* label, ImVec2 size) @trusted 1567 { 1568 return igBeginListBox(label, size); 1569 } 1570 1571 void EndListBox() @trusted 1572 { 1573 igEndListBox(); 1574 } 1575 1576 bool ListBox(scope const(char)* label, scope int* current_item, scope const(char)** items, int items_count, int height_in_items) @trusted 1577 { 1578 return igListBox(label, current_item, items, items_count, height_in_items); 1579 } 1580 1581 bool ListBoxCallback(scope const(char)* label, scope int* current_item, ImGuiGetterFunc getter, scope 1582 void* user_data, int items_count) @trusted 1583 { 1584 return igListBoxCallback(label, current_item, getter, user_data, items_count); 1585 } 1586 1587 bool ListBoxCallbackEx(scope const(char)* label, scope int* current_item, ImGuiGetterFunc getter, scope 1588 void* user_data, int items_count, int height_in_items) @trusted 1589 { 1590 return igListBoxCallbackEx(label, current_item, getter, user_data, items_count, height_in_items); 1591 } 1592 1593 void PlotLines(scope const(char)* label, scope const(float)* values, int values_count) @trusted 1594 { 1595 igPlotLines(label, values, values_count); 1596 } 1597 1598 void PlotLinesEx(scope const(char)* label, scope const(float)* values, int values_count, int values_offset, scope 1599 char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size, int stride) @trusted 1600 { 1601 igPlotLinesEx(label, values, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size, stride); 1602 } 1603 1604 void PlotLinesCallback(scope const(char)* label, ImGuiValues_getterFunc values_getter, scope 1605 void* data, int values_count) @trusted 1606 { 1607 igPlotLinesCallback(label, values_getter, data, values_count); 1608 } 1609 1610 void PlotLinesCallbackEx(scope const(char)* label, ImGuiValues_getterFunc values_getter, scope 1611 void* data, int values_count, int values_offset, scope const(char)* overlay_text, float scale_min, float scale_max, ImVec2 graph_size) @trusted 1612 { 1613 igPlotLinesCallbackEx(label, values_getter, data, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size); 1614 } 1615 1616 void PlotHistogram(scope const(char)* label, scope const(float)* values, int values_count) @trusted 1617 { 1618 igPlotHistogram(label, values, values_count); 1619 } 1620 1621 void PlotHistogramEx(scope const(char)* label, scope const(float)* values, int values_count, int values_offset, scope 1622 char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size, int stride) @trusted 1623 { 1624 igPlotHistogramEx(label, values, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size, stride); 1625 } 1626 1627 void PlotHistogramCallback(scope const(char)* label, ImGuiValues_getterFunc values_getter, scope 1628 void* data, int values_count) @trusted 1629 { 1630 igPlotHistogramCallback(label, values_getter, data, values_count); 1631 } 1632 1633 void PlotHistogramCallbackEx(scope const(char)* label, ImGuiValues_getterFunc values_getter, scope 1634 void* data, int values_count, int values_offset, scope const(char)* overlay_text, float scale_min, float scale_max, ImVec2 graph_size) @trusted 1635 { 1636 igPlotHistogramCallbackEx(label, values_getter, data, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size); 1637 } 1638 1639 bool BeginMenuBar() @trusted 1640 { 1641 return igBeginMenuBar(); 1642 } 1643 1644 void EndMenuBar() @trusted 1645 { 1646 igEndMenuBar(); 1647 } 1648 1649 bool BeginMainMenuBar() @trusted 1650 { 1651 return igBeginMainMenuBar(); 1652 } 1653 1654 void EndMainMenuBar() @trusted 1655 { 1656 igEndMainMenuBar(); 1657 } 1658 1659 bool BeginMenu( 1660 scope const(char)* label) @trusted 1661 { 1662 return igBeginMenu( 1663 label); 1664 } 1665 1666 bool BeginMenuEx(scope const(char)* label, bool enabled) @trusted 1667 { 1668 return igBeginMenuEx(label, enabled); 1669 } 1670 1671 void EndMenu() @trusted 1672 { 1673 igEndMenu(); 1674 } 1675 1676 bool MenuItem( 1677 scope const(char)* label) @trusted 1678 { 1679 return igMenuItem(label); 1680 } 1681 1682 bool MenuItemEx(scope const(char)* label, scope const(char)* shortcut, bool selected, bool enabled) @trusted 1683 { 1684 return igMenuItemEx(label, shortcut, selected, enabled); 1685 } 1686 1687 bool MenuItemBoolPtr(scope const(char)* label, scope const(char)* shortcut, scope bool* p_selected, bool enabled) @trusted 1688 { 1689 return igMenuItemBoolPtr(label, shortcut, p_selected, enabled); 1690 } 1691 1692 bool BeginTooltip() @trusted 1693 { 1694 return igBeginTooltip(); 1695 } 1696 1697 void EndTooltip() @trusted 1698 { 1699 igEndTooltip(); 1700 } 1701 1702 void SetTooltip( 1703 scope const(char)* fmt) @trusted 1704 { 1705 igSetTooltip(fmt); 1706 } 1707 1708 void SetTooltipV(scope const(char)* fmt, __builtin_va_list args) @trusted 1709 { 1710 igSetTooltipV(fmt, args); 1711 } 1712 1713 bool BeginItemTooltip() @trusted 1714 { 1715 return igBeginItemTooltip(); 1716 } 1717 1718 void SetItemTooltip( 1719 scope const(char)* fmt) @trusted 1720 { 1721 igSetItemTooltip(fmt); 1722 } 1723 1724 void SetItemTooltipV(scope const(char)* fmt, __builtin_va_list args) @trusted 1725 { 1726 igSetItemTooltipV(fmt, args); 1727 } 1728 1729 bool BeginPopup(scope const(char)* str_id, ImGuiWindowFlags flags) @trusted 1730 { 1731 return igBeginPopup(str_id, flags); 1732 } 1733 1734 bool BeginPopupModal(scope const(char)* name, scope bool* p_open, ImGuiWindowFlags flags) @trusted 1735 { 1736 return igBeginPopupModal(name, p_open, flags); 1737 } 1738 1739 void EndPopup() @trusted 1740 { 1741 igEndPopup(); 1742 } 1743 1744 void OpenPopup(scope const(char)* str_id, ImGuiPopupFlags popup_flags) @trusted 1745 { 1746 igOpenPopup(str_id, popup_flags); 1747 } 1748 1749 void OpenPopupID(ImGuiID id, ImGuiPopupFlags popup_flags) @trusted 1750 { 1751 igOpenPopupID(id, popup_flags); 1752 } 1753 1754 void OpenPopupOnItemClick(scope const(char)* str_id, ImGuiPopupFlags popup_flags) @trusted 1755 { 1756 igOpenPopupOnItemClick(str_id, popup_flags); 1757 } 1758 1759 void CloseCurrentPopup() @trusted 1760 { 1761 igCloseCurrentPopup(); 1762 } 1763 1764 bool BeginPopupContextItem() @trusted 1765 { 1766 return igBeginPopupContextItem(); 1767 } 1768 1769 bool BeginPopupContextItemEx(scope const(char)* str_id, ImGuiPopupFlags popup_flags) @trusted 1770 { 1771 return igBeginPopupContextItemEx(str_id, popup_flags); 1772 } 1773 1774 bool BeginPopupContextWindow() @trusted 1775 { 1776 return igBeginPopupContextWindow(); 1777 } 1778 1779 bool BeginPopupContextWindowEx( 1780 scope const(char)* str_id, ImGuiPopupFlags popup_flags) @trusted 1781 { 1782 return igBeginPopupContextWindowEx(str_id, popup_flags); 1783 } 1784 1785 bool BeginPopupContextVoid() @trusted 1786 { 1787 return igBeginPopupContextVoid(); 1788 } 1789 1790 bool BeginPopupContextVoidEx(scope const(char)* str_id, ImGuiPopupFlags popup_flags) @trusted 1791 { 1792 return igBeginPopupContextVoidEx(str_id, popup_flags); 1793 } 1794 1795 bool IsPopupOpen(scope const(char)* str_id, ImGuiPopupFlags flags) @trusted 1796 { 1797 return igIsPopupOpen(str_id, flags); 1798 } 1799 1800 bool BeginTable(scope const(char)* str_id, int columns, ImGuiTableFlags flags) @trusted 1801 { 1802 return igBeginTable(str_id, columns, flags); 1803 } 1804 1805 bool BeginTableEx(scope const(char)* str_id, int columns, ImGuiTableFlags flags, ImVec2 outer_size, float inner_width) @trusted 1806 { 1807 return igBeginTableEx(str_id, columns, flags, outer_size, inner_width); 1808 } 1809 1810 void EndTable() @trusted 1811 { 1812 igEndTable(); 1813 } 1814 1815 void TableNextRow() @trusted 1816 { 1817 igTableNextRow(); 1818 } 1819 1820 void TableNextRowEx( 1821 ImGuiTableRowFlags row_flags, float min_row_height) @trusted 1822 { 1823 igTableNextRowEx(row_flags, min_row_height); 1824 } 1825 1826 bool TableNextColumn() @trusted 1827 { 1828 return igTableNextColumn(); 1829 } 1830 1831 bool TableSetColumnIndex( 1832 int column_n) @trusted 1833 { 1834 return igTableSetColumnIndex( 1835 column_n); 1836 } 1837 1838 void TableSetupColumn(scope const(char)* label, ImGuiTableColumnFlags flags) @trusted 1839 { 1840 igTableSetupColumn(label, flags); 1841 } 1842 1843 void TableSetupColumnEx(scope const(char)* label, ImGuiTableColumnFlags flags, float init_width_or_weight, ImGuiID user_id) @trusted 1844 { 1845 igTableSetupColumnEx(label, flags, init_width_or_weight, user_id); 1846 } 1847 1848 void TableSetupScrollFreeze(int cols, int rows) @trusted 1849 { 1850 igTableSetupScrollFreeze(cols, rows); 1851 } 1852 1853 void TableHeader( 1854 scope const(char)* label) @trusted 1855 { 1856 igTableHeader(label); 1857 } 1858 1859 void TableHeadersRow() @trusted 1860 { 1861 igTableHeadersRow(); 1862 } 1863 1864 void TableAngledHeadersRow() @trusted 1865 { 1866 igTableAngledHeadersRow(); 1867 } 1868 1869 scope ImGuiTableSortSpecs* TableGetSortSpecs() @trusted 1870 { 1871 return igTableGetSortSpecs(); 1872 } 1873 1874 int TableGetColumnCount() @trusted 1875 { 1876 return igTableGetColumnCount(); 1877 } 1878 1879 int TableGetColumnIndex() @trusted 1880 { 1881 return igTableGetColumnIndex(); 1882 } 1883 1884 int TableGetRowIndex() @trusted 1885 { 1886 return igTableGetRowIndex(); 1887 } 1888 1889 scope const(char)* TableGetColumnName( 1890 int column_n) @trusted 1891 { 1892 return igTableGetColumnName( 1893 column_n); 1894 } 1895 1896 ImGuiTableColumnFlags TableGetColumnFlags( 1897 int column_n) @trusted 1898 { 1899 return igTableGetColumnFlags( 1900 column_n); 1901 } 1902 1903 void TableSetColumnEnabled(int column_n, bool v) @trusted 1904 { 1905 igTableSetColumnEnabled(column_n, v); 1906 } 1907 1908 int TableGetHoveredColumn() @trusted 1909 { 1910 return igTableGetHoveredColumn(); 1911 } 1912 1913 void TableSetBgColor(ImGuiTableBgTarget target, ImU32 color, int column_n) @trusted 1914 { 1915 igTableSetBgColor(target, color, column_n); 1916 } 1917 1918 void Columns() @trusted 1919 { 1920 igColumns(); 1921 } 1922 1923 void ColumnsEx(int count, scope const(char)* id, bool borders) @trusted 1924 { 1925 igColumnsEx(count, id, borders); 1926 } 1927 1928 void NextColumn() @trusted 1929 { 1930 igNextColumn(); 1931 } 1932 1933 int GetColumnIndex() @trusted 1934 { 1935 return igGetColumnIndex(); 1936 } 1937 1938 float GetColumnWidth( 1939 int column_index) @trusted 1940 { 1941 return igGetColumnWidth( 1942 column_index); 1943 } 1944 1945 void SetColumnWidth(int column_index, float width) @trusted 1946 { 1947 igSetColumnWidth(column_index, width); 1948 } 1949 1950 float GetColumnOffset( 1951 int column_index) @trusted 1952 { 1953 return igGetColumnOffset( 1954 column_index); 1955 } 1956 1957 void SetColumnOffset(int column_index, float offset_x) @trusted 1958 { 1959 igSetColumnOffset(column_index, offset_x); 1960 } 1961 1962 int GetColumnsCount() @trusted 1963 { 1964 return igGetColumnsCount(); 1965 } 1966 1967 bool BeginTabBar(scope const(char)* str_id, ImGuiTabBarFlags flags) @trusted 1968 { 1969 return igBeginTabBar(str_id, flags); 1970 } 1971 1972 void EndTabBar() @trusted 1973 { 1974 igEndTabBar(); 1975 } 1976 1977 bool BeginTabItem(scope const(char)* label, scope bool* p_open, ImGuiTabItemFlags flags) @trusted 1978 { 1979 return igBeginTabItem(label, p_open, flags); 1980 } 1981 1982 void EndTabItem() @trusted 1983 { 1984 igEndTabItem(); 1985 } 1986 1987 bool TabItemButton(scope const(char)* label, ImGuiTabItemFlags flags) @trusted 1988 { 1989 return igTabItemButton(label, flags); 1990 } 1991 1992 void SetTabItemClosed( 1993 scope const(char)* tab_or_docked_window_label) @trusted 1994 { 1995 igSetTabItemClosed( 1996 tab_or_docked_window_label); 1997 } 1998 1999 void LogToTTY( 2000 int auto_open_depth) @trusted 2001 { 2002 igLogToTTY( 2003 auto_open_depth); 2004 } 2005 2006 void LogToFile(int auto_open_depth, scope const(char)* filename) @trusted 2007 { 2008 igLogToFile(auto_open_depth, filename); 2009 } 2010 2011 void LogToClipboard( 2012 int auto_open_depth) @trusted 2013 { 2014 igLogToClipboard( 2015 auto_open_depth); 2016 } 2017 2018 void LogFinish() @trusted 2019 { 2020 igLogFinish(); 2021 } 2022 2023 void LogButtons() @trusted 2024 { 2025 igLogButtons(); 2026 } 2027 2028 void LogText(scope const(char)* fmt) @trusted 2029 { 2030 igLogText(fmt); 2031 } 2032 2033 void LogTextV(scope const(char)* fmt, __builtin_va_list args) @trusted 2034 { 2035 igLogTextV(fmt, args); 2036 } 2037 2038 bool BeginDragDropSource( 2039 ImGuiDragDropFlags flags) @trusted 2040 { 2041 return igBeginDragDropSource( 2042 flags); 2043 } 2044 2045 bool SetDragDropPayload(scope const(char)* type, scope void* data, size_t sz, ImGuiCond cond) @trusted 2046 { 2047 return igSetDragDropPayload(type, data, sz, cond); 2048 } 2049 2050 void EndDragDropSource() @trusted 2051 { 2052 igEndDragDropSource(); 2053 } 2054 2055 bool BeginDragDropTarget() @trusted 2056 { 2057 return igBeginDragDropTarget(); 2058 } 2059 2060 scope ImGuiPayload* AcceptDragDropPayload( 2061 scope const(char)* type, ImGuiDragDropFlags flags) @trusted 2062 { 2063 return igAcceptDragDropPayload(type, flags); 2064 } 2065 2066 void EndDragDropTarget() @trusted 2067 { 2068 igEndDragDropTarget(); 2069 } 2070 2071 scope ImGuiPayload* GetDragDropPayload() @trusted 2072 { 2073 return igGetDragDropPayload(); 2074 } 2075 2076 void BeginDisabled( 2077 bool disabled) @trusted 2078 { 2079 igBeginDisabled( 2080 disabled); 2081 } 2082 2083 void EndDisabled() @trusted 2084 { 2085 igEndDisabled(); 2086 } 2087 2088 void PushClipRect(ImVec2 clip_rect_min, ImVec2 clip_rect_max, bool intersect_with_current_clip_rect) @trusted 2089 { 2090 igPushClipRect(clip_rect_min, clip_rect_max, intersect_with_current_clip_rect); 2091 } 2092 2093 void PopClipRect() @trusted 2094 { 2095 igPopClipRect(); 2096 } 2097 2098 void SetItemDefaultFocus() @trusted 2099 { 2100 igSetItemDefaultFocus(); 2101 } 2102 2103 void SetKeyboardFocusHere() @trusted 2104 { 2105 igSetKeyboardFocusHere(); 2106 } 2107 2108 void SetKeyboardFocusHereEx( 2109 int offset) @trusted 2110 { 2111 igSetKeyboardFocusHereEx( 2112 offset); 2113 } 2114 2115 void SetNavCursorVisible( 2116 bool visible) @trusted 2117 { 2118 igSetNavCursorVisible( 2119 visible); 2120 } 2121 2122 void SetNextItemAllowOverlap() @trusted 2123 { 2124 igSetNextItemAllowOverlap(); 2125 } 2126 2127 bool IsItemHovered( 2128 ImGuiHoveredFlags flags) @trusted 2129 { 2130 return igIsItemHovered( 2131 flags); 2132 } 2133 2134 bool IsItemActive() @trusted 2135 { 2136 return igIsItemActive(); 2137 } 2138 2139 bool IsItemFocused() @trusted 2140 { 2141 return igIsItemFocused(); 2142 } 2143 2144 bool IsItemClicked() @trusted 2145 { 2146 return igIsItemClicked(); 2147 } 2148 2149 bool IsItemClickedEx( 2150 ImGuiMouseButton mouse_button) @trusted 2151 { 2152 return igIsItemClickedEx( 2153 mouse_button); 2154 } 2155 2156 bool IsItemVisible() @trusted 2157 { 2158 return igIsItemVisible(); 2159 } 2160 2161 bool IsItemEdited() @trusted 2162 { 2163 return igIsItemEdited(); 2164 } 2165 2166 bool IsItemActivated() @trusted 2167 { 2168 return igIsItemActivated(); 2169 } 2170 2171 bool IsItemDeactivated() @trusted 2172 { 2173 return igIsItemDeactivated(); 2174 } 2175 2176 bool IsItemDeactivatedAfterEdit() @trusted 2177 { 2178 return igIsItemDeactivatedAfterEdit(); 2179 } 2180 2181 bool IsItemToggledOpen() @trusted 2182 { 2183 return igIsItemToggledOpen(); 2184 } 2185 2186 bool IsAnyItemHovered() @trusted 2187 { 2188 return igIsAnyItemHovered(); 2189 } 2190 2191 bool IsAnyItemActive() @trusted 2192 { 2193 return igIsAnyItemActive(); 2194 } 2195 2196 bool IsAnyItemFocused() @trusted 2197 { 2198 return igIsAnyItemFocused(); 2199 } 2200 2201 ImGuiID GetItemID() @trusted 2202 { 2203 return igGetItemID(); 2204 } 2205 2206 ImVec2 GetItemRectMin() @trusted 2207 { 2208 return igGetItemRectMin(); 2209 } 2210 2211 ImVec2 GetItemRectMax() @trusted 2212 { 2213 return igGetItemRectMax(); 2214 } 2215 2216 ImVec2 GetItemRectSize() @trusted 2217 { 2218 return igGetItemRectSize(); 2219 } 2220 2221 scope ImGuiViewport* GetMainViewport() @trusted 2222 { 2223 return igGetMainViewport(); 2224 } 2225 2226 scope ImDrawList* GetBackgroundDrawList() @trusted 2227 { 2228 return igGetBackgroundDrawList(); 2229 } 2230 2231 scope ImDrawList* GetForegroundDrawList() @trusted 2232 { 2233 return igGetForegroundDrawList(); 2234 } 2235 2236 bool IsRectVisibleBySize( 2237 ImVec2 size) @trusted 2238 { 2239 return igIsRectVisibleBySize( 2240 size); 2241 } 2242 2243 bool IsRectVisible(ImVec2 rect_min, ImVec2 rect_max) @trusted 2244 { 2245 return igIsRectVisible(rect_min, rect_max); 2246 } 2247 2248 double GetTime() @trusted 2249 { 2250 return igGetTime(); 2251 } 2252 2253 int GetFrameCount() @trusted 2254 { 2255 return igGetFrameCount(); 2256 } 2257 2258 scope ImDrawListSharedData* GetDrawListSharedData() @trusted 2259 { 2260 return igGetDrawListSharedData(); 2261 } 2262 2263 scope const(char)* GetStyleColorName( 2264 ImGuiCol idx) @trusted 2265 { 2266 return igGetStyleColorName( 2267 idx); 2268 } 2269 2270 void SetStateStorage( 2271 scope ImGuiStorage* storage) @trusted 2272 { 2273 igSetStateStorage( 2274 storage); 2275 } 2276 2277 scope ImGuiStorage* GetStateStorage() @trusted 2278 { 2279 return igGetStateStorage(); 2280 } 2281 2282 ImVec2 CalcTextSize( 2283 scope const(char)* text) @trusted 2284 { 2285 return igCalcTextSize( 2286 text); 2287 } 2288 2289 ImVec2 CalcTextSizeEx(scope const(char)* text, scope const(char)* text_end, bool hide_text_after_double_hash, float wrap_width) @trusted 2290 { 2291 return igCalcTextSizeEx(text, text_end, hide_text_after_double_hash, wrap_width); 2292 } 2293 2294 ImVec4 ColorConvertU32ToFloat4( 2295 ImU32 in_) @trusted 2296 { 2297 return igColorConvertU32ToFloat4( 2298 in_); 2299 } 2300 2301 ImU32 ColorConvertFloat4ToU32( 2302 ImVec4 in_) @trusted 2303 { 2304 return igColorConvertFloat4ToU32( 2305 in_); 2306 } 2307 2308 void ColorConvertRGBtoHSV(float r, float g, float b, scope float* out_h, scope 2309 float* out_s, scope float* out_v) @trusted 2310 { 2311 igColorConvertRGBtoHSV(r, g, b, out_h, out_s, out_v); 2312 } 2313 2314 void ColorConvertHSVtoRGB(float h, float s, float v, scope float* out_r, scope 2315 float* out_g, scope float* out_b) @trusted 2316 { 2317 igColorConvertHSVtoRGB(h, s, v, out_r, out_g, out_b); 2318 } 2319 2320 bool IsKeyDown(ImGuiKey key) @trusted 2321 { 2322 return igIsKeyDown(key); 2323 } 2324 2325 bool IsKeyPressed( 2326 ImGuiKey key) @trusted 2327 { 2328 return igIsKeyPressed( 2329 key); 2330 } 2331 2332 bool IsKeyPressedEx(ImGuiKey key, bool repeat) @trusted 2333 { 2334 return igIsKeyPressedEx(key, repeat); 2335 } 2336 2337 bool IsKeyReleased( 2338 ImGuiKey key) @trusted 2339 { 2340 return igIsKeyReleased( 2341 key); 2342 } 2343 2344 bool IsKeyChordPressed( 2345 ImGuiKeyChord key_chord) @trusted 2346 { 2347 return igIsKeyChordPressed( 2348 key_chord); 2349 } 2350 2351 int GetKeyPressedAmount(ImGuiKey key, float repeat_delay, float rate) @trusted 2352 { 2353 return igGetKeyPressedAmount(key, repeat_delay, rate); 2354 } 2355 2356 scope const(char)* GetKeyName( 2357 ImGuiKey key) @trusted 2358 { 2359 return igGetKeyName(key); 2360 } 2361 2362 void SetNextFrameWantCaptureKeyboard( 2363 bool want_capture_keyboard) @trusted 2364 { 2365 igSetNextFrameWantCaptureKeyboard( 2366 want_capture_keyboard); 2367 } 2368 2369 bool Shortcut(ImGuiKeyChord key_chord, ImGuiInputFlags flags) @trusted 2370 { 2371 return igShortcut(key_chord, flags); 2372 } 2373 2374 void SetNextItemShortcut( 2375 ImGuiKeyChord key_chord, ImGuiInputFlags flags) @trusted 2376 { 2377 igSetNextItemShortcut(key_chord, flags); 2378 } 2379 2380 void SetItemKeyOwner( 2381 ImGuiKey key) @trusted 2382 { 2383 igSetItemKeyOwner(key); 2384 } 2385 2386 bool IsMouseDown( 2387 ImGuiMouseButton button) @trusted 2388 { 2389 return igIsMouseDown( 2390 button); 2391 } 2392 2393 bool IsMouseClicked( 2394 ImGuiMouseButton button) @trusted 2395 { 2396 return igIsMouseClicked( 2397 button); 2398 } 2399 2400 bool IsMouseClickedEx(ImGuiMouseButton button, bool repeat) @trusted 2401 { 2402 return igIsMouseClickedEx(button, repeat); 2403 } 2404 2405 bool IsMouseReleased( 2406 ImGuiMouseButton button) @trusted 2407 { 2408 return igIsMouseReleased( 2409 button); 2410 } 2411 2412 bool IsMouseDoubleClicked( 2413 ImGuiMouseButton button) @trusted 2414 { 2415 return igIsMouseDoubleClicked( 2416 button); 2417 } 2418 2419 bool IsMouseReleasedWithDelay( 2420 ImGuiMouseButton button, float delay) @trusted 2421 { 2422 return igIsMouseReleasedWithDelay(button, delay); 2423 } 2424 2425 int GetMouseClickedCount( 2426 ImGuiMouseButton button) @trusted 2427 { 2428 return igGetMouseClickedCount( 2429 button); 2430 } 2431 2432 bool IsMouseHoveringRect(ImVec2 r_min, ImVec2 r_max) @trusted 2433 { 2434 return igIsMouseHoveringRect(r_min, r_max); 2435 } 2436 2437 bool IsMouseHoveringRectEx(ImVec2 r_min, ImVec2 r_max, bool clip) @trusted 2438 { 2439 return igIsMouseHoveringRectEx(r_min, r_max, clip); 2440 } 2441 2442 bool IsMousePosValid( 2443 scope ImVec2* mouse_pos) @trusted 2444 { 2445 return igIsMousePosValid( 2446 mouse_pos); 2447 } 2448 2449 bool IsAnyMouseDown() @trusted 2450 { 2451 return igIsAnyMouseDown(); 2452 } 2453 2454 ImVec2 GetMousePos() @trusted 2455 { 2456 return igGetMousePos(); 2457 } 2458 2459 ImVec2 GetMousePosOnOpeningCurrentPopup() @trusted 2460 { 2461 return igGetMousePosOnOpeningCurrentPopup(); 2462 } 2463 2464 bool IsMouseDragging(ImGuiMouseButton button, float lock_threshold) @trusted 2465 { 2466 return igIsMouseDragging(button, lock_threshold); 2467 } 2468 2469 ImVec2 GetMouseDragDelta( 2470 ImGuiMouseButton button, float lock_threshold) @trusted 2471 { 2472 return igGetMouseDragDelta(button, lock_threshold); 2473 } 2474 2475 void ResetMouseDragDelta() @trusted 2476 { 2477 igResetMouseDragDelta(); 2478 } 2479 2480 void ResetMouseDragDeltaEx( 2481 ImGuiMouseButton button) @trusted 2482 { 2483 igResetMouseDragDeltaEx( 2484 button); 2485 } 2486 2487 ImGuiMouseCursor GetMouseCursor() @trusted 2488 { 2489 return igGetMouseCursor(); 2490 } 2491 2492 void SetMouseCursor( 2493 ImGuiMouseCursor cursor_type) @trusted 2494 { 2495 igSetMouseCursor( 2496 cursor_type); 2497 } 2498 2499 void SetNextFrameWantCaptureMouse( 2500 bool want_capture_mouse) @trusted 2501 { 2502 igSetNextFrameWantCaptureMouse( 2503 want_capture_mouse); 2504 } 2505 2506 scope const(char)* GetClipboardText() @trusted 2507 { 2508 return igGetClipboardText(); 2509 } 2510 2511 void SetClipboardText( 2512 scope const(char)* text) @trusted 2513 { 2514 igSetClipboardText(text); 2515 } 2516 2517 void LoadIniSettingsFromDisk( 2518 scope const(char)* ini_filename) @trusted 2519 { 2520 igLoadIniSettingsFromDisk( 2521 ini_filename); 2522 } 2523 2524 void LoadIniSettingsFromMemory( 2525 scope const(char)* ini_data, size_t ini_size) @trusted 2526 { 2527 igLoadIniSettingsFromMemory(ini_data, ini_size); 2528 } 2529 2530 void SaveIniSettingsToDisk( 2531 scope const(char)* ini_filename) @trusted 2532 { 2533 igSaveIniSettingsToDisk( 2534 ini_filename); 2535 } 2536 2537 scope const(char)* SaveIniSettingsToMemory( 2538 scope size_t* out_ini_size) @trusted 2539 { 2540 return igSaveIniSettingsToMemory( 2541 out_ini_size); 2542 } 2543 2544 void DebugTextEncoding( 2545 scope const(char)* text) @trusted 2546 { 2547 igDebugTextEncoding( 2548 text); 2549 } 2550 2551 void DebugFlashStyleColor( 2552 ImGuiCol idx) @trusted 2553 { 2554 igDebugFlashStyleColor( 2555 idx); 2556 } 2557 2558 void DebugStartItemPicker() @trusted 2559 { 2560 igDebugStartItemPicker(); 2561 } 2562 2563 bool DebugCheckVersionAndDataLayout( 2564 scope const(char)* version_str, size_t sz_io, size_t sz_style, size_t sz_vec2, size_t sz_vec4, size_t sz_drawvert, size_t sz_drawidx) @trusted 2565 { 2566 return igDebugCheckVersionAndDataLayout( 2567 version_str, sz_io, sz_style, sz_vec2, sz_vec4, sz_drawvert, sz_drawidx); 2568 } 2569 2570 void DebugLog( 2571 scope const(char)* fmt) @trusted 2572 { 2573 igDebugLog(fmt); 2574 } 2575 2576 void DebugLogV(scope const(char)* fmt, __builtin_va_list args) @trusted 2577 { 2578 igDebugLogV(fmt, args); 2579 } 2580 2581 void SetAllocatorFunctions( 2582 ImGuiMemAllocFunc alloc_func, ImGuiMemFreeFunc free_func, scope 2583 void* user_data) @trusted 2584 { 2585 igSetAllocatorFunctions(alloc_func, free_func, user_data); 2586 } 2587 2588 void GetAllocatorFunctions( 2589 scope ImGuiMemAllocFunc* p_alloc_func, scope 2590 ImGuiMemFreeFunc* p_free_func, scope void** p_user_data) @trusted 2591 { 2592 igGetAllocatorFunctions(p_alloc_func, p_free_func, p_user_data); 2593 } 2594 2595 scope void* MemAlloc( 2596 size_t size) @trusted 2597 { 2598 return igMemAlloc(size); 2599 } 2600 2601 void MemFree(scope void* ptr) @trusted 2602 { 2603 igMemFree(ptr); 2604 } 2605 2606 void ImageImVec4(ImTextureID user_texture_id, ImVec2 image_size, ImVec2 uv0, ImVec2 uv1, ImVec4 tint_col, ImVec4 border_col) @trusted 2607 { 2608 igImageImVec4(user_texture_id, image_size, uv0, uv1, tint_col, border_col); 2609 } 2610 2611 void PushButtonRepeat( 2612 bool repeat) @trusted 2613 { 2614 igPushButtonRepeat( 2615 repeat); 2616 } 2617 2618 void PopButtonRepeat() @trusted 2619 { 2620 igPopButtonRepeat(); 2621 } 2622 2623 void PushTabStop( 2624 bool tab_stop) @trusted 2625 { 2626 igPushTabStop(tab_stop); 2627 } 2628 2629 void PopTabStop() @trusted 2630 { 2631 igPopTabStop(); 2632 } 2633 2634 ImVec2 GetContentRegionMax() @trusted 2635 { 2636 return igGetContentRegionMax(); 2637 } 2638 2639 ImVec2 GetWindowContentRegionMin() @trusted 2640 { 2641 return igGetWindowContentRegionMin(); 2642 } 2643 2644 ImVec2 GetWindowContentRegionMax() @trusted 2645 { 2646 return igGetWindowContentRegionMax(); 2647 } 2648 2649 bool BeginChildFrame(ImGuiID id, ImVec2 size) @trusted 2650 { 2651 return igBeginChildFrame(id, size); 2652 } 2653 2654 bool BeginChildFrameEx(ImGuiID id, ImVec2 size, ImGuiWindowFlags window_flags) @trusted 2655 { 2656 return igBeginChildFrameEx(id, size, window_flags); 2657 } 2658 2659 void EndChildFrame() @trusted 2660 { 2661 igEndChildFrame(); 2662 } 2663 2664 void ShowStackToolWindow( 2665 scope bool* p_open) @trusted 2666 { 2667 igShowStackToolWindow( 2668 p_open); 2669 } 2670 2671 bool ComboObsolete(scope const(char)* label, scope int* current_item, ImGuiOld_callbackFunc old_callback, scope 2672 void* user_data, int items_count) @trusted 2673 { 2674 return igComboObsolete(label, current_item, old_callback, user_data, items_count); 2675 } 2676 2677 bool ComboObsoleteEx(scope const(char)* label, scope int* current_item, ImGuiOld_callbackFunc old_callback, scope 2678 void* user_data, int items_count, int popup_max_height_in_items) @trusted 2679 { 2680 return igComboObsoleteEx(label, current_item, old_callback, user_data, items_count, popup_max_height_in_items); 2681 } 2682 2683 bool ListBoxObsolete(scope const(char)* label, scope int* current_item, ImGuiOld_callbackFunc old_callback, scope 2684 void* user_data, int items_count) @trusted 2685 { 2686 return igListBoxObsolete(label, current_item, old_callback, user_data, items_count); 2687 } 2688 2689 bool ListBoxObsoleteEx(scope const(char)* label, scope int* current_item, ImGuiOld_callbackFunc old_callback, scope 2690 void* user_data, int items_count, int height_in_items) @trusted 2691 { 2692 return igListBoxObsoleteEx(label, current_item, old_callback, user_data, items_count, height_in_items); 2693 } 2694 2695 void SetItemAllowOverlap() @trusted 2696 { 2697 igSetItemAllowOverlap(); 2698 } 2699 2700 void PushAllowKeyboardFocus( 2701 bool tab_stop) @trusted 2702 { 2703 igPushAllowKeyboardFocus( 2704 tab_stop); 2705 } 2706 2707 void PopAllowKeyboardFocus() @trusted 2708 { 2709 igPopAllowKeyboardFocus(); 2710 } 2711 2712 }