Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump imgui from 1.4.1 to 2.0.0 #187

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Apr 19, 2023

Bumps imgui from 1.4.1 to 2.0.0.

Release notes

Sourced from imgui's releases.

2.0.0

A new major release is finally here!

It has been a very long and intense road. But I finally managed to take some time to gather everything together and release this new version of pyimgui. The project started three years ago when I took the challenge to upgrade the internal DearImGui library version from 1.65 to 1.79 and then to 1.82. What started as a small upgrade revealed itself to be a massive modification and asked for a lot of change. So many changes that the decision has been made to release it under a new major version of pyimgui.

Over the years, many have participated in this achievement, and I don't have enough words to thank them enough.

Important note

This new major release changes some function names, removes the support of old obsoleted DearImGui functions, and changes the way some previously implemented functions are called (e.g. change of arguments type or order). It thus may break some old code bases, and some care should be taken if you wish to update an old project.

In future releases, I want to be more transparent and rigorous about what changes exactly to help developers update their code.

Announcements

  • Support for DearImGui 1.82 is now official. It implies that many modern features have now been ported to pyimgui. Future releases will tend to catch up with DearImGui.
  • Support for python 2.7, 3.3, 3.4, and 3.5 is now dropped. Pyimgui currently supports python 3.6, 3.7, 3.8, 3.9, 3.10, and 3.11. We also officially support Pypy 3.7, 3.8, and 3.9. It is always possible to compile from source in order to use pyimgui with another python version, however, test routines may not work correctly.
  • We now have a docking branch (see: docking) that is up-to-date with the corresponding branch of DearImGui 1.82. Please note that this is still a work in progress, and many features still need to be properly ported and will still be worked on.

New features

Pyimgui is now divided into two submodules:

  • imgui.core, which contains core functionalities and is equivalent to the old imgui namespace. Note that import imgui defaults to imgui.core such that we can still use imgui.xxx() as before.
  • imgui.internal, which gives access to very few (to be increased in future) internal DearImGui functions such as push_item_flag() and pop_item_flag().

New

  • Pyimgui now supports using the with keyword instead of the begin/end syntax of DearImGui. The old syntax is still valid; it is just a bonus for a better Pythonic experience. (#264, #271, thanks to @​mCodingLLC)
  • Mapping of begin_combo() and end_combo(), which also work with the with keyword (#313, thanks to @​Willy-JL)
  • Mapping of additional drawlist methods:
    • add_rect_filled_multicolor, add_quad, add_quad_filled, add_triangle, add_triangle_filled, add_bezier_cubic, add_bezier_quadratic, path_clear, path_line_to, path_fill_convex, path_stroke, path_arc_to, path_arc_to_fast, and path_rect (#312, thanks to @​Godzil)
    • add_image_rounded() (#279, thanks to @​Willy-JL)
  • Mapping of io.fonts.texture_desired_width (#287, thanks to @​Willy-JL)
  • Add support for TTF custom glyph ranges and font config (#241, thanks to @​saulthu)
  • Mapping of set_next_window_size_constraints(), set_scroll_here_x(), set_scroll_here_y(), slider_angle(), get_drag_drop_payload(), show_about_window(), is_item_edited(), is_item_activated(), is_item_deactivated(), is_item_deactivated_after_edit(), is_item_toggled_open(), get_background_draw_list(), get_foreground_draw_list(), input_text_with_hint(), set_next_item_width(), set_next_item_open(), get_tree_node_to_label_spacing(), add_input_character_utf16(), capture_mouse_from_app(), get_clipboard_text(), set_clipboard_text(), load_ini_settings_from_disk(), load_ini_settings_from_memory(), save_ini_settings_to_disk(), save_ini_settings_to_memory(), color_convert_u32_to_float4(), color_convert_float4_to_u32(), color_convert_rgb_to_hsv(), color_convert_hsv_to_rgb(), drag_scalar(), drag_scalar_N(), input_scalar(), input_scalar_N(), slider_scalar(), slider_scalar_N(), v_slider_scalar(), drag_float_range2(), drag_int_range2(), push_clip_rect(), pop_clip_rect()
  • Functions slider_xxx() and drag_xxx() now take a SLIDER_FLAGS_xxx flag as parameter
  • Mapping of tab functionality: begin_tab_bar(), end_tab_bar(), begin_tab_item(), end_tab_item(), tab_item_button(), set_tab_item_closed()
  • Mapping of table functionality: begin_table(), end_table(), table_next_row(), table_next_column(), table_set_column_index(), table_setup_column(), table_setup_scroll_freez(), table_headers_row(), table_header(), table_get_sort_specs(), table_get_column_count(), table_get_column_index(), table_get_row_index(), table_get_column_name(), table_get_column_flags(), table_set_background_color()
  • Mapping of drawdata.display_pos(), drawdata.display_size(), drawdata.frame_buffer_scale()
  • Mapping of guistyle.log_slider_deadzone, guistyle.tab_rounding, guistyle.tab_border_size, guistyle.tab_min_width_for_close_button, guistyle.selectable_text_align, guistyle.anti_aliased_line_use_tex, guistyle.circle_segment_max_error, guistyle.window_menu_button_position, guistyle.color_button_position, guistyle.cell_padding, guistyle.config_drag_click_to_input_text
  • Mapping of drawlist.add_ngon(), drawlist.add_ngon_filled(), drawlist.flags, drawlist.push_clip_rect(), drawlist.push_clip_rect_full_screen(), drawlist.pop_clip_rect(), drawlist.push_texture_id(), drawlist.pop_texture_id(), drawlist.get_clip_rect_min(), drawlist.get_clip_rect_max()
  • Change mapping of popup context functionality: begin_popup_context_item(), open_popup_on_item_click(), begin_popup_context_void(), is_popup_open()
  • Mapping of fontatlas.get_glyph_ranges_thai(), fontatlas.get_glyph_ranges_vietnamese()
  • Mapping of io.metrics_render_indices, io.metrics_render_windows, io.metrics_active_allocations, io.config_windows_move_from_title_bar_only, io.config_windows_move_from_title_bar_only, io.config_windows_memory_compact_timer, io.config_windows_memory_compact_timer, io.nav_inputs
  • invisible_button() now takes a flag as input
  • Added callback functionality to function that allows it in DarImGui
  • Added a ton of new flags:
    • NONE

... (truncated)

Commits

Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
> **Note** > Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

Bumps [imgui](https://github.com/pyimgui/pyimgui) from 1.4.1 to 2.0.0.
- [Release notes](https://github.com/pyimgui/pyimgui/releases)
- [Commits](pyimgui/pyimgui@1.4.1...2.0.0)

---
updated-dependencies:
- dependency-name: imgui
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Apr 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file python Pull requests that update Python code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants