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 void Text(Args...)(scope const(char)* fmt, Args args) @trusted 741 { 742 igText(fmt, args); 743 } 744 745 void TextV(Args...)(scope const(char)* fmt, Args args) @trusted 746 { 747 igTextV(fmt, args); 748 } 749 750 void TextColored(Args...)(ImVec4 col, scope const(char)* fmt, Args args) @trusted 751 { 752 igTextColored(col, fmt, args); 753 } 754 755 void TextColoredV(Args...)(ImVec4 col, scope const(char)* fmt, Args args) @trusted 756 { 757 igTextColoredV(col, fmt, args); 758 } 759 760 void TextDisabled(Args...)( 761 scope const(char)* fmt, Args args) @trusted 762 { 763 igTextDisabled(fmt, args); 764 } 765 766 void TextDisabledV(Args...)(scope const(char)* fmt, Args args) @trusted 767 { 768 igTextDisabledV(fmt, args); 769 } 770 771 void TextWrapped(Args...)( 772 scope const(char)* fmt, Args args) @trusted 773 { 774 igTextWrapped(fmt, args); 775 } 776 777 void TextWrappedV(Args...)(scope const(char)* fmt, Args args) @trusted 778 { 779 igTextWrappedV(fmt, args); 780 } 781 782 void LabelText(Args...)(scope const(char)* label, scope const(char)* fmt, Args args) @trusted 783 { 784 igLabelText(label, fmt, args); 785 } 786 787 void LabelTextV(Args...)(scope const(char)* label, scope const(char)* fmt, Args args) @trusted 788 { 789 igLabelTextV(label, fmt, args); 790 } 791 792 void BulletText( 793 scope const(char)* fmt) @trusted 794 { 795 igBulletText(fmt); 796 } 797 798 void BulletTextV(Args...)(scope const(char)* fmt, Args args) @trusted 799 { 800 igBulletTextV(fmt, args); 801 } 802 803 void SeparatorText( 804 scope const(char)* label) @trusted 805 { 806 igSeparatorText(label); 807 } 808 809 bool Button( 810 scope const(char)* label) @trusted 811 { 812 return igButton(label); 813 } 814 815 bool ButtonEx(scope const(char)* label, ImVec2 size) @trusted 816 { 817 return igButtonEx(label, size); 818 } 819 820 bool SmallButton( 821 scope const(char)* label) @trusted 822 { 823 return igSmallButton( 824 label); 825 } 826 827 bool InvisibleButton(scope const(char)* str_id, ImVec2 size, ImGuiButtonFlags flags) @trusted 828 { 829 return igInvisibleButton(str_id, size, flags); 830 } 831 832 bool ArrowButton(scope const(char)* str_id, ImGuiDir dir) @trusted 833 { 834 return igArrowButton(str_id, dir); 835 } 836 837 bool Checkbox(scope const(char)* label, scope bool* v) @trusted 838 { 839 return igCheckbox(label, v); 840 } 841 842 bool CheckboxFlagsIntPtr(scope const(char)* label, scope int* flags, int flags_value) @trusted 843 { 844 return igCheckboxFlagsIntPtr(label, flags, flags_value); 845 } 846 847 bool CheckboxFlagsUintPtr(scope const(char)* label, scope uint* flags, uint flags_value) @trusted 848 { 849 return igCheckboxFlagsUintPtr(label, flags, flags_value); 850 } 851 852 bool RadioButton(scope const(char)* label, bool active) @trusted 853 { 854 return igRadioButton(label, active); 855 } 856 857 bool RadioButtonIntPtr(scope const(char)* label, scope int* v, int v_button) @trusted 858 { 859 return igRadioButtonIntPtr(label, v, v_button); 860 } 861 862 void ProgressBar(float fraction, ImVec2 size_arg, scope const(char)* overlay) @trusted 863 { 864 igProgressBar(fraction, size_arg, overlay); 865 } 866 867 void Bullet() @trusted 868 { 869 igBullet(); 870 } 871 872 bool TextLink( 873 scope const(char)* label) @trusted 874 { 875 return igTextLink(label); 876 } 877 878 void TextLinkOpenURL( 879 scope const(char)* label) @trusted 880 { 881 igTextLinkOpenURL(label); 882 } 883 884 void TextLinkOpenURLEx(scope const(char)* label, scope const(char)* url) @trusted 885 { 886 igTextLinkOpenURLEx(label, url); 887 } 888 889 void Image(ImTextureID user_texture_id, ImVec2 image_size) @trusted 890 { 891 igImage(user_texture_id, image_size); 892 } 893 894 void ImageEx(ImTextureID user_texture_id, ImVec2 image_size, ImVec2 uv0, ImVec2 uv1) @trusted 895 { 896 igImageEx(user_texture_id, image_size, uv0, uv1); 897 } 898 899 void ImageWithBg(ImTextureID user_texture_id, ImVec2 image_size) @trusted 900 { 901 igImageWithBg(user_texture_id, image_size); 902 } 903 904 void ImageWithBgEx(ImTextureID user_texture_id, ImVec2 image_size, ImVec2 uv0, ImVec2 uv1, ImVec4 bg_col, ImVec4 tint_col) @trusted 905 { 906 igImageWithBgEx(user_texture_id, image_size, uv0, uv1, bg_col, tint_col); 907 } 908 909 bool ImageButton(scope const(char)* str_id, ImTextureID user_texture_id, ImVec2 image_size) @trusted 910 { 911 return igImageButton(str_id, user_texture_id, image_size); 912 } 913 914 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 915 { 916 return igImageButtonEx(str_id, user_texture_id, image_size, uv0, uv1, bg_col, tint_col); 917 } 918 919 bool BeginCombo(scope const(char)* label, scope const(char)* preview_value, ImGuiComboFlags flags) @trusted 920 { 921 return igBeginCombo(label, preview_value, flags); 922 } 923 924 void EndCombo() @trusted 925 { 926 igEndCombo(); 927 } 928 929 bool ComboChar(scope const(char)* label, scope int* current_item, scope const(char)** items, int items_count) @trusted 930 { 931 return igComboChar(label, current_item, items, items_count); 932 } 933 934 bool ComboCharEx(scope const(char)* label, scope int* current_item, scope const(char)** items, int items_count, int popup_max_height_in_items) @trusted 935 { 936 return igComboCharEx(label, current_item, items, items_count, popup_max_height_in_items); 937 } 938 939 bool Combo(scope const(char)* label, scope int* current_item, scope const(char)* items_separated_by_zeros) @trusted 940 { 941 return igCombo(label, current_item, items_separated_by_zeros); 942 } 943 944 bool ComboEx(scope const(char)* label, scope int* current_item, scope const(char)* items_separated_by_zeros, int popup_max_height_in_items) @trusted 945 { 946 return igComboEx(label, current_item, items_separated_by_zeros, popup_max_height_in_items); 947 } 948 949 bool ComboCallback(scope const(char)* label, scope int* current_item, ImGuiGetterFunc getter, scope 950 void* user_data, int items_count) @trusted 951 { 952 return igComboCallback(label, current_item, getter, user_data, items_count); 953 } 954 955 bool ComboCallbackEx(scope const(char)* label, scope int* current_item, ImGuiGetterFunc getter, scope 956 void* user_data, int items_count, int popup_max_height_in_items) @trusted 957 { 958 return igComboCallbackEx(label, current_item, getter, user_data, items_count, popup_max_height_in_items); 959 } 960 961 bool DragFloat(scope const(char)* label, scope float* v) @trusted 962 { 963 return igDragFloat(label, v); 964 } 965 966 bool DragFloatEx(scope const(char)* label, scope float* v, float v_speed, float v_min, float v_max, scope 967 char* format, ImGuiSliderFlags flags) @trusted 968 { 969 return igDragFloatEx(label, v, v_speed, v_min, v_max, format, flags); 970 } 971 972 bool DragFloat2(scope const(char)* label, scope float* v) @trusted 973 { 974 return igDragFloat2(label, v); 975 } 976 977 bool DragFloat2Ex(scope const(char)* label, scope float* v, float v_speed, float v_min, float v_max, scope 978 char* format, ImGuiSliderFlags flags) @trusted 979 { 980 return igDragFloat2Ex(label, v, v_speed, v_min, v_max, format, flags); 981 } 982 983 bool DragFloat3(scope const(char)* label, scope float* v) @trusted 984 { 985 return igDragFloat3(label, v); 986 } 987 988 bool DragFloat3Ex(scope const(char)* label, scope float* v, float v_speed, float v_min, float v_max, scope 989 char* format, ImGuiSliderFlags flags) @trusted 990 { 991 return igDragFloat3Ex(label, v, v_speed, v_min, v_max, format, flags); 992 } 993 994 bool DragFloat4(scope const(char)* label, scope float* v) @trusted 995 { 996 return igDragFloat4(label, v); 997 } 998 999 bool DragFloat4Ex(scope const(char)* label, scope float* v, float v_speed, float v_min, float v_max, scope 1000 char* format, ImGuiSliderFlags flags) @trusted 1001 { 1002 return igDragFloat4Ex(label, v, v_speed, v_min, v_max, format, flags); 1003 } 1004 1005 bool DragFloatRange2(scope const(char)* label, scope float* v_current_min, scope 1006 float* v_current_max) @trusted 1007 { 1008 return igDragFloatRange2(label, v_current_min, v_current_max); 1009 } 1010 1011 bool DragFloatRange2Ex(scope const(char)* label, scope float* v_current_min, scope 1012 float* v_current_max, float v_speed, float v_min, float v_max, scope const(char)* format, scope 1013 char* format_max, ImGuiSliderFlags flags) @trusted 1014 { 1015 return igDragFloatRange2Ex(label, v_current_min, v_current_max, v_speed, v_min, v_max, format, format_max, flags); 1016 } 1017 1018 bool DragInt(scope const(char)* label, scope int* v) @trusted 1019 { 1020 return igDragInt(label, v); 1021 } 1022 1023 bool DragIntEx(scope const(char)* label, scope int* v, float v_speed, int v_min, int v_max, scope 1024 char* format, ImGuiSliderFlags flags) @trusted 1025 { 1026 return igDragIntEx(label, v, v_speed, v_min, v_max, format, flags); 1027 } 1028 1029 bool DragInt2(scope const(char)* label, scope int* v) @trusted 1030 { 1031 return igDragInt2(label, v); 1032 } 1033 1034 bool DragInt2Ex(scope const(char)* label, scope int* v, float v_speed, int v_min, int v_max, scope 1035 char* format, ImGuiSliderFlags flags) @trusted 1036 { 1037 return igDragInt2Ex(label, v, v_speed, v_min, v_max, format, flags); 1038 } 1039 1040 bool DragInt3(scope const(char)* label, scope int* v) @trusted 1041 { 1042 return igDragInt3(label, v); 1043 } 1044 1045 bool DragInt3Ex(scope const(char)* label, scope int* v, float v_speed, int v_min, int v_max, scope 1046 char* format, ImGuiSliderFlags flags) @trusted 1047 { 1048 return igDragInt3Ex(label, v, v_speed, v_min, v_max, format, flags); 1049 } 1050 1051 bool DragInt4(scope const(char)* label, scope int* v) @trusted 1052 { 1053 return igDragInt4(label, v); 1054 } 1055 1056 bool DragInt4Ex(scope const(char)* label, scope int* v, float v_speed, int v_min, int v_max, scope 1057 char* format, ImGuiSliderFlags flags) @trusted 1058 { 1059 return igDragInt4Ex(label, v, v_speed, v_min, v_max, format, flags); 1060 } 1061 1062 bool DragIntRange2(scope const(char)* label, scope int* v_current_min, scope int* v_current_max) @trusted 1063 { 1064 return igDragIntRange2(label, v_current_min, v_current_max); 1065 } 1066 1067 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 1068 char* format, scope const(char)* format_max, ImGuiSliderFlags flags) @trusted 1069 { 1070 return igDragIntRange2Ex(label, v_current_min, v_current_max, v_speed, v_min, v_max, format, format_max, flags); 1071 } 1072 1073 bool DragScalar(scope const(char)* label, ImGuiDataType data_type, scope void* p_data) @trusted 1074 { 1075 return igDragScalar(label, data_type, p_data); 1076 } 1077 1078 bool DragScalarEx(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, float v_speed, scope void* p_min, scope 1079 void* p_max, scope const(char)* format, ImGuiSliderFlags flags) @trusted 1080 { 1081 return igDragScalarEx(label, data_type, p_data, v_speed, p_min, p_max, format, flags); 1082 } 1083 1084 bool DragScalarN(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, int components) @trusted 1085 { 1086 return igDragScalarN(label, data_type, p_data, components); 1087 } 1088 1089 bool DragScalarNEx(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, int components, float v_speed, scope 1090 void* p_min, scope void* p_max, scope const(char)* format, ImGuiSliderFlags flags) @trusted 1091 { 1092 return igDragScalarNEx(label, data_type, p_data, components, v_speed, p_min, p_max, format, flags); 1093 } 1094 1095 bool SliderFloat(scope const(char)* label, scope float* v, float v_min, float v_max) @trusted 1096 { 1097 return igSliderFloat(label, v, v_min, v_max); 1098 } 1099 1100 bool SliderFloatEx(scope const(char)* label, scope float* v, float v_min, float v_max, scope 1101 char* format, ImGuiSliderFlags flags) @trusted 1102 { 1103 return igSliderFloatEx(label, v, v_min, v_max, format, flags); 1104 } 1105 1106 bool SliderFloat2(scope const(char)* label, scope float* v, float v_min, float v_max) @trusted 1107 { 1108 return igSliderFloat2(label, v, v_min, v_max); 1109 } 1110 1111 bool SliderFloat2Ex(scope const(char)* label, scope float* v, float v_min, float v_max, scope 1112 char* format, ImGuiSliderFlags flags) @trusted 1113 { 1114 return igSliderFloat2Ex(label, v, v_min, v_max, format, flags); 1115 } 1116 1117 bool SliderFloat3(scope const(char)* label, scope float* v, float v_min, float v_max) @trusted 1118 { 1119 return igSliderFloat3(label, v, v_min, v_max); 1120 } 1121 1122 bool SliderFloat3Ex(scope const(char)* label, scope float* v, float v_min, float v_max, scope 1123 char* format, ImGuiSliderFlags flags) @trusted 1124 { 1125 return igSliderFloat3Ex(label, v, v_min, v_max, format, flags); 1126 } 1127 1128 bool SliderFloat4(scope const(char)* label, scope float* v, float v_min, float v_max) @trusted 1129 { 1130 return igSliderFloat4(label, v, v_min, v_max); 1131 } 1132 1133 bool SliderFloat4Ex(scope const(char)* label, scope float* v, float v_min, float v_max, scope 1134 char* format, ImGuiSliderFlags flags) @trusted 1135 { 1136 return igSliderFloat4Ex(label, v, v_min, v_max, format, flags); 1137 } 1138 1139 bool SliderAngle(scope const(char)* label, scope float* v_rad) @trusted 1140 { 1141 return igSliderAngle(label, v_rad); 1142 } 1143 1144 bool SliderAngleEx(scope const(char)* label, scope float* v_rad, float v_degrees_min, float v_degrees_max, scope 1145 char* format, ImGuiSliderFlags flags) @trusted 1146 { 1147 return igSliderAngleEx(label, v_rad, v_degrees_min, v_degrees_max, format, flags); 1148 } 1149 1150 bool SliderInt(scope const(char)* label, scope int* v, int v_min, int v_max) @trusted 1151 { 1152 return igSliderInt(label, v, v_min, v_max); 1153 } 1154 1155 bool SliderIntEx(scope const(char)* label, scope int* v, int v_min, int v_max, scope 1156 char* format, ImGuiSliderFlags flags) @trusted 1157 { 1158 return igSliderIntEx(label, v, v_min, v_max, format, flags); 1159 } 1160 1161 bool SliderInt2(scope const(char)* label, scope int* v, int v_min, int v_max) @trusted 1162 { 1163 return igSliderInt2(label, v, v_min, v_max); 1164 } 1165 1166 bool SliderInt2Ex(scope const(char)* label, scope int* v, int v_min, int v_max, scope 1167 char* format, ImGuiSliderFlags flags) @trusted 1168 { 1169 return igSliderInt2Ex(label, v, v_min, v_max, format, flags); 1170 } 1171 1172 bool SliderInt3(scope const(char)* label, scope int* v, int v_min, int v_max) @trusted 1173 { 1174 return igSliderInt3(label, v, v_min, v_max); 1175 } 1176 1177 bool SliderInt3Ex(scope const(char)* label, scope int* v, int v_min, int v_max, scope 1178 char* format, ImGuiSliderFlags flags) @trusted 1179 { 1180 return igSliderInt3Ex(label, v, v_min, v_max, format, flags); 1181 } 1182 1183 bool SliderInt4(scope const(char)* label, scope int* v, int v_min, int v_max) @trusted 1184 { 1185 return igSliderInt4(label, v, v_min, v_max); 1186 } 1187 1188 bool SliderInt4Ex(scope const(char)* label, scope int* v, int v_min, int v_max, scope 1189 char* format, ImGuiSliderFlags flags) @trusted 1190 { 1191 return igSliderInt4Ex(label, v, v_min, v_max, format, flags); 1192 } 1193 1194 bool SliderScalar(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, scope 1195 void* p_min, scope void* p_max) @trusted 1196 { 1197 return igSliderScalar(label, data_type, p_data, p_min, p_max); 1198 } 1199 1200 bool SliderScalarEx(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, scope void* p_min, scope 1201 void* p_max, scope const(char)* format, ImGuiSliderFlags flags) @trusted 1202 { 1203 return igSliderScalarEx(label, data_type, p_data, p_min, p_max, format, flags); 1204 } 1205 1206 bool SliderScalarN(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, int components, scope 1207 void* p_min, scope void* p_max) @trusted 1208 { 1209 return igSliderScalarN(label, data_type, p_data, components, p_min, p_max); 1210 } 1211 1212 bool SliderScalarNEx(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, int components, scope void* p_min, scope 1213 void* p_max, scope const(char)* format, ImGuiSliderFlags flags) @trusted 1214 { 1215 return igSliderScalarNEx(label, data_type, p_data, components, p_min, p_max, format, flags); 1216 } 1217 1218 bool VSliderFloat(scope const(char)* label, ImVec2 size, scope float* v, float v_min, float v_max) @trusted 1219 { 1220 return igVSliderFloat(label, size, v, v_min, v_max); 1221 } 1222 1223 bool VSliderFloatEx(scope const(char)* label, ImVec2 size, scope float* v, float v_min, float v_max, scope 1224 char* format, ImGuiSliderFlags flags) @trusted 1225 { 1226 return igVSliderFloatEx(label, size, v, v_min, v_max, format, flags); 1227 } 1228 1229 bool VSliderInt(scope const(char)* label, ImVec2 size, scope int* v, int v_min, int v_max) @trusted 1230 { 1231 return igVSliderInt(label, size, v, v_min, v_max); 1232 } 1233 1234 bool VSliderIntEx(scope const(char)* label, ImVec2 size, scope int* v, int v_min, int v_max, scope 1235 char* format, ImGuiSliderFlags flags) @trusted 1236 { 1237 return igVSliderIntEx(label, size, v, v_min, v_max, format, flags); 1238 } 1239 1240 bool VSliderScalar(scope const(char)* label, ImVec2 size, ImGuiDataType data_type, scope 1241 void* p_data, scope void* p_min, scope void* p_max) @trusted 1242 { 1243 return igVSliderScalar(label, size, data_type, p_data, p_min, p_max); 1244 } 1245 1246 bool VSliderScalarEx(scope const(char)* label, ImVec2 size, ImGuiDataType data_type, scope 1247 void* p_data, scope void* p_min, scope void* p_max, scope const(char)* format, ImGuiSliderFlags flags) @trusted 1248 { 1249 return igVSliderScalarEx(label, size, data_type, p_data, p_min, p_max, format, flags); 1250 } 1251 1252 bool InputText(scope const(char)* label, scope char* buf, size_t buf_size, ImGuiInputTextFlags flags) @trusted 1253 { 1254 return igInputText(label, buf, buf_size, flags); 1255 } 1256 1257 bool InputTextEx(scope const(char)* label, scope char* buf, size_t buf_size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, scope 1258 void* user_data) @trusted 1259 { 1260 return igInputTextEx(label, buf, buf_size, flags, callback, user_data); 1261 } 1262 1263 bool InputTextMultiline(scope const(char)* label, scope char* buf, size_t buf_size) @trusted 1264 { 1265 return igInputTextMultiline(label, buf, buf_size); 1266 } 1267 1268 bool InputTextMultilineEx(scope const(char)* label, scope char* buf, size_t buf_size, ImVec2 size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, scope 1269 void* user_data) @trusted 1270 { 1271 return igInputTextMultilineEx(label, buf, buf_size, size, flags, callback, user_data); 1272 } 1273 1274 bool InputTextWithHint(scope const(char)* label, scope const(char)* hint, scope char* buf, size_t buf_size, ImGuiInputTextFlags flags) @trusted 1275 { 1276 return igInputTextWithHint(label, hint, buf, buf_size, flags); 1277 } 1278 1279 bool InputTextWithHintEx(scope const(char)* label, scope const(char)* hint, scope char* buf, size_t buf_size, ImGuiInputTextFlags flags, ImGuiInputTextCallback callback, scope 1280 void* user_data) @trusted 1281 { 1282 return igInputTextWithHintEx(label, hint, buf, buf_size, flags, callback, user_data); 1283 } 1284 1285 bool InputFloat(scope const(char)* label, scope float* v) @trusted 1286 { 1287 return igInputFloat(label, v); 1288 } 1289 1290 bool InputFloatEx(scope const(char)* label, scope float* v, float step, float step_fast, scope 1291 char* format, ImGuiInputTextFlags flags) @trusted 1292 { 1293 return igInputFloatEx(label, v, step, step_fast, format, flags); 1294 } 1295 1296 bool InputFloat2(scope const(char)* label, scope float* v) @trusted 1297 { 1298 return igInputFloat2(label, v); 1299 } 1300 1301 bool InputFloat2Ex(scope const(char)* label, scope float* v, scope const(char)* format, ImGuiInputTextFlags flags) @trusted 1302 { 1303 return igInputFloat2Ex(label, v, format, flags); 1304 } 1305 1306 bool InputFloat3(scope const(char)* label, scope float* v) @trusted 1307 { 1308 return igInputFloat3(label, v); 1309 } 1310 1311 bool InputFloat3Ex(scope const(char)* label, scope float* v, scope const(char)* format, ImGuiInputTextFlags flags) @trusted 1312 { 1313 return igInputFloat3Ex(label, v, format, flags); 1314 } 1315 1316 bool InputFloat4(scope const(char)* label, scope float* v) @trusted 1317 { 1318 return igInputFloat4(label, v); 1319 } 1320 1321 bool InputFloat4Ex(scope const(char)* label, scope float* v, scope const(char)* format, ImGuiInputTextFlags flags) @trusted 1322 { 1323 return igInputFloat4Ex(label, v, format, flags); 1324 } 1325 1326 bool InputInt(scope const(char)* label, scope int* v) @trusted 1327 { 1328 return igInputInt(label, v); 1329 } 1330 1331 bool InputIntEx(scope const(char)* label, scope int* v, int step, int step_fast, ImGuiInputTextFlags flags) @trusted 1332 { 1333 return igInputIntEx(label, v, step, step_fast, flags); 1334 } 1335 1336 bool InputInt2(scope const(char)* label, scope int* v, ImGuiInputTextFlags flags) @trusted 1337 { 1338 return igInputInt2(label, v, flags); 1339 } 1340 1341 bool InputInt3(scope const(char)* label, scope int* v, ImGuiInputTextFlags flags) @trusted 1342 { 1343 return igInputInt3(label, v, flags); 1344 } 1345 1346 bool InputInt4(scope const(char)* label, scope int* v, ImGuiInputTextFlags flags) @trusted 1347 { 1348 return igInputInt4(label, v, flags); 1349 } 1350 1351 bool InputDouble(scope const(char)* label, scope double* v) @trusted 1352 { 1353 return igInputDouble(label, v); 1354 } 1355 1356 bool InputDoubleEx(scope const(char)* label, scope double* v, double step, double step_fast, scope 1357 char* format, ImGuiInputTextFlags flags) @trusted 1358 { 1359 return igInputDoubleEx(label, v, step, step_fast, format, flags); 1360 } 1361 1362 bool InputScalar(scope const(char)* label, ImGuiDataType data_type, scope void* p_data) @trusted 1363 { 1364 return igInputScalar(label, data_type, p_data); 1365 } 1366 1367 bool InputScalarEx(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, scope void* p_step, scope 1368 void* p_step_fast, scope const(char)* format, ImGuiInputTextFlags flags) @trusted 1369 { 1370 return igInputScalarEx(label, data_type, p_data, p_step, p_step_fast, format, flags); 1371 } 1372 1373 bool InputScalarN(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, int components) @trusted 1374 { 1375 return igInputScalarN(label, data_type, p_data, components); 1376 } 1377 1378 bool InputScalarNEx(scope const(char)* label, ImGuiDataType data_type, scope void* p_data, int components, scope void* p_step, scope 1379 void* p_step_fast, scope const(char)* format, ImGuiInputTextFlags flags) @trusted 1380 { 1381 return igInputScalarNEx(label, data_type, p_data, components, p_step, p_step_fast, format, flags); 1382 } 1383 1384 bool ColorEdit3(scope const(char)* label, scope float* col, ImGuiColorEditFlags flags) @trusted 1385 { 1386 return igColorEdit3(label, col, flags); 1387 } 1388 1389 bool ColorEdit4(scope const(char)* label, scope float* col, ImGuiColorEditFlags flags) @trusted 1390 { 1391 return igColorEdit4(label, col, flags); 1392 } 1393 1394 bool ColorPicker3(scope const(char)* label, scope float* col, ImGuiColorEditFlags flags) @trusted 1395 { 1396 return igColorPicker3(label, col, flags); 1397 } 1398 1399 bool ColorPicker4(scope const(char)* label, scope float* col, ImGuiColorEditFlags flags, scope 1400 float* ref_col) @trusted 1401 { 1402 return igColorPicker4(label, col, flags, ref_col); 1403 } 1404 1405 bool ColorButton(scope const(char)* desc_id, ImVec4 col, ImGuiColorEditFlags flags) @trusted 1406 { 1407 return igColorButton(desc_id, col, flags); 1408 } 1409 1410 bool ColorButtonEx(scope const(char)* desc_id, ImVec4 col, ImGuiColorEditFlags flags, ImVec2 size) @trusted 1411 { 1412 return igColorButtonEx(desc_id, col, flags, size); 1413 } 1414 1415 void SetColorEditOptions( 1416 ImGuiColorEditFlags flags) @trusted 1417 { 1418 igSetColorEditOptions( 1419 flags); 1420 } 1421 1422 bool TreeNode( 1423 scope const(char)* label) @trusted 1424 { 1425 return igTreeNode(label); 1426 } 1427 1428 bool TreeNodeStr(scope const(char)* str_id, scope const(char)* fmt) @trusted 1429 { 1430 return igTreeNodeStr(str_id, fmt); 1431 } 1432 1433 bool TreeNodePtr(scope void* ptr_id, scope const(char)* fmt) @trusted 1434 { 1435 return igTreeNodePtr(ptr_id, fmt); 1436 } 1437 1438 bool TreeNodeV(Args...)(scope const(char)* str_id, scope const(char)* fmt, Args args) @trusted 1439 { 1440 return igTreeNodeV(str_id, fmt, args); 1441 } 1442 1443 bool TreeNodeVPtr(Args...)(scope void* ptr_id, scope const(char)* fmt, Args args) @trusted 1444 { 1445 return igTreeNodeVPtr(ptr_id, fmt, args); 1446 } 1447 1448 bool TreeNodeEx(scope const(char)* label, ImGuiTreeNodeFlags flags) @trusted 1449 { 1450 return igTreeNodeEx(label, flags); 1451 } 1452 1453 bool TreeNodeExStr(scope const(char)* str_id, ImGuiTreeNodeFlags flags, scope const(char)* fmt) @trusted 1454 { 1455 return igTreeNodeExStr(str_id, flags, fmt); 1456 } 1457 1458 bool TreeNodeExPtr(scope void* ptr_id, ImGuiTreeNodeFlags flags, scope const(char)* fmt) @trusted 1459 { 1460 return igTreeNodeExPtr(ptr_id, flags, fmt); 1461 } 1462 1463 bool TreeNodeExV(Args...)(scope const(char)* str_id, ImGuiTreeNodeFlags flags, scope const(char)* fmt, Args args) @trusted 1464 { 1465 return igTreeNodeExV(str_id, flags, fmt, args); 1466 } 1467 1468 bool TreeNodeExVPtr(Args...)(scope void* ptr_id, ImGuiTreeNodeFlags flags, scope const(char)* fmt, Args args) @trusted 1469 { 1470 return igTreeNodeExVPtr(ptr_id, flags, fmt, args); 1471 } 1472 1473 void TreePush( 1474 scope const(char)* str_id) @trusted 1475 { 1476 igTreePush(str_id); 1477 } 1478 1479 void TreePushPtr( 1480 scope void* ptr_id) @trusted 1481 { 1482 igTreePushPtr(ptr_id); 1483 } 1484 1485 void TreePop() @trusted 1486 { 1487 igTreePop(); 1488 } 1489 1490 float GetTreeNodeToLabelSpacing() @trusted 1491 { 1492 return igGetTreeNodeToLabelSpacing(); 1493 } 1494 1495 bool CollapsingHeader(scope const(char)* label, ImGuiTreeNodeFlags flags) @trusted 1496 { 1497 return igCollapsingHeader(label, flags); 1498 } 1499 1500 bool CollapsingHeaderBoolPtr(scope const(char)* label, scope bool* p_visible, ImGuiTreeNodeFlags flags) @trusted 1501 { 1502 return igCollapsingHeaderBoolPtr(label, p_visible, flags); 1503 } 1504 1505 void SetNextItemOpen(bool is_open, ImGuiCond cond) @trusted 1506 { 1507 igSetNextItemOpen(is_open, cond); 1508 } 1509 1510 void SetNextItemStorageID( 1511 ImGuiID storage_id) @trusted 1512 { 1513 igSetNextItemStorageID( 1514 storage_id); 1515 } 1516 1517 bool Selectable( 1518 scope const(char)* label) @trusted 1519 { 1520 return igSelectable( 1521 label); 1522 } 1523 1524 bool SelectableEx(scope const(char)* label, bool selected, ImGuiSelectableFlags flags, ImVec2 size) @trusted 1525 { 1526 return igSelectableEx(label, selected, flags, size); 1527 } 1528 1529 bool SelectableBoolPtr(scope const(char)* label, scope bool* p_selected, ImGuiSelectableFlags flags) @trusted 1530 { 1531 return igSelectableBoolPtr(label, p_selected, flags); 1532 } 1533 1534 bool SelectableBoolPtrEx(scope const(char)* label, scope bool* p_selected, ImGuiSelectableFlags flags, ImVec2 size) @trusted 1535 { 1536 return igSelectableBoolPtrEx(label, p_selected, flags, size); 1537 } 1538 1539 scope ImGuiMultiSelectIO* BeginMultiSelect( 1540 ImGuiMultiSelectFlags flags) @trusted 1541 { 1542 return igBeginMultiSelect( 1543 flags); 1544 } 1545 1546 scope ImGuiMultiSelectIO* BeginMultiSelectEx( 1547 ImGuiMultiSelectFlags flags, int selection_size, int items_count) @trusted 1548 { 1549 return igBeginMultiSelectEx(flags, selection_size, items_count); 1550 } 1551 1552 scope ImGuiMultiSelectIO* EndMultiSelect() @trusted 1553 { 1554 return igEndMultiSelect(); 1555 } 1556 1557 void SetNextItemSelectionUserData( 1558 ImGuiSelectionUserData selection_user_data) @trusted 1559 { 1560 igSetNextItemSelectionUserData( 1561 selection_user_data); 1562 } 1563 1564 bool IsItemToggledSelection() @trusted 1565 { 1566 return igIsItemToggledSelection(); 1567 } 1568 1569 bool BeginListBox(scope const(char)* label, ImVec2 size) @trusted 1570 { 1571 return igBeginListBox(label, size); 1572 } 1573 1574 void EndListBox() @trusted 1575 { 1576 igEndListBox(); 1577 } 1578 1579 bool ListBox(scope const(char)* label, scope int* current_item, scope const(char)** items, int items_count, int height_in_items) @trusted 1580 { 1581 return igListBox(label, current_item, items, items_count, height_in_items); 1582 } 1583 1584 bool ListBoxCallback(scope const(char)* label, scope int* current_item, ImGuiGetterFunc getter, scope 1585 void* user_data, int items_count) @trusted 1586 { 1587 return igListBoxCallback(label, current_item, getter, user_data, items_count); 1588 } 1589 1590 bool ListBoxCallbackEx(scope const(char)* label, scope int* current_item, ImGuiGetterFunc getter, scope 1591 void* user_data, int items_count, int height_in_items) @trusted 1592 { 1593 return igListBoxCallbackEx(label, current_item, getter, user_data, items_count, height_in_items); 1594 } 1595 1596 void PlotLines(scope const(char)* label, scope const(float)* values, int values_count) @trusted 1597 { 1598 igPlotLines(label, values, values_count); 1599 } 1600 1601 void PlotLinesEx(scope const(char)* label, scope const(float)* values, int values_count, int values_offset, scope 1602 char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size, int stride) @trusted 1603 { 1604 igPlotLinesEx(label, values, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size, stride); 1605 } 1606 1607 void PlotLinesCallback(scope const(char)* label, ImGuiValues_getterFunc values_getter, scope 1608 void* data, int values_count) @trusted 1609 { 1610 igPlotLinesCallback(label, values_getter, data, values_count); 1611 } 1612 1613 void PlotLinesCallbackEx(scope const(char)* label, ImGuiValues_getterFunc values_getter, scope 1614 void* data, int values_count, int values_offset, scope const(char)* overlay_text, float scale_min, float scale_max, ImVec2 graph_size) @trusted 1615 { 1616 igPlotLinesCallbackEx(label, values_getter, data, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size); 1617 } 1618 1619 void PlotHistogram(scope const(char)* label, scope const(float)* values, int values_count) @trusted 1620 { 1621 igPlotHistogram(label, values, values_count); 1622 } 1623 1624 void PlotHistogramEx(scope const(char)* label, scope const(float)* values, int values_count, int values_offset, scope 1625 char* overlay_text, float scale_min, float scale_max, ImVec2 graph_size, int stride) @trusted 1626 { 1627 igPlotHistogramEx(label, values, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size, stride); 1628 } 1629 1630 void PlotHistogramCallback(scope const(char)* label, ImGuiValues_getterFunc values_getter, scope 1631 void* data, int values_count) @trusted 1632 { 1633 igPlotHistogramCallback(label, values_getter, data, values_count); 1634 } 1635 1636 void PlotHistogramCallbackEx(scope const(char)* label, ImGuiValues_getterFunc values_getter, scope 1637 void* data, int values_count, int values_offset, scope const(char)* overlay_text, float scale_min, float scale_max, ImVec2 graph_size) @trusted 1638 { 1639 igPlotHistogramCallbackEx(label, values_getter, data, values_count, values_offset, overlay_text, scale_min, scale_max, graph_size); 1640 } 1641 1642 bool BeginMenuBar() @trusted 1643 { 1644 return igBeginMenuBar(); 1645 } 1646 1647 void EndMenuBar() @trusted 1648 { 1649 igEndMenuBar(); 1650 } 1651 1652 bool BeginMainMenuBar() @trusted 1653 { 1654 return igBeginMainMenuBar(); 1655 } 1656 1657 void EndMainMenuBar() @trusted 1658 { 1659 igEndMainMenuBar(); 1660 } 1661 1662 bool BeginMenu( 1663 scope const(char)* label) @trusted 1664 { 1665 return igBeginMenu( 1666 label); 1667 } 1668 1669 bool BeginMenuEx(scope const(char)* label, bool enabled) @trusted 1670 { 1671 return igBeginMenuEx(label, enabled); 1672 } 1673 1674 void EndMenu() @trusted 1675 { 1676 igEndMenu(); 1677 } 1678 1679 bool MenuItem( 1680 scope const(char)* label) @trusted 1681 { 1682 return igMenuItem(label); 1683 } 1684 1685 bool MenuItemEx(scope const(char)* label, scope const(char)* shortcut, bool selected, bool enabled) @trusted 1686 { 1687 return igMenuItemEx(label, shortcut, selected, enabled); 1688 } 1689 1690 bool MenuItemBoolPtr(scope const(char)* label, scope const(char)* shortcut, scope bool* p_selected, bool enabled) @trusted 1691 { 1692 return igMenuItemBoolPtr(label, shortcut, p_selected, enabled); 1693 } 1694 1695 bool BeginTooltip() @trusted 1696 { 1697 return igBeginTooltip(); 1698 } 1699 1700 void EndTooltip() @trusted 1701 { 1702 igEndTooltip(); 1703 } 1704 1705 void SetTooltip( 1706 scope const(char)* fmt) @trusted 1707 { 1708 igSetTooltip(fmt); 1709 } 1710 1711 void SetTooltipV(Args...)(scope const(char)* fmt, Args args) @trusted 1712 { 1713 igSetTooltipV(fmt, args); 1714 } 1715 1716 bool BeginItemTooltip() @trusted 1717 { 1718 return igBeginItemTooltip(); 1719 } 1720 1721 void SetItemTooltip( 1722 scope const(char)* fmt) @trusted 1723 { 1724 igSetItemTooltip(fmt); 1725 } 1726 1727 void SetItemTooltipV(Args...)(scope const(char)* fmt, Args args) @trusted 1728 { 1729 igSetItemTooltipV(fmt, args); 1730 } 1731 1732 bool BeginPopup(scope const(char)* str_id, ImGuiWindowFlags flags) @trusted 1733 { 1734 return igBeginPopup(str_id, flags); 1735 } 1736 1737 bool BeginPopupModal(scope const(char)* name, scope bool* p_open, ImGuiWindowFlags flags) @trusted 1738 { 1739 return igBeginPopupModal(name, p_open, flags); 1740 } 1741 1742 void EndPopup() @trusted 1743 { 1744 igEndPopup(); 1745 } 1746 1747 void OpenPopup(scope const(char)* str_id, ImGuiPopupFlags popup_flags) @trusted 1748 { 1749 igOpenPopup(str_id, popup_flags); 1750 } 1751 1752 void OpenPopupID(ImGuiID id, ImGuiPopupFlags popup_flags) @trusted 1753 { 1754 igOpenPopupID(id, popup_flags); 1755 } 1756 1757 void OpenPopupOnItemClick(scope const(char)* str_id, ImGuiPopupFlags popup_flags) @trusted 1758 { 1759 igOpenPopupOnItemClick(str_id, popup_flags); 1760 } 1761 1762 void CloseCurrentPopup() @trusted 1763 { 1764 igCloseCurrentPopup(); 1765 } 1766 1767 bool BeginPopupContextItem() @trusted 1768 { 1769 return igBeginPopupContextItem(); 1770 } 1771 1772 bool BeginPopupContextItemEx(scope const(char)* str_id, ImGuiPopupFlags popup_flags) @trusted 1773 { 1774 return igBeginPopupContextItemEx(str_id, popup_flags); 1775 } 1776 1777 bool BeginPopupContextWindow() @trusted 1778 { 1779 return igBeginPopupContextWindow(); 1780 } 1781 1782 bool BeginPopupContextWindowEx( 1783 scope const(char)* str_id, ImGuiPopupFlags popup_flags) @trusted 1784 { 1785 return igBeginPopupContextWindowEx(str_id, popup_flags); 1786 } 1787 1788 bool BeginPopupContextVoid() @trusted 1789 { 1790 return igBeginPopupContextVoid(); 1791 } 1792 1793 bool BeginPopupContextVoidEx(scope const(char)* str_id, ImGuiPopupFlags popup_flags) @trusted 1794 { 1795 return igBeginPopupContextVoidEx(str_id, popup_flags); 1796 } 1797 1798 bool IsPopupOpen(scope const(char)* str_id, ImGuiPopupFlags flags) @trusted 1799 { 1800 return igIsPopupOpen(str_id, flags); 1801 } 1802 1803 bool BeginTable(scope const(char)* str_id, int columns, ImGuiTableFlags flags) @trusted 1804 { 1805 return igBeginTable(str_id, columns, flags); 1806 } 1807 1808 bool BeginTableEx(scope const(char)* str_id, int columns, ImGuiTableFlags flags, ImVec2 outer_size, float inner_width) @trusted 1809 { 1810 return igBeginTableEx(str_id, columns, flags, outer_size, inner_width); 1811 } 1812 1813 void EndTable() @trusted 1814 { 1815 igEndTable(); 1816 } 1817 1818 void TableNextRow() @trusted 1819 { 1820 igTableNextRow(); 1821 } 1822 1823 void TableNextRowEx( 1824 ImGuiTableRowFlags row_flags, float min_row_height) @trusted 1825 { 1826 igTableNextRowEx(row_flags, min_row_height); 1827 } 1828 1829 bool TableNextColumn() @trusted 1830 { 1831 return igTableNextColumn(); 1832 } 1833 1834 bool TableSetColumnIndex( 1835 int column_n) @trusted 1836 { 1837 return igTableSetColumnIndex( 1838 column_n); 1839 } 1840 1841 void TableSetupColumn(scope const(char)* label, ImGuiTableColumnFlags flags) @trusted 1842 { 1843 igTableSetupColumn(label, flags); 1844 } 1845 1846 void TableSetupColumnEx(scope const(char)* label, ImGuiTableColumnFlags flags, float init_width_or_weight, ImGuiID user_id) @trusted 1847 { 1848 igTableSetupColumnEx(label, flags, init_width_or_weight, user_id); 1849 } 1850 1851 void TableSetupScrollFreeze(int cols, int rows) @trusted 1852 { 1853 igTableSetupScrollFreeze(cols, rows); 1854 } 1855 1856 void TableHeader( 1857 scope const(char)* label) @trusted 1858 { 1859 igTableHeader(label); 1860 } 1861 1862 void TableHeadersRow() @trusted 1863 { 1864 igTableHeadersRow(); 1865 } 1866 1867 void TableAngledHeadersRow() @trusted 1868 { 1869 igTableAngledHeadersRow(); 1870 } 1871 1872 scope ImGuiTableSortSpecs* TableGetSortSpecs() @trusted 1873 { 1874 return igTableGetSortSpecs(); 1875 } 1876 1877 int TableGetColumnCount() @trusted 1878 { 1879 return igTableGetColumnCount(); 1880 } 1881 1882 int TableGetColumnIndex() @trusted 1883 { 1884 return igTableGetColumnIndex(); 1885 } 1886 1887 int TableGetRowIndex() @trusted 1888 { 1889 return igTableGetRowIndex(); 1890 } 1891 1892 scope const(char)* TableGetColumnName( 1893 int column_n) @trusted 1894 { 1895 return igTableGetColumnName( 1896 column_n); 1897 } 1898 1899 ImGuiTableColumnFlags TableGetColumnFlags( 1900 int column_n) @trusted 1901 { 1902 return igTableGetColumnFlags( 1903 column_n); 1904 } 1905 1906 void TableSetColumnEnabled(int column_n, bool v) @trusted 1907 { 1908 igTableSetColumnEnabled(column_n, v); 1909 } 1910 1911 int TableGetHoveredColumn() @trusted 1912 { 1913 return igTableGetHoveredColumn(); 1914 } 1915 1916 void TableSetBgColor(ImGuiTableBgTarget target, ImU32 color, int column_n) @trusted 1917 { 1918 igTableSetBgColor(target, color, column_n); 1919 } 1920 1921 void Columns() @trusted 1922 { 1923 igColumns(); 1924 } 1925 1926 void ColumnsEx(int count, scope const(char)* id, bool borders) @trusted 1927 { 1928 igColumnsEx(count, id, borders); 1929 } 1930 1931 void NextColumn() @trusted 1932 { 1933 igNextColumn(); 1934 } 1935 1936 int GetColumnIndex() @trusted 1937 { 1938 return igGetColumnIndex(); 1939 } 1940 1941 float GetColumnWidth( 1942 int column_index) @trusted 1943 { 1944 return igGetColumnWidth( 1945 column_index); 1946 } 1947 1948 void SetColumnWidth(int column_index, float width) @trusted 1949 { 1950 igSetColumnWidth(column_index, width); 1951 } 1952 1953 float GetColumnOffset( 1954 int column_index) @trusted 1955 { 1956 return igGetColumnOffset( 1957 column_index); 1958 } 1959 1960 void SetColumnOffset(int column_index, float offset_x) @trusted 1961 { 1962 igSetColumnOffset(column_index, offset_x); 1963 } 1964 1965 int GetColumnsCount() @trusted 1966 { 1967 return igGetColumnsCount(); 1968 } 1969 1970 bool BeginTabBar(scope const(char)* str_id, ImGuiTabBarFlags flags) @trusted 1971 { 1972 return igBeginTabBar(str_id, flags); 1973 } 1974 1975 void EndTabBar() @trusted 1976 { 1977 igEndTabBar(); 1978 } 1979 1980 bool BeginTabItem(scope const(char)* label, scope bool* p_open, ImGuiTabItemFlags flags) @trusted 1981 { 1982 return igBeginTabItem(label, p_open, flags); 1983 } 1984 1985 void EndTabItem() @trusted 1986 { 1987 igEndTabItem(); 1988 } 1989 1990 bool TabItemButton(scope const(char)* label, ImGuiTabItemFlags flags) @trusted 1991 { 1992 return igTabItemButton(label, flags); 1993 } 1994 1995 void SetTabItemClosed( 1996 scope const(char)* tab_or_docked_window_label) @trusted 1997 { 1998 igSetTabItemClosed( 1999 tab_or_docked_window_label); 2000 } 2001 2002 void LogToTTY( 2003 int auto_open_depth) @trusted 2004 { 2005 igLogToTTY( 2006 auto_open_depth); 2007 } 2008 2009 void LogToFile(int auto_open_depth, scope const(char)* filename) @trusted 2010 { 2011 igLogToFile(auto_open_depth, filename); 2012 } 2013 2014 void LogToClipboard( 2015 int auto_open_depth) @trusted 2016 { 2017 igLogToClipboard( 2018 auto_open_depth); 2019 } 2020 2021 void LogFinish() @trusted 2022 { 2023 igLogFinish(); 2024 } 2025 2026 void LogButtons() @trusted 2027 { 2028 igLogButtons(); 2029 } 2030 2031 void LogText(scope const(char)* fmt) @trusted 2032 { 2033 igLogText(fmt); 2034 } 2035 2036 void LogTextV(Args...)(scope const(char)* fmt, Args args) @trusted 2037 { 2038 igLogTextV(fmt, args); 2039 } 2040 2041 bool BeginDragDropSource( 2042 ImGuiDragDropFlags flags) @trusted 2043 { 2044 return igBeginDragDropSource( 2045 flags); 2046 } 2047 2048 bool SetDragDropPayload(scope const(char)* type, scope void* data, size_t sz, ImGuiCond cond) @trusted 2049 { 2050 return igSetDragDropPayload(type, data, sz, cond); 2051 } 2052 2053 void EndDragDropSource() @trusted 2054 { 2055 igEndDragDropSource(); 2056 } 2057 2058 bool BeginDragDropTarget() @trusted 2059 { 2060 return igBeginDragDropTarget(); 2061 } 2062 2063 scope ImGuiPayload* AcceptDragDropPayload( 2064 scope const(char)* type, ImGuiDragDropFlags flags) @trusted 2065 { 2066 return igAcceptDragDropPayload(type, flags); 2067 } 2068 2069 void EndDragDropTarget() @trusted 2070 { 2071 igEndDragDropTarget(); 2072 } 2073 2074 scope ImGuiPayload* GetDragDropPayload() @trusted 2075 { 2076 return igGetDragDropPayload(); 2077 } 2078 2079 void BeginDisabled( 2080 bool disabled) @trusted 2081 { 2082 igBeginDisabled( 2083 disabled); 2084 } 2085 2086 void EndDisabled() @trusted 2087 { 2088 igEndDisabled(); 2089 } 2090 2091 void PushClipRect(ImVec2 clip_rect_min, ImVec2 clip_rect_max, bool intersect_with_current_clip_rect) @trusted 2092 { 2093 igPushClipRect(clip_rect_min, clip_rect_max, intersect_with_current_clip_rect); 2094 } 2095 2096 void PopClipRect() @trusted 2097 { 2098 igPopClipRect(); 2099 } 2100 2101 void SetItemDefaultFocus() @trusted 2102 { 2103 igSetItemDefaultFocus(); 2104 } 2105 2106 void SetKeyboardFocusHere() @trusted 2107 { 2108 igSetKeyboardFocusHere(); 2109 } 2110 2111 void SetKeyboardFocusHereEx( 2112 int offset) @trusted 2113 { 2114 igSetKeyboardFocusHereEx( 2115 offset); 2116 } 2117 2118 void SetNavCursorVisible( 2119 bool visible) @trusted 2120 { 2121 igSetNavCursorVisible( 2122 visible); 2123 } 2124 2125 void SetNextItemAllowOverlap() @trusted 2126 { 2127 igSetNextItemAllowOverlap(); 2128 } 2129 2130 bool IsItemHovered( 2131 ImGuiHoveredFlags flags) @trusted 2132 { 2133 return igIsItemHovered( 2134 flags); 2135 } 2136 2137 bool IsItemActive() @trusted 2138 { 2139 return igIsItemActive(); 2140 } 2141 2142 bool IsItemFocused() @trusted 2143 { 2144 return igIsItemFocused(); 2145 } 2146 2147 bool IsItemClicked() @trusted 2148 { 2149 return igIsItemClicked(); 2150 } 2151 2152 bool IsItemClickedEx( 2153 ImGuiMouseButton mouse_button) @trusted 2154 { 2155 return igIsItemClickedEx( 2156 mouse_button); 2157 } 2158 2159 bool IsItemVisible() @trusted 2160 { 2161 return igIsItemVisible(); 2162 } 2163 2164 bool IsItemEdited() @trusted 2165 { 2166 return igIsItemEdited(); 2167 } 2168 2169 bool IsItemActivated() @trusted 2170 { 2171 return igIsItemActivated(); 2172 } 2173 2174 bool IsItemDeactivated() @trusted 2175 { 2176 return igIsItemDeactivated(); 2177 } 2178 2179 bool IsItemDeactivatedAfterEdit() @trusted 2180 { 2181 return igIsItemDeactivatedAfterEdit(); 2182 } 2183 2184 bool IsItemToggledOpen() @trusted 2185 { 2186 return igIsItemToggledOpen(); 2187 } 2188 2189 bool IsAnyItemHovered() @trusted 2190 { 2191 return igIsAnyItemHovered(); 2192 } 2193 2194 bool IsAnyItemActive() @trusted 2195 { 2196 return igIsAnyItemActive(); 2197 } 2198 2199 bool IsAnyItemFocused() @trusted 2200 { 2201 return igIsAnyItemFocused(); 2202 } 2203 2204 ImGuiID GetItemID() @trusted 2205 { 2206 return igGetItemID(); 2207 } 2208 2209 ImVec2 GetItemRectMin() @trusted 2210 { 2211 return igGetItemRectMin(); 2212 } 2213 2214 ImVec2 GetItemRectMax() @trusted 2215 { 2216 return igGetItemRectMax(); 2217 } 2218 2219 ImVec2 GetItemRectSize() @trusted 2220 { 2221 return igGetItemRectSize(); 2222 } 2223 2224 scope ImGuiViewport* GetMainViewport() @trusted 2225 { 2226 return igGetMainViewport(); 2227 } 2228 2229 scope ImDrawList* GetBackgroundDrawList() @trusted 2230 { 2231 return igGetBackgroundDrawList(); 2232 } 2233 2234 scope ImDrawList* GetForegroundDrawList() @trusted 2235 { 2236 return igGetForegroundDrawList(); 2237 } 2238 2239 bool IsRectVisibleBySize( 2240 ImVec2 size) @trusted 2241 { 2242 return igIsRectVisibleBySize( 2243 size); 2244 } 2245 2246 bool IsRectVisible(ImVec2 rect_min, ImVec2 rect_max) @trusted 2247 { 2248 return igIsRectVisible(rect_min, rect_max); 2249 } 2250 2251 double GetTime() @trusted 2252 { 2253 return igGetTime(); 2254 } 2255 2256 int GetFrameCount() @trusted 2257 { 2258 return igGetFrameCount(); 2259 } 2260 2261 scope ImDrawListSharedData* GetDrawListSharedData() @trusted 2262 { 2263 return igGetDrawListSharedData(); 2264 } 2265 2266 scope const(char)* GetStyleColorName( 2267 ImGuiCol idx) @trusted 2268 { 2269 return igGetStyleColorName( 2270 idx); 2271 } 2272 2273 void SetStateStorage( 2274 scope ImGuiStorage* storage) @trusted 2275 { 2276 igSetStateStorage( 2277 storage); 2278 } 2279 2280 scope ImGuiStorage* GetStateStorage() @trusted 2281 { 2282 return igGetStateStorage(); 2283 } 2284 2285 ImVec2 CalcTextSize( 2286 scope const(char)* text) @trusted 2287 { 2288 return igCalcTextSize( 2289 text); 2290 } 2291 2292 ImVec2 CalcTextSizeEx(scope const(char)* text, scope const(char)* text_end, bool hide_text_after_double_hash, float wrap_width) @trusted 2293 { 2294 return igCalcTextSizeEx(text, text_end, hide_text_after_double_hash, wrap_width); 2295 } 2296 2297 ImVec4 ColorConvertU32ToFloat4( 2298 ImU32 in_) @trusted 2299 { 2300 return igColorConvertU32ToFloat4( 2301 in_); 2302 } 2303 2304 ImU32 ColorConvertFloat4ToU32( 2305 ImVec4 in_) @trusted 2306 { 2307 return igColorConvertFloat4ToU32( 2308 in_); 2309 } 2310 2311 void ColorConvertRGBtoHSV(float r, float g, float b, scope float* out_h, scope 2312 float* out_s, scope float* out_v) @trusted 2313 { 2314 igColorConvertRGBtoHSV(r, g, b, out_h, out_s, out_v); 2315 } 2316 2317 void ColorConvertHSVtoRGB(float h, float s, float v, scope float* out_r, scope 2318 float* out_g, scope float* out_b) @trusted 2319 { 2320 igColorConvertHSVtoRGB(h, s, v, out_r, out_g, out_b); 2321 } 2322 2323 bool IsKeyDown(ImGuiKey key) @trusted 2324 { 2325 return igIsKeyDown(key); 2326 } 2327 2328 bool IsKeyPressed( 2329 ImGuiKey key) @trusted 2330 { 2331 return igIsKeyPressed( 2332 key); 2333 } 2334 2335 bool IsKeyPressedEx(ImGuiKey key, bool repeat) @trusted 2336 { 2337 return igIsKeyPressedEx(key, repeat); 2338 } 2339 2340 bool IsKeyReleased( 2341 ImGuiKey key) @trusted 2342 { 2343 return igIsKeyReleased( 2344 key); 2345 } 2346 2347 bool IsKeyChordPressed( 2348 ImGuiKeyChord key_chord) @trusted 2349 { 2350 return igIsKeyChordPressed( 2351 key_chord); 2352 } 2353 2354 int GetKeyPressedAmount(ImGuiKey key, float repeat_delay, float rate) @trusted 2355 { 2356 return igGetKeyPressedAmount(key, repeat_delay, rate); 2357 } 2358 2359 scope const(char)* GetKeyName( 2360 ImGuiKey key) @trusted 2361 { 2362 return igGetKeyName(key); 2363 } 2364 2365 void SetNextFrameWantCaptureKeyboard( 2366 bool want_capture_keyboard) @trusted 2367 { 2368 igSetNextFrameWantCaptureKeyboard( 2369 want_capture_keyboard); 2370 } 2371 2372 bool Shortcut(ImGuiKeyChord key_chord, ImGuiInputFlags flags) @trusted 2373 { 2374 return igShortcut(key_chord, flags); 2375 } 2376 2377 void SetNextItemShortcut( 2378 ImGuiKeyChord key_chord, ImGuiInputFlags flags) @trusted 2379 { 2380 igSetNextItemShortcut(key_chord, flags); 2381 } 2382 2383 void SetItemKeyOwner( 2384 ImGuiKey key) @trusted 2385 { 2386 igSetItemKeyOwner(key); 2387 } 2388 2389 bool IsMouseDown( 2390 ImGuiMouseButton button) @trusted 2391 { 2392 return igIsMouseDown( 2393 button); 2394 } 2395 2396 bool IsMouseClicked( 2397 ImGuiMouseButton button) @trusted 2398 { 2399 return igIsMouseClicked( 2400 button); 2401 } 2402 2403 bool IsMouseClickedEx(ImGuiMouseButton button, bool repeat) @trusted 2404 { 2405 return igIsMouseClickedEx(button, repeat); 2406 } 2407 2408 bool IsMouseReleased( 2409 ImGuiMouseButton button) @trusted 2410 { 2411 return igIsMouseReleased( 2412 button); 2413 } 2414 2415 bool IsMouseDoubleClicked( 2416 ImGuiMouseButton button) @trusted 2417 { 2418 return igIsMouseDoubleClicked( 2419 button); 2420 } 2421 2422 bool IsMouseReleasedWithDelay( 2423 ImGuiMouseButton button, float delay) @trusted 2424 { 2425 return igIsMouseReleasedWithDelay(button, delay); 2426 } 2427 2428 int GetMouseClickedCount( 2429 ImGuiMouseButton button) @trusted 2430 { 2431 return igGetMouseClickedCount( 2432 button); 2433 } 2434 2435 bool IsMouseHoveringRect(ImVec2 r_min, ImVec2 r_max) @trusted 2436 { 2437 return igIsMouseHoveringRect(r_min, r_max); 2438 } 2439 2440 bool IsMouseHoveringRectEx(ImVec2 r_min, ImVec2 r_max, bool clip) @trusted 2441 { 2442 return igIsMouseHoveringRectEx(r_min, r_max, clip); 2443 } 2444 2445 bool IsMousePosValid( 2446 scope ImVec2* mouse_pos) @trusted 2447 { 2448 return igIsMousePosValid( 2449 mouse_pos); 2450 } 2451 2452 bool IsAnyMouseDown() @trusted 2453 { 2454 return igIsAnyMouseDown(); 2455 } 2456 2457 ImVec2 GetMousePos() @trusted 2458 { 2459 return igGetMousePos(); 2460 } 2461 2462 ImVec2 GetMousePosOnOpeningCurrentPopup() @trusted 2463 { 2464 return igGetMousePosOnOpeningCurrentPopup(); 2465 } 2466 2467 bool IsMouseDragging(ImGuiMouseButton button, float lock_threshold) @trusted 2468 { 2469 return igIsMouseDragging(button, lock_threshold); 2470 } 2471 2472 ImVec2 GetMouseDragDelta( 2473 ImGuiMouseButton button, float lock_threshold) @trusted 2474 { 2475 return igGetMouseDragDelta(button, lock_threshold); 2476 } 2477 2478 void ResetMouseDragDelta() @trusted 2479 { 2480 igResetMouseDragDelta(); 2481 } 2482 2483 void ResetMouseDragDeltaEx( 2484 ImGuiMouseButton button) @trusted 2485 { 2486 igResetMouseDragDeltaEx( 2487 button); 2488 } 2489 2490 ImGuiMouseCursor GetMouseCursor() @trusted 2491 { 2492 return igGetMouseCursor(); 2493 } 2494 2495 void SetMouseCursor( 2496 ImGuiMouseCursor cursor_type) @trusted 2497 { 2498 igSetMouseCursor( 2499 cursor_type); 2500 } 2501 2502 void SetNextFrameWantCaptureMouse( 2503 bool want_capture_mouse) @trusted 2504 { 2505 igSetNextFrameWantCaptureMouse( 2506 want_capture_mouse); 2507 } 2508 2509 scope const(char)* GetClipboardText() @trusted 2510 { 2511 return igGetClipboardText(); 2512 } 2513 2514 void SetClipboardText( 2515 scope const(char)* text) @trusted 2516 { 2517 igSetClipboardText(text); 2518 } 2519 2520 void LoadIniSettingsFromDisk( 2521 scope const(char)* ini_filename) @trusted 2522 { 2523 igLoadIniSettingsFromDisk( 2524 ini_filename); 2525 } 2526 2527 void LoadIniSettingsFromMemory( 2528 scope const(char)* ini_data, size_t ini_size) @trusted 2529 { 2530 igLoadIniSettingsFromMemory(ini_data, ini_size); 2531 } 2532 2533 void SaveIniSettingsToDisk( 2534 scope const(char)* ini_filename) @trusted 2535 { 2536 igSaveIniSettingsToDisk( 2537 ini_filename); 2538 } 2539 2540 scope const(char)* SaveIniSettingsToMemory( 2541 scope size_t* out_ini_size) @trusted 2542 { 2543 return igSaveIniSettingsToMemory( 2544 out_ini_size); 2545 } 2546 2547 void DebugTextEncoding( 2548 scope const(char)* text) @trusted 2549 { 2550 igDebugTextEncoding( 2551 text); 2552 } 2553 2554 void DebugFlashStyleColor( 2555 ImGuiCol idx) @trusted 2556 { 2557 igDebugFlashStyleColor( 2558 idx); 2559 } 2560 2561 void DebugStartItemPicker() @trusted 2562 { 2563 igDebugStartItemPicker(); 2564 } 2565 2566 bool DebugCheckVersionAndDataLayout( 2567 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 2568 { 2569 return igDebugCheckVersionAndDataLayout( 2570 version_str, sz_io, sz_style, sz_vec2, sz_vec4, sz_drawvert, sz_drawidx); 2571 } 2572 2573 void DebugLog( 2574 scope const(char)* fmt) @trusted 2575 { 2576 igDebugLog(fmt); 2577 } 2578 2579 void DebugLogV(Args...)(scope const(char)* fmt, Args args) @trusted 2580 { 2581 igDebugLogV(fmt, args); 2582 } 2583 2584 void SetAllocatorFunctions( 2585 ImGuiMemAllocFunc alloc_func, ImGuiMemFreeFunc free_func, scope 2586 void* user_data) @trusted 2587 { 2588 igSetAllocatorFunctions(alloc_func, free_func, user_data); 2589 } 2590 2591 void GetAllocatorFunctions( 2592 scope ImGuiMemAllocFunc* p_alloc_func, scope 2593 ImGuiMemFreeFunc* p_free_func, scope void** p_user_data) @trusted 2594 { 2595 igGetAllocatorFunctions(p_alloc_func, p_free_func, p_user_data); 2596 } 2597 2598 scope void* MemAlloc( 2599 size_t size) @trusted 2600 { 2601 return igMemAlloc(size); 2602 } 2603 2604 void MemFree(scope void* ptr) @trusted 2605 { 2606 igMemFree(ptr); 2607 } 2608 2609 void ImageImVec4(ImTextureID user_texture_id, ImVec2 image_size, ImVec2 uv0, ImVec2 uv1, ImVec4 tint_col, ImVec4 border_col) @trusted 2610 { 2611 igImageImVec4(user_texture_id, image_size, uv0, uv1, tint_col, border_col); 2612 } 2613 2614 void PushButtonRepeat( 2615 bool repeat) @trusted 2616 { 2617 igPushButtonRepeat( 2618 repeat); 2619 } 2620 2621 void PopButtonRepeat() @trusted 2622 { 2623 igPopButtonRepeat(); 2624 } 2625 2626 void PushTabStop( 2627 bool tab_stop) @trusted 2628 { 2629 igPushTabStop(tab_stop); 2630 } 2631 2632 void PopTabStop() @trusted 2633 { 2634 igPopTabStop(); 2635 } 2636 2637 ImVec2 GetContentRegionMax() @trusted 2638 { 2639 return igGetContentRegionMax(); 2640 } 2641 2642 ImVec2 GetWindowContentRegionMin() @trusted 2643 { 2644 return igGetWindowContentRegionMin(); 2645 } 2646 2647 ImVec2 GetWindowContentRegionMax() @trusted 2648 { 2649 return igGetWindowContentRegionMax(); 2650 } 2651 2652 bool BeginChildFrame(ImGuiID id, ImVec2 size) @trusted 2653 { 2654 return igBeginChildFrame(id, size); 2655 } 2656 2657 bool BeginChildFrameEx(ImGuiID id, ImVec2 size, ImGuiWindowFlags window_flags) @trusted 2658 { 2659 return igBeginChildFrameEx(id, size, window_flags); 2660 } 2661 2662 void EndChildFrame() @trusted 2663 { 2664 igEndChildFrame(); 2665 } 2666 2667 void ShowStackToolWindow( 2668 scope bool* p_open) @trusted 2669 { 2670 igShowStackToolWindow( 2671 p_open); 2672 } 2673 2674 bool ComboObsolete(scope const(char)* label, scope int* current_item, ImGuiOld_callbackFunc old_callback, scope 2675 void* user_data, int items_count) @trusted 2676 { 2677 return igComboObsolete(label, current_item, old_callback, user_data, items_count); 2678 } 2679 2680 bool ComboObsoleteEx(scope const(char)* label, scope int* current_item, ImGuiOld_callbackFunc old_callback, scope 2681 void* user_data, int items_count, int popup_max_height_in_items) @trusted 2682 { 2683 return igComboObsoleteEx(label, current_item, old_callback, user_data, items_count, popup_max_height_in_items); 2684 } 2685 2686 bool ListBoxObsolete(scope const(char)* label, scope int* current_item, ImGuiOld_callbackFunc old_callback, scope 2687 void* user_data, int items_count) @trusted 2688 { 2689 return igListBoxObsolete(label, current_item, old_callback, user_data, items_count); 2690 } 2691 2692 bool ListBoxObsoleteEx(scope const(char)* label, scope int* current_item, ImGuiOld_callbackFunc old_callback, scope 2693 void* user_data, int items_count, int height_in_items) @trusted 2694 { 2695 return igListBoxObsoleteEx(label, current_item, old_callback, user_data, items_count, height_in_items); 2696 } 2697 2698 void SetItemAllowOverlap() @trusted 2699 { 2700 igSetItemAllowOverlap(); 2701 } 2702 2703 void PushAllowKeyboardFocus( 2704 bool tab_stop) @trusted 2705 { 2706 igPushAllowKeyboardFocus( 2707 tab_stop); 2708 } 2709 2710 void PopAllowKeyboardFocus() @trusted 2711 { 2712 igPopAllowKeyboardFocus(); 2713 } 2714 2715 }