├── README.md ├── core.json ├── core.pyx ├── example_autocomplete_vscode.PNG ├── imgui.pyi ├── requirements.txt └── run.py /README.md: -------------------------------------------------------------------------------- 1 | # Generate public interfaces for pyimgui 2 | 3 | Missing autocomplete for pyimgui? 😁 4 | 5 | ![](https://github.com/masc-it/pyimgui-interface-generator/raw/master/example_autocomplete_vscode.PNG) 6 | 7 | ## requirements 8 | pip install -r requirements.txt 9 | 10 | ## run 11 | 12 | python run.py "your-pyx" 13 | 14 | ## usage example 15 | 16 | The file core.pyx in this repo comes from the pyimgui docking branch. Let's say I want to extract all static and member functions in it: 17 | 18 | python run.py core.pyx 19 | 20 | What now? 21 | 22 | Copy *imgui.pyi* in your virtual environment "site-packages" folder. 23 | 24 | Note: Reload your IDE so that it correctly recognizes the interface. 25 | 26 | Enjoy your auto-complete :) 27 | 28 | ## Disclaimers 29 | 30 | - The *imgui.pyx* in this repo contains imgui constants too, but this is not implemented in the code (yet) and has to be done manually. 31 | - Private member functions are included (change regex to exclude them) 32 | - This is an early alpha, code is not refactored and bugs might be hiding. 33 | -------------------------------------------------------------------------------- /core.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "fun": "cdef from_ptr(cimgui.ImGuiContext* ptr)", 4 | "class": "_ImGuiContext" 5 | }, 6 | { 7 | "fun": "cdef from_ptr(cimgui.ImDrawCmd* ptr)", 8 | "class": "_DrawCmd" 9 | }, 10 | { 11 | "fun": "def texture_id(self)", 12 | "class": "_DrawCmd" 13 | }, 14 | { 15 | "fun": "def clip_rect(self)", 16 | "class": "_DrawCmd" 17 | }, 18 | { 19 | "fun": "def elem_count(self)", 20 | "class": "_DrawCmd" 21 | }, 22 | { 23 | "fun": "cdef from_ptr(cimgui.ImDrawList* ptr)", 24 | "class": "_DrawList" 25 | }, 26 | { 27 | "fun": "def cmd_buffer_size(self)", 28 | "class": "_DrawList" 29 | }, 30 | { 31 | "fun": "def cmd_buffer_data(self)", 32 | "class": "_DrawList" 33 | }, 34 | { 35 | "fun": "def vtx_buffer_size(self)", 36 | "class": "_DrawList" 37 | }, 38 | { 39 | "fun": "def vtx_buffer_data(self)", 40 | "class": "_DrawList" 41 | }, 42 | { 43 | "fun": "def idx_buffer_size(self)", 44 | "class": "_DrawList" 45 | }, 46 | { 47 | "fun": "def idx_buffer_data(self)", 48 | "class": "_DrawList" 49 | }, 50 | { 51 | "fun": "def flags(self)", 52 | "class": "_DrawList" 53 | }, 54 | { 55 | "fun": "def flags(self, cimgui.ImDrawListFlags flags)", 56 | "class": "_DrawList" 57 | }, 58 | { 59 | "fun": "def push_clip_rect_full_screen(self)", 60 | "class": "_DrawList" 61 | }, 62 | { 63 | "fun": "def pop_clip_rect(self)", 64 | "class": "_DrawList" 65 | }, 66 | { 67 | "fun": "def push_texture_id(self, texture_id)", 68 | "class": "_DrawList" 69 | }, 70 | { 71 | "fun": "def pop_texture_id(self)", 72 | "class": "_DrawList" 73 | }, 74 | { 75 | "fun": "def get_clip_rect_min(self)", 76 | "class": "_DrawList" 77 | }, 78 | { 79 | "fun": "def get_clip_rect_max(self)", 80 | "class": "_DrawList" 81 | }, 82 | { 83 | "fun": "def channels_split(self, int channels_count)", 84 | "class": "_DrawList" 85 | }, 86 | { 87 | "fun": "def channels_set_current(self, int idx)", 88 | "class": "_DrawList" 89 | }, 90 | { 91 | "fun": "def channels_merge(self)", 92 | "class": "_DrawList" 93 | }, 94 | { 95 | "fun": "def prim_reserve(self, int idx_count, int vtx_count)", 96 | "class": "_DrawList" 97 | }, 98 | { 99 | "fun": "def prim_unreserve(self, int idx_count, int vtx_count)", 100 | "class": "_DrawList" 101 | }, 102 | { 103 | "fun": "def prim_rect(self, float a_x, float a_y, float b_x, float b_y, cimgui.ImU32 color = 0xFFFFFFFF)", 104 | "class": "_DrawList" 105 | }, 106 | { 107 | "fun": "def prim_write_vtx(self, float pos_x, float pos_y, float u, float v, cimgui.ImU32 color = 0xFFFFFFFF)", 108 | "class": "_DrawList" 109 | }, 110 | { 111 | "fun": "def prim_write_idx(self, cimgui.ImDrawIdx idx)", 112 | "class": "_DrawList" 113 | }, 114 | { 115 | "fun": "def prim_vtx(self, float pos_x, float pos_y, float u, float v, cimgui.ImU32 color = 0xFFFFFFFF)", 116 | "class": "_DrawList" 117 | }, 118 | { 119 | "fun": "def commands(self)", 120 | "class": "_DrawList" 121 | }, 122 | { 123 | "fun": "def create()", 124 | "class": "GuiStyle" 125 | }, 126 | { 127 | "fun": "def alpha(self)", 128 | "class": "GuiStyle" 129 | }, 130 | { 131 | "fun": "def alpha(self, float value)", 132 | "class": "GuiStyle" 133 | }, 134 | { 135 | "fun": "def window_padding(self)", 136 | "class": "GuiStyle" 137 | }, 138 | { 139 | "fun": "def window_padding(self, value)", 140 | "class": "GuiStyle" 141 | }, 142 | { 143 | "fun": "def window_min_size(self)", 144 | "class": "GuiStyle" 145 | }, 146 | { 147 | "fun": "def window_min_size(self, value)", 148 | "class": "GuiStyle" 149 | }, 150 | { 151 | "fun": "def window_rounding(self)", 152 | "class": "GuiStyle" 153 | }, 154 | { 155 | "fun": "def window_rounding(self, float value)", 156 | "class": "GuiStyle" 157 | }, 158 | { 159 | "fun": "def window_border_size(self)", 160 | "class": "GuiStyle" 161 | }, 162 | { 163 | "fun": "def window_border_size(self, float value)", 164 | "class": "GuiStyle" 165 | }, 166 | { 167 | "fun": "def child_rounding(self)", 168 | "class": "GuiStyle" 169 | }, 170 | { 171 | "fun": "def child_rounding(self, float value)", 172 | "class": "GuiStyle" 173 | }, 174 | { 175 | "fun": "def child_border_size(self)", 176 | "class": "GuiStyle" 177 | }, 178 | { 179 | "fun": "def child_border_size(self, float value)", 180 | "class": "GuiStyle" 181 | }, 182 | { 183 | "fun": "def popup_rounding(self)", 184 | "class": "GuiStyle" 185 | }, 186 | { 187 | "fun": "def popup_rounding(self, float value)", 188 | "class": "GuiStyle" 189 | }, 190 | { 191 | "fun": "def popup_border_size(self)", 192 | "class": "GuiStyle" 193 | }, 194 | { 195 | "fun": "def popup_border_size(self, float value)", 196 | "class": "GuiStyle" 197 | }, 198 | { 199 | "fun": "def window_title_align(self)", 200 | "class": "GuiStyle" 201 | }, 202 | { 203 | "fun": "def window_title_align(self, value)", 204 | "class": "GuiStyle" 205 | }, 206 | { 207 | "fun": "def window_menu_button_position(self)", 208 | "class": "GuiStyle" 209 | }, 210 | { 211 | "fun": "def window_menu_button_position(self, cimgui.ImGuiDir value)", 212 | "class": "GuiStyle" 213 | }, 214 | { 215 | "fun": "def frame_padding(self)", 216 | "class": "GuiStyle" 217 | }, 218 | { 219 | "fun": "def frame_padding(self, value)", 220 | "class": "GuiStyle" 221 | }, 222 | { 223 | "fun": "def frame_rounding(self)", 224 | "class": "GuiStyle" 225 | }, 226 | { 227 | "fun": "def frame_rounding(self, float value)", 228 | "class": "GuiStyle" 229 | }, 230 | { 231 | "fun": "def frame_border_size(self)", 232 | "class": "GuiStyle" 233 | }, 234 | { 235 | "fun": "def frame_border_size(self, float value)", 236 | "class": "GuiStyle" 237 | }, 238 | { 239 | "fun": "def item_spacing(self)", 240 | "class": "GuiStyle" 241 | }, 242 | { 243 | "fun": "def item_spacing(self, value)", 244 | "class": "GuiStyle" 245 | }, 246 | { 247 | "fun": "def item_inner_spacing(self)", 248 | "class": "GuiStyle" 249 | }, 250 | { 251 | "fun": "def item_inner_spacing(self, value)", 252 | "class": "GuiStyle" 253 | }, 254 | { 255 | "fun": "def cell_padding(self)", 256 | "class": "GuiStyle" 257 | }, 258 | { 259 | "fun": "def cell_padding(self, value)", 260 | "class": "GuiStyle" 261 | }, 262 | { 263 | "fun": "def touch_extra_padding(self)", 264 | "class": "GuiStyle" 265 | }, 266 | { 267 | "fun": "def touch_extra_padding(self, value)", 268 | "class": "GuiStyle" 269 | }, 270 | { 271 | "fun": "def indent_spacing(self)", 272 | "class": "GuiStyle" 273 | }, 274 | { 275 | "fun": "def indent_spacing(self, float value)", 276 | "class": "GuiStyle" 277 | }, 278 | { 279 | "fun": "def columns_min_spacing(self)", 280 | "class": "GuiStyle" 281 | }, 282 | { 283 | "fun": "def columns_min_spacing(self, float value)", 284 | "class": "GuiStyle" 285 | }, 286 | { 287 | "fun": "def scrollbar_size(self)", 288 | "class": "GuiStyle" 289 | }, 290 | { 291 | "fun": "def scrollbar_size(self, float value)", 292 | "class": "GuiStyle" 293 | }, 294 | { 295 | "fun": "def scrollbar_rounding(self)", 296 | "class": "GuiStyle" 297 | }, 298 | { 299 | "fun": "def scrollbar_rounding(self, float value)", 300 | "class": "GuiStyle" 301 | }, 302 | { 303 | "fun": "def grab_min_size(self)", 304 | "class": "GuiStyle" 305 | }, 306 | { 307 | "fun": "def grab_min_size(self, float value)", 308 | "class": "GuiStyle" 309 | }, 310 | { 311 | "fun": "def grab_rounding(self)", 312 | "class": "GuiStyle" 313 | }, 314 | { 315 | "fun": "def grab_rounding(self, float value)", 316 | "class": "GuiStyle" 317 | }, 318 | { 319 | "fun": "def log_slider_deadzone(self)", 320 | "class": "GuiStyle" 321 | }, 322 | { 323 | "fun": "def log_slider_deadzone(self, float value)", 324 | "class": "GuiStyle" 325 | }, 326 | { 327 | "fun": "def tab_rounding(self)", 328 | "class": "GuiStyle" 329 | }, 330 | { 331 | "fun": "def tab_rounding(self, float value)", 332 | "class": "GuiStyle" 333 | }, 334 | { 335 | "fun": "def tab_border_size(self)", 336 | "class": "GuiStyle" 337 | }, 338 | { 339 | "fun": "def tab_border_size(self, float value)", 340 | "class": "GuiStyle" 341 | }, 342 | { 343 | "fun": "def tab_min_width_for_close_button(self)", 344 | "class": "GuiStyle" 345 | }, 346 | { 347 | "fun": "def tab_min_width_for_close_button(self, float value)", 348 | "class": "GuiStyle" 349 | }, 350 | { 351 | "fun": "def color_button_position(self)", 352 | "class": "GuiStyle" 353 | }, 354 | { 355 | "fun": "def color_button_position(self, cimgui.ImGuiDir value)", 356 | "class": "GuiStyle" 357 | }, 358 | { 359 | "fun": "def button_text_align(self)", 360 | "class": "GuiStyle" 361 | }, 362 | { 363 | "fun": "def button_text_align(self, value)", 364 | "class": "GuiStyle" 365 | }, 366 | { 367 | "fun": "def selectable_text_align(self)", 368 | "class": "GuiStyle" 369 | }, 370 | { 371 | "fun": "def selectable_text_align(self, value)", 372 | "class": "GuiStyle" 373 | }, 374 | { 375 | "fun": "def display_window_padding(self)", 376 | "class": "GuiStyle" 377 | }, 378 | { 379 | "fun": "def display_window_padding(self, value)", 380 | "class": "GuiStyle" 381 | }, 382 | { 383 | "fun": "def display_safe_area_padding(self)", 384 | "class": "GuiStyle" 385 | }, 386 | { 387 | "fun": "def display_safe_area_padding(self, value)", 388 | "class": "GuiStyle" 389 | }, 390 | { 391 | "fun": "def mouse_cursor_scale(self)", 392 | "class": "GuiStyle" 393 | }, 394 | { 395 | "fun": "def mouse_cursor_scale(self, value)", 396 | "class": "GuiStyle" 397 | }, 398 | { 399 | "fun": "def anti_aliased_lines(self)", 400 | "class": "GuiStyle" 401 | }, 402 | { 403 | "fun": "def anti_aliased_lines(self, cimgui.bool value)", 404 | "class": "GuiStyle" 405 | }, 406 | { 407 | "fun": "def anti_aliased_line_use_tex(self)", 408 | "class": "GuiStyle" 409 | }, 410 | { 411 | "fun": "def anti_aliased_line_use_tex(self, cimgui.bool value)", 412 | "class": "GuiStyle" 413 | }, 414 | { 415 | "fun": "def anti_aliased_fill(self)", 416 | "class": "GuiStyle" 417 | }, 418 | { 419 | "fun": "def anti_aliased_fill(self, cimgui.bool value)", 420 | "class": "GuiStyle" 421 | }, 422 | { 423 | "fun": "def curve_tessellation_tolerance(self)", 424 | "class": "GuiStyle" 425 | }, 426 | { 427 | "fun": "def curve_tessellation_tolerance(self, float value)", 428 | "class": "GuiStyle" 429 | }, 430 | { 431 | "fun": "def circle_segment_max_error(self)", 432 | "class": "GuiStyle" 433 | }, 434 | { 435 | "fun": "def circle_segment_max_error(self, float value)", 436 | "class": "GuiStyle" 437 | }, 438 | { 439 | "fun": "def circle_tessellation_max_error(self)", 440 | "class": "GuiStyle" 441 | }, 442 | { 443 | "fun": "def circle_tessellation_max_error(self, float value)", 444 | "class": "GuiStyle" 445 | }, 446 | { 447 | "fun": "def color(self, cimgui.ImGuiCol variable)", 448 | "class": "GuiStyle" 449 | }, 450 | { 451 | "fun": "def colors(self)", 452 | "class": "GuiStyle" 453 | }, 454 | { 455 | "fun": "def scale_all_sizes(self, float scale_factor)", 456 | "class": "GuiStyle" 457 | }, 458 | { 459 | "fun": "def _require_pointer(self)", 460 | "class": "_ImGuiTableColumnSortSpecs" 461 | }, 462 | { 463 | "fun": "cdef from_ptr(cimgui.ImGuiTableColumnSortSpecs* ptr)", 464 | "class": "_ImGuiTableColumnSortSpecs" 465 | }, 466 | { 467 | "fun": "def column_user_id(self)", 468 | "class": "_ImGuiTableColumnSortSpecs" 469 | }, 470 | { 471 | "fun": "def column_user_id(self, cimgui.ImGuiID column_user_id)", 472 | "class": "_ImGuiTableColumnSortSpecs" 473 | }, 474 | { 475 | "fun": "def column_index(self)", 476 | "class": "_ImGuiTableColumnSortSpecs" 477 | }, 478 | { 479 | "fun": "def column_index(self, cimgui.ImS16 column_index)", 480 | "class": "_ImGuiTableColumnSortSpecs" 481 | }, 482 | { 483 | "fun": "def sort_order(self)", 484 | "class": "_ImGuiTableColumnSortSpecs" 485 | }, 486 | { 487 | "fun": "def sort_order(self, cimgui.ImS16 sort_order)", 488 | "class": "_ImGuiTableColumnSortSpecs" 489 | }, 490 | { 491 | "fun": "def sort_direction(self)", 492 | "class": "_ImGuiTableColumnSortSpecs" 493 | }, 494 | { 495 | "fun": "def sort_direction(self, cimgui.ImGuiSortDirection sort_direction)", 496 | "class": "_ImGuiTableColumnSortSpecs" 497 | }, 498 | { 499 | "fun": "def _require_pointer(self)", 500 | "class": "_ImGuiTableColumnSortSpecs" 501 | }, 502 | { 503 | "fun": "cdef from_ptr(cimgui.ImGuiTableSortSpecs* ptr)", 504 | "class": "_ImGuiTableColumnSortSpecs" 505 | }, 506 | { 507 | "fun": "cdef _get_item(self, size_t idx)", 508 | "class": "_ImGuiTableColumnSortSpecs" 509 | }, 510 | { 511 | "fun": "def _require_pointer(self)", 512 | "class": "_ImGuiTableSortSpecs" 513 | }, 514 | { 515 | "fun": "cdef from_ptr(cimgui.ImGuiTableSortSpecs* ptr)", 516 | "class": "_ImGuiTableSortSpecs" 517 | }, 518 | { 519 | "fun": "def specs(self)", 520 | "class": "_ImGuiTableSortSpecs" 521 | }, 522 | { 523 | "fun": "def specs_count(self)", 524 | "class": "_ImGuiTableSortSpecs" 525 | }, 526 | { 527 | "fun": "def specs_dirty(self)", 528 | "class": "_ImGuiTableSortSpecs" 529 | }, 530 | { 531 | "fun": "def specs_dirty(self, cimgui.bool specs_dirty)", 532 | "class": "_ImGuiTableSortSpecs" 533 | }, 534 | { 535 | "fun": "def _require_pointer(self)", 536 | "class": "_ImGuiViewport" 537 | }, 538 | { 539 | "fun": "cdef from_ptr(cimgui.ImGuiViewport* ptr)", 540 | "class": "_ImGuiViewport" 541 | }, 542 | { 543 | "fun": "def id(self)", 544 | "class": "_ImGuiViewport" 545 | }, 546 | { 547 | "fun": "def parent_viewport_id(self)", 548 | "class": "_ImGuiViewport" 549 | }, 550 | { 551 | "fun": "def dpi_scale(self)", 552 | "class": "_ImGuiViewport" 553 | }, 554 | { 555 | "fun": "def flags(self)", 556 | "class": "_ImGuiViewport" 557 | }, 558 | { 559 | "fun": "def pos(self)", 560 | "class": "_ImGuiViewport" 561 | }, 562 | { 563 | "fun": "def size(self)", 564 | "class": "_ImGuiViewport" 565 | }, 566 | { 567 | "fun": "def work_pos(self)", 568 | "class": "_ImGuiViewport" 569 | }, 570 | { 571 | "fun": "def work_size(self)", 572 | "class": "_ImGuiViewport" 573 | }, 574 | { 575 | "fun": "def draw_data(self)", 576 | "class": "_ImGuiViewport" 577 | }, 578 | { 579 | "fun": "def pos(self)", 580 | "class": "_ImGuiViewport" 581 | }, 582 | { 583 | "fun": "def platform_request_resize(self)", 584 | "class": "_ImGuiViewport" 585 | }, 586 | { 587 | "fun": "def platform_request_move(self)", 588 | "class": "_ImGuiViewport" 589 | }, 590 | { 591 | "fun": "def platform_request_close(self)", 592 | "class": "_ImGuiViewport" 593 | }, 594 | { 595 | "fun": "def get_center(self)", 596 | "class": "_ImGuiViewport" 597 | }, 598 | { 599 | "fun": "def get_work_center(self)", 600 | "class": "_ImGuiViewport" 601 | }, 602 | { 603 | "fun": "def _require_pointer(self)", 604 | "class": "ImGuiWindowClass" 605 | }, 606 | { 607 | "fun": "cdef from_ptr(cimgui.ImGuiWindowClass* ptr)", 608 | "class": "ImGuiWindowClass" 609 | }, 610 | { 611 | "fun": "def class_id(self)", 612 | "class": "ImGuiWindowClass" 613 | }, 614 | { 615 | "fun": "def parent_viewport_id(self)", 616 | "class": "ImGuiWindowClass" 617 | }, 618 | { 619 | "fun": "def viewport_flags_override_set(self)", 620 | "class": "ImGuiWindowClass" 621 | }, 622 | { 623 | "fun": "def viewport_flags_override_clear(self)", 624 | "class": "ImGuiWindowClass" 625 | }, 626 | { 627 | "fun": "def tab_item_flags_override_set(self)", 628 | "class": "ImGuiWindowClass" 629 | }, 630 | { 631 | "fun": "def docknode_flags_override_set(self)", 632 | "class": "ImGuiWindowClass" 633 | }, 634 | { 635 | "fun": "def docking_always_tab_bar(self)", 636 | "class": "ImGuiWindowClass" 637 | }, 638 | { 639 | "fun": "def docking_allow_unclassed(self)", 640 | "class": "ImGuiWindowClass" 641 | }, 642 | { 643 | "fun": "def imgui_window_class(self)", 644 | "class": "ImGuiWindowClass" 645 | }, 646 | { 647 | "fun": "def _require_pointer(self)", 648 | "class": "_DrawData" 649 | }, 650 | { 651 | "fun": "cdef from_ptr(cimgui.ImDrawData* ptr)", 652 | "class": "_DrawData" 653 | }, 654 | { 655 | "fun": "def deindex_all_buffers(self)", 656 | "class": "_DrawData" 657 | }, 658 | { 659 | "fun": "def scale_clip_rects(self, width, height)", 660 | "class": "_DrawData" 661 | }, 662 | { 663 | "fun": "def valid(self)", 664 | "class": "_DrawData" 665 | }, 666 | { 667 | "fun": "def cmd_count(self)", 668 | "class": "_DrawData" 669 | }, 670 | { 671 | "fun": "def total_vtx_count(self)", 672 | "class": "_DrawData" 673 | }, 674 | { 675 | "fun": "def display_pos(self)", 676 | "class": "_DrawData" 677 | }, 678 | { 679 | "fun": "def display_size(self)", 680 | "class": "_DrawData" 681 | }, 682 | { 683 | "fun": "def frame_buffer_scale(self)", 684 | "class": "_DrawData" 685 | }, 686 | { 687 | "fun": "def total_idx_count(self)", 688 | "class": "_DrawData" 689 | }, 690 | { 691 | "fun": "def commands_lists(self)", 692 | "class": "_DrawData" 693 | }, 694 | { 695 | "fun": "def owner_viewport(self)", 696 | "class": "_DrawData" 697 | }, 698 | { 699 | "fun": "cdef from_ptr(const cimgui.ImWchar* ptr)", 700 | "class": "_StaticGlyphRanges" 701 | }, 702 | { 703 | "fun": "cdef from_ptr(cimgui.ImFont* ptr)", 704 | "class": "_Font" 705 | }, 706 | { 707 | "fun": "cdef from_ptr(cimgui.ImFontAtlas* ptr)", 708 | "class": "_FontAtlas" 709 | }, 710 | { 711 | "fun": "def _require_pointer(self)", 712 | "class": "_FontAtlas" 713 | }, 714 | { 715 | "fun": "def add_font_default(self)", 716 | "class": "_FontAtlas" 717 | }, 718 | { 719 | "fun": "def clear_tex_data(self)", 720 | "class": "_FontAtlas" 721 | }, 722 | { 723 | "fun": "def clear_input_data(self)", 724 | "class": "_FontAtlas" 725 | }, 726 | { 727 | "fun": "def clear_fonts(self)", 728 | "class": "_FontAtlas" 729 | }, 730 | { 731 | "fun": "def clear(self)", 732 | "class": "_FontAtlas" 733 | }, 734 | { 735 | "fun": "def get_glyph_ranges_default(self)", 736 | "class": "_FontAtlas" 737 | }, 738 | { 739 | "fun": "def get_glyph_ranges_korean(self)", 740 | "class": "_FontAtlas" 741 | }, 742 | { 743 | "fun": "def get_glyph_ranges_japanese(self)", 744 | "class": "_FontAtlas" 745 | }, 746 | { 747 | "fun": "def get_glyph_ranges_chinese_full(self)", 748 | "class": "_FontAtlas" 749 | }, 750 | { 751 | "fun": "def get_glyph_ranges_chinese(self)", 752 | "class": "_FontAtlas" 753 | }, 754 | { 755 | "fun": "def get_glyph_ranges_cyrillic(self)", 756 | "class": "_FontAtlas" 757 | }, 758 | { 759 | "fun": "def get_glyph_ranges_thai(self)", 760 | "class": "_FontAtlas" 761 | }, 762 | { 763 | "fun": "def get_glyph_ranges_vietnamese(self)", 764 | "class": "_FontAtlas" 765 | }, 766 | { 767 | "fun": "def get_glyph_ranges_latin(self)", 768 | "class": "_FontAtlas" 769 | }, 770 | { 771 | "fun": "def get_tex_data_as_alpha8(self)", 772 | "class": "_FontAtlas" 773 | }, 774 | { 775 | "fun": "def get_tex_data_as_rgba32(self)", 776 | "class": "_FontAtlas" 777 | }, 778 | { 779 | "fun": "def texture_id(self)", 780 | "class": "_FontAtlas" 781 | }, 782 | { 783 | "fun": "def texture_width(self)", 784 | "class": "_FontAtlas" 785 | }, 786 | { 787 | "fun": "def texture_height(self)", 788 | "class": "_FontAtlas" 789 | }, 790 | { 791 | "fun": "def texture_id(self, value)", 792 | "class": "_FontAtlas" 793 | }, 794 | { 795 | "fun": "def config_flags(self)", 796 | "class": "_IO" 797 | }, 798 | { 799 | "fun": "def config_flags(self, cimgui.ImGuiConfigFlags value)", 800 | "class": "_IO" 801 | }, 802 | { 803 | "fun": "def backend_flags(self)", 804 | "class": "_IO" 805 | }, 806 | { 807 | "fun": "def backend_flags(self, cimgui.ImGuiBackendFlags value)", 808 | "class": "_IO" 809 | }, 810 | { 811 | "fun": "def display_size(self)", 812 | "class": "_IO" 813 | }, 814 | { 815 | "fun": "def display_size(self, value)", 816 | "class": "_IO" 817 | }, 818 | { 819 | "fun": "def delta_time(self)", 820 | "class": "_IO" 821 | }, 822 | { 823 | "fun": "def delta_time(self, float time)", 824 | "class": "_IO" 825 | }, 826 | { 827 | "fun": "def ini_saving_rate(self)", 828 | "class": "_IO" 829 | }, 830 | { 831 | "fun": "def ini_saving_rate(self, float value)", 832 | "class": "_IO" 833 | }, 834 | { 835 | "fun": "def log_file_name(self)", 836 | "class": "_IO" 837 | }, 838 | { 839 | "fun": "def log_file_name(self, char* value)", 840 | "class": "_IO" 841 | }, 842 | { 843 | "fun": "def ini_file_name(self)", 844 | "class": "_IO" 845 | }, 846 | { 847 | "fun": "def ini_file_name(self, char* value)", 848 | "class": "_IO" 849 | }, 850 | { 851 | "fun": "def mouse_double_click_time(self)", 852 | "class": "_IO" 853 | }, 854 | { 855 | "fun": "def mouse_double_click_time(self, float value)", 856 | "class": "_IO" 857 | }, 858 | { 859 | "fun": "def mouse_double_click_max_distance(self)", 860 | "class": "_IO" 861 | }, 862 | { 863 | "fun": "def mouse_double_click_max_distance(self, float value)", 864 | "class": "_IO" 865 | }, 866 | { 867 | "fun": "def mouse_drag_threshold(self)", 868 | "class": "_IO" 869 | }, 870 | { 871 | "fun": "def mouse_drag_threshold(self, float value)", 872 | "class": "_IO" 873 | }, 874 | { 875 | "fun": "def key_map(self)", 876 | "class": "_IO" 877 | }, 878 | { 879 | "fun": "def key_repeat_delay(self)", 880 | "class": "_IO" 881 | }, 882 | { 883 | "fun": "def key_repeat_delay(self, float value)", 884 | "class": "_IO" 885 | }, 886 | { 887 | "fun": "def key_repeat_rate(self)", 888 | "class": "_IO" 889 | }, 890 | { 891 | "fun": "def key_repeat_rate(self, float value)", 892 | "class": "_IO" 893 | }, 894 | { 895 | "fun": "def fonts(self)", 896 | "class": "_IO" 897 | }, 898 | { 899 | "fun": "def font_global_scale(self)", 900 | "class": "_IO" 901 | }, 902 | { 903 | "fun": "def font_global_scale(self, float value)", 904 | "class": "_IO" 905 | }, 906 | { 907 | "fun": "def font_allow_user_scaling(self)", 908 | "class": "_IO" 909 | }, 910 | { 911 | "fun": "def font_allow_user_scaling(self, cimgui.bool value)", 912 | "class": "_IO" 913 | }, 914 | { 915 | "fun": "def display_fb_scale(self)", 916 | "class": "_IO" 917 | }, 918 | { 919 | "fun": "def display_fb_scale(self, value)", 920 | "class": "_IO" 921 | }, 922 | { 923 | "fun": "def config_mac_osx_behaviors(self)", 924 | "class": "_IO" 925 | }, 926 | { 927 | "fun": "def config_mac_osx_behaviors(self, cimgui.bool value)", 928 | "class": "_IO" 929 | }, 930 | { 931 | "fun": "def config_cursor_blink(self)", 932 | "class": "_IO" 933 | }, 934 | { 935 | "fun": "def config_cursor_blink(self, cimgui.bool value)", 936 | "class": "_IO" 937 | }, 938 | { 939 | "fun": "def config_drag_click_to_input_text(self)", 940 | "class": "_IO" 941 | }, 942 | { 943 | "fun": "def config_drag_click_to_input_text(self, cimgui.bool value)", 944 | "class": "_IO" 945 | }, 946 | { 947 | "fun": "def config_windows_resize_from_edges(self)", 948 | "class": "_IO" 949 | }, 950 | { 951 | "fun": "def config_windows_resize_from_edges(self, cimgui.bool value)", 952 | "class": "_IO" 953 | }, 954 | { 955 | "fun": "def config_windows_move_from_title_bar_only(self)", 956 | "class": "_IO" 957 | }, 958 | { 959 | "fun": "def config_windows_move_from_title_bar_only(self, cimgui.bool value)", 960 | "class": "_IO" 961 | }, 962 | { 963 | "fun": "def config_memory_compact_timer(self)", 964 | "class": "_IO" 965 | }, 966 | { 967 | "fun": "def config_memory_compact_timer(self, float value)", 968 | "class": "_IO" 969 | }, 970 | { 971 | "fun": "def get_clipboard_text_fn(self)", 972 | "class": "_IO" 973 | }, 974 | { 975 | "fun": "def get_clipboard_text_fn(self, func)", 976 | "class": "_IO" 977 | }, 978 | { 979 | "fun": "def set_clipboard_text_fn(self)", 980 | "class": "_IO" 981 | }, 982 | { 983 | "fun": "def set_clipboard_text_fn(self, func)", 984 | "class": "_IO" 985 | }, 986 | { 987 | "fun": "def mouse_pos(self)", 988 | "class": "_IO" 989 | }, 990 | { 991 | "fun": "def mouse_pos(self, value)", 992 | "class": "_IO" 993 | }, 994 | { 995 | "fun": "def mouse_down(self)", 996 | "class": "_IO" 997 | }, 998 | { 999 | "fun": "def mouse_wheel(self)", 1000 | "class": "_IO" 1001 | }, 1002 | { 1003 | "fun": "def mouse_wheel(self, float value)", 1004 | "class": "_IO" 1005 | }, 1006 | { 1007 | "fun": "def mouse_wheel_horizontal(self)", 1008 | "class": "_IO" 1009 | }, 1010 | { 1011 | "fun": "def mouse_wheel_horizontal(self, float value)", 1012 | "class": "_IO" 1013 | }, 1014 | { 1015 | "fun": "def mouse_draw_cursor(self)", 1016 | "class": "_IO" 1017 | }, 1018 | { 1019 | "fun": "def mouse_draw_cursor(self, cimgui.bool value)", 1020 | "class": "_IO" 1021 | }, 1022 | { 1023 | "fun": "def key_ctrl(self)", 1024 | "class": "_IO" 1025 | }, 1026 | { 1027 | "fun": "def key_ctrl(self, cimgui.bool value)", 1028 | "class": "_IO" 1029 | }, 1030 | { 1031 | "fun": "def key_shift(self)", 1032 | "class": "_IO" 1033 | }, 1034 | { 1035 | "fun": "def key_shift(self, cimgui.bool value)", 1036 | "class": "_IO" 1037 | }, 1038 | { 1039 | "fun": "def key_alt(self)", 1040 | "class": "_IO" 1041 | }, 1042 | { 1043 | "fun": "def key_alt(self, cimgui.bool value)", 1044 | "class": "_IO" 1045 | }, 1046 | { 1047 | "fun": "def key_super(self)", 1048 | "class": "_IO" 1049 | }, 1050 | { 1051 | "fun": "def key_super(self, cimgui.bool value)", 1052 | "class": "_IO" 1053 | }, 1054 | { 1055 | "fun": "def keys_down(self)", 1056 | "class": "_IO" 1057 | }, 1058 | { 1059 | "fun": "def nav_inputs(self)", 1060 | "class": "_IO" 1061 | }, 1062 | { 1063 | "fun": "def add_input_character(self, unsigned int c)", 1064 | "class": "_IO" 1065 | }, 1066 | { 1067 | "fun": "def add_input_character_utf16(self, str utf16_chars)", 1068 | "class": "_IO" 1069 | }, 1070 | { 1071 | "fun": "def add_input_characters_utf8(self, str utf8_chars)", 1072 | "class": "_IO" 1073 | }, 1074 | { 1075 | "fun": "def clear_input_characters(self)", 1076 | "class": "_IO" 1077 | }, 1078 | { 1079 | "fun": "def want_capture_mouse(self)", 1080 | "class": "_IO" 1081 | }, 1082 | { 1083 | "fun": "def want_capture_keyboard(self)", 1084 | "class": "_IO" 1085 | }, 1086 | { 1087 | "fun": "def want_text_input(self)", 1088 | "class": "_IO" 1089 | }, 1090 | { 1091 | "fun": "def want_set_mouse_pos(self)", 1092 | "class": "_IO" 1093 | }, 1094 | { 1095 | "fun": "def want_save_ini_settings(self)", 1096 | "class": "_IO" 1097 | }, 1098 | { 1099 | "fun": "def nav_active(self)", 1100 | "class": "_IO" 1101 | }, 1102 | { 1103 | "fun": "def nav_visible(self)", 1104 | "class": "_IO" 1105 | }, 1106 | { 1107 | "fun": "def framerate(self)", 1108 | "class": "_IO" 1109 | }, 1110 | { 1111 | "fun": "def metrics_render_vertices(self)", 1112 | "class": "_IO" 1113 | }, 1114 | { 1115 | "fun": "def metrics_render_indices(self)", 1116 | "class": "_IO" 1117 | }, 1118 | { 1119 | "fun": "def metrics_render_windows(self)", 1120 | "class": "_IO" 1121 | }, 1122 | { 1123 | "fun": "def metrics_active_windows(self)", 1124 | "class": "_IO" 1125 | }, 1126 | { 1127 | "fun": "def metrics_active_allocations(self)", 1128 | "class": "_IO" 1129 | }, 1130 | { 1131 | "fun": "def mouse_delta(self)", 1132 | "class": "_IO" 1133 | }, 1134 | { 1135 | "fun": "def config_docking_no_split(self)", 1136 | "class": "_IO" 1137 | }, 1138 | { 1139 | "fun": "def config_docking_with_shift(self)", 1140 | "class": "_IO" 1141 | }, 1142 | { 1143 | "fun": "def config_docking_always_tab_bar(self)", 1144 | "class": "_IO" 1145 | }, 1146 | { 1147 | "fun": "def config_docking_transparent_payload(self)", 1148 | "class": "_IO" 1149 | }, 1150 | { 1151 | "fun": "def config_viewports_no_auto_merge(self)", 1152 | "class": "_IO" 1153 | }, 1154 | { 1155 | "fun": "def config_viewports_no_task_bar_icon(self)", 1156 | "class": "_IO" 1157 | }, 1158 | { 1159 | "fun": "def config_viewports_no_decoration(self)", 1160 | "class": "_IO" 1161 | }, 1162 | { 1163 | "fun": "def config_viewports_no_default_parent(self)", 1164 | "class": "_IO" 1165 | }, 1166 | { 1167 | "fun": "def mouse_hovered_viewport(self)", 1168 | "class": "_IO" 1169 | }, 1170 | { 1171 | "fun": "def populate(self, callback_fn, user_data)", 1172 | "class": "_IO" 1173 | }, 1174 | { 1175 | "fun": "cdef from_ptr(cimgui.ImGuiInputTextCallbackData* ptr)", 1176 | "class": "_ImGuiInputTextCallbackData" 1177 | }, 1178 | { 1179 | "fun": "def _require_pointer(self)", 1180 | "class": "_ImGuiInputTextCallbackData" 1181 | }, 1182 | { 1183 | "fun": "def event_flag(self)", 1184 | "class": "_ImGuiInputTextCallbackData" 1185 | }, 1186 | { 1187 | "fun": "def flags(self)", 1188 | "class": "_ImGuiInputTextCallbackData" 1189 | }, 1190 | { 1191 | "fun": "def user_data(self)", 1192 | "class": "_ImGuiInputTextCallbackData" 1193 | }, 1194 | { 1195 | "fun": "def event_char(self)", 1196 | "class": "_ImGuiInputTextCallbackData" 1197 | }, 1198 | { 1199 | "fun": "def event_char(self, str event_char)", 1200 | "class": "_ImGuiInputTextCallbackData" 1201 | }, 1202 | { 1203 | "fun": "def event_key(self)", 1204 | "class": "_ImGuiInputTextCallbackData" 1205 | }, 1206 | { 1207 | "fun": "def buffer(self)", 1208 | "class": "_ImGuiInputTextCallbackData" 1209 | }, 1210 | { 1211 | "fun": "def buffer_text_length(self)", 1212 | "class": "_ImGuiInputTextCallbackData" 1213 | }, 1214 | { 1215 | "fun": "def buffer_size(self)", 1216 | "class": "_ImGuiInputTextCallbackData" 1217 | }, 1218 | { 1219 | "fun": "def buffer_dirty(self)", 1220 | "class": "_ImGuiInputTextCallbackData" 1221 | }, 1222 | { 1223 | "fun": "def buffer_dirty(self, bool dirty)", 1224 | "class": "_ImGuiInputTextCallbackData" 1225 | }, 1226 | { 1227 | "fun": "def cursor_pos(self)", 1228 | "class": "_ImGuiInputTextCallbackData" 1229 | }, 1230 | { 1231 | "fun": "def cursor_pos(self, int pos)", 1232 | "class": "_ImGuiInputTextCallbackData" 1233 | }, 1234 | { 1235 | "fun": "def selection_start(self)", 1236 | "class": "_ImGuiInputTextCallbackData" 1237 | }, 1238 | { 1239 | "fun": "def selection_start(self, int start)", 1240 | "class": "_ImGuiInputTextCallbackData" 1241 | }, 1242 | { 1243 | "fun": "def selection_end(self)", 1244 | "class": "_ImGuiInputTextCallbackData" 1245 | }, 1246 | { 1247 | "fun": "def selection_end(self, int end)", 1248 | "class": "_ImGuiInputTextCallbackData" 1249 | }, 1250 | { 1251 | "fun": "def delete_chars(self, int pos, int bytes_count)", 1252 | "class": "_ImGuiInputTextCallbackData" 1253 | }, 1254 | { 1255 | "fun": "def insert_chars(self, int pos, str text)", 1256 | "class": "_ImGuiInputTextCallbackData" 1257 | }, 1258 | { 1259 | "fun": "def select_all(self)", 1260 | "class": "_ImGuiInputTextCallbackData" 1261 | }, 1262 | { 1263 | "fun": "def clear_selection(self)", 1264 | "class": "_ImGuiInputTextCallbackData" 1265 | }, 1266 | { 1267 | "fun": "def has_selection(self)", 1268 | "class": "_ImGuiInputTextCallbackData" 1269 | }, 1270 | { 1271 | "fun": "cdef from_ptr(cimgui.ImGuiSizeCallbackData* ptr)", 1272 | "class": "_ImGuiSizeCallbackData" 1273 | }, 1274 | { 1275 | "fun": "def _require_pointer(self)", 1276 | "class": "_ImGuiSizeCallbackData" 1277 | }, 1278 | { 1279 | "fun": "def user_data(self)", 1280 | "class": "_ImGuiSizeCallbackData" 1281 | }, 1282 | { 1283 | "fun": "def pos(self)", 1284 | "class": "_ImGuiSizeCallbackData" 1285 | }, 1286 | { 1287 | "fun": "def current_size(self)", 1288 | "class": "_ImGuiSizeCallbackData" 1289 | }, 1290 | { 1291 | "fun": "def desired_size(self)", 1292 | "class": "_ImGuiSizeCallbackData" 1293 | }, 1294 | { 1295 | "fun": "def desired_size(self, tuple size)", 1296 | "class": "_ImGuiSizeCallbackData" 1297 | }, 1298 | { 1299 | "fun": "def get_io()", 1300 | "class": "static" 1301 | }, 1302 | { 1303 | "fun": "def get_style()", 1304 | "class": "static" 1305 | }, 1306 | { 1307 | "fun": "def new_frame()", 1308 | "class": "static" 1309 | }, 1310 | { 1311 | "fun": "def end_frame()", 1312 | "class": "static" 1313 | }, 1314 | { 1315 | "fun": "def render()", 1316 | "class": "static" 1317 | }, 1318 | { 1319 | "fun": "def show_user_guide()", 1320 | "class": "static" 1321 | }, 1322 | { 1323 | "fun": "def get_version()", 1324 | "class": "static" 1325 | }, 1326 | { 1327 | "fun": "def style_colors_dark(GuiStyle dst = None)", 1328 | "class": "static" 1329 | }, 1330 | { 1331 | "fun": "def style_colors_classic(GuiStyle dst = None)", 1332 | "class": "static" 1333 | }, 1334 | { 1335 | "fun": "def style_colors_light(GuiStyle dst = None)", 1336 | "class": "static" 1337 | }, 1338 | { 1339 | "fun": "def show_style_editor(GuiStyle style=None)", 1340 | "class": "static" 1341 | }, 1342 | { 1343 | "fun": "def show_test_window()", 1344 | "class": "static" 1345 | }, 1346 | { 1347 | "fun": "def show_style_selector(str label)", 1348 | "class": "static" 1349 | }, 1350 | { 1351 | "fun": "def show_font_selector(str label)", 1352 | "class": "static" 1353 | }, 1354 | { 1355 | "fun": "def begin(str label, closable=False, cimgui.ImGuiWindowFlags flags=0)", 1356 | "class": "static" 1357 | }, 1358 | { 1359 | "fun": "def get_draw_data()", 1360 | "class": "static" 1361 | }, 1362 | { 1363 | "fun": "def end()", 1364 | "class": "static" 1365 | }, 1366 | { 1367 | "fun": "def end_child()", 1368 | "class": "static" 1369 | }, 1370 | { 1371 | "fun": "def get_content_region_max()", 1372 | "class": "static" 1373 | }, 1374 | { 1375 | "fun": "def get_content_region_available()", 1376 | "class": "static" 1377 | }, 1378 | { 1379 | "fun": "def get_content_region_available_width()", 1380 | "class": "static" 1381 | }, 1382 | { 1383 | "fun": "def get_window_content_region_min()", 1384 | "class": "static" 1385 | }, 1386 | { 1387 | "fun": "def get_window_content_region_max()", 1388 | "class": "static" 1389 | }, 1390 | { 1391 | "fun": "def get_window_content_region_width()", 1392 | "class": "static" 1393 | }, 1394 | { 1395 | "fun": "def set_window_focus()", 1396 | "class": "static" 1397 | }, 1398 | { 1399 | "fun": "def set_window_focus_labeled(str label)", 1400 | "class": "static" 1401 | }, 1402 | { 1403 | "fun": "def set_window_size_named(str label, float width, float height, cimgui.ImGuiCond condition = ONCE)", 1404 | "class": "static" 1405 | }, 1406 | { 1407 | "fun": "def get_scroll_x()", 1408 | "class": "static" 1409 | }, 1410 | { 1411 | "fun": "def get_scroll_y()", 1412 | "class": "static" 1413 | }, 1414 | { 1415 | "fun": "def get_scroll_max_x()", 1416 | "class": "static" 1417 | }, 1418 | { 1419 | "fun": "def get_scroll_max_y()", 1420 | "class": "static" 1421 | }, 1422 | { 1423 | "fun": "def set_scroll_x(float scroll_x)", 1424 | "class": "static" 1425 | }, 1426 | { 1427 | "fun": "def set_scroll_y(float scroll_y)", 1428 | "class": "static" 1429 | }, 1430 | { 1431 | "fun": "def set_window_font_scale(float scale)", 1432 | "class": "static" 1433 | }, 1434 | { 1435 | "fun": "def set_next_window_focus()", 1436 | "class": "static" 1437 | }, 1438 | { 1439 | "fun": "def set_next_window_bg_alpha(float alpha)", 1440 | "class": "static" 1441 | }, 1442 | { 1443 | "fun": "def get_window_draw_list()", 1444 | "class": "static" 1445 | }, 1446 | { 1447 | "fun": "def get_overlay_draw_list()", 1448 | "class": "static" 1449 | }, 1450 | { 1451 | "fun": "def get_window_position()", 1452 | "class": "static" 1453 | }, 1454 | { 1455 | "fun": "def get_window_dpi_scale()", 1456 | "class": "static" 1457 | }, 1458 | { 1459 | "fun": "def get_window_size()", 1460 | "class": "static" 1461 | }, 1462 | { 1463 | "fun": "def get_window_width()", 1464 | "class": "static" 1465 | }, 1466 | { 1467 | "fun": "def get_window_height()", 1468 | "class": "static" 1469 | }, 1470 | { 1471 | "fun": "def set_next_window_content_size(float width, float height)", 1472 | "class": "static" 1473 | }, 1474 | { 1475 | "fun": "def set_next_window_viewport(cimgui.ImGuiID viewport_id)", 1476 | "class": "static" 1477 | }, 1478 | { 1479 | "fun": "def set_window_position(float x, float y, cimgui.ImGuiCond condition = ALWAYS)", 1480 | "class": "static" 1481 | }, 1482 | { 1483 | "fun": "def set_window_position_labeled(str label, float x, float y, cimgui.ImGuiCond condition = ALWAYS)", 1484 | "class": "static" 1485 | }, 1486 | { 1487 | "fun": "def set_window_collapsed(bool collapsed, cimgui.ImGuiCond condition = ALWAYS)", 1488 | "class": "static" 1489 | }, 1490 | { 1491 | "fun": "def set_window_collapsed_labeled(str label, bool collapsed, cimgui.ImGuiCond condition = ALWAYS)", 1492 | "class": "static" 1493 | }, 1494 | { 1495 | "fun": "def is_window_collapsed()", 1496 | "class": "static" 1497 | }, 1498 | { 1499 | "fun": "def is_window_appearing()", 1500 | "class": "static" 1501 | }, 1502 | { 1503 | "fun": "def tree_node(str text, cimgui.ImGuiTreeNodeFlags flags=0)", 1504 | "class": "static" 1505 | }, 1506 | { 1507 | "fun": "def tree_pop()", 1508 | "class": "static" 1509 | }, 1510 | { 1511 | "fun": "def get_tree_node_to_label_spacing()", 1512 | "class": "static" 1513 | }, 1514 | { 1515 | "fun": "def set_next_item_open(bool is_open, cimgui.ImGuiCond condition = 0)", 1516 | "class": "static" 1517 | }, 1518 | { 1519 | "fun": "def listbox_header( # OBSOLETED in 1.81 (from February 2021)", 1520 | "class": "static" 1521 | }, 1522 | { 1523 | "fun": "def end_list_box()", 1524 | "class": "static" 1525 | }, 1526 | { 1527 | "fun": "def listbox_footer()", 1528 | "class": "static" 1529 | }, 1530 | { 1531 | "fun": "def set_tooltip(str text)", 1532 | "class": "static" 1533 | }, 1534 | { 1535 | "fun": "def begin_tooltip()", 1536 | "class": "static" 1537 | }, 1538 | { 1539 | "fun": "def end_tooltip()", 1540 | "class": "static" 1541 | }, 1542 | { 1543 | "fun": "def begin_main_menu_bar()", 1544 | "class": "static" 1545 | }, 1546 | { 1547 | "fun": "def end_main_menu_bar()", 1548 | "class": "static" 1549 | }, 1550 | { 1551 | "fun": "def begin_menu_bar()", 1552 | "class": "static" 1553 | }, 1554 | { 1555 | "fun": "def end_menu_bar()", 1556 | "class": "static" 1557 | }, 1558 | { 1559 | "fun": "def begin_menu(str label, enabled=True)", 1560 | "class": "static" 1561 | }, 1562 | { 1563 | "fun": "def end_menu()", 1564 | "class": "static" 1565 | }, 1566 | { 1567 | "fun": "def open_popup(str label, cimgui.ImGuiPopupFlags flags=0)", 1568 | "class": "static" 1569 | }, 1570 | { 1571 | "fun": "def open_popup_on_item_click(str label = None, cimgui.ImGuiPopupFlags popup_flags = 1)", 1572 | "class": "static" 1573 | }, 1574 | { 1575 | "fun": "def begin_popup(str label, cimgui.ImGuiWindowFlags flags=0)", 1576 | "class": "static" 1577 | }, 1578 | { 1579 | "fun": "def begin_popup_modal(str title, visible=None, cimgui.ImGuiWindowFlags flags=0)", 1580 | "class": "static" 1581 | }, 1582 | { 1583 | "fun": "def begin_popup_context_item(str label = None, cimgui.ImGuiPopupFlags mouse_button = 1)", 1584 | "class": "static" 1585 | }, 1586 | { 1587 | "fun": "def begin_popup_context_void(str label = None, cimgui.ImGuiPopupFlags popup_flags = 1)", 1588 | "class": "static" 1589 | }, 1590 | { 1591 | "fun": "def is_popup_open( str label, cimgui.ImGuiPopupFlags flags = 0)", 1592 | "class": "static" 1593 | }, 1594 | { 1595 | "fun": "def end_popup()", 1596 | "class": "static" 1597 | }, 1598 | { 1599 | "fun": "def close_current_popup()", 1600 | "class": "static" 1601 | }, 1602 | { 1603 | "fun": "def end_table()", 1604 | "class": "static" 1605 | }, 1606 | { 1607 | "fun": "def table_next_column()", 1608 | "class": "static" 1609 | }, 1610 | { 1611 | "fun": "def table_set_column_index(int column_n)", 1612 | "class": "static" 1613 | }, 1614 | { 1615 | "fun": "def table_setup_scroll_freez(int cols, int rows)", 1616 | "class": "static" 1617 | }, 1618 | { 1619 | "fun": "def table_headers_row()", 1620 | "class": "static" 1621 | }, 1622 | { 1623 | "fun": "def table_header(str label)", 1624 | "class": "static" 1625 | }, 1626 | { 1627 | "fun": "def table_get_sort_specs()", 1628 | "class": "static" 1629 | }, 1630 | { 1631 | "fun": "def table_get_column_count()", 1632 | "class": "static" 1633 | }, 1634 | { 1635 | "fun": "def table_get_column_index()", 1636 | "class": "static" 1637 | }, 1638 | { 1639 | "fun": "def table_get_row_index()", 1640 | "class": "static" 1641 | }, 1642 | { 1643 | "fun": "def table_get_column_name(int column_n = -1)", 1644 | "class": "static" 1645 | }, 1646 | { 1647 | "fun": "def table_get_column_flags(int column_n = -1)", 1648 | "class": "static" 1649 | }, 1650 | { 1651 | "fun": "def text(str text)", 1652 | "class": "static" 1653 | }, 1654 | { 1655 | "fun": "def text_colored(str text, float r, float g, float b, float a=1.)", 1656 | "class": "static" 1657 | }, 1658 | { 1659 | "fun": "def text_disabled(str text)", 1660 | "class": "static" 1661 | }, 1662 | { 1663 | "fun": "def text_wrapped(str text)", 1664 | "class": "static" 1665 | }, 1666 | { 1667 | "fun": "def label_text(str label, str text)", 1668 | "class": "static" 1669 | }, 1670 | { 1671 | "fun": "def text_unformatted(str text)", 1672 | "class": "static" 1673 | }, 1674 | { 1675 | "fun": "def bullet()", 1676 | "class": "static" 1677 | }, 1678 | { 1679 | "fun": "def bullet_text(str text)", 1680 | "class": "static" 1681 | }, 1682 | { 1683 | "fun": "def button(str label, width=0, height=0)", 1684 | "class": "static" 1685 | }, 1686 | { 1687 | "fun": "def small_button(str label)", 1688 | "class": "static" 1689 | }, 1690 | { 1691 | "fun": "def arrow_button(str label, cimgui.ImGuiDir direction = DIRECTION_NONE)", 1692 | "class": "static" 1693 | }, 1694 | { 1695 | "fun": "def invisible_button(str identifier, float width, float height, cimgui.ImGuiButtonFlags flags = 0)", 1696 | "class": "static" 1697 | }, 1698 | { 1699 | "fun": "def checkbox(str label, cimgui.bool state)", 1700 | "class": "static" 1701 | }, 1702 | { 1703 | "fun": "def checkbox_flags(str label, unsigned int flags, unsigned int flags_value)", 1704 | "class": "static" 1705 | }, 1706 | { 1707 | "fun": "def radio_button(str label, cimgui.bool active)", 1708 | "class": "static" 1709 | }, 1710 | { 1711 | "fun": "def combo(str label, int current, list items, int height_in_items=-1)", 1712 | "class": "static" 1713 | }, 1714 | { 1715 | "fun": "def color_edit3(str label, float r, float g, float b, cimgui.ImGuiColorEditFlags flags = 0)", 1716 | "class": "static" 1717 | }, 1718 | { 1719 | "fun": "def color_edit4(str label, float r, float g, float b, float a, cimgui.ImGuiColorEditFlags flags = 0)", 1720 | "class": "static" 1721 | }, 1722 | { 1723 | "fun": "def progress_bar(float fraction, size = (-FLOAT_MIN,0), str overlay = \"\")", 1724 | "class": "static" 1725 | }, 1726 | { 1727 | "fun": "def set_item_default_focus()", 1728 | "class": "static" 1729 | }, 1730 | { 1731 | "fun": "def set_keyboard_focus_here(int offset = 0)", 1732 | "class": "static" 1733 | }, 1734 | { 1735 | "fun": "def is_item_focused()", 1736 | "class": "static" 1737 | }, 1738 | { 1739 | "fun": "def is_item_active()", 1740 | "class": "static" 1741 | }, 1742 | { 1743 | "fun": "def is_item_clicked(cimgui.ImGuiMouseButton mouse_button = 0)", 1744 | "class": "static" 1745 | }, 1746 | { 1747 | "fun": "def is_item_visible()", 1748 | "class": "static" 1749 | }, 1750 | { 1751 | "fun": "def is_item_edited()", 1752 | "class": "static" 1753 | }, 1754 | { 1755 | "fun": "def is_item_activated()", 1756 | "class": "static" 1757 | }, 1758 | { 1759 | "fun": "def is_item_deactivated()", 1760 | "class": "static" 1761 | }, 1762 | { 1763 | "fun": "def is_item_deactivated_after_edit()", 1764 | "class": "static" 1765 | }, 1766 | { 1767 | "fun": "def is_item_toggled_open()", 1768 | "class": "static" 1769 | }, 1770 | { 1771 | "fun": "def is_any_item_hovered()", 1772 | "class": "static" 1773 | }, 1774 | { 1775 | "fun": "def is_any_item_active()", 1776 | "class": "static" 1777 | }, 1778 | { 1779 | "fun": "def is_any_item_focused()", 1780 | "class": "static" 1781 | }, 1782 | { 1783 | "fun": "def get_item_rect_min()", 1784 | "class": "static" 1785 | }, 1786 | { 1787 | "fun": "def get_item_rect_max()", 1788 | "class": "static" 1789 | }, 1790 | { 1791 | "fun": "def get_item_rect_size()", 1792 | "class": "static" 1793 | }, 1794 | { 1795 | "fun": "def set_item_allow_overlap()", 1796 | "class": "static" 1797 | }, 1798 | { 1799 | "fun": "def get_main_viewport()", 1800 | "class": "static" 1801 | }, 1802 | { 1803 | "fun": "def get_window_viewport()", 1804 | "class": "static" 1805 | }, 1806 | { 1807 | "fun": "def is_rect_visible(float size_width, float size_height)", 1808 | "class": "static" 1809 | }, 1810 | { 1811 | "fun": "def get_style_color_name(int index)", 1812 | "class": "static" 1813 | }, 1814 | { 1815 | "fun": "def get_time()", 1816 | "class": "static" 1817 | }, 1818 | { 1819 | "fun": "def get_background_draw_list()", 1820 | "class": "static" 1821 | }, 1822 | { 1823 | "fun": "def get_foreground_draw_list()", 1824 | "class": "static" 1825 | }, 1826 | { 1827 | "fun": "def get_key_index(int key)", 1828 | "class": "static" 1829 | }, 1830 | { 1831 | "fun": "def is_key_pressed(int key_index, bool repeat = False)", 1832 | "class": "static" 1833 | }, 1834 | { 1835 | "fun": "def is_key_down(int key_index)", 1836 | "class": "static" 1837 | }, 1838 | { 1839 | "fun": "def is_mouse_double_clicked(int button = 0)", 1840 | "class": "static" 1841 | }, 1842 | { 1843 | "fun": "def is_mouse_clicked(int button = 0, bool repeat = False)", 1844 | "class": "static" 1845 | }, 1846 | { 1847 | "fun": "def is_mouse_released(int button = 0)", 1848 | "class": "static" 1849 | }, 1850 | { 1851 | "fun": "def is_mouse_down(int button = 0)", 1852 | "class": "static" 1853 | }, 1854 | { 1855 | "fun": "def is_mouse_dragging(int button, float lock_threshold = -1.0)", 1856 | "class": "static" 1857 | }, 1858 | { 1859 | "fun": "def get_mouse_drag_delta(int button=0, float lock_threshold = -1.0)", 1860 | "class": "static" 1861 | }, 1862 | { 1863 | "fun": "def get_mouse_pos()", 1864 | "class": "static" 1865 | }, 1866 | { 1867 | "fun": "def reset_mouse_drag_delta(int button = 0)", 1868 | "class": "static" 1869 | }, 1870 | { 1871 | "fun": "def get_mouse_cursor()", 1872 | "class": "static" 1873 | }, 1874 | { 1875 | "fun": "def set_mouse_cursor(cimgui.ImGuiMouseCursor mouse_cursor_type)", 1876 | "class": "static" 1877 | }, 1878 | { 1879 | "fun": "def capture_mouse_from_app(bool want_capture_mouse_value = True)", 1880 | "class": "static" 1881 | }, 1882 | { 1883 | "fun": "def get_clipboard_text()", 1884 | "class": "static" 1885 | }, 1886 | { 1887 | "fun": "def load_ini_settings_from_disk(str ini_file_name)", 1888 | "class": "static" 1889 | }, 1890 | { 1891 | "fun": "def load_ini_settings_from_memory(str ini_data)", 1892 | "class": "static" 1893 | }, 1894 | { 1895 | "fun": "def save_ini_settings_to_disk(str ini_file_name)", 1896 | "class": "static" 1897 | }, 1898 | { 1899 | "fun": "def save_ini_settings_to_memory()", 1900 | "class": "static" 1901 | }, 1902 | { 1903 | "fun": "def set_clipboard_text(str text)", 1904 | "class": "static" 1905 | }, 1906 | { 1907 | "fun": "def set_scroll_here_x(float center_x_ratio = 0.5)", 1908 | "class": "static" 1909 | }, 1910 | { 1911 | "fun": "def set_scroll_here_y(float center_y_ratio = 0.5)", 1912 | "class": "static" 1913 | }, 1914 | { 1915 | "fun": "def set_scroll_from_pos_x(float local_x, float center_x_ratio = 0.5)", 1916 | "class": "static" 1917 | }, 1918 | { 1919 | "fun": "def set_scroll_from_pos_y(float local_y, float center_y_ratio = 0.5)", 1920 | "class": "static" 1921 | }, 1922 | { 1923 | "fun": "def push_font(_Font font)", 1924 | "class": "static" 1925 | }, 1926 | { 1927 | "fun": "def pop_font()", 1928 | "class": "static" 1929 | }, 1930 | { 1931 | "fun": "cpdef calc_text_size(str text, bool hide_text_after_double_hash = False, float wrap_width = -1.0)", 1932 | "class": "static" 1933 | }, 1934 | { 1935 | "fun": "def color_convert_u32_to_float4(cimgui.ImU32 in_)", 1936 | "class": "static" 1937 | }, 1938 | { 1939 | "fun": "def color_convert_float4_to_u32(float r, float g, float b, float a)", 1940 | "class": "static" 1941 | }, 1942 | { 1943 | "fun": "def color_convert_rgb_to_hsv(float r, float g, float b)", 1944 | "class": "static" 1945 | }, 1946 | { 1947 | "fun": "def color_convert_hsv_to_rgb(float h, float s, float v)", 1948 | "class": "static" 1949 | }, 1950 | { 1951 | "fun": "cpdef push_style_var(cimgui.ImGuiStyleVar variable, value)", 1952 | "class": "static" 1953 | }, 1954 | { 1955 | "fun": "cpdef pop_style_var(unsigned int count=1)", 1956 | "class": "static" 1957 | }, 1958 | { 1959 | "fun": "cpdef get_font_size()", 1960 | "class": "static" 1961 | }, 1962 | { 1963 | "fun": "cpdef get_style_color_vec_4(cimgui.ImGuiCol idx)", 1964 | "class": "static" 1965 | }, 1966 | { 1967 | "fun": "cpdef get_font_tex_uv_white_pixel()", 1968 | "class": "static" 1969 | }, 1970 | { 1971 | "fun": "cpdef get_color_u32_idx(cimgui.ImGuiCol idx, float alpha_mul = 1.0)", 1972 | "class": "static" 1973 | }, 1974 | { 1975 | "fun": "cpdef get_color_u32_rgba(float r, float g, float b, float a)", 1976 | "class": "static" 1977 | }, 1978 | { 1979 | "fun": "cpdef get_color_u32(cimgui.ImU32 col)", 1980 | "class": "static" 1981 | }, 1982 | { 1983 | "fun": "cpdef push_item_width(float item_width)", 1984 | "class": "static" 1985 | }, 1986 | { 1987 | "fun": "cpdef pop_item_width()", 1988 | "class": "static" 1989 | }, 1990 | { 1991 | "fun": "cpdef set_next_item_width(float item_width)", 1992 | "class": "static" 1993 | }, 1994 | { 1995 | "fun": "cpdef calculate_item_width()", 1996 | "class": "static" 1997 | }, 1998 | { 1999 | "fun": "cpdef push_text_wrap_pos(float wrap_pos_x = 0.0)", 2000 | "class": "static" 2001 | }, 2002 | { 2003 | "fun": "cpdef pop_text_wrap_pos()", 2004 | "class": "static" 2005 | }, 2006 | { 2007 | "fun": "cpdef push_allow_keyboard_focus(bool allow_focus)", 2008 | "class": "static" 2009 | }, 2010 | { 2011 | "fun": "cpdef pop_allow_keyboard_focus()", 2012 | "class": "static" 2013 | }, 2014 | { 2015 | "fun": "cpdef push_button_repeat(bool repeat)", 2016 | "class": "static" 2017 | }, 2018 | { 2019 | "fun": "cpdef pop_button_repeat()", 2020 | "class": "static" 2021 | }, 2022 | { 2023 | "fun": "cpdef pop_style_color(unsigned int count=1)", 2024 | "class": "static" 2025 | }, 2026 | { 2027 | "fun": "def separator()", 2028 | "class": "static" 2029 | }, 2030 | { 2031 | "fun": "def same_line(float position=0.0, float spacing=-1.0)", 2032 | "class": "static" 2033 | }, 2034 | { 2035 | "fun": "def new_line()", 2036 | "class": "static" 2037 | }, 2038 | { 2039 | "fun": "def spacing()", 2040 | "class": "static" 2041 | }, 2042 | { 2043 | "fun": "def dummy(width, height)", 2044 | "class": "static" 2045 | }, 2046 | { 2047 | "fun": "def indent(float width=0.0)", 2048 | "class": "static" 2049 | }, 2050 | { 2051 | "fun": "def unindent(float width=0.0)", 2052 | "class": "static" 2053 | }, 2054 | { 2055 | "fun": "def columns(int count=1, str identifier=None, bool border=True)", 2056 | "class": "static" 2057 | }, 2058 | { 2059 | "fun": "def next_column()", 2060 | "class": "static" 2061 | }, 2062 | { 2063 | "fun": "def get_column_index()", 2064 | "class": "static" 2065 | }, 2066 | { 2067 | "fun": "def get_column_offset(int column_index=-1)", 2068 | "class": "static" 2069 | }, 2070 | { 2071 | "fun": "def set_column_offset(int column_index, float offset_x)", 2072 | "class": "static" 2073 | }, 2074 | { 2075 | "fun": "def get_column_width(int column_index=-1)", 2076 | "class": "static" 2077 | }, 2078 | { 2079 | "fun": "def set_column_width(int column_index, float width)", 2080 | "class": "static" 2081 | }, 2082 | { 2083 | "fun": "def get_columns_count()", 2084 | "class": "static" 2085 | }, 2086 | { 2087 | "fun": "def begin_tab_bar(str identifier, cimgui.ImGuiTabBarFlags flags = 0)", 2088 | "class": "static" 2089 | }, 2090 | { 2091 | "fun": "def end_tab_bar()", 2092 | "class": "static" 2093 | }, 2094 | { 2095 | "fun": "def begin_tab_item(str label, opened = None, cimgui.ImGuiTabItemFlags flags = 0)", 2096 | "class": "static" 2097 | }, 2098 | { 2099 | "fun": "def end_tab_item()", 2100 | "class": "static" 2101 | }, 2102 | { 2103 | "fun": "def tab_item_button(str label, cimgui.ImGuiTabItemFlags flags = 0)", 2104 | "class": "static" 2105 | }, 2106 | { 2107 | "fun": "def set_tab_item_closed(str tab_or_docked_window_label)", 2108 | "class": "static" 2109 | }, 2110 | { 2111 | "fun": "def dockspace(cimgui.ImGuiID id, tuple size=(0, 0), cimgui.ImGuiDockNodeFlags flags=0)", 2112 | "class": "static" 2113 | }, 2114 | { 2115 | "fun": "def get_window_dock_id()", 2116 | "class": "static" 2117 | }, 2118 | { 2119 | "fun": "def is_window_docked()", 2120 | "class": "static" 2121 | }, 2122 | { 2123 | "fun": "def begin_drag_drop_source(cimgui.ImGuiDragDropFlags flags=0)", 2124 | "class": "static" 2125 | }, 2126 | { 2127 | "fun": "def set_drag_drop_payload(str type, bytes data, cimgui.ImGuiCond condition=0)", 2128 | "class": "static" 2129 | }, 2130 | { 2131 | "fun": "def end_drag_drop_source()", 2132 | "class": "static" 2133 | }, 2134 | { 2135 | "fun": "def begin_drag_drop_target()", 2136 | "class": "static" 2137 | }, 2138 | { 2139 | "fun": "def _require_pointer(self)", 2140 | "class": "_ImGuiPayload" 2141 | }, 2142 | { 2143 | "fun": "cdef from_ptr(const cimgui.ImGuiPayload* ptr)", 2144 | "class": "_ImGuiPayload" 2145 | }, 2146 | { 2147 | "fun": "def data(self)", 2148 | "class": "_ImGuiPayload" 2149 | }, 2150 | { 2151 | "fun": "def data_size(self)", 2152 | "class": "_ImGuiPayload" 2153 | }, 2154 | { 2155 | "fun": "def is_preview(self)", 2156 | "class": "_ImGuiPayload" 2157 | }, 2158 | { 2159 | "fun": "def is_delivery(self)", 2160 | "class": "_ImGuiPayload" 2161 | }, 2162 | { 2163 | "fun": "def is_data_type(self, str type)", 2164 | "class": "_ImGuiPayload" 2165 | }, 2166 | { 2167 | "fun": "def accept_drag_drop_payload(str type, cimgui.ImGuiDragDropFlags flags=0)", 2168 | "class": "static" 2169 | }, 2170 | { 2171 | "fun": "def end_drag_drop_target()", 2172 | "class": "static" 2173 | }, 2174 | { 2175 | "fun": "def get_drag_drop_payload()", 2176 | "class": "static" 2177 | }, 2178 | { 2179 | "fun": "def pop_clip_rect()", 2180 | "class": "static" 2181 | }, 2182 | { 2183 | "fun": "def begin_group()", 2184 | "class": "static" 2185 | }, 2186 | { 2187 | "fun": "def end_group()", 2188 | "class": "static" 2189 | }, 2190 | { 2191 | "fun": "def get_cursor_pos()", 2192 | "class": "static" 2193 | }, 2194 | { 2195 | "fun": "def get_cursor_pos_x()", 2196 | "class": "static" 2197 | }, 2198 | { 2199 | "fun": "def get_cursor_pos_y()", 2200 | "class": "static" 2201 | }, 2202 | { 2203 | "fun": "def set_cursor_pos_x(float x)", 2204 | "class": "static" 2205 | }, 2206 | { 2207 | "fun": "def set_cursor_pos_y(float y)", 2208 | "class": "static" 2209 | }, 2210 | { 2211 | "fun": "def get_cursor_start_pos()", 2212 | "class": "static" 2213 | }, 2214 | { 2215 | "fun": "def get_cursor_screen_pos()", 2216 | "class": "static" 2217 | }, 2218 | { 2219 | "fun": "def align_text_to_frame_padding()", 2220 | "class": "static" 2221 | }, 2222 | { 2223 | "fun": "def get_text_line_height()", 2224 | "class": "static" 2225 | }, 2226 | { 2227 | "fun": "def get_text_line_height_with_spacing()", 2228 | "class": "static" 2229 | }, 2230 | { 2231 | "fun": "def get_frame_height()", 2232 | "class": "static" 2233 | }, 2234 | { 2235 | "fun": "def get_frame_height_with_spacing()", 2236 | "class": "static" 2237 | }, 2238 | { 2239 | "fun": "def create_context(_FontAtlas shared_font_atlas = None)", 2240 | "class": "static" 2241 | }, 2242 | { 2243 | "fun": "def destroy_context(_ImGuiContext ctx = None)", 2244 | "class": "static" 2245 | }, 2246 | { 2247 | "fun": "def get_current_context()", 2248 | "class": "static" 2249 | }, 2250 | { 2251 | "fun": "def set_current_context(_ImGuiContext ctx)", 2252 | "class": "static" 2253 | }, 2254 | { 2255 | "fun": "def push_id(str str_id)", 2256 | "class": "static" 2257 | }, 2258 | { 2259 | "fun": "def pop_id()", 2260 | "class": "static" 2261 | }, 2262 | { 2263 | "fun": "def get_id(str str_id)", 2264 | "class": "static" 2265 | }, 2266 | { 2267 | "fun": "def _ansifeed_text_ansi(str text)", 2268 | "class": "static" 2269 | }, 2270 | { 2271 | "fun": "def _ansifeed_text_ansi_colored(str text, float r, float g, float b, float a=1.)", 2272 | "class": "static" 2273 | }, 2274 | { 2275 | "fun": "def _py_font(_Font font)", 2276 | "class": "static" 2277 | }, 2278 | { 2279 | "fun": "def _py_styled(cimgui.ImGuiStyleVar variable, value)", 2280 | "class": "static" 2281 | }, 2282 | { 2283 | "fun": "def _py_scoped(str str_id)", 2284 | "class": "static" 2285 | }, 2286 | { 2287 | "fun": "def _py_vertex_buffer_vertex_pos_offset()", 2288 | "class": "static" 2289 | }, 2290 | { 2291 | "fun": "def _py_vertex_buffer_vertex_uv_offset()", 2292 | "class": "static" 2293 | }, 2294 | { 2295 | "fun": "def _py_vertex_buffer_vertex_col_offset()", 2296 | "class": "static" 2297 | }, 2298 | { 2299 | "fun": "def _py_vertex_buffer_vertex_size()", 2300 | "class": "static" 2301 | }, 2302 | { 2303 | "fun": "def _py_index_buffer_index_size()", 2304 | "class": "static" 2305 | }, 2306 | { 2307 | "fun": "def update_platform_windows()", 2308 | "class": "static" 2309 | }, 2310 | { 2311 | "fun": "def destroy_platform_windows()", 2312 | "class": "static" 2313 | }, 2314 | { 2315 | "fun": "cdef find_viewport_by_platform_handle(void* platform_handle)", 2316 | "class": "static" 2317 | }, 2318 | { 2319 | "fun": "def find_viewport_by_id(cimgui.ImGuiID id)", 2320 | "class": "static" 2321 | } 2322 | ] -------------------------------------------------------------------------------- /example_autocomplete_vscode.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/masc-it/pyimgui-interface-generator/2dbe8b14db784f5d916d061bbe910ac90f523bb5/example_autocomplete_vscode.PNG -------------------------------------------------------------------------------- /imgui.pyi: -------------------------------------------------------------------------------- 1 | from typing import Any 2 | from imgui.core import * # noqa 3 | from imgui import core 4 | from imgui.extra import * # noqa 5 | from imgui import extra 6 | from imgui import _compat 7 | from imgui import internal 8 | 9 | VERTEX_BUFFER_POS_OFFSET = extra.vertex_buffer_vertex_pos_offset() 10 | VERTEX_BUFFER_UV_OFFSET = extra.vertex_buffer_vertex_uv_offset() 11 | VERTEX_BUFFER_COL_OFFSET = extra.vertex_buffer_vertex_col_offset() 12 | 13 | VERTEX_SIZE = extra.vertex_buffer_vertex_size() 14 | 15 | INDEX_SIZE = extra.index_buffer_index_size() 16 | 17 | # ==== Condition constants (redefines for autodoc) 18 | #: No condition (always set the variable), same as _Always 19 | NONE = core.NONE 20 | #: No condition (always set the variable) 21 | ALWAYS = core.ALWAYS 22 | #: Set the variable once per runtime session (only the first call will succeed) 23 | ONCE = core.ONCE 24 | #: Set the variable if the object/window has no persistently saved data (no entry in .ini file) 25 | FIRST_USE_EVER = core.FIRST_USE_EVER 26 | #: Set the variable if the object/window is appearing after being hidden/inactive (or the first time) 27 | APPEARING = core.APPEARING 28 | 29 | 30 | # === Key map constants (redefines for autodoc) 31 | #: for tabbing through fields 32 | KEY_TAB = core.KEY_TAB 33 | #: for text edit 34 | KEY_LEFT_ARROW = core.KEY_LEFT_ARROW 35 | #: for text edit 36 | KEY_RIGHT_ARROW = core.KEY_RIGHT_ARROW 37 | #: for text edit 38 | KEY_UP_ARROW = core.KEY_UP_ARROW 39 | #: for text edit 40 | KEY_DOWN_ARROW = core.KEY_DOWN_ARROW 41 | KEY_PAGE_UP = core.KEY_PAGE_UP 42 | KEY_PAGE_DOWN = core.KEY_PAGE_DOWN 43 | #: for text edit 44 | KEY_HOME = core.KEY_HOME 45 | #: for text edit 46 | KEY_END = core.KEY_END 47 | #: for text edit 48 | KEY_INSERT = core.KEY_INSERT 49 | #: for text edit 50 | KEY_DELETE = core.KEY_DELETE 51 | #: for text edit 52 | KEY_BACKSPACE = core.KEY_BACKSPACE 53 | #: for text edit 54 | KEY_SPACE = core.KEY_SPACE 55 | #: for text edit 56 | KEY_ENTER = core.KEY_ENTER 57 | #: for text edit 58 | KEY_ESCAPE = core.KEY_ESCAPE 59 | #: 60 | KEY_PAD_ENTER = core.KEY_PAD_ENTER 61 | #: for text edit CTRL+A: select all 62 | KEY_A = core.KEY_A 63 | #: for text edit CTRL+C: copy 64 | KEY_C = core.KEY_C 65 | #: for text edit CTRL+V: paste 66 | KEY_V = core.KEY_V 67 | #: for text edit CTRL+X: cut 68 | KEY_X = core.KEY_X 69 | #: for text edit CTRL+Y: redo 70 | KEY_Y = core.KEY_Y 71 | #: for text edit CTRL+Z: undo 72 | KEY_Z = core.KEY_Z 73 | 74 | # === Nav Input (redefines for autodoc) 75 | #: activate / open / toggle / tweak value e.g. Cross (PS4), A (Xbox), A (Switch), Space (Keyboard) 76 | NAV_INPUT_ACTIVATE = core.NAV_INPUT_ACTIVATE 77 | #: cancel / close / exit e.g. Circle (PS4), B (Xbox), B (Switch), Escape (Keyboard) 78 | NAV_INPUT_CANCEL = core.NAV_INPUT_CANCEL 79 | #: text input / on-screen keyboard e.g. Triang.(PS4), Y (Xbox), X (Switch), Return (Keyboard) 80 | NAV_INPUT_INPUT = core.NAV_INPUT_INPUT 81 | #: tap: toggle menu / hold: focus, move, resize e.g. Square (PS4), X (Xbox), Y (Switch), Alt (Keyboard) 82 | NAV_INPUT_MENU = core.NAV_INPUT_MENU 83 | #: move / tweak / resize window (w/ PadMenu) e.g. D-pad Left/Right/Up/Down (Gamepads), Arrow keys (Keyboard) 84 | NAV_INPUT_DPAD_LEFT = core.NAV_INPUT_DPAD_LEFT 85 | #: 86 | NAV_INPUT_DPAD_RIGHT = core.NAV_INPUT_DPAD_RIGHT 87 | #: 88 | NAV_INPUT_DPAD_UP = core.NAV_INPUT_DPAD_UP 89 | #: 90 | NAV_INPUT_DPAD_DOWN = core.NAV_INPUT_DPAD_DOWN 91 | #: scroll / move window (w/ PadMenu) e.g. Left Analog Stick Left/Right/Up/Down 92 | NAV_INPUT_L_STICK_LEFT = core.NAV_INPUT_L_STICK_LEFT 93 | #: 94 | NAV_INPUT_L_STICK_RIGHT = core.NAV_INPUT_L_STICK_RIGHT 95 | #: 96 | NAV_INPUT_L_STICK_UP = core.NAV_INPUT_L_STICK_UP 97 | #: 98 | NAV_INPUT_L_STICK_DOWN = core.NAV_INPUT_L_STICK_DOWN 99 | #: next window (w/ PadMenu) e.g. L1 or L2 (PS4), LB or LT (Xbox), L or ZL (Switch) 100 | NAV_INPUT_FOCUS_PREV = core.NAV_INPUT_FOCUS_PREV 101 | #: prev window (w/ PadMenu) e.g. R1 or R2 (PS4), RB or RT (Xbox), R or ZL (Switch) 102 | NAV_INPUT_FOCUS_NEXT = core.NAV_INPUT_FOCUS_NEXT 103 | #: slower tweaks e.g. L1 or L2 (PS4), LB or LT (Xbox), L or ZL (Switch) 104 | NAV_INPUT_TWEAK_SLOW = core.NAV_INPUT_TWEAK_SLOW 105 | #: faster tweaks e.g. R1 or R2 (PS4), RB or RT (Xbox), R or ZL (Switch) 106 | NAV_INPUT_TWEAK_FAST = core.NAV_INPUT_TWEAK_FAST 107 | 108 | 109 | # === Key Mode Flags (redefines for autodoc) 110 | KEY_MOD_NONE = core.KEY_MOD_NONE 111 | KEY_MOD_CTRL = core.KEY_MOD_CTRL 112 | KEY_MOD_SHIFT = core.KEY_MOD_SHIFT 113 | KEY_MOD_ALT = core.KEY_MOD_ALT 114 | KEY_MOD_SUPER = core.KEY_MOD_SUPER 115 | 116 | # === Style var constants (redefines for autodoc) 117 | #: associated type: ``float``. 118 | STYLE_ALPHA = core.STYLE_ALPHA 119 | #: associated type: ``Vec2``. 120 | STYLE_WINDOW_PADDING = core.STYLE_WINDOW_PADDING 121 | #: associated type: ``float``. 122 | STYLE_WINDOW_ROUNDING = core.STYLE_WINDOW_ROUNDING 123 | #: associated type: ``float``. 124 | STYLE_WINDOW_BORDERSIZE = core.STYLE_WINDOW_BORDERSIZE 125 | #: associated type: ``Vec2``. 126 | STYLE_WINDOW_MIN_SIZE = core.STYLE_WINDOW_MIN_SIZE 127 | #: associated type: ``Vec2``. 128 | STYLE_WINDOW_TITLE_ALIGN = core.STYLE_WINDOW_TITLE_ALIGN 129 | #: associated type: ``float``. 130 | STYLE_CHILD_ROUNDING = core.STYLE_CHILD_ROUNDING 131 | #: associated type: ``float``. 132 | STYLE_CHILD_BORDERSIZE = core.STYLE_CHILD_BORDERSIZE 133 | #: associated type: ``float``. 134 | STYLE_POPUP_ROUNDING = core.STYLE_POPUP_ROUNDING 135 | #: associated type: ``float``. 136 | STYLE_POPUP_BORDERSIZE = core.STYLE_POPUP_BORDERSIZE 137 | #: associated type: ``Vec2``. 138 | STYLE_FRAME_PADDING = core.STYLE_FRAME_PADDING 139 | #: associated type: ``float``. 140 | STYLE_FRAME_ROUNDING = core.STYLE_FRAME_ROUNDING 141 | #: associated type: ``float``. 142 | STYLE_FRAME_BORDERSIZE = core.STYLE_FRAME_BORDERSIZE 143 | #: associated type: ``Vec2``. 144 | STYLE_ITEM_SPACING = core.STYLE_ITEM_SPACING 145 | #: associated type: ``Vec2``. 146 | STYLE_ITEM_INNER_SPACING = core.STYLE_ITEM_INNER_SPACING 147 | #: associated type: ``float``. 148 | STYLE_INDENT_SPACING = core.STYLE_INDENT_SPACING 149 | #: associated type: ``Vec2``. 150 | STYLE_CELL_PADDING = core.STYLE_CELL_PADDING 151 | #: associated type: ``float``. 152 | STYLE_SCROLLBAR_SIZE = core.STYLE_SCROLLBAR_SIZE 153 | #: associated type: ``float``. 154 | STYLE_SCROLLBAR_ROUNDING = core.STYLE_SCROLLBAR_ROUNDING 155 | #: associated type: ``float``. 156 | STYLE_GRAB_MIN_SIZE = core.STYLE_GRAB_MIN_SIZE 157 | #: associated type: ``float``. 158 | STYLE_GRAB_ROUNDING = core.STYLE_GRAB_ROUNDING 159 | #: associated type: ``float`` 160 | STYLE_TAB_ROUNDING = core.STYLE_TAB_ROUNDING 161 | #: associated type: flags ImGuiAlign_*. 162 | STYLE_BUTTON_TEXT_ALIGN = core.STYLE_BUTTON_TEXT_ALIGN 163 | #: associated type: Vec2 164 | STYLE_SELECTABLE_TEXT_ALIGN = core.STYLE_SELECTABLE_TEXT_ALIGN 165 | 166 | # === Button Flags (redefines for autodoc) 167 | BUTTON_NONE = core.BUTTON_NONE 168 | #: React on left mouse button (default) 169 | BUTTON_MOUSE_BUTTON_LEFT = core.BUTTON_MOUSE_BUTTON_LEFT 170 | #: React on right mouse button 171 | BUTTON_MOUSE_BUTTON_RIGHT = core.BUTTON_MOUSE_BUTTON_RIGHT 172 | #: React on center mouse button 173 | BUTTON_MOUSE_BUTTON_MIDDLE = core.BUTTON_MOUSE_BUTTON_MIDDLE 174 | 175 | # === Window flag constants (redefines for autodoc) 176 | #: 177 | WINDOW_NONE = core.WINDOW_NONE 178 | #: Disable title-bar. 179 | WINDOW_NO_TITLE_BAR = core.WINDOW_NO_TITLE_BAR 180 | #: Disable user resizing with the lower-right grip. 181 | WINDOW_NO_RESIZE = core.WINDOW_NO_RESIZE 182 | #: Disable user moving the window. 183 | WINDOW_NO_MOVE = core.WINDOW_NO_MOVE 184 | #: Disable scrollbars (window can still scroll with mouse or programmatically). 185 | WINDOW_NO_SCROLLBAR = core.WINDOW_NO_SCROLLBAR 186 | #: Disable user vertically scrolling with mouse wheel. On child window, mouse wheel will be forwarded to the parent unless NoScrollbar is also set. 187 | WINDOW_NO_SCROLL_WITH_MOUSE = core.WINDOW_NO_SCROLL_WITH_MOUSE 188 | #: Disable user collapsing window by double-clicking on it. 189 | WINDOW_NO_COLLAPSE = core.WINDOW_NO_COLLAPSE 190 | #: Resize every window to its content every frame. 191 | WINDOW_ALWAYS_AUTO_RESIZE = core.WINDOW_ALWAYS_AUTO_RESIZE 192 | #: Disable drawing background color (WindowBg, etc.) and outside border. Similar as using SetNextWindowBgAlpha(0.0f). 193 | WINDOW_NO_BACKGROUND = core.WINDOW_NO_BACKGROUND 194 | #: Never load/save settings in ``.ini`` file. 195 | WINDOW_NO_SAVED_SETTINGS = core.WINDOW_NO_SAVED_SETTINGS 196 | #: Disable catching mouse, hovering test with pass through. 197 | WINDOW_NO_MOUSE_INPUTS = core.WINDOW_NO_MOUSE_INPUTS 198 | #: Has a menu-bar. 199 | WINDOW_MENU_BAR = core.WINDOW_MENU_BAR 200 | #: Allow horizontal scrollbar to appear (off by default). You may use SetNextWindowContentSize(ImVec2(width,0.0f)); prior to calling Begin() to specify width. Read code in imgui_demo in the "Horizontal Scrolling" section. 201 | WINDOW_HORIZONTAL_SCROLLING_BAR = core.WINDOW_HORIZONTAL_SCROLLING_BAR 202 | #: Disable taking focus when transitioning from hidden to visible state. 203 | WINDOW_NO_FOCUS_ON_APPEARING = core.WINDOW_NO_FOCUS_ON_APPEARING 204 | #: Disable bringing window to front when taking focus (e.g. clicking on it or programmatically giving it focus). 205 | WINDOW_NO_BRING_TO_FRONT_ON_FOCUS = core.WINDOW_NO_BRING_TO_FRONT_ON_FOCUS 206 | #: Always show vertical scrollbar (even if ContentSize.y < Size.y). 207 | WINDOW_ALWAYS_VERTICAL_SCROLLBAR = core.WINDOW_ALWAYS_VERTICAL_SCROLLBAR 208 | #: Always show horizontal scrollbar (even if ContentSize.x < Size.x). 209 | WINDOW_ALWAYS_HORIZONTAL_SCROLLBAR = core.WINDOW_ALWAYS_HORIZONTAL_SCROLLBAR 210 | #: Ensure child windows without border uses style.WindowPadding (ignored by default for non-bordered child windows, because more convenient). 211 | WINDOW_ALWAYS_USE_WINDOW_PADDING = core.WINDOW_ALWAYS_USE_WINDOW_PADDING 212 | #: No gamepad/keyboard navigation within the window. 213 | WINDOW_NO_NAV_INPUTS = core.WINDOW_NO_NAV_INPUTS 214 | #: No focusing toward this window with gamepad/keyboard navigation (e.g. skipped by CTRL+TAB). 215 | WINDOW_NO_NAV_FOCUS = core.WINDOW_NO_NAV_FOCUS 216 | #: Append '*' to title without affecting the ID, as a convenience to avoid using the ### operator. When used in a tab/docking context, tab is selected on closure and closure is deferred by one frame to allow code to cancel the closure (with a confirmation popup, etc.) without flicker. 217 | WINDOW_UNSAVED_DOCUMENT = core.WINDOW_UNSAVED_DOCUMENT 218 | #: Disable docking of this window 219 | WINDOW_NO_DOCKING = core.WINDOW_NO_DOCKING 220 | #: Shortcut: ``imgui.WINDOW_NO_NAV_INPUTS | imgui.WINDOW_NO_NAV_FOCUS``. 221 | WINDOW_NO_NAV = core.WINDOW_NO_NAV 222 | #: Shortcut: ``imgui.WINDOW_NO_TITLE_BAR | imgui.WINDOW_NO_RESIZE | imgui.WINDOW_NO_SCROLLBAR | imgui.WINDOW_NO_COLLAPSE``. 223 | WINDOW_NO_DECORATION = core.WINDOW_NO_DECORATION 224 | #: Shortcut: ``imgui.WINDOW_NO_MOUSE_INPUTS | imgui.WINDOW_NO_NAV_INPUTS | imgui.WINDOW_NO_NAV_FOCUS``. 225 | WINDOW_NO_INPUTS = core.WINDOW_NO_INPUTS 226 | 227 | # === Color Edit Flags (redefines for autodoc) 228 | #: 229 | COLOR_EDIT_NONE = core.COLOR_EDIT_NONE 230 | #: ColorEdit, ColorPicker, ColorButton: ignore Alpha component (will only read 3 components from the input pointer). 231 | COLOR_EDIT_NO_ALPHA = core.COLOR_EDIT_NO_ALPHA 232 | #: ColorEdit: disable picker when clicking on color square. 233 | COLOR_EDIT_NO_PICKER = core.COLOR_EDIT_NO_PICKER 234 | #: ColorEdit: disable toggling options menu when right-clicking on inputs/small preview. 235 | COLOR_EDIT_NO_OPTIONS = core.COLOR_EDIT_NO_OPTIONS 236 | #: ColorEdit, ColorPicker: disable color square preview next to the inputs. (e.g. to show only the inputs) 237 | COLOR_EDIT_NO_SMALL_PREVIEW = core.COLOR_EDIT_NO_SMALL_PREVIEW 238 | #: ColorEdit, ColorPicker: disable inputs sliders/text widgets (e.g. to show only the small preview color square). 239 | COLOR_EDIT_NO_INPUTS = core.COLOR_EDIT_NO_INPUTS 240 | #: ColorEdit, ColorPicker, ColorButton: disable tooltip when hovering the preview. 241 | COLOR_EDIT_NO_TOOLTIP = core.COLOR_EDIT_NO_TOOLTIP 242 | #: ColorEdit, ColorPicker: disable display of inline text label (the label is still forwarded to the tooltip and picker). 243 | COLOR_EDIT_NO_LABEL = core.COLOR_EDIT_NO_LABEL 244 | #: ColorPicker: disable bigger color preview on right side of the picker, use small color square preview instead. 245 | COLOR_EDIT_NO_SIDE_PREVIEW = core.COLOR_EDIT_NO_SIDE_PREVIEW 246 | #: ColorEdit: disable drag and drop target. ColorButton: disable drag and drop source. 247 | COLOR_EDIT_NO_DRAG_DROP = core.COLOR_EDIT_NO_DRAG_DROP 248 | #: ColorButton: disable border (which is enforced by default) 249 | COLOR_EDIT_NO_BORDER = core.COLOR_EDIT_NO_BORDER 250 | 251 | #: ColorEdit, ColorPicker: show vertical alpha bar/gradient in picker. 252 | COLOR_EDIT_ALPHA_BAR = core.COLOR_EDIT_ALPHA_BAR 253 | #: ColorEdit, ColorPicker, ColorButton: display preview as a transparent color over a checkerboard, instead of opaque. 254 | COLOR_EDIT_ALPHA_PREVIEW = core.COLOR_EDIT_ALPHA_PREVIEW 255 | #: ColorEdit, ColorPicker, ColorButton: display half opaque / half checkerboard, instead of opaque. 256 | COLOR_EDIT_ALPHA_PREVIEW_HALF = core.COLOR_EDIT_ALPHA_PREVIEW_HALF 257 | #: (WIP) ColorEdit: Currently only disable 0.0f..1.0f limits in RGBA edition (note: you probably want to use ImGuiColorEditFlags_Float flag as well). 258 | COLOR_EDIT_HDR = core.COLOR_EDIT_HDR 259 | #: ColorEdit: override _display_ type among RGB/HSV/Hex. ColorPicker: select any combination using one or more of RGB/HSV/Hex. 260 | COLOR_EDIT_DISPLAY_RGB = core.COLOR_EDIT_DISPLAY_RGB 261 | #: ColorEdit: override _display_ type among RGB/HSV/Hex. ColorPicker: select any combination using one or more of RGB/HSV/Hex. 262 | COLOR_EDIT_DISPLAY_HSV = core.COLOR_EDIT_DISPLAY_HSV 263 | #: ColorEdit: override _display_ type among RGB/HSV/Hex. ColorPicker: select any combination using one or more of RGB/HSV/Hex. 264 | COLOR_EDIT_DISPLAY_HEX = core.COLOR_EDIT_DISPLAY_HEX 265 | #: ColorEdit, ColorPicker, ColorButton: _display_ values formatted as 0..255. 266 | COLOR_EDIT_UINT8 = core.COLOR_EDIT_UINT8 267 | #: ColorEdit, ColorPicker, ColorButton: _display_ values formatted as 0.0f..1.0f floats instead of 0..255 integers. No round-trip of value via integers. 268 | COLOR_EDIT_FLOAT = core.COLOR_EDIT_FLOAT 269 | #: ColorPicker: bar for Hue, rectangle for Sat/Value. 270 | COLOR_EDIT_PICKER_HUE_BAR = core.COLOR_EDIT_PICKER_HUE_BAR 271 | #: ColorPicker: wheel for Hue, triangle for Sat/Value. 272 | COLOR_EDIT_PICKER_HUE_WHEEL = core.COLOR_EDIT_PICKER_HUE_WHEEL 273 | #: ColorEdit, ColorPicker: input and output data in RGB format. 274 | COLOR_EDIT_INPUT_RGB = core.COLOR_EDIT_INPUT_RGB 275 | #: ColorEdit, ColorPicker: input and output data in HSV format. 276 | COLOR_EDIT_INPUT_HSV = core.COLOR_EDIT_INPUT_HSV 277 | 278 | #: Shortcut: ``imgui.COLOR_EDIT_UINT8 | imgui.COLOR_EDIT_DISPLAY_RGB | imgui.COLOR_EDIT_INPUT_RGB | imgui.COLOR_EDIT_PICKER_HUE_BAR``. 279 | COLOR_EDIT_DEFAULT_OPTIONS = core.COLOR_EDIT_DEFAULT_OPTIONS 280 | 281 | # === Tree node flag constants (redefines for autodoc) 282 | #: 283 | TREE_NODE_NONE = core.TREE_NODE_NONE 284 | #: Draw as selected 285 | TREE_NODE_SELECTED = core.TREE_NODE_SELECTED 286 | #: Draw frame with background (e.g. for :func:`imgui.core.collapsing_header`). 287 | TREE_NODE_FRAMED = core.TREE_NODE_FRAMED 288 | #: Hit testing to allow subsequent widgets to overlap this one 289 | TREE_NODE_ALLOW_ITEM_OVERLAP = core.TREE_NODE_ALLOW_ITEM_OVERLAP 290 | #: Don't do a ``TreePush()`` when open 291 | #: (e.g. for :func:`imgui.core.collapsing_header`). 292 | #: No extra indent nor pushing on ID stack. 293 | TREE_NODE_NO_TREE_PUSH_ON_OPEN = core.TREE_NODE_NO_TREE_PUSH_ON_OPEN 294 | #: Don't automatically and temporarily open node when Logging is active 295 | #: (by default logging will automatically open tree nodes). 296 | TREE_NODE_NO_AUTO_OPEN_ON_LOG = core.TREE_NODE_NO_AUTO_OPEN_ON_LOG 297 | #: Default node to be open 298 | TREE_NODE_DEFAULT_OPEN = core.TREE_NODE_DEFAULT_OPEN 299 | #: Need double-click to open node. 300 | TREE_NODE_OPEN_ON_DOUBLE_CLICK = core.TREE_NODE_OPEN_ON_DOUBLE_CLICK 301 | #: Only open when clicking on the arrow part. If 302 | #: :py:data:`TREE_NODE_OPEN_ON_DOUBLE_CLICK` is also set, 303 | #: single-click arrow or double-click all box to open. 304 | TREE_NODE_OPEN_ON_ARROW = core.TREE_NODE_OPEN_ON_ARROW 305 | #: No collapsing, no arrow (use as a convenience for leaf nodes). 306 | TREE_NODE_LEAF = core.TREE_NODE_LEAF 307 | #: Display a bullet instead of arrow. 308 | TREE_NODE_BULLET = core.TREE_NODE_BULLET 309 | #: Use FramePadding (even for an unframed text node) to vertically align 310 | #: text baseline to regular widget height. Equivalent to calling 311 | #: ``align_text_to_frame_padding()`` 312 | TREE_NODE_FRAME_PADDING = core.TREE_NODE_FRAME_PADDING 313 | #: Extend hit box to the right-most edge, even if not framed. This is not the default in order to allow adding other items on the same line. In the future we may refactor the hit system to be front-to-back, allowing natural overlaps and then this can become the default. 314 | TREE_NODE_SPAN_AVAILABLE_WIDTH = core.TREE_NODE_SPAN_AVAILABLE_WIDTH 315 | #: Extend hit box to the left-most and right-most edges (bypass the indented area). 316 | TREE_NODE_SPAN_FULL_WIDTH = core.TREE_NODE_SPAN_FULL_WIDTH 317 | #: (WIP) Nav: left direction may move to this TreeNode() from any of its child (items submitted between TreeNode and TreePop) 318 | TREE_NODE_NAV_LEFT_JUPS_BACK_HERE = core.TREE_NODE_NAV_LEFT_JUPS_BACK_HERE 319 | #: Shortcut: ``imgui.TREE_NODE_FRAMED | imgui.TREE_NODE_NO_AUTO_OPEN_ON_LOG``. 320 | TREE_NODE_COLLAPSING_HEADER = core.TREE_NODE_COLLAPSING_HEADER 321 | 322 | # === Popup Flags (redefines for autodoc) 323 | POPUP_NONE = core.POPUP_NONE 324 | POPUP_MOUSE_BUTTON_LEFT = core.POPUP_MOUSE_BUTTON_LEFT 325 | POPUP_MOUSE_BUTTON_RIGHT = core.POPUP_MOUSE_BUTTON_RIGHT 326 | POPUP_MOUSE_BUTTON_MIDDLE = core.POPUP_MOUSE_BUTTON_MIDDLE 327 | POPUP_MOUSE_BUTTON_MASK = core.POPUP_MOUSE_BUTTON_MASK 328 | POPUP_MOUSE_BUTTON_DEFAULT = core.POPUP_MOUSE_BUTTON_DEFAULT 329 | POPUP_NO_OPEN_OVER_EXISTING_POPUP = core.POPUP_NO_OPEN_OVER_EXISTING_POPUP 330 | POPUP_NO_OPEN_OVER_ITEMS = core.POPUP_NO_OPEN_OVER_ITEMS 331 | POPUP_ANY_POPUP_ID = core.POPUP_ANY_POPUP_ID 332 | POPUP_ANY_POPUP_LEVEL = core.POPUP_ANY_POPUP_LEVEL 333 | POPUP_ANY_POPUP = core.POPUP_ANY_POPUP 334 | 335 | # === Color flag constants (redefines for autodoc) 336 | COLOR_TEXT = core.COLOR_TEXT 337 | COLOR_TEXT_DISABLED = core.COLOR_TEXT_DISABLED 338 | COLOR_WINDOW_BACKGROUND = core.COLOR_WINDOW_BACKGROUND 339 | COLOR_CHILD_BACKGROUND = core.COLOR_CHILD_BACKGROUND 340 | COLOR_POPUP_BACKGROUND = core.COLOR_POPUP_BACKGROUND 341 | COLOR_BORDER = core.COLOR_BORDER 342 | COLOR_BORDER_SHADOW = core.COLOR_BORDER_SHADOW 343 | COLOR_FRAME_BACKGROUND = core.COLOR_FRAME_BACKGROUND 344 | COLOR_FRAME_BACKGROUND_HOVERED = core.COLOR_FRAME_BACKGROUND_HOVERED 345 | COLOR_FRAME_BACKGROUND_ACTIVE = core.COLOR_FRAME_BACKGROUND_ACTIVE 346 | COLOR_TITLE_BACKGROUND = core.COLOR_TITLE_BACKGROUND 347 | COLOR_TITLE_BACKGROUND_ACTIVE = core.COLOR_TITLE_BACKGROUND_ACTIVE 348 | COLOR_TITLE_BACKGROUND_COLLAPSED = core.COLOR_TITLE_BACKGROUND_COLLAPSED 349 | COLOR_MENUBAR_BACKGROUND = core.COLOR_MENUBAR_BACKGROUND 350 | COLOR_SCROLLBAR_BACKGROUND = core.COLOR_SCROLLBAR_BACKGROUND 351 | COLOR_SCROLLBAR_GRAB = core.COLOR_SCROLLBAR_GRAB 352 | COLOR_SCROLLBAR_GRAB_HOVERED = core.COLOR_SCROLLBAR_GRAB_HOVERED 353 | COLOR_SCROLLBAR_GRAB_ACTIVE = core.COLOR_SCROLLBAR_GRAB_ACTIVE 354 | COLOR_CHECK_MARK = core.COLOR_CHECK_MARK 355 | COLOR_SLIDER_GRAB = core.COLOR_SLIDER_GRAB 356 | COLOR_SLIDER_GRAB_ACTIVE = core.COLOR_SLIDER_GRAB_ACTIVE 357 | COLOR_BUTTON = core.COLOR_BUTTON 358 | COLOR_BUTTON_HOVERED = core.COLOR_BUTTON_HOVERED 359 | COLOR_BUTTON_ACTIVE = core.COLOR_BUTTON_ACTIVE 360 | COLOR_HEADER = core.COLOR_HEADER 361 | COLOR_HEADER_HOVERED = core.COLOR_HEADER_HOVERED 362 | COLOR_HEADER_ACTIVE = core.COLOR_HEADER_ACTIVE 363 | COLOR_SEPARATOR = core.COLOR_SEPARATOR 364 | COLOR_SEPARATOR_HOVERED = core.COLOR_SEPARATOR_HOVERED 365 | COLOR_SEPARATOR_ACTIVE = core.COLOR_SEPARATOR_ACTIVE 366 | COLOR_RESIZE_GRIP = core.COLOR_RESIZE_GRIP 367 | COLOR_RESIZE_GRIP_HOVERED = core.COLOR_RESIZE_GRIP_HOVERED 368 | COLOR_RESIZE_GRIP_ACTIVE = core.COLOR_RESIZE_GRIP_ACTIVE 369 | COLOR_TAB = core.COLOR_TAB 370 | COLOR_TAB_HOVERED = core.COLOR_TAB_HOVERED 371 | COLOR_TAB_ACTIVE = core.COLOR_TAB_ACTIVE 372 | COLOR_TAB_UNFOCUSED = core.COLOR_TAB_UNFOCUSED 373 | COLOR_TAB_UNFOCUSED_ACTIVE = core.COLOR_TAB_UNFOCUSED_ACTIVE 374 | #: Preview overlay color when about to docking something 375 | COLOR_DOCKING_PREVIEW = core.COLOR_DOCKING_PREVIEW 376 | #: Background color for empty node (e.g. CentralNode with no window docked into it) 377 | COLOR_DOCKING_EMPTY_BACKGROUND = core.COLOR_DOCKING_EMPTY_BACKGROUND 378 | COLOR_PLOT_LINES = core.COLOR_PLOT_LINES 379 | COLOR_PLOT_LINES_HOVERED = core.COLOR_PLOT_LINES_HOVERED 380 | COLOR_PLOT_HISTOGRAM = core.COLOR_PLOT_HISTOGRAM 381 | COLOR_PLOT_HISTOGRAM_HOVERED = core.COLOR_PLOT_HISTOGRAM_HOVERED 382 | COLOR_TABLE_HEADER_BACKGROUND = core.COLOR_TABLE_HEADER_BACKGROUND 383 | COLOR_TABLE_BORDER_STRONG = core.COLOR_TABLE_BORDER_STRONG 384 | COLOR_TABLE_BORDER_LIGHT = core.COLOR_TABLE_BORDER_LIGHT 385 | COLOR_TABLE_ROW_BACKGROUND = core.COLOR_TABLE_ROW_BACKGROUND 386 | COLOR_TABLE_ROW_BACKGROUND_ALT = core.COLOR_TABLE_ROW_BACKGROUND_ALT 387 | COLOR_TEXT_SELECTED_BACKGROUND = core.COLOR_TEXT_SELECTED_BACKGROUND 388 | COLOR_DRAG_DROP_TARGET = core.COLOR_DRAG_DROP_TARGET 389 | COLOR_NAV_HIGHLIGHT = core.COLOR_NAV_HIGHLIGHT 390 | COLOR_NAV_WINDOWING_HIGHLIGHT = core.COLOR_NAV_WINDOWING_HIGHLIGHT 391 | COLOR_NAV_WINDOWING_DIM_BACKGROUND = core.COLOR_NAV_WINDOWING_DIM_BACKGROUND 392 | COLOR_MODAL_WINDOW_DIM_BACKGROUND = core.COLOR_MODAL_WINDOW_DIM_BACKGROUND 393 | COLOR_COUNT = core.COLOR_COUNT 394 | 395 | # === Data Type (redefines for autodoc) 396 | DATA_TYPE_S8 = core.DATA_TYPE_S8 397 | DATA_TYPE_U8 = core.DATA_TYPE_U8 398 | DATA_TYPE_S16 = core.DATA_TYPE_S16 399 | DATA_TYPE_U16 = core.DATA_TYPE_U16 400 | DATA_TYPE_S32 = core.DATA_TYPE_S32 401 | DATA_TYPE_U32 = core.DATA_TYPE_U32 402 | DATA_TYPE_S64 = core.DATA_TYPE_S64 403 | DATA_TYPE_U64 = core.DATA_TYPE_U64 404 | DATA_TYPE_FLOAT = core.DATA_TYPE_FLOAT 405 | DATA_TYPE_DOUBLE = core.DATA_TYPE_DOUBLE 406 | 407 | 408 | # === Selectable flag constants (redefines for autodoc) 409 | SELECTABLE_NONE = core.SELECTABLE_NONE 410 | #: Clicking this don't close parent popup window. 411 | SELECTABLE_DONT_CLOSE_POPUPS = core.SELECTABLE_DONT_CLOSE_POPUPS 412 | #: Selectable frame can span all columns 413 | #: (text will still fit in current column). 414 | SELECTABLE_SPAN_ALL_COLUMNS = core.SELECTABLE_SPAN_ALL_COLUMNS 415 | #: Generate press events on double clicks too. 416 | SELECTABLE_ALLOW_DOUBLE_CLICK = core.SELECTABLE_ALLOW_DOUBLE_CLICK 417 | SELECTABLE_DISABLED = core.SELECTABLE_DISABLED 418 | SELECTABLE_ALLOW_ITEM_OVERLAP = core.SELECTABLE_ALLOW_ITEM_OVERLAP 419 | 420 | # === Combo flag constants (redefines for autodoc) 421 | COMBO_NONE = core.COMBO_NONE 422 | #: Align the popup toward the left by default 423 | COMBO_POPUP_ALIGN_LEFT = core.COMBO_POPUP_ALIGN_LEFT 424 | #: Max ~4 items visible. Tip: If you want your combo popup to be a 425 | #: specific size you can use SetNextWindowSizeConstraints() prior 426 | #: to calling BeginCombo() 427 | COMBO_HEIGHT_SMALL = core.COMBO_HEIGHT_SMALL 428 | #: Max ~8 items visible (default) 429 | COMBO_HEIGHT_REGULAR = core.COMBO_HEIGHT_REGULAR 430 | #: Max ~20 items visible 431 | COMBO_HEIGHT_LARGE = core.COMBO_HEIGHT_LARGE 432 | #: As many fitting items as possible 433 | COMBO_HEIGHT_LARGEST = core.COMBO_HEIGHT_LARGEST 434 | #: Display on the preview box without the square arrow button 435 | COMBO_NO_ARROW_BUTTON = core.COMBO_NO_ARROW_BUTTON 436 | #: Display only a square arrow button 437 | COMBO_NO_PREVIEW = core.COMBO_NO_PREVIEW 438 | #: Shortcut: ``imgui.COMBO_HEIGHT_SMALL | imgui.COMBO_HEIGHT_REGULAR | imgui.COMBO_HEIGHT_LARGE | imgui.COMBO_HEIGHT_LARGEST``. 439 | COMBO_HEIGHT_MASK = COMBO_HEIGHT_SMALL | COMBO_HEIGHT_REGULAR | COMBO_HEIGHT_LARGE | COMBO_HEIGHT_LARGEST 440 | 441 | # === Tab Bar Flags (redefines for autodoc) 442 | TAB_BAR_NONE = core.TAB_BAR_NONE 443 | #: Allow manually dragging tabs to re-order them + New tabs are appended at the end of list 444 | TAB_BAR_REORDERABLE = core.TAB_BAR_REORDERABLE 445 | #: Automatically select new tabs when they appear 446 | TAB_BAR_AUTO_SELECT_NEW_TABS = core.TAB_BAR_AUTO_SELECT_NEW_TABS 447 | #: Disable buttons to open the tab list popup 448 | TAB_BAR_TAB_LIST_POPUP_BUTTON = core.TAB_BAR_TAB_LIST_POPUP_BUTTON 449 | #: Disable behavior of closing tabs (that are submitted with p_open != NULL) with middle mouse button. You can still repro this behavior on user's side with if (IsItemHovered() && IsMouseClicked(2)) *p_open = false. 450 | TAB_BAR_NO_CLOSE_WITH_MIDDLE_MOUSE_BUTTON = core.TAB_BAR_NO_CLOSE_WITH_MIDDLE_MOUSE_BUTTON 451 | #: Disable scrolling buttons (apply when fitting policy is ImGuiTabBarFlags_FittingPolicyScroll) 452 | TAB_BAR_NO_TAB_LIST_SCROLLING_BUTTONS = core.TAB_BAR_NO_TAB_LIST_SCROLLING_BUTTONS 453 | #: Disable tooltips when hovering a tab 454 | TAB_BAR_NO_TOOLTIP = core.TAB_BAR_NO_TOOLTIP 455 | #: Resize tabs when they don't fit 456 | TAB_BAR_FITTING_POLICY_RESIZE_DOWN = core.TAB_BAR_FITTING_POLICY_RESIZE_DOWN 457 | #: Add scroll buttons when tabs don't fit 458 | TAB_BAR_FITTING_POLICY_SCROLL = core.TAB_BAR_FITTING_POLICY_SCROLL 459 | #: TAB_BAR_FITTING_POLICY_RESIZE_DOWN | TAB_BAR_FITTING_POLICY_SCROLL 460 | TAB_BAR_FITTING_POLICY_MASK = core.TAB_BAR_FITTING_POLICY_MASK 461 | #: TAB_BAR_FITTING_POLICY_RESIZE_DOWN 462 | TAB_BAR_FITTING_POLICY_DEFAULT = core.TAB_BAR_FITTING_POLICY_DEFAULT 463 | 464 | # === Tab Item Flags (redefines for autodoc) 465 | TAB_ITEM_NONE = core.TAB_ITEM_NONE 466 | #: Append '*' to title without affecting the ID, as a convenience to avoid using the ### operator. Also: tab is selected on closure and closure is deferred by one frame to allow code to undo it without flicker. 467 | TAB_ITEM_UNSAVED_DOCUMENT = core.TAB_ITEM_UNSAVED_DOCUMENT 468 | #: Trigger flag to programmatically make the tab selected when calling BeginTabItem() 469 | TAB_ITEM_SET_SELECTED = core.TAB_ITEM_SET_SELECTED 470 | #: Disable behavior of closing tabs (that are submitted with p_open != NULL) with middle mouse button. You can still repro this behavior on user's side with if (IsItemHovered() && IsMouseClicked(2)) *p_open = false. 471 | TAB_ITEM_NO_CLOSE_WITH_MIDDLE_MOUSE_BUTTON = core.TAB_ITEM_NO_CLOSE_WITH_MIDDLE_MOUSE_BUTTON 472 | #: Don't call PushID(tab->ID)/PopID() on BeginTabItem()/EndTabItem() 473 | TAB_ITEM_NO_PUSH_ID = core.TAB_ITEM_NO_PUSH_ID 474 | #: Disable tooltip for the given tab 475 | TAB_ITEM_NO_TOOLTIP = core.TAB_ITEM_NO_TOOLTIP 476 | #: Disable reordering this tab or having another tab cross over this tab 477 | TAB_ITEM_NO_REORDER = core.TAB_ITEM_NO_REORDER 478 | #: Enforce the tab position to the left of the tab bar (after the tab list popup button) 479 | TAB_ITEM_LEADING = core.TAB_ITEM_LEADING 480 | #: Enforce the tab position to the right of the tab bar (before the scrolling buttons) 481 | TAB_ITEM_TRAILING = core.TAB_ITEM_TRAILING 482 | 483 | 484 | # === Table Flags === 485 | #: # Features 486 | #: None 487 | TABLE_NONE = core.TABLE_NONE 488 | #: Enable resizing columns. 489 | TABLE_RESIZABLE = core.TABLE_RESIZABLE 490 | #: Enable reordering columns in header row (need calling TableSetupColumn() + TableHeadersRow() to display headers) 491 | TABLE_REORDERABLE = core.TABLE_REORDERABLE 492 | #: Enable hiding/disabling columns in context menu. 493 | TABLE_HIDEABLE = core.TABLE_HIDEABLE 494 | #: Enable sorting. Call TableGetSortSpecs() to obtain sort specs. Also see ImGuiTableFlags_SortMulti and ImGuiTableFlags_SortTristate. 495 | TABLE_SORTABLE = core.TABLE_SORTABLE 496 | #: Disable persisting columns order, width and sort settings in the .ini file. 497 | TABLE_NO_SAVED_SETTINGS = core.TABLE_NO_SAVED_SETTINGS 498 | #: Right-click on columns body/contents will display table context menu. By default it is available in TableHeadersRow(). 499 | TABLE_CONTEXT_MENU_IN_BODY = core.TABLE_CONTEXT_MENU_IN_BODY 500 | #: # Decorations 501 | #: Set each RowBg color with ImGuiCol_TableRowBg or ImGuiCol_TableRowBgAlt (equivalent of calling TableSetBgColor with ImGuiTableBgFlags_RowBg0 on each row manually) 502 | TABLE_ROW_BACKGROUND = core.TABLE_ROW_BACKGROUND 503 | #: Draw horizontal borders between rows. 504 | TABLE_BORDERS_INNER_HORIZONTAL = core.TABLE_BORDERS_INNER_HORIZONTAL 505 | #: Draw horizontal borders at the top and bottom. 506 | TABLE_BORDERS_OUTER_HORIZONTAL = core.TABLE_BORDERS_OUTER_HORIZONTAL 507 | #: Draw vertical borders between columns. 508 | TABLE_BORDERS_INNER_VERTICAL = core.TABLE_BORDERS_INNER_VERTICAL 509 | #: Draw vertical borders on the left and right sides. 510 | TABLE_BORDERS_OUTER_VERTICAL = core.TABLE_BORDERS_OUTER_VERTICAL 511 | #: Draw horizontal borders. 512 | TABLE_BORDERS_HORIZONTAL = core.TABLE_BORDERS_HORIZONTAL 513 | #: Draw vertical borders. 514 | TABLE_BORDERS_VERTICAL = core.TABLE_BORDERS_VERTICAL 515 | #: Draw inner borders. 516 | TABLE_BORDERS_INNER = core.TABLE_BORDERS_INNER 517 | #: Draw outer borders. 518 | TABLE_BORDERS_OUTER = core.TABLE_BORDERS_OUTER 519 | #: Draw all borders. 520 | TABLE_BORDERS = core.TABLE_BORDERS 521 | #: [ALPHA] Disable vertical borders in columns Body (borders will always appears in Headers). -> May move to style 522 | TABLE_NO_BORDERS_IN_BODY = core.TABLE_NO_BORDERS_IN_BODY 523 | #: [ALPHA] Disable vertical borders in columns Body until hovered for resize (borders will always appears in Headers). -> May move to style 524 | TABLE_NO_BORDERS_IN_BODY_UTIL_RESIZE = core.TABLE_NO_BORDERS_IN_BODY_UTIL_RESIZE 525 | #: # Sizing Policy (read above for defaults) 526 | #: Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching contents width. 527 | TABLE_SIZING_FIXED_FIT = core.TABLE_SIZING_FIXED_FIT 528 | #: Columns default to _WidthFixed or _WidthAuto (if resizable or not resizable), matching the maximum contents width of all columns. Implicitly enable ImGuiTableFlags_NoKeepColumnsVisible. 529 | TABLE_SIZING_FIXED_SAME = core.TABLE_SIZING_FIXED_SAME 530 | #: Columns default to _WidthStretch with default weights proportional to each columns contents widths. 531 | TABLE_SIZING_STRETCH_PROP = core.TABLE_SIZING_STRETCH_PROP 532 | #: Columns default to _WidthStretch with default weights all equal, unless overriden by TableSetupColumn(). 533 | TABLE_SIZING_STRETCH_SAME = core.TABLE_SIZING_STRETCH_SAME 534 | #: # Sizing Extra Options 535 | #: Make outer width auto-fit to columns, overriding outer_size.x value. Only available when ScrollX/ScrollY are disabled and Stretch columns are not used. 536 | TABLE_NO_HOST_EXTEND_X = core.TABLE_NO_HOST_EXTEND_X 537 | #: Make outer height stop exactly at outer_size.y (prevent auto-extending table past the limit). Only available when ScrollX/ScrollY are disabled. Data below the limit will be clipped and not visible. 538 | TABLE_NO_HOST_EXTEND_Y = core.TABLE_NO_HOST_EXTEND_Y 539 | #: Disable keeping column always minimally visible when ScrollX is off and table gets too small. Not recommended if columns are resizable. 540 | TABLE_NO_KEEP_COLUMNS_VISIBLE = core.TABLE_NO_KEEP_COLUMNS_VISIBLE 541 | #: Disable distributing remainder width to stretched columns (width allocation on a 100-wide table with 3 columns: Without this flag: 33,33,34. With this flag: 33,33,33). With larger number of columns, resizing will appear to be less smooth. 542 | TABLE_PRECISE_WIDTHS = core.TABLE_PRECISE_WIDTHS 543 | #: # Clipping 544 | #: Disable clipping rectangle for every individual columns (reduce draw command count, items will be able to overflow into other columns). Generally incompatible with TableSetupScrollFreeze(). 545 | TABLE_NO_CLIP = core.TABLE_NO_CLIP 546 | #: # Padding 547 | #: Default if BordersOuterV is on. Enable outer-most padding. Generally desirable if you have headers. 548 | TABLE_PAD_OUTER_X = core.TABLE_PAD_OUTER_X 549 | #: Default if BordersOuterV is off. Disable outer-most padding. 550 | TABLE_NO_PAD_OUTER_X = core.TABLE_NO_PAD_OUTER_X 551 | #: Disable inner padding between columns (double inner padding if BordersOuterV is on, single inner padding if BordersOuterV is off). 552 | TABLE_NO_PAD_INNER_X = core.TABLE_NO_PAD_INNER_X 553 | #: # Scrolling 554 | #: Enable horizontal scrolling. Require 'outer_size' parameter of BeginTable() to specify the container size. Changes default sizing policy. Because this create a child window, ScrollY is currently generally recommended when using ScrollX. 555 | TABLE_SCROLL_X = core.TABLE_SCROLL_X 556 | #: Enable vertical scrolling. Require 'outer_size' parameter of BeginTable() to specify the container size. 557 | TABLE_SCROLL_Y = core.TABLE_SCROLL_Y 558 | #: # Sorting 559 | #: Hold shift when clicking headers to sort on multiple column. TableGetSortSpecs() may return specs where (SpecsCount > 1). 560 | TABLE_SORT_MULTI = core.TABLE_SORT_MULTI 561 | #: Allow no sorting, disable default sorting. TableGetSortSpecs() may return specs where (SpecsCount == 0). 562 | TABLE_SORT_TRISTATE = core.TABLE_SORT_TRISTATE 563 | 564 | # === Table Column Flags === 565 | #: # Input configuration flags 566 | #: None 567 | TABLE_COLUMN_NONE = core.TABLE_COLUMN_NONE 568 | #: Default as a hidden/disabled column. 569 | TABLE_COLUMN_DEFAULT_HIDE = core.TABLE_COLUMN_DEFAULT_HIDE 570 | #: Default as a sorting column. 571 | TABLE_COLUMN_DEFAULT_SORT = core.TABLE_COLUMN_DEFAULT_SORT 572 | #: Column will stretch. Preferable with horizontal scrolling disabled (default if table sizing policy is _SizingStretchSame or _SizingStretchProp). 573 | TABLE_COLUMN_WIDTH_STRETCH = core.TABLE_COLUMN_WIDTH_STRETCH 574 | #: Column will not stretch. Preferable with horizontal scrolling enabled (default if table sizing policy is _SizingFixedFit and table is resizable). 575 | TABLE_COLUMN_WIDTH_FIXED = core.TABLE_COLUMN_WIDTH_FIXED 576 | #: Disable manual resizing. 577 | TABLE_COLUMN_NO_RESIZE = core.TABLE_COLUMN_NO_RESIZE 578 | #: Disable manual reordering this column, this will also prevent other columns from crossing over this column. 579 | TABLE_COLUMN_NO_REORDER = core.TABLE_COLUMN_NO_REORDER 580 | #: Disable ability to hide/disable this column. 581 | TABLE_COLUMN_NO_HIDE = core.TABLE_COLUMN_NO_HIDE 582 | #: Disable clipping for this column (all NoClip columns will render in a same draw command). 583 | TABLE_COLUMN_NO_CLIP = core.TABLE_COLUMN_NO_CLIP 584 | #: Disable ability to sort on this field (even if ImGuiTableFlags_Sortable is set on the table). 585 | TABLE_COLUMN_NO_SORT = core.TABLE_COLUMN_NO_SORT 586 | #: Disable ability to sort in the ascending direction. 587 | TABLE_COLUMN_NO_SORT_ASCENDING = core.TABLE_COLUMN_NO_SORT_ASCENDING 588 | #: Disable ability to sort in the descending direction. 589 | TABLE_COLUMN_NO_SORT_DESCENDING = core.TABLE_COLUMN_NO_SORT_DESCENDING 590 | #: Disable header text width contribution to automatic column width. 591 | TABLE_COLUMN_NO_HEADER_WIDTH = core.TABLE_COLUMN_NO_HEADER_WIDTH 592 | #: Make the initial sort direction Ascending when first sorting on this column (default). 593 | TABLE_COLUMN_PREFER_SORT_ASCENDING = core.TABLE_COLUMN_PREFER_SORT_ASCENDING 594 | #: Make the initial sort direction Descending when first sorting on this column. 595 | TABLE_COLUMN_PREFER_SORT_DESCENDING = core.TABLE_COLUMN_PREFER_SORT_DESCENDING 596 | #: Use current Indent value when entering cell (default for column 0). 597 | TABLE_COLUMN_INDENT_ENABLE = core.TABLE_COLUMN_INDENT_ENABLE 598 | #: Ignore current Indent value when entering cell (default for columns > 0). Indentation changes _within_ the cell will still be honored. 599 | TABLE_COLUMN_INDENT_DISABLE = core.TABLE_COLUMN_INDENT_DISABLE 600 | #: # Output status flags, read-only via TableGetColumnFlags() 601 | #: Status: is enabled == not hidden by user/api (referred to as "Hide" in _DefaultHide and _NoHide) flags. 602 | TABLE_COLUMN_IS_ENABLED = core.TABLE_COLUMN_IS_ENABLED 603 | #: Status: is visible == is enabled AND not clipped by scrolling. 604 | TABLE_COLUMN_IS_VISIBLE = core.TABLE_COLUMN_IS_VISIBLE 605 | #: Status: is currently part of the sort specs 606 | TABLE_COLUMN_IS_SORTED = core.TABLE_COLUMN_IS_SORTED 607 | #: Status: is hovered by mouse 608 | TABLE_COLUMN_IS_HOVERED = core.TABLE_COLUMN_IS_HOVERED 609 | 610 | # === Table Row Flags === 611 | #: None 612 | TABLE_ROW_NONE = core.TABLE_ROW_NONE 613 | #: Identify header row (set default background color + width of its contents accounted different for auto column width) 614 | TABLE_ROW_HEADERS = core.TABLE_ROW_HEADERS 615 | 616 | # === Table Background Target === 617 | #: None 618 | TABLE_BACKGROUND_TARGET_NONE = core.TABLE_BACKGROUND_TARGET_NONE 619 | #: Set row background color 0 (generally used for background, automatically set when ImGuiTableFlags_RowBg is used) 620 | TABLE_BACKGROUND_TARGET_ROW_BG0 = core.TABLE_BACKGROUND_TARGET_ROW_BG0 621 | #: Set row background color 1 (generally used for selection marking) 622 | TABLE_BACKGROUND_TARGET_ROW_BG1 = core.TABLE_BACKGROUND_TARGET_ROW_BG1 623 | #: Set cell background color (top-most color) 624 | TABLE_BACKGROUND_TARGET_CELL_BG = core.TABLE_BACKGROUND_TARGET_CELL_BG 625 | 626 | # === Focus flag constants (redefines for autodoc) 627 | FOCUS_NONE = core.FOCUS_NONE 628 | #: IsWindowFocused(): Return true if any children of the window is focused 629 | FOCUS_CHILD_WINDOWS = core.FOCUS_CHILD_WINDOWS 630 | #: IsWindowFocused(): Test from root window (top most parent of the current hierarchy) 631 | FOCUS_ROOT_WINDOW = core.FOCUS_ROOT_WINDOW 632 | #: IsWindowFocused(): Return true if any window is focused 633 | FOCUS_ANY_WINDOW = core.FOCUS_ANY_WINDOW 634 | #: Shortcut: ``imgui.FOCUS_CHILD_WINDOWS | imgui.FOCUS_ROOT_WINDOW``. 635 | FOCUS_ROOT_AND_CHILD_WINDOWS = core.FOCUS_CHILD_WINDOWS | core.FOCUS_ROOT_WINDOW 636 | 637 | # === Hovered flag constants (redefines for autodoc) 638 | #: Return true if directly over the item/window, not obstructed by 639 | #: another window, not obstructed by an active popup or modal 640 | #: blocking inputs under them. 641 | HOVERED_NONE = core.HOVERED_NONE 642 | #: IsWindowHovered() only: Return true if any children of the window is hovered 643 | HOVERED_CHILD_WINDOWS = core.HOVERED_CHILD_WINDOWS 644 | #: IsWindowHovered() only: Test from root window (top most parent of the current hierarchy) 645 | HOVERED_ROOT_WINDOW = core.HOVERED_ROOT_WINDOW 646 | #: IsWindowHovered() only: Return true if any window is hovered 647 | HOVERED_ANY_WINDOW = core.HOVERED_ANY_WINDOW 648 | #: Return true even if a popup window is normally blocking access to this item/window 649 | HOVERED_ALLOW_WHEN_BLOCKED_BY_POPUP = core.HOVERED_ALLOW_WHEN_BLOCKED_BY_POPUP 650 | #: Return true even if an active item is blocking access to this item/window. Useful for Drag and Drop patterns. 651 | HOVERED_ALLOW_WHEN_BLOCKED_BY_ACTIVE_ITEM = core.HOVERED_ALLOW_WHEN_BLOCKED_BY_ACTIVE_ITEM 652 | #: Return true even if the position is overlapped by another window 653 | HOVERED_ALLOW_WHEN_OVERLAPPED = core.HOVERED_ALLOW_WHEN_OVERLAPPED 654 | HOVERED_ALLOW_WHEN_DISABLED = core.HOVERED_ALLOW_WHEN_DISABLED 655 | #: Shortcut: ``imgui.HOVERED_ALLOW_WHEN_BLOCKED_BY_POPUP | imgui.HOVERED_ALLOW_WHEN_BLOCKED_BY_ACTIVE_ITEM | imgui.HOVERED_ALLOW_WHEN_OVERLAPPED``. 656 | HOVERED_RECT_ONLY = core.HOVERED_ALLOW_WHEN_BLOCKED_BY_POPUP | core.HOVERED_ALLOW_WHEN_BLOCKED_BY_ACTIVE_ITEM | core.HOVERED_ALLOW_WHEN_OVERLAPPED 657 | #: Shortcut: ``imgui.HOVERED_ROOT_WINDOW | imgui.HOVERED_CHILD_WINDOWS``. 658 | HOVERED_ROOT_AND_CHILD_WINDOWS = core.HOVERED_ROOT_WINDOW | core.HOVERED_CHILD_WINDOWS 659 | 660 | # === Flags for imgui.dockspace(), shared/inherited by child nodes. (redefines for autodoc) 661 | #: (Some flags can be applied to individual nodes directly) 662 | DOCKNODE_NONE = core.DOCKNODE_NONE 663 | #: Shared # Don't display the dockspace node but keep it alive. Windows docked into this dockspace node won't be undocked. 664 | DOCKNODE_KEEPALIVE_ONLY = core.DOCKNODE_KEEPALIVE_ONLY 665 | #: Shared # Disable docking inside the Central Node, which will be always kept empty. 666 | DOCKNODE_NO_DOCKING_IN_CENTRAL_NODE = core.DOCKNODE_NO_DOCKING_IN_CENTRAL_NODE 667 | #: Shared # Enable passthru dockspace: 1) dockspace() will render a COLOR_WINDOW_BACKGROUND background covering everything excepted the Central Node when empty. Meaning the host window should probably use set_next_window_bg_alpha(0.0f) prior to begin() when using this. 2) When Central Node is empty: let inputs pass-through + won't display a DockingEmptyBg background. See demo for details. 668 | DOCKNODE_PASSTHRU_CENTRAL_NODE = core.DOCKNODE_PASSTHRU_CENTRAL_NODE 669 | #: Shared/Local # Disable splitting the node into smaller nodes. Useful e.g. when embedding dockspaces into a main root one (the root one may have splitting disabled to reduce confusion). Note: when turned off, existing splits will be preserved. 670 | DOCKNODE_NO_SPLIT = core.DOCKNODE_NO_SPLIT 671 | #: Shared/Local # Disable resizing node using the splitter/separators. Useful with programmatically setup dockspaces. 672 | DOCKNODE_NO_RESIZE = core.DOCKNODE_NO_RESIZE 673 | #: Shared/Local # Tab bar will automatically hide when there is a single window in the dock node. 674 | DOCKNODE_AUTO_HIDE_TABBAR = core.DOCKNODE_AUTO_HIDE_TABBAR 675 | 676 | # === Drag Drop flag constants (redefines for autodoc) 677 | DRAG_DROP_NONE = core.DRAG_DROP_NONE 678 | #: By default, a successful call to BeginDragDropSource opens a tooltip 679 | #: so you can display a preview or description of the source contents. 680 | #: This flag disable this behavior. 681 | DRAG_DROP_SOURCE_NO_PREVIEW_TOOLTIP = core.DRAG_DROP_SOURCE_NO_PREVIEW_TOOLTIP 682 | #: By default, when dragging we clear data so that IsItemHovered() will 683 | #: return true, to avoid subsequent user code submitting tooltips. This 684 | #: flag disable this behavior so you can still call IsItemHovered() on 685 | #: the source item. 686 | DRAG_DROP_SOURCE_NO_DISABLE_HOVER = core.DRAG_DROP_SOURCE_NO_DISABLE_HOVER 687 | #: Disable the behavior that allows to open tree nodes and collapsing 688 | #: header by holding over them while dragging a source item. 689 | DRAG_DROP_SOURCE_NO_HOLD_TO_OPEN_OTHERS = core.DRAG_DROP_SOURCE_NO_HOLD_TO_OPEN_OTHERS 690 | #: Allow items such as Text(), Image() that have no unique identifier to 691 | #: be used as drag source, by manufacturing a temporary identifier based 692 | #: on their window-relative position. This is extremely unusual within the 693 | #: dear imgui ecosystem and so we made it explicit. 694 | DRAG_DROP_SOURCE_ALLOW_NULL_ID = core.DRAG_DROP_SOURCE_ALLOW_NULL_ID 695 | #: External source (from outside of imgui), won't attempt to read current 696 | #: item/window info. Will always return true. Only one Extern source can 697 | #: be active simultaneously. 698 | DRAG_DROP_SOURCE_EXTERN = core.DRAG_DROP_SOURCE_EXTERN 699 | #: Automatically expire the payload if the source cease to be submitted 700 | #: (otherwise payloads are persisting while being dragged) 701 | DRAG_DROP_SOURCE_AUTO_EXPIRE_PAYLOAD = core.DRAG_DROP_SOURCE_AUTO_EXPIRE_PAYLOAD 702 | 703 | # === Accept Drag Drop Payload flag constants (redefines for autodoc) 704 | #: AcceptDragDropPayload() will returns true even before the mouse button 705 | #: is released. You can then call IsDelivery() to test if the payload 706 | #: needs to be delivered. 707 | DRAG_DROP_ACCEPT_BEFORE_DELIVERY = core.DRAG_DROP_ACCEPT_BEFORE_DELIVERY 708 | #: Do not draw the default highlight rectangle when hovering over target. 709 | DRAG_DROP_ACCEPT_NO_DRAW_DEFAULT_RECT = core.DRAG_DROP_ACCEPT_NO_DRAW_DEFAULT_RECT 710 | DRAG_DROP_ACCEPT_NO_PREVIEW_TOOLTIP = core.DRAG_DROP_ACCEPT_NO_PREVIEW_TOOLTIP 711 | #: For peeking ahead and inspecting the payload before delivery. 712 | DRAG_DROP_ACCEPT_PEEK_ONLY = core.DRAG_DROP_ACCEPT_PEEK_ONLY 713 | 714 | # === Cardinal Direction 715 | #: Direction None 716 | DIRECTION_NONE = core.DIRECTION_NONE 717 | #: Direction Left 718 | DIRECTION_LEFT = core.DIRECTION_LEFT 719 | #: Direction Right 720 | DIRECTION_RIGHT = core.DIRECTION_RIGHT 721 | #: Direction Up 722 | DIRECTION_UP = core.DIRECTION_UP 723 | #: Direction Down 724 | DIRECTION_DOWN = core.DIRECTION_DOWN 725 | 726 | # === Sorting direction 727 | SORT_DIRECTION_NONE = core.SORT_DIRECTION_NONE 728 | #: Ascending = 0->9, A->Z etc. 729 | SORT_DIRECTION_ASCENDING = core.SORT_DIRECTION_ASCENDING 730 | #: Descending = 9->0, Z->A etc. 731 | SORT_DIRECTION_DESCENDING = core.SORT_DIRECTION_DESCENDING 732 | 733 | # === Mouse cursor flag constants (redefines for autodoc) 734 | MOUSE_CURSOR_NONE = core.MOUSE_CURSOR_NONE 735 | MOUSE_CURSOR_ARROW = core.MOUSE_CURSOR_ARROW 736 | #: When hovering over InputText, etc. 737 | MOUSE_CURSOR_TEXT_INPUT = core.MOUSE_CURSOR_TEXT_INPUT 738 | #: Unused 739 | MOUSE_CURSOR_RESIZE_ALL = core.MOUSE_CURSOR_RESIZE_ALL 740 | #: When hovering over an horizontal border 741 | MOUSE_CURSOR_RESIZE_NS = core.MOUSE_CURSOR_RESIZE_NS 742 | #: When hovering over a vertical border or a column 743 | MOUSE_CURSOR_RESIZE_EW = core.MOUSE_CURSOR_RESIZE_EW 744 | #: When hovering over the bottom-left corner of a window 745 | MOUSE_CURSOR_RESIZE_NESW = core.MOUSE_CURSOR_RESIZE_NESW 746 | #: When hovering over the bottom-right corner of a window 747 | MOUSE_CURSOR_RESIZE_NWSE = core.MOUSE_CURSOR_RESIZE_NWSE 748 | #: (Unused by imgui functions. Use for e.g. hyperlinks) 749 | MOUSE_CURSOR_HAND = core.MOUSE_CURSOR_HAND 750 | MOUSE_CURSOR_NOT_ALLOWED = core.MOUSE_CURSOR_NOT_ALLOWED 751 | 752 | # === Text input flag constants (redefines for autodoc) 753 | INPUT_TEXT_NONE = core.INPUT_TEXT_NONE 754 | #: Allow ``0123456789.+-*/`` 755 | INPUT_TEXT_CHARS_DECIMAL = core.INPUT_TEXT_CHARS_DECIMAL 756 | #: Allow ``0123456789ABCDEFabcdef`` 757 | INPUT_TEXT_CHARS_HEXADECIMAL = core.INPUT_TEXT_CHARS_HEXADECIMAL 758 | #: Turn a..z into A..Z 759 | INPUT_TEXT_CHARS_UPPERCASE = core.INPUT_TEXT_CHARS_UPPERCASE 760 | #: Filter out spaces, tabs 761 | INPUT_TEXT_CHARS_NO_BLANK = core.INPUT_TEXT_CHARS_NO_BLANK 762 | #: Select entire text when first taking mouse focus 763 | INPUT_TEXT_AUTO_SELECT_ALL = core.INPUT_TEXT_AUTO_SELECT_ALL 764 | #: Return 'true' when Enter is pressed (as opposed to when the 765 | #: value was modified) 766 | INPUT_TEXT_ENTER_RETURNS_TRUE = core.INPUT_TEXT_ENTER_RETURNS_TRUE 767 | #: Call user function on pressing TAB (for completion handling) 768 | INPUT_TEXT_CALLBACK_COMPLETION = core.INPUT_TEXT_CALLBACK_COMPLETION 769 | #: Call user function on pressing Up/Down arrows (for history handling) 770 | INPUT_TEXT_CALLBACK_HISTORY = core.INPUT_TEXT_CALLBACK_HISTORY 771 | #: Call user function every time. User code may query cursor position, 772 | #: modify text buffer. 773 | INPUT_TEXT_CALLBACK_ALWAYS = core.INPUT_TEXT_CALLBACK_ALWAYS 774 | #: Call user function to filter character. Modify data->EventChar to 775 | #: replace/filter input, or return 1 to discard character. 776 | INPUT_TEXT_CALLBACK_CHAR_FILTER = core.INPUT_TEXT_CALLBACK_CHAR_FILTER 777 | #: Pressing TAB input a '\t' character into the text field 778 | INPUT_TEXT_ALLOW_TAB_INPUT = core.INPUT_TEXT_ALLOW_TAB_INPUT 779 | #: In multi-line mode, allow exiting edition by pressing Enter. 780 | #: Ctrl+Enter to add new line (by default adds new lines with Enter). 781 | INPUT_TEXT_CTRL_ENTER_FOR_NEW_LINE = core.INPUT_TEXT_CTRL_ENTER_FOR_NEW_LINE 782 | #: Disable following the cursor horizontally 783 | INPUT_TEXT_NO_HORIZONTAL_SCROLL = core.INPUT_TEXT_NO_HORIZONTAL_SCROLL 784 | #: Overwrite mode 785 | INPUT_TEXT_ALWAYS_OVERWRITE = core.INPUT_TEXT_ALWAYS_OVERWRITE 786 | #: OBSOLETED in 1.82 (from Mars 2021) 787 | INPUT_TEXT_ALWAYS_INSERT_MODE = core.INPUT_TEXT_ALWAYS_INSERT_MODE 788 | #: Read-only mode 789 | INPUT_TEXT_READ_ONLY = core.INPUT_TEXT_READ_ONLY 790 | #: Password mode, display all characters as '*' 791 | INPUT_TEXT_PASSWORD = core.INPUT_TEXT_PASSWORD 792 | #: Disable undo/redo. Note that input text owns the text data while 793 | #: active, if you want to provide your own undo/redo stack you need 794 | #: e.g. to call clear_active_id(). 795 | INPUT_TEXT_NO_UNDO_REDO = core.INPUT_TEXT_NO_UNDO_REDO 796 | INPUT_TEXT_CHARS_SCIENTIFIC = core.INPUT_TEXT_CHARS_SCIENTIFIC 797 | INPUT_TEXT_CALLBACK_RESIZE = core.INPUT_TEXT_CALLBACK_RESIZE 798 | INPUT_TEXT_CALLBACK_EDIT = core.INPUT_TEXT_CALLBACK_EDIT 799 | 800 | # === Draw Corner Flags (redefines for autodoc) 801 | DRAW_CORNER_NONE = core.DRAW_CORNER_NONE 802 | DRAW_CORNER_TOP_LEFT = core.DRAW_CORNER_TOP_LEFT 803 | DRAW_CORNER_TOP_RIGHT = core.DRAW_CORNER_TOP_RIGHT 804 | DRAW_CORNER_BOTTOM_LEFT = core.DRAW_CORNER_BOTTOM_LEFT 805 | DRAW_CORNER_BOTTOM_RIGHT = core.DRAW_CORNER_BOTTOM_RIGHT 806 | DRAW_CORNER_TOP = core.DRAW_CORNER_TOP 807 | DRAW_CORNER_BOTTOM = core.DRAW_CORNER_BOTTOM 808 | DRAW_CORNER_LEFT = core.DRAW_CORNER_LEFT 809 | DRAW_CORNER_RIGHT = core.DRAW_CORNER_RIGHT 810 | DRAW_CORNER_ALL = core.DRAW_CORNER_ALL 811 | 812 | # === Draw Flags (redifines for autodoc) 813 | #: None 814 | DRAW_NONE = core.DRAW_NONE 815 | #: path_stroke(), add_polyline(): specify that shape should be closed (Important: this is always == 1 for legacy reason) 816 | DRAW_CLOSED = core.DRAW_CLOSED 817 | #: add_rect(), add_rect_filled(), path_rect(): enable rounding top-left corner only (when rounding > 0.0f, we default to all corners). Was 0x01. 818 | DRAW_ROUND_CORNERS_TOP_LEFT = core.DRAW_ROUND_CORNERS_TOP_LEFT 819 | #: add_rect(), add_rect_filled(), path_rect(): enable rounding top-right corner only (when rounding > 0.0f, we default to all corners). Was 0x02. 820 | DRAW_ROUND_CORNERS_TOP_RIGHT = core.DRAW_ROUND_CORNERS_TOP_RIGHT 821 | #: add_rect(), add_rect_filled(), path_rect(): enable rounding bottom-left corner only (when rounding > 0.0f, we default to all corners). Was 0x04. 822 | DRAW_ROUND_CORNERS_BOTTOM_LEFT = core.DRAW_ROUND_CORNERS_BOTTOM_LEFT 823 | #: add_rect(), add_rect_filled(), path_rect(): enable rounding bottom-right corner only (when rounding > 0.0f, we default to all corners). Wax 0x08. 824 | DRAW_ROUND_CORNERS_BOTTOM_RIGHT = core.DRAW_ROUND_CORNERS_BOTTOM_RIGHT 825 | #: add_rect(), add_rect_filled(), path_rect(): disable rounding on all corners (when rounding > 0.0f). This is NOT zero, NOT an implicit flag! 826 | DRAW_ROUND_CORNERS_NONE = core.DRAW_ROUND_CORNERS_NONE 827 | #: DRAW_ROUND_CORNERS_TOP_LEFT | DRAW_ROUND_CORNERS_TOP_RIGHT 828 | DRAW_ROUND_CORNERS_TOP = core.DRAW_ROUND_CORNERS_TOP 829 | #: DRAW_ROUND_CORNERS_BOTTOM_LEFT | DRAW_ROUND_CORNERS_BOTTOM_RIGHT 830 | DRAW_ROUND_CORNERS_BOTTOM = core.DRAW_ROUND_CORNERS_BOTTOM 831 | #: DRAW_ROUND_CORNERS_BOTTOM_LEFT | DRAW_ROUND_CORNERS_TOP_LEFT 832 | DRAW_ROUND_CORNERS_LEFT = core.DRAW_ROUND_CORNERS_LEFT 833 | #: DRAW_ROUND_CORNERS_BOTTOM_RIGHT | DRAW_ROUND_CORNERS_TOP_RIGHT 834 | DRAW_ROUND_CORNERS_RIGHT = core.DRAW_ROUND_CORNERS_RIGHT 835 | #: DRAW_ROUND_CORNERS_TOP_LEFT | DRAW_ROUND_CORNERS_TOP_RIGHT | DRAW_ROUND_CORNERS_BOTTOM_LEFT | DRAW_ROUND_CORNERS_BOTTOM_RIGHT 836 | DRAW_ROUND_CORNERS_ALL = core.DRAW_ROUND_CORNERS_ALL 837 | 838 | # === Draw List Flags (redefines for autodoc) 839 | DRAW_LIST_NONE = core.DRAW_LIST_NONE 840 | DRAW_LIST_ANTI_ALIASED_LINES = core.DRAW_LIST_ANTI_ALIASED_LINES 841 | DRAW_LIST_ANTI_ALIASED_LINES_USE_TEX = core.DRAW_LIST_ANTI_ALIASED_LINES_USE_TEX 842 | DRAW_LIST_ANTI_ALIASED_FILL = core.DRAW_LIST_ANTI_ALIASED_FILL 843 | DRAW_LIST_ALLOW_VTX_OFFSET = core.DRAW_LIST_ALLOW_VTX_OFFSET 844 | 845 | # === Font Atlas Flags (redefines for autodoc) 846 | FONT_ATLAS_NONE = core.FONT_ATLAS_NONE 847 | FONT_ATLAS_NO_POWER_OF_TWO_HEIGHT = core.FONT_ATLAS_NO_POWER_OF_TWO_HEIGHT 848 | FONT_ATLAS_NO_MOUSE_CURSOR = core.FONT_ATLAS_NO_MOUSE_CURSOR 849 | FONT_ATLAS_NO_BAKED_LINES = core.FONT_ATLAS_NO_BAKED_LINES 850 | 851 | # === Config Flags (redefines for autodoc) 852 | CONFIG_NONE = core.CONFIG_NONE 853 | CONFIG_NAV_ENABLE_KEYBOARD = core.CONFIG_NAV_ENABLE_KEYBOARD 854 | CONFIG_NAV_ENABLE_GAMEPAD = core.CONFIG_NAV_ENABLE_GAMEPAD 855 | CONFIG_NAV_ENABLE_SET_MOUSE_POS = core.CONFIG_NAV_ENABLE_SET_MOUSE_POS 856 | CONFIG_NAV_NO_CAPTURE_KEYBOARD = core.CONFIG_NAV_NO_CAPTURE_KEYBOARD 857 | CONFIG_NO_MOUSE = core.CONFIG_NO_MOUSE 858 | CONFIG_NO_MOUSE_CURSOR_CHANGE = core.CONFIG_NO_MOUSE_CURSOR_CHANGE 859 | #: Docking enable flags. 860 | CONFIG_DOCKING_ENABLE = core.CONFIG_DOCKING_ENABLE 861 | #: Viewport enable flags (require both ImGuiBackendFlags_PlatformHasViewports + ImGuiBackendFlags_RendererHasViewports set by the respective backends) 862 | CONFIG_VIEWEPORTS_ENABLE = core.CONFIG_VIEWEPORTS_ENABLE 863 | #: [BETA: Don't use] FIXME-DPI: Reposition and resize imgui windows when the DpiScale of a viewport changed (mostly useful for the main viewport hosting other window). Note that resizing the main window itself is up to your application. 864 | CONFIG_DPI_ENABLE_SCALE_VIEWPORTS = core.CONFIG_DPI_ENABLE_SCALE_VIEWPORTS 865 | #: [BETA: Don't use] FIXME-DPI: Request bitmap-scaled fonts to match DpiScale. This is a very low-quality workaround. The correct way to handle DPI is _currently_ to replace the atlas and/or fonts in the Platform_OnChangedViewport callback, but this is all early work in progress. 866 | CONFIG_DPI_ENABLE_SCALE_FONTS = core.CONFIG_DPI_ENABLE_SCALE_FONTS 867 | CONFIG_IS_RGB = core.CONFIG_IS_RGB 868 | CONFIG_IS_TOUCH_SCREEN = core.CONFIG_IS_TOUCH_SCREEN 869 | 870 | # === Backend Flags (redefines for autodoc) 871 | BACKEND_NONE = core.BACKEND_NONE 872 | BACKEND_HAS_GAMEPAD = core.BACKEND_HAS_GAMEPAD 873 | BACKEND_HAS_MOUSE_CURSORS = core.BACKEND_HAS_MOUSE_CURSORS 874 | BACKEND_HAS_SET_MOUSE_POS = core.BACKEND_HAS_SET_MOUSE_POS 875 | BACKEND_RENDERER_HAS_VTX_OFFSET = core.BACKEND_RENDERER_HAS_VTX_OFFSET 876 | #: Backend Platform supports multiple viewports. 877 | BACKEND_PLATFORM_HAS_VIEWPORTS = core.BACKEND_PLATFORM_HAS_VIEWPORTS 878 | #: Backend Platform supports setting io.MouseHoveredViewport to the viewport directly under the mouse _IGNORING_ viewports with the ImGuiViewportFlags_NoInputs flag and _REGARDLESS_ of whether another viewport is focused and may be capturing the mouse. This information is _NOT EASY_ to provide correctly with most high-level engines! Don't set this without studying _carefully_ how the backends handle ImGuiViewportFlags_NoInputs! 879 | BACKEND_HAS_MOUSE_HOVERED_VIEWPORT = core.BACKEND_HAS_MOUSE_HOVERED_VIEWPORT 880 | #: Backend Renderer supports multiple viewports. 881 | BACKEND_RENDERER_HAS_VIEWPORTS = core.BACKEND_RENDERER_HAS_VIEWPORTS 882 | 883 | # === Slider flag (redefines for autodoc) 884 | SLIDER_FLAGS_NONE 885 | #: Clamp value to min/max bounds when input manually with CTRL+Click. By default CTRL+Click allows going out of bounds. 886 | SLIDER_FLAGS_ALWAYS_CLAMP 887 | #: Make the widget logarithmic (linear otherwise). Consider using ImGuiSliderFlags_NoRoundToFormat with this if using a format-string with small amount of digits. 888 | SLIDER_FLAGS_LOGARITHMIC 889 | #: Disable rounding underlying value to match precision of the display format string (e.g. %.3f values are rounded to those 3 digits) 890 | SLIDER_FLAGS_NO_ROUND_TO_FORMAT 891 | #: Disable CTRL+Click or Enter key allowing to input text directly into the widget 892 | SLIDER_FLAGS_NO_INPUT 893 | 894 | # === Mouse Button (redefines for autodoc) 895 | MOUSE_BUTTON_LEFT = core.MOUSE_BUTTON_LEFT 896 | MOUSE_BUTTON_RIGHT = core.MOUSE_BUTTON_RIGHT 897 | MOUSE_BUTTON_MIDDLE = core.MOUSE_BUTTON_MIDDLE 898 | 899 | # === Viewport Flags (redifines for autodoc) 900 | #: None 901 | VIEWPORT_FLAGS_NONE = core.VIEWPORT_FLAGS_NONE 902 | #: Represent a Platform Window 903 | VIEWPORT_FLAGS_IS_PLATFORM_WINDOW = core.VIEWPORT_FLAGS_IS_PLATFORM_WINDOW 904 | #: Represent a Platform Monitor (unused yet) 905 | VIEWPORT_FLAGS_IS_PLATFORM_MONITOR = core.VIEWPORT_FLAGS_IS_PLATFORM_MONITOR 906 | #: Platform Window: is created/managed by the application (rather than a dear imgui backend) 907 | VIEWPORT_FLAGS_OWNED_BY_APP = core.VIEWPORT_FLAGS_OWNED_BY_APP 908 | #: Platform Window: Disable platform decorations: title bar, borders, etc. (generally set all windows, but if ImGuiConfigFlags_ViewportsDecoration is set we only set this on popups/tooltips) 909 | VIEWPORT_FLAGS_NO_DECORATION = core.VIEWPORT_FLAGS_NO_DECORATION 910 | #: Platform Window: Disable platform task bar icon (generally set on popups/tooltips, or all windows if ImGuiConfigFlags_ViewportsNoTaskBarIcon is set) 911 | VIEWPORT_FLAGS_NO_TASK_BAR_ICON = core.VIEWPORT_FLAGS_NO_TASK_BAR_ICON 912 | #: Platform Window: Don't take focus when created. 913 | VIEWPORT_FLAGS_NO_FOCUS_ON_APPEARING = core.VIEWPORT_FLAGS_NO_FOCUS_ON_APPEARING 914 | #: Platform Window: Don't take focus when clicked on. 915 | VIEWPORT_FLAGS_NO_FOCUS_ON_CLICK = core.VIEWPORT_FLAGS_NO_FOCUS_ON_CLICK 916 | #: Platform Window: Make mouse pass through so we can drag this window while peaking behind it. 917 | VIEWPORT_FLAGS_NO_INPUTS = core.VIEWPORT_FLAGS_NO_INPUTS 918 | #: Platform Window: Renderer doesn't need to clear the framebuffer ahead (because we will fill it entirely). 919 | VIEWPORT_FLAGS_NO_RENDERER_CLEAR = core.VIEWPORT_FLAGS_NO_RENDERER_CLEAR 920 | #: Platform Window: Display on top (for tooltips only). 921 | VIEWPORT_FLAGS_TOP_MOST = core.VIEWPORT_FLAGS_TOP_MOST 922 | #: Platform Window: Window is minimized, can skip render. When minimized we tend to avoid using the viewport pos/size for clipping window or testing if they are contained in the viewport. 923 | VIEWPORT_FLAGS_MINIMIZED = core.VIEWPORT_FLAGS_MINIMIZED 924 | #: Platform Window: Avoid merging this window into another host window. This can only be set via ImGuiWindowClass viewport flags override (because we need to now ahead if we are going to create a viewport in the first place!). 925 | VIEWPORT_FLAGS_NO_AUTO_MERGE = core.VIEWPORT_FLAGS_NO_AUTO_MERGE 926 | #: Main viewport: can host multiple imgui windows (secondary viewports are associated to a single window). 927 | VIEWPORT_FLAGS_CAN_HOST_OTHER_WINDOWS = core.VIEWPORT_FLAGS_CAN_HOST_OTHER_WINDOWS 928 | 929 | def get_io() -> Any: ... 930 | def new_frame() -> Any: ... 931 | def render() -> Any: ... 932 | def get_version() -> Any: ... 933 | def style_colors_classic( dst: Any = None) -> Any: ... 934 | def show_style_editor( style: Any = None) -> Any: ... 935 | def show_font_selector( label: str) -> Any: ... 936 | def get_draw_data() -> Any: ... 937 | def begin_child( label: Any, width: float = 0, height: float = 0, border: bool = False, flags: Any = 0) -> Any: ... 938 | def end_child() -> Any: ... 939 | def get_content_region_available() -> Any: ... 940 | def get_window_content_region_min() -> Any: ... 941 | def get_window_content_region_width() -> Any: ... 942 | def set_window_focus_labeled( label: str) -> Any: ... 943 | def set_window_size_named( label: str, width: float, height: float, condition: int = ONCE) -> Any: ... 944 | def get_scroll_y() -> Any: ... 945 | def get_scroll_max_y() -> Any: ... 946 | def set_scroll_y( scroll_y: float) -> Any: ... 947 | def set_next_window_collapsed( collapsed: bool, condition: int = ALWAYS) -> Any: ... 948 | def set_next_window_focus() -> Any: ... 949 | def get_window_draw_list() -> Any: ... 950 | def get_overlay_draw_list() -> Any: ... 951 | def get_window_dpi_scale() -> Any: ... 952 | def get_window_width() -> Any: ... 953 | def set_next_window_position( x: float, y: float, condition: int = ALWAYS, pivot_x: float = 0, pivot_y: float = 0) -> Any: ... 954 | def set_next_window_size( width: float, height: float, condition: int = ALWAYS) -> Any: ... 955 | def set_next_window_size_constraints( size_min: Any, size_max: Any, callback: Any = None,user_data: Any = None) -> Any: ... 956 | def set_next_window_content_size( width: float, height: float) -> Any: ... 957 | def set_window_position( x: float, y: float, condition: int = ALWAYS) -> Any: ... 958 | def set_window_collapsed( collapsed: bool, condition: int = ALWAYS) -> Any: ... 959 | def is_window_collapsed() -> Any: ... 960 | def tree_node( text: str, flags: int = 0) -> Any: ... 961 | def tree_pop() -> Any: ... 962 | def collapsing_header( text: str,visible: Any = None, flags: int = 0) -> Any: ... 963 | def set_next_item_open( is_open: bool, condition: int = 0) -> Any: ... 964 | def selectable( label: str,selected: Any = False, flags: int = 0,width: int = 0,height: int = 0) -> Any: ... 965 | def listbox( label: str, current: int, items: Any, height_in_items: int = -1) -> Any: ... 966 | def begin_list_box( label: str,width: int = 0,height: int = 0) -> Any: ... 967 | def end_list_box() -> Any: ... 968 | def begin_tooltip() -> Any: ... 969 | def end_tooltip() -> Any: ... 970 | def end_main_menu_bar() -> Any: ... 971 | def end_menu_bar() -> Any: ... 972 | def end_menu() -> Any: ... 973 | def open_popup( label: str, flags: Any = 0) -> Any: ... 974 | def open_popup_on_item_click( label: str = None, popup_flags: Any = 1) -> Any: ... 975 | def begin_popup_modal( title: str,visible: Any = None, flags: Any = 0) -> Any: ... 976 | def begin_popup_context_item( label: str = None, mouse_button: Any = 1) -> Any: ... 977 | def begin_popup_context_window( label: str = None, popup_flags: Any = 1, also_over_items: bool = True) -> Any: ... 978 | def begin_popup_context_void( label: str = None, popup_flags: Any = 1) -> Any: ... 979 | def end_popup() -> Any: ... 980 | def begin_table( label: str, column: int, flags: Any = 0, outer_size_width: float = 0.0, outer_size_height: float = 0.0, inner_width: float = 0.0) -> Any: ... 981 | def end_table() -> Any: ... 982 | def table_next_column() -> Any: ... 983 | def table_setup_column( label: str, flags: Any = 0, init_width_or_weight: float = 0.0, user_id: int = 0) -> Any: ... 984 | def table_setup_scroll_freez( cols: int, rows: int) -> Any: ... 985 | def table_header( label: str) -> Any: ... 986 | def table_get_column_count() -> Any: ... 987 | def table_get_row_index() -> Any: ... 988 | def table_get_column_flags( column_n: int = -1) -> Any: ... 989 | def text( text: str) -> Any: ... 990 | def text_disabled( text: str) -> Any: ... 991 | def label_text( label: str, text: str) -> Any: ... 992 | def bullet() -> Any: ... 993 | def bullet_text( text: str) -> Any: ... 994 | def small_button( label: str) -> Any: ... 995 | def invisible_button( identifier: str, width: float, height: float, flags: Any = 0) -> Any: ... 996 | def image_button(texture_id, width: float, height: float, uv0: Any = (0,0), uv1: Any = (1,1), tint_color: Any = (1,1,1,1), border_color: Any = (0,0,0,0), frame_padding: int = -1,) -> Any: ... 997 | def image(texture_id, width: float, height: float, uv0: Any = (0,0), uv1: Any = (1,1), tint_color: Any = (1,1,1,1), border_color: Any = (0,0,0,0),) -> Any: ... 998 | def checkbox( label: str, state: bool) -> Any: ... 999 | def radio_button( label: str, active: bool) -> Any: ... 1000 | def combo( label: str, current: int, items: Any, height_in_items: int = -1) -> Any: ... 1001 | def color_edit4( label: str, r: float, g: float, b: float, a: float, flags: Any = 0) -> Any: ... 1002 | def drag_float2( label: str, value0: float, value1: float, change_speed: float = 1.0, min_value: float = 0.0, max_value: float = 0.0, format: str = "%.3f", flags: Any = 0,) -> Any: ... 1003 | def drag_float3( label: str, value0: float, value1: float, value2: float, change_speed: float = 1.0, min_value: float = 0.0, max_value: float = 0.0, format: str = "%.3f", flags: Any = 0,) -> Any: ... 1004 | def drag_float4( label: str, value0: float, value1: float, value2: float, value3: float, change_speed: float = 1.0, min_value: float = 0.0, max_value: float = 0.0, format: str = "%.3f", flags: Any = 0,) -> Any: ... 1005 | def drag_float_range2( label: str, current_min: float, current_max: float, speed: float = 1.0, min_value: float = 0.0, max_value: float = 0.0, format: str = "%.3f", format_max: str = None, flags: Any = 0) -> Any: ... 1006 | def drag_int( label: str, value: int, change_speed: float = 1.0, min_value: int = 0, max_value: int = 0, format: str = "%d", flags: Any = 0) -> Any: ... 1007 | def drag_int2( label: str, value0: int, value1: int, change_speed: float = 1.0, min_value: int = 0, max_value: int = 0, format: str = "%d", flags: Any = 0) -> Any: ... 1008 | def drag_int3( label: str, value0: int, value1: int, value2: int, change_speed: float = 1.0, min_value: int = 0, max_value: int = 0, format: str = "%d", flags: Any = 0) -> Any: ... 1009 | def drag_int4( label: str, value0: int, value1: int, value2: int, value3: int, change_speed: float = 1.0, min_value: int = 0, max_value: int = 0, format: str = "%d", flags: Any = 0) -> Any: ... 1010 | def drag_int_range2( label: str, current_min: int, current_max: int, speed: float = 1.0, min_value: int = 0, max_value: int = 0, format: str = "%d", format_max: str = None, flags: Any = 0) -> Any: ... 1011 | def drag_scalar( label: str, data_type: Any, data: Any, change_speed: float, min_value: Any = None, max_value: Any = None, format: str = None, flags: Any = 0) -> Any: ... 1012 | def input_text( label: str, value: str, buffer_length: int, flags: Any = 0, callback: Any = None,user_data: Any = None) -> Any: ... 1013 | def input_text_multiline( label: str, value: str, buffer_length: int, width: float = 0, height: float = 0, flags: Any = 0, callback: Any = None,user_data: Any = None) -> Any: ... 1014 | def input_text_with_hint( label: str, hint: str, value: str, buffer_length: int, flags: Any = 0, callback: Any = None,user_data: Any = None) -> Any: ... 1015 | def input_float( label: str, value: float, step: float = 0.0, step_fast: float = 0.0, format: str = "%.3f", flags: Any = 0) -> Any: ... 1016 | def input_float2( label: str, value0: float, value1: float, format: str = "%.3f", flags: Any = 0) -> Any: ... 1017 | def input_float3( label: str, value0: float, value1: float, value2: float, format: str = "%.3f", flags: Any = 0) -> Any: ... 1018 | def input_float4( label: str, value0: float, value1: float, value2: float, value3: float, format: str = "%.3f", flags: Any = 0) -> Any: ... 1019 | def input_int( label: str, value: int, step: int = 1, step_fast: int = 100, flags: Any = 0) -> Any: ... 1020 | def input_int2( label: str, value0: int, value1: int, flags: Any = 0) -> Any: ... 1021 | def input_int3( label: str, value0: int, value1: int, value2: int, flags: Any = 0) -> Any: ... 1022 | def input_int4( label: str, value0: int, value1: int, value2: int, value3: int, flags: Any = 0) -> Any: ... 1023 | def input_double( label: str, value: float, step: float = 0.0, step_fast: float = 0.0, format: str = "%.6f", flags: Any = 0) -> Any: ... 1024 | def input_scalar( label: str, data_type: Any, data: Any, step: Any = None, step_fast: Any = None, format: str = None, flags: Any = 0) -> Any: ... 1025 | def slider_float( label: str, value: float, min_value: float, max_value: float, format: str = "%.3f", flags: Any = 0,) -> Any: ... 1026 | def slider_float2( label: str, value0: float, value1: float, min_value: float, max_value: float, format: str = "%.3f", flags: Any = 0,) -> Any: ... 1027 | def slider_float3( label: str, value0: float, value1: float, value2: float, min_value: float, max_value: float, format: str = "%.3f", flags: Any = 0,) -> Any: ... 1028 | def slider_float4( label: str, value0: float, value1: float, value2: float, value3: float, min_value: float, max_value: float, format: str = "%.3f", flags: Any = 0,) -> Any: ... 1029 | def slider_angle( label: str, rad_value: float, value_degrees_min: float = -360.0, value_degrees_max: float = 360, format= "%.0f deg", flags: Any = 0) -> Any: ... 1030 | def slider_int( label: str, value: int, min_value: int, max_value: int, format: str = "%.f", flags: Any = 0) -> Any: ... 1031 | def slider_int2( label: str, value0: int, value1: int, min_value: int, max_value: int, format: str = "%.f", flags: Any = 0) -> Any: ... 1032 | def slider_int3( label: str, value0: int, value1: int, value2: int, min_value: int, max_value: int, format: str = "%.f", flags: Any = 0) -> Any: ... 1033 | def slider_int4( label: str, value0: int, value1: int, value2: int, value3: int, min_value: int, max_value: int, format: str = "%.f", flags: Any = 0) -> Any: ... 1034 | def slider_scalar( label: str, data_type: Any, data: Any, min_value: Any, max_value: Any, format: str = None, flags: Any = 0) -> Any: ... 1035 | def v_slider_float( label: str, width: float, height: float, value: float, min_value: float, max_value: float, format: str = "%.f", flags: Any = 0) -> Any: ... 1036 | def v_slider_int( label: str, width: float, height: float, value: int, min_value: int, max_value: int, format: str = "%d", flags: Any = 0) -> Any: ... 1037 | def v_slider_scalar( label: str, width: float, height: float, data_type: Any, data: Any, min_value: Any, max_value: Any, format: str = None, flags: Any = 0) -> Any: ... 1038 | def progress_bar( fraction: float,size: Any = (-FLOAT_MIN,0), overlay: str = "") -> Any: ... 1039 | def set_keyboard_focus_here( offset: int = 0) -> Any: ... 1040 | def is_item_focused() -> Any: ... 1041 | def is_item_clicked( mouse_button: Any = 0) -> Any: ... 1042 | def is_item_edited() -> Any: ... 1043 | def is_item_deactivated() -> Any: ... 1044 | def is_item_toggled_open() -> Any: ... 1045 | def is_any_item_active() -> Any: ... 1046 | def get_item_rect_min() -> Any: ... 1047 | def get_item_rect_size() -> Any: ... 1048 | def get_main_viewport() -> Any: ... 1049 | def is_window_hovered( flags: Any = 0) -> Any: ... 1050 | def is_window_focused( flags: Any = 0) -> Any: ... 1051 | def is_rect_visible( size_width: float, size_height: float) -> Any: ... 1052 | def get_time() -> Any: ... 1053 | def get_foreground_draw_list() -> Any: ... 1054 | def is_key_pressed( key_index: int, repeat: bool = False) -> Any: ... 1055 | def is_mouse_hovering_rect( r_min_x: float, r_min_y: float, r_max_x: float, r_max_y: float, clip: bool = True) -> Any: ... 1056 | def is_mouse_double_clicked( button: int = 0) -> Any: ... 1057 | def is_mouse_released( button: int = 0) -> Any: ... 1058 | def is_mouse_dragging( button: int, lock_threshold: float = -1.0) -> Any: ... 1059 | def get_mouse_pos() -> Any: ... 1060 | def get_mouse_cursor() -> Any: ... 1061 | def capture_mouse_from_app( want_capture_mouse_value: bool = True) -> Any: ... 1062 | def load_ini_settings_from_disk( ini_file_name: str) -> Any: ... 1063 | def save_ini_settings_to_disk( ini_file_name: str) -> Any: ... 1064 | def set_clipboard_text( text: str) -> Any: ... 1065 | def set_scroll_here_x( center_x_ratio: float = 0.5) -> Any: ... 1066 | def set_scroll_from_pos_x( local_x: float, center_x_ratio: float = 0.5) -> Any: ... 1067 | def push_font( font: Any) -> Any: ... 1068 | def color_convert_u32_to_float4( in_: int) -> Any: ... 1069 | def color_convert_rgb_to_hsv( r: float, g: float, b: float) -> Any: ... 1070 | def separator() -> Any: ... 1071 | def new_line() -> Any: ... 1072 | def dummy(width,height) -> Any: ... 1073 | def unindent( width: float = 0.0) -> Any: ... 1074 | def next_column() -> Any: ... 1075 | def get_column_offset( column_index: int = -1) -> Any: ... 1076 | def get_column_width( column_index: int = -1) -> Any: ... 1077 | def get_columns_count() -> Any: ... 1078 | def end_tab_bar() -> Any: ... 1079 | def end_tab_item() -> Any: ... 1080 | def set_tab_item_closed( tab_or_docked_window_label: str) -> Any: ... 1081 | def dockspace( id: Any, size: Any = (0,0), flags: Any = 0) -> Any: ... 1082 | def is_window_docked() -> Any: ... 1083 | def set_drag_drop_payload( type: str, data: Any, condition: int = 0) -> Any: ... 1084 | def begin_drag_drop_target() -> Any: ... 1085 | def end_drag_drop_target() -> Any: ... 1086 | def push_clip_rect( clip_rect_min_x: float, clip_rect_min_y: float, clip_rect_max_x: float, clip_rect_max_y: float, intersect_with_current_clip_rect: bool = False) -> Any: ... 1087 | def pop_clip_rect() -> Any: ... 1088 | def end_group() -> Any: ... 1089 | def get_cursor_pos_x() -> Any: ... 1090 | def set_cursor_pos_y( y: float) -> Any: ... 1091 | def get_cursor_screen_pos() -> Any: ... 1092 | def align_text_to_frame_padding() -> Any: ... 1093 | def get_text_line_height_with_spacing() -> Any: ... 1094 | def get_frame_height_with_spacing() -> Any: ... 1095 | def destroy_context( ctx: Any = None) -> Any: ... 1096 | def set_current_context( ctx: Any) -> Any: ... 1097 | def pop_id() -> Any: ... 1098 | def _ansifeed_text_ansi( text: str) -> Any: ... 1099 | def _py_font( font: Any) -> Any: ... 1100 | def _py_styled( variable: Any,value) -> Any: ... 1101 | def _py_scoped( str_id: str) -> Any: ... 1102 | def _py_vertex_buffer_vertex_uv_offset() -> Any: ... 1103 | def _py_vertex_buffer_vertex_size() -> Any: ... 1104 | def update_platform_windows() -> Any: ... 1105 | def get_style() -> Any: ... 1106 | def end_frame() -> Any: ... 1107 | def show_user_guide() -> Any: ... 1108 | def style_colors_dark( dst: Any = None) -> Any: ... 1109 | def style_colors_light( dst: Any = None) -> Any: ... 1110 | def show_test_window() -> Any: ... 1111 | def show_style_selector( label: str) -> Any: ... 1112 | def begin( label: str,closable: Any = False, flags: Any = 0) -> Any: ... 1113 | def end() -> Any: ... 1114 | def get_content_region_max() -> Any: ... 1115 | def get_content_region_available_width() -> Any: ... 1116 | def get_window_content_region_max() -> Any: ... 1117 | def set_window_focus() -> Any: ... 1118 | def get_scroll_x() -> Any: ... 1119 | def get_scroll_max_x() -> Any: ... 1120 | def set_scroll_x( scroll_x: float) -> Any: ... 1121 | def set_window_font_scale( scale: float) -> Any: ... 1122 | def set_next_window_bg_alpha( alpha: float) -> Any: ... 1123 | def get_window_position() -> Any: ... 1124 | def get_window_size() -> Any: ... 1125 | def get_window_height() -> Any: ... 1126 | def set_next_window_viewport( viewport_id: Any) -> Any: ... 1127 | def set_window_position_labeled( label: str, x: float, y: float, condition: int = ALWAYS) -> Any: ... 1128 | def set_window_collapsed_labeled( label: str, collapsed: bool, condition: int = ALWAYS) -> Any: ... 1129 | def is_window_appearing() -> Any: ... 1130 | def get_tree_node_to_label_spacing() -> Any: ... 1131 | def listbox_footer() -> Any: ... 1132 | def set_tooltip( text: str) -> Any: ... 1133 | def begin_main_menu_bar() -> Any: ... 1134 | def begin_menu_bar() -> Any: ... 1135 | def begin_menu( label: str,enabled: Any = True) -> Any: ... 1136 | def begin_popup( label: str, flags: Any = 0) -> Any: ... 1137 | def is_popup_open( label: str, flags: Any = 0) -> Any: ... 1138 | def close_current_popup() -> Any: ... 1139 | def table_set_column_index( column_n: int) -> Any: ... 1140 | def table_headers_row() -> Any: ... 1141 | def table_get_sort_specs() -> Any: ... 1142 | def table_get_column_index() -> Any: ... 1143 | def table_get_column_name( column_n: int = -1) -> Any: ... 1144 | def text_colored( text: str, r: float, g: float, b: float, a: float = 1.) -> Any: ... 1145 | def text_wrapped( text: str) -> Any: ... 1146 | def text_unformatted( text: str) -> Any: ... 1147 | def button( label: str,width: int = 0,height: int = 0) -> Any: ... 1148 | def arrow_button( label: str, direction: Any = DIRECTION_NONE) -> Any: ... 1149 | def checkbox_flags( label: str, flags: int, flags_value: int) -> Any: ... 1150 | def color_edit3( label: str, r: float, g: float, b: float, flags: Any = 0) -> Any: ... 1151 | def set_item_default_focus() -> Any: ... 1152 | def is_item_active() -> Any: ... 1153 | def is_item_visible() -> Any: ... 1154 | def is_item_activated() -> Any: ... 1155 | def is_item_deactivated_after_edit() -> Any: ... 1156 | def is_any_item_hovered() -> Any: ... 1157 | def is_any_item_focused() -> Any: ... 1158 | def get_item_rect_max() -> Any: ... 1159 | def set_item_allow_overlap() -> Any: ... 1160 | def get_window_viewport() -> Any: ... 1161 | def get_style_color_name( index: int) -> Any: ... 1162 | def get_background_draw_list() -> Any: ... 1163 | def get_key_index( key: int) -> Any: ... 1164 | def is_key_down( key_index: int) -> Any: ... 1165 | def is_mouse_clicked( button: int = 0, repeat: bool = False) -> Any: ... 1166 | def is_mouse_down( button: int = 0) -> Any: ... 1167 | def get_mouse_drag_delta( button: int = 0, lock_threshold: float = -1.0) -> Any: ... 1168 | def reset_mouse_drag_delta( button: int = 0) -> Any: ... 1169 | def set_mouse_cursor( mouse_cursor_type: Any) -> Any: ... 1170 | def get_clipboard_text() -> Any: ... 1171 | def load_ini_settings_from_memory( ini_data: str) -> Any: ... 1172 | def save_ini_settings_to_memory() -> Any: ... 1173 | def set_scroll_here_y( center_y_ratio: float = 0.5) -> Any: ... 1174 | def set_scroll_from_pos_y( local_y: float, center_y_ratio: float = 0.5) -> Any: ... 1175 | def pop_font() -> Any: ... 1176 | def calc_text_size( text: str, hide_text_after_double_hash: bool = False, wrap_width: float = -1.0) -> Any: ... 1177 | def color_convert_float4_to_u32( r: float, g: float, b: float, a: float) -> Any: ... 1178 | def color_convert_hsv_to_rgb( h: float, s: float, v: float) -> Any: ... 1179 | def push_style_var( variable: Any,value) -> Any: ... 1180 | def pop_style_var( count: int = 1) -> Any: ... 1181 | def get_font_size() -> Any: ... 1182 | def get_style_color_vec_4( idx: Any) -> Any: ... 1183 | def get_font_tex_uv_white_pixel() -> Any: ... 1184 | def get_color_u32_idx( idx: Any, alpha_mul: float = 1.0) -> Any: ... 1185 | def get_color_u32_rgba( r: float, g: float, b: float, a: float) -> Any: ... 1186 | def get_color_u32( col: int) -> Any: ... 1187 | def push_item_width( item_width: float) -> Any: ... 1188 | def pop_item_width() -> Any: ... 1189 | def set_next_item_width( item_width: float) -> Any: ... 1190 | def calculate_item_width() -> Any: ... 1191 | def push_text_wrap_pos( wrap_pos_x: float = 0.0) -> Any: ... 1192 | def pop_text_wrap_pos() -> Any: ... 1193 | def push_allow_keyboard_focus( allow_focus: bool) -> Any: ... 1194 | def pop_allow_keyboard_focus() -> Any: ... 1195 | def push_button_repeat( repeat: bool) -> Any: ... 1196 | def pop_button_repeat() -> Any: ... 1197 | def pop_style_color( count: int = 1) -> Any: ... 1198 | def same_line( position: float = 0.0, spacing: float = -1.0) -> Any: ... 1199 | def spacing() -> Any: ... 1200 | def indent( width: float = 0.0) -> Any: ... 1201 | def columns( count: int = 1, identifier: str = None, border: bool = True) -> Any: ... 1202 | def get_column_index() -> Any: ... 1203 | def set_column_offset( column_index: int, offset_x: float) -> Any: ... 1204 | def set_column_width( column_index: int, width: float) -> Any: ... 1205 | def begin_tab_bar( identifier: str, flags: Any = 0) -> Any: ... 1206 | def begin_tab_item( label: str,opened: Any = None, flags: Any = 0) -> Any: ... 1207 | def tab_item_button( label: str, flags: Any = 0) -> Any: ... 1208 | def get_window_dock_id() -> Any: ... 1209 | def begin_drag_drop_source( flags: Any = 0) -> Any: ... 1210 | def end_drag_drop_source() -> Any: ... 1211 | def accept_drag_drop_payload( type: str, flags: Any = 0) -> Any: ... 1212 | def get_drag_drop_payload() -> Any: ... 1213 | def begin_group() -> Any: ... 1214 | def get_cursor_pos() -> Any: ... 1215 | def get_cursor_pos_y() -> Any: ... 1216 | def set_cursor_pos_x( x: float) -> Any: ... 1217 | def get_cursor_start_pos() -> Any: ... 1218 | def get_text_line_height() -> Any: ... 1219 | def get_frame_height() -> Any: ... 1220 | def create_context( shared_font_atlas: Any = None) -> Any: ... 1221 | def get_current_context() -> Any: ... 1222 | def push_id( str_id: str) -> Any: ... 1223 | def get_id( str_id: str) -> Any: ... 1224 | def _ansifeed_text_ansi_colored( text: str, r: float, g: float, b: float, a: float = 1.) -> Any: ... 1225 | def _py_vertex_buffer_vertex_pos_offset() -> Any: ... 1226 | def _py_vertex_buffer_vertex_col_offset() -> Any: ... 1227 | def _py_index_buffer_index_size() -> Any: ... 1228 | def destroy_platform_windows() -> Any: ... 1229 | def find_viewport_by_platform_handle( platform_handle: Any) -> Any: ... 1230 | def find_viewport_by_id( id: Any) -> Any: ... 1231 | 1232 | 1233 | class GlyphRanges(object): 1234 | pass 1235 | 1236 | class GuiStyle(object): 1237 | def alpha(self) -> Any: ... 1238 | def window_padding(self) -> Any: ... 1239 | def window_min_size(self) -> Any: ... 1240 | def window_rounding(self) -> Any: ... 1241 | def window_border_size(self) -> Any: ... 1242 | def child_rounding(self) -> Any: ... 1243 | def child_border_size(self) -> Any: ... 1244 | def popup_rounding(self) -> Any: ... 1245 | def popup_border_size(self) -> Any: ... 1246 | def window_title_align(self) -> Any: ... 1247 | def window_menu_button_position(self) -> Any: ... 1248 | def frame_padding(self) -> Any: ... 1249 | def frame_rounding(self) -> Any: ... 1250 | def frame_border_size(self) -> Any: ... 1251 | def item_spacing(self) -> Any: ... 1252 | def item_inner_spacing(self) -> Any: ... 1253 | def cell_padding(self) -> Any: ... 1254 | def touch_extra_padding(self) -> Any: ... 1255 | def indent_spacing(self) -> Any: ... 1256 | def columns_min_spacing(self) -> Any: ... 1257 | def scrollbar_size(self) -> Any: ... 1258 | def scrollbar_rounding(self) -> Any: ... 1259 | def grab_min_size(self) -> Any: ... 1260 | def grab_rounding(self) -> Any: ... 1261 | def log_slider_deadzone(self) -> Any: ... 1262 | def tab_rounding(self) -> Any: ... 1263 | def tab_border_size(self) -> Any: ... 1264 | def tab_min_width_for_close_button(self) -> Any: ... 1265 | def color_button_position(self) -> Any: ... 1266 | def button_text_align(self) -> Any: ... 1267 | def selectable_text_align(self) -> Any: ... 1268 | def display_window_padding(self) -> Any: ... 1269 | def display_safe_area_padding(self) -> Any: ... 1270 | def mouse_cursor_scale(self) -> Any: ... 1271 | def anti_aliased_lines(self) -> Any: ... 1272 | def anti_aliased_line_use_tex(self) -> Any: ... 1273 | def anti_aliased_fill(self) -> Any: ... 1274 | def curve_tessellation_tolerance(self) -> Any: ... 1275 | def circle_segment_max_error(self) -> Any: ... 1276 | def circle_tessellation_max_error(self) -> Any: ... 1277 | def color(self, variable: Any) -> Any: ... 1278 | def colors(self) -> Any: ... 1279 | def scale_all_sizes(self, scale_factor: float) -> Any: ... 1280 | def create() -> Any: ... 1281 | 1282 | class ImGuiWindowClass(object): 1283 | def _require_pointer(self) -> Any: ... 1284 | def class_id(self) -> Any: ... 1285 | def viewport_flags_override_set(self) -> Any: ... 1286 | def tab_item_flags_override_set(self) -> Any: ... 1287 | def docking_always_tab_bar(self) -> Any: ... 1288 | def imgui_window_class(self) -> Any: ... 1289 | def from_ptr( ptr: Any) -> Any: ... 1290 | def parent_viewport_id(self) -> Any: ... 1291 | def viewport_flags_override_clear(self) -> Any: ... 1292 | def docknode_flags_override_set(self) -> Any: ... 1293 | def docking_allow_unclassed(self) -> Any: ... 1294 | 1295 | class _Colors(object): 1296 | pass 1297 | 1298 | class _DrawCmd(object): 1299 | def texture_id(self) -> Any: ... 1300 | def elem_count(self) -> Any: ... 1301 | def from_ptr( ptr: Any) -> Any: ... 1302 | def clip_rect(self) -> Any: ... 1303 | 1304 | class _DrawData(object): 1305 | def _require_pointer(self) -> Any: ... 1306 | def deindex_all_buffers(self) -> Any: ... 1307 | def valid(self) -> Any: ... 1308 | def total_vtx_count(self) -> Any: ... 1309 | def display_size(self) -> Any: ... 1310 | def total_idx_count(self) -> Any: ... 1311 | def owner_viewport(self) -> Any: ... 1312 | def from_ptr( ptr: Any) -> Any: ... 1313 | def scale_clip_rects(self,width,height) -> Any: ... 1314 | def cmd_count(self) -> Any: ... 1315 | def display_pos(self) -> Any: ... 1316 | def frame_buffer_scale(self) -> Any: ... 1317 | def commands_lists(self) -> Any: ... 1318 | 1319 | class _DrawList(object): 1320 | def cmd_buffer_size(self) -> Any: ... 1321 | def vtx_buffer_size(self) -> Any: ... 1322 | def idx_buffer_size(self) -> Any: ... 1323 | def flags(self) -> Any: ... 1324 | def push_clip_rect(self, clip_rect_min_x: float, clip_rect_min_y: float, clip_rect_max_x: float, clip_rect_max_y: float, intersect_with_current_clip_rect: bool = False) -> Any: ... 1325 | def push_clip_rect_full_screen(self) -> Any: ... 1326 | def push_texture_id(self,texture_id) -> Any: ... 1327 | def get_clip_rect_min(self) -> Any: ... 1328 | def add_line(self, start_x: float, start_y: float, end_x: float, end_y: float, col: int, thickness: float = 1.0,) -> Any: ... 1329 | def add_rect(self, upper_left_x: float, upper_left_y: float, lower_right_x: float, lower_right_y: float, col: int, rounding: float = 0.0, flags: Any = 0, thickness: float = 1.0,) -> Any: ... 1330 | def add_rect_filled(self, upper_left_x: float, upper_left_y: float, lower_right_x: float, lower_right_y: float, col: int, rounding: float = 0.0, flags: Any = 0,) -> Any: ... 1331 | def add_circle(self, centre_x: float, centre_y: float, radius: float, col: int, num_segments: int = 0, thickness: float = 1.0) -> Any: ... 1332 | def add_circle_filled(self, centre_x: float, centre_y: float, radius: float, col: int, num_segments: int = 0) -> Any: ... 1333 | def add_ngon(self, centre_x: float, centre_y: float, radius: float, col: int, num_segments: int, thickness: float = 1.0) -> Any: ... 1334 | def add_ngon_filled(self, centre_x: float, centre_y: float, radius: float, col: int, num_segments: int) -> Any: ... 1335 | def add_text(self, pos_x: float, pos_y: float, col: int, text: str) -> Any: ... 1336 | def add_image(self,texture_id, a: Any, b: Any, uv_a: Any = (0,0), uv_b: Any = (1,1), col: int = 0xffffffff) -> Any: ... 1337 | def add_polyline(self, points: Any, col: int, flags: Any = 0, thickness: float = 1.0) -> Any: ... 1338 | def channels_split(self, channels_count: int) -> Any: ... 1339 | def channels_merge(self) -> Any: ... 1340 | def prim_unreserve(self, idx_count: int, vtx_count: int) -> Any: ... 1341 | def prim_write_vtx(self, pos_x: float, pos_y: float, u: float, v: float, color: int = 0xFFFFFFFF) -> Any: ... 1342 | def prim_vtx(self, pos_x: float, pos_y: float, u: float, v: float, color: int = 0xFFFFFFFF) -> Any: ... 1343 | def from_ptr( ptr: Any) -> Any: ... 1344 | def cmd_buffer_data(self) -> Any: ... 1345 | def vtx_buffer_data(self) -> Any: ... 1346 | def idx_buffer_data(self) -> Any: ... 1347 | def pop_texture_id(self) -> Any: ... 1348 | def get_clip_rect_max(self) -> Any: ... 1349 | def channels_set_current(self, idx: int) -> Any: ... 1350 | def prim_reserve(self, idx_count: int, vtx_count: int) -> Any: ... 1351 | def prim_rect(self, a_x: float, a_y: float, b_x: float, b_y: float, color: int = 0xFFFFFFFF) -> Any: ... 1352 | def prim_write_idx(self, idx: Any) -> Any: ... 1353 | def commands(self) -> Any: ... 1354 | 1355 | class _Font(object): 1356 | def from_ptr( ptr: Any) -> Any: ... 1357 | 1358 | class _FontAtlas(object): 1359 | def _require_pointer(self) -> Any: ... 1360 | def add_font_from_file_ttf(self, filename: str, size_pixels: float,font_config: Any = None,glyph_ranges: Any = None) -> Any: ... 1361 | def clear_tex_data(self) -> Any: ... 1362 | def clear_fonts(self) -> Any: ... 1363 | def get_glyph_ranges_default(self) -> Any: ... 1364 | def get_glyph_ranges_japanese(self) -> Any: ... 1365 | def get_glyph_ranges_chinese(self) -> Any: ... 1366 | def get_glyph_ranges_thai(self) -> Any: ... 1367 | def get_glyph_ranges_latin(self) -> Any: ... 1368 | def get_tex_data_as_rgba32(self) -> Any: ... 1369 | def texture_width(self) -> Any: ... 1370 | def texture_id(self,value) -> Any: ... 1371 | def from_ptr( ptr: Any) -> Any: ... 1372 | def add_font_default(self) -> Any: ... 1373 | def clear_input_data(self) -> Any: ... 1374 | def clear(self) -> Any: ... 1375 | def get_glyph_ranges_korean(self) -> Any: ... 1376 | def get_glyph_ranges_chinese_full(self) -> Any: ... 1377 | def get_glyph_ranges_cyrillic(self) -> Any: ... 1378 | def get_glyph_ranges_vietnamese(self) -> Any: ... 1379 | def get_tex_data_as_alpha8(self) -> Any: ... 1380 | def texture_height(self) -> Any: ... 1381 | 1382 | class _IO(object): 1383 | def config_flags(self) -> Any: ... 1384 | def backend_flags(self) -> Any: ... 1385 | def display_size(self) -> Any: ... 1386 | def delta_time(self) -> Any: ... 1387 | def ini_saving_rate(self) -> Any: ... 1388 | def log_file_name(self) -> Any: ... 1389 | def ini_file_name(self) -> Any: ... 1390 | def mouse_double_click_time(self) -> Any: ... 1391 | def mouse_double_click_max_distance(self) -> Any: ... 1392 | def mouse_drag_threshold(self) -> Any: ... 1393 | def key_map(self) -> Any: ... 1394 | def key_repeat_delay(self, value: float) -> Any: ... 1395 | def key_repeat_rate(self, value: float) -> Any: ... 1396 | def font_global_scale(self) -> Any: ... 1397 | def font_allow_user_scaling(self) -> Any: ... 1398 | def display_fb_scale(self) -> Any: ... 1399 | def config_mac_osx_behaviors(self) -> Any: ... 1400 | def config_cursor_blink(self) -> Any: ... 1401 | def config_drag_click_to_input_text(self) -> Any: ... 1402 | def config_windows_resize_from_edges(self) -> Any: ... 1403 | def config_windows_move_from_title_bar_only(self) -> Any: ... 1404 | def config_memory_compact_timer(self) -> Any: ... 1405 | def get_clipboard_text_fn(self) -> Any: ... 1406 | def set_clipboard_text_fn(self) -> Any: ... 1407 | def mouse_pos(self) -> Any: ... 1408 | def mouse_down(self) -> Any: ... 1409 | def mouse_wheel(self, value: float) -> Any: ... 1410 | def mouse_wheel_horizontal(self, value: float) -> Any: ... 1411 | def mouse_draw_cursor(self, value: bool) -> Any: ... 1412 | def key_ctrl(self, value: bool) -> Any: ... 1413 | def key_shift(self, value: bool) -> Any: ... 1414 | def key_alt(self, value: bool) -> Any: ... 1415 | def key_super(self, value: bool) -> Any: ... 1416 | def nav_inputs(self) -> Any: ... 1417 | def add_input_character_utf16(self, utf16_chars: str) -> Any: ... 1418 | def clear_input_characters(self) -> Any: ... 1419 | def want_capture_keyboard(self) -> Any: ... 1420 | def want_set_mouse_pos(self) -> Any: ... 1421 | def nav_active(self) -> Any: ... 1422 | def framerate(self) -> Any: ... 1423 | def metrics_render_indices(self) -> Any: ... 1424 | def metrics_active_windows(self) -> Any: ... 1425 | def mouse_delta(self) -> Any: ... 1426 | def config_docking_with_shift(self) -> Any: ... 1427 | def config_docking_transparent_payload(self) -> Any: ... 1428 | def config_viewports_no_task_bar_icon(self) -> Any: ... 1429 | def config_viewports_no_default_parent(self) -> Any: ... 1430 | def fonts(self) -> Any: ... 1431 | def keys_down(self) -> Any: ... 1432 | def add_input_character(self, c: int) -> Any: ... 1433 | def add_input_characters_utf8(self, utf8_chars: str) -> Any: ... 1434 | def want_capture_mouse(self) -> Any: ... 1435 | def want_text_input(self) -> Any: ... 1436 | def want_save_ini_settings(self) -> Any: ... 1437 | def nav_visible(self) -> Any: ... 1438 | def metrics_render_vertices(self) -> Any: ... 1439 | def metrics_render_windows(self) -> Any: ... 1440 | def metrics_active_allocations(self) -> Any: ... 1441 | def config_docking_no_split(self) -> Any: ... 1442 | def config_docking_always_tab_bar(self) -> Any: ... 1443 | def config_viewports_no_auto_merge(self) -> Any: ... 1444 | def config_viewports_no_decoration(self) -> Any: ... 1445 | def mouse_hovered_viewport(self) -> Any: ... 1446 | def populate(self,callback_fn,user_data) -> Any: ... 1447 | 1448 | class _ImGuiContext(object): 1449 | def from_ptr( ptr: Any) -> Any: ... 1450 | 1451 | class _ImGuiInputTextCallbackData(object): 1452 | def _require_pointer(self) -> Any: ... 1453 | def flags(self) -> Any: ... 1454 | def event_char(self) -> Any: ... 1455 | def event_key(self) -> Any: ... 1456 | def buffer_text_length(self) -> Any: ... 1457 | def buffer_dirty(self) -> Any: ... 1458 | def cursor_pos(self) -> Any: ... 1459 | def selection_start(self) -> Any: ... 1460 | def selection_end(self) -> Any: ... 1461 | def delete_chars(self, pos: int, bytes_count: int) -> Any: ... 1462 | def select_all(self) -> Any: ... 1463 | def has_selection(self) -> Any: ... 1464 | def from_ptr( ptr: Any) -> Any: ... 1465 | def event_flag(self) -> Any: ... 1466 | def user_data(self) -> Any: ... 1467 | def buffer(self) -> Any: ... 1468 | def buffer_size(self) -> Any: ... 1469 | def insert_chars(self, pos: int, text: str) -> Any: ... 1470 | def clear_selection(self) -> Any: ... 1471 | 1472 | class _ImGuiPayload(object): 1473 | def _require_pointer(self) -> Any: ... 1474 | def data(self) -> Any: ... 1475 | def is_preview(self) -> Any: ... 1476 | def is_data_type(self, type: str) -> Any: ... 1477 | def from_ptr( ptr: Any) -> Any: ... 1478 | def data_size(self) -> Any: ... 1479 | def is_delivery(self) -> Any: ... 1480 | 1481 | class _ImGuiSizeCallbackData(object): 1482 | def _require_pointer(self) -> Any: ... 1483 | def pos(self) -> Any: ... 1484 | def desired_size(self) -> Any: ... 1485 | def from_ptr( ptr: Any) -> Any: ... 1486 | def user_data(self) -> Any: ... 1487 | def current_size(self) -> Any: ... 1488 | 1489 | class _ImGuiTableColumnSortSpecs(object): 1490 | def _require_pointer(self) -> Any: ... 1491 | def column_user_id(self) -> Any: ... 1492 | def column_index(self) -> Any: ... 1493 | def sort_order(self) -> Any: ... 1494 | def sort_direction(self) -> Any: ... 1495 | def from_ptr( ptr: Any) -> Any: ... 1496 | def from_ptr( ptr: Any) -> Any: ... 1497 | def _get_item(self, idx: Any) -> Any: ... 1498 | 1499 | class _ImGuiTableColumnSortSpecs_array(object): 1500 | pass 1501 | 1502 | class _ImGuiTableSortSpecs(object): 1503 | def specs(self) -> Any: ... 1504 | def specs_dirty(self) -> Any: ... 1505 | def from_ptr( ptr: Any) -> Any: ... 1506 | def specs_count(self) -> Any: ... 1507 | 1508 | class _ImGuiViewport(object): 1509 | def id(self) -> Any: ... 1510 | def dpi_scale(self) -> Any: ... 1511 | def pos(self) -> Any: ... 1512 | def work_pos(self) -> Any: ... 1513 | def draw_data(self) -> Any: ... 1514 | def platform_request_resize(self) -> Any: ... 1515 | def platform_request_close(self) -> Any: ... 1516 | def get_work_center(self) -> Any: ... 1517 | def from_ptr( ptr: Any) -> Any: ... 1518 | def parent_viewport_id(self) -> Any: ... 1519 | def size(self) -> Any: ... 1520 | def work_size(self) -> Any: ... 1521 | def platform_request_move(self) -> Any: ... 1522 | def get_center(self) -> Any: ... 1523 | 1524 | class _StaticGlyphRanges(object): 1525 | def from_ptr( ptr: Any) -> Any: ... 1526 | 1527 | class _callback_user_info(object): 1528 | pass -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | regex -------------------------------------------------------------------------------- /run.py: -------------------------------------------------------------------------------- 1 | import re 2 | import sys 3 | 4 | def extract_methods(pyx_file, out_name = None): 5 | import json 6 | with open(pyx_file, "r") as fp: 7 | lines = fp.readlines() 8 | 9 | found = False 10 | 11 | methods = [] 12 | method = "" 13 | method_indent = 0 14 | class_name = "" 15 | 16 | fun_class = "static" 17 | for l in lines: 18 | _l = l.strip() 19 | if (_l.startswith("cdef class ") or _l.startswith("class ") ): 20 | class_name = _l.split("class ")[1].split("(")[0] 21 | elif not found and (_l.startswith("def")): # or l.startswith("cdef") or l.startswith("cpdef") 22 | found = True 23 | method += _l 24 | method_indent = len(l) - len(l.lstrip()) 25 | fun_class = "static" if method_indent == 0 else class_name 26 | elif found and _l.endswith("):"): 27 | method += _l[:-1] 28 | found = False 29 | methods.append({"fun": method.split(":")[0], "class": fun_class}) 30 | method = "" 31 | method_indent = 0 32 | fun_class = "static" 33 | elif found and "#" not in _l: 34 | method += _l 35 | 36 | 37 | if out_name is not None: 38 | with open(out_name, "w") as fp: 39 | json.dump(methods, fp, indent=1) 40 | 41 | return methods 42 | 43 | 44 | def extract_methods_regex(pyx_file, out_name = None): 45 | import json 46 | with open(pyx_file, "r") as fp: 47 | lines = fp.readlines() 48 | 49 | fun_pattern = r"^(def|cdef|cpdef) (_?[a-z0-9]+(_[a-z0-9]+)*)\((self|((.+ .+(,\s?)?)+)?)\)" 50 | class_pattern = r"^(cdef class |class )(_?[a-zA-Z0-9]+)\(.*\):" 51 | 52 | split_fun_pattern = r"(cdef|def|cpdef) [a-z_]+\($" 53 | fun_reg = re.compile(fun_pattern) 54 | class_reg = re.compile(class_pattern) 55 | 56 | methods = [] 57 | method = "" 58 | method_indent = 0 59 | class_name = "static" 60 | 61 | fun_class = "static" 62 | for l in lines: 63 | _l = l.strip() 64 | # check if class 65 | class_matches = class_reg.finditer(_l) 66 | 67 | if class_matches is not None: 68 | for m in class_matches: 69 | class_name = m.group(2) 70 | 71 | # check if function 72 | fun_matches = fun_reg.finditer(_l) 73 | 74 | if fun_matches is not None and method == "": # len(list(fun_matches)) > 0 75 | #print(_l) 76 | for _ in fun_matches: 77 | method_indent = len(l) - len(l.lstrip()) 78 | fun_class = "static" if method_indent == 0 else class_name 79 | methods.append({"fun": _l.split(":")[0], "class": fun_class}) 80 | 81 | 82 | if out_name is not None: 83 | with open(out_name, "w") as fp: 84 | json.dump(methods, fp, indent=1) 85 | 86 | return methods 87 | 88 | def generate_pyi(methods_json): 89 | 90 | types_dict = { 91 | "unsigned int": "int", 92 | "int": "int", 93 | "str": "str", 94 | "double": "float", 95 | "float": "float", 96 | "bool": "bool", 97 | "cimgui.bool": "bool", 98 | "cimgui.ImGuiCond" : "int", 99 | "cimgui.ImGuiTreeNodeFlags" : "int", 100 | "cimgui.ImU32": "int" 101 | } 102 | 103 | 104 | static_methods = list(filter(lambda x: x["class"]== "static", methods_json)) 105 | 106 | member_methods = sorted(list(filter(lambda x: x["class"] != "static", methods_json)), key=lambda x: x["class"]) 107 | 108 | #pattern = r"(def|cdef|cpdef) ([a-z0-9]+(_[a-z0-9]+)*)\(((.+ .+(,\s?)?)+)?\)" 109 | pattern = r"(def|cdef|cpdef) (_?[a-z0-9]+(_[a-z0-9]+)*)\((self|((.+ .+(,\s?)?)+)?)\)" 110 | 111 | res = ["from typing import Any\n\n"] 112 | 113 | for m in static_methods: 114 | 115 | matches = re.finditer(pattern, m["fun"]) 116 | 117 | if matches is not None: 118 | for k in matches: 119 | m_name = k.group(2) 120 | 121 | params_str = k.group(4) 122 | py_params = [] 123 | if params_str is not None: 124 | if "#" in params_str: 125 | continue 126 | params = params_str.split(",") 127 | 128 | for p in params: 129 | 130 | default_val = None 131 | p = p.strip() 132 | p = p.replace(" =", "=").replace("= ", "=") 133 | if "add_input_character" in m_name: 134 | print(p_type) 135 | print(default_val) 136 | s_count = p.count(" ") 137 | if s_count >= 1: 138 | # print(p) 139 | last_space_idx = p.rfind(" ") 140 | p_type = p[0:last_space_idx] 141 | p_name = p[last_space_idx:] 142 | if "=" in p_name: 143 | default_val = p_name.split("=")[1] 144 | p_name = p_name.split("=")[0] 145 | 146 | if types_dict.get(p_type) is None: 147 | p_type = "Any" 148 | else: 149 | p_type = types_dict.get(p_type) 150 | 151 | if default_val is not None: 152 | py_params.append(p_name + ": " +p_type + " = " + default_val ) 153 | default_val = None 154 | else: 155 | py_params.append(p_name + ": " +p_type) 156 | else: 157 | if "=" in p: 158 | default_val = p.split("=")[1] 159 | p_name = p.split("=")[0] 160 | if default_val.isdigit() and "." not in default_val: 161 | p_type = "int" 162 | elif default_val.isnumeric(): 163 | p_type = "float" 164 | else: 165 | p_type = "Any" 166 | if default_val is not None: 167 | py_params.append(p_name + ": " + p_type + " = " + default_val ) 168 | default_val = None 169 | else: 170 | py_params.append(p) # + ": Any " 171 | 172 | res.append("def " + m_name + "(" + ",".join(py_params) + ") -> Any: ...\n") 173 | 174 | 175 | curr_class = "" 176 | classes_funcs = {} 177 | for m in member_methods: 178 | 179 | matches = re.finditer(pattern, m["fun"]) 180 | 181 | if m["class"] != curr_class: 182 | #res.append("\n\nclass " + m["class"] + "(object):\n") 183 | curr_class = m["class"] 184 | if classes_funcs.get(curr_class) is None: 185 | classes_funcs[curr_class] = [] 186 | 187 | if matches is not None: 188 | for k in matches: 189 | 190 | m_name = k.group(2) 191 | 192 | params_str = k.group(4) 193 | py_params = [] 194 | if params_str is not None: 195 | if "#" in params_str: 196 | continue 197 | params = params_str.split(",") 198 | 199 | for p in params: 200 | 201 | default_val = None 202 | p = p.strip() 203 | p = p.replace(" =", "=").replace("= ", "=") 204 | 205 | if p.count(" ") >= 1: 206 | # print(p) 207 | last_space_idx = p.rfind(" ") 208 | p_type = p[0:last_space_idx] 209 | p_name = p[last_space_idx:] 210 | if "=" in p_name: 211 | default_val = p_name.split("=")[1] 212 | p_name = p_name.split("=")[0] 213 | 214 | if types_dict.get(p_type) is None: 215 | p_type = "Any" 216 | else: 217 | p_type = types_dict.get(p_type) 218 | 219 | if default_val is not None: 220 | py_params.append(p_name + ": " +p_type + " = " + default_val ) 221 | default_val = None 222 | else: 223 | py_params.append(p_name + ": " +p_type) 224 | else: 225 | if "=" in p: 226 | default_val = p.split("=")[1] 227 | p_name = p.split("=")[0] 228 | if default_val.isdigit() and "." not in default_val: 229 | p_type = "int" 230 | elif default_val.isnumeric(): 231 | p_type = "float" 232 | else: 233 | p_type = "Any" 234 | if default_val is not None: 235 | py_params.append(p_name + ": " + p_type + " = " + default_val ) 236 | default_val = None 237 | else: 238 | py_params.append(p) # + ": Any " 239 | classes_funcs[curr_class].append("\tdef " + m_name + "(" + ",".join(py_params) + ") -> Any: ...") 240 | #res.append("\tdef " + m_name + "(" + ",".join(py_params) + ") -> Any: ...\n") 241 | 242 | for _class in classes_funcs: 243 | 244 | res.append("\n\nclass " + _class + "(object):\n") 245 | 246 | if len(classes_funcs[_class]) == 0: 247 | res.append("\tpass") 248 | else: 249 | funcs = "\n".join(classes_funcs[_class]) 250 | res.append(funcs) 251 | 252 | with open("imgui.pyi", "w") as fp: 253 | fp.writelines(res) 254 | 255 | 256 | def extract(pyx_file,out_name=None): 257 | methods1 = extract_methods(pyx_file, out_name) 258 | methods2 = extract_methods_regex(pyx_file, out_name) 259 | 260 | methods = methods1 261 | 262 | m_names = list(map(lambda x: x["fun"].split("(")[0], methods1)) 263 | for m in methods2: 264 | if not m["fun"].split("(")[0] in m_names: 265 | methods.append(m) 266 | 267 | 268 | generate_pyi(methods) 269 | 270 | if __name__ == "__main__": 271 | 272 | extract(sys.argv[1], sys.argv[2],) --------------------------------------------------------------------------------