py-imgui-redux 4.0.1__tar.gz → 5.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/PKG-INFO +1 -1
  2. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/build/py_imgui_redux.egg-info/SOURCES.txt +3 -0
  3. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/pyproject.toml +1 -1
  4. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/.gitignore +5 -0
  5. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_allegro5.cpp +46 -18
  6. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_allegro5.h +1 -0
  7. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_dx10.cpp +21 -19
  8. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_dx11.cpp +22 -20
  9. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_dx12.cpp +136 -99
  10. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_dx12.h +1 -1
  11. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_dx9.cpp +13 -11
  12. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_glfw.cpp +81 -20
  13. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_glfw.h +1 -1
  14. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_metal.mm +15 -13
  15. py_imgui_redux-5.0.0/third-party/imgui/backends/imgui_impl_null.cpp +102 -0
  16. py_imgui_redux-5.0.0/third-party/imgui/backends/imgui_impl_null.h +34 -0
  17. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_opengl2.cpp +8 -2
  18. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_opengl3.cpp +30 -10
  19. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_opengl3_loader.h +32 -5
  20. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_osx.mm +4 -0
  21. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_sdl2.cpp +20 -6
  22. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_sdl3.cpp +59 -18
  23. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_sdlgpu3.cpp +44 -41
  24. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_sdlgpu3.h +17 -5
  25. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_sdlrenderer2.cpp +6 -6
  26. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_sdlrenderer3.cpp +6 -6
  27. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_vulkan.cpp +130 -88
  28. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_vulkan.h +47 -18
  29. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_wgpu.cpp +226 -50
  30. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_wgpu.h +56 -6
  31. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_win32.cpp +5 -0
  32. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/imconfig.h +3 -1
  33. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/imgui.cpp +800 -498
  34. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/imgui.h +181 -124
  35. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/imgui_demo.cpp +161 -104
  36. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/imgui_draw.cpp +165 -120
  37. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/imgui_internal.h +184 -129
  38. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/imgui_tables.cpp +34 -24
  39. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/imgui_widgets.cpp +507 -326
  40. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/imstb_textedit.h +75 -36
  41. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/README.txt +2 -2
  42. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/cpp/README.txt +5 -1
  43. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/cpp/imgui_stdlib.cpp +13 -1
  44. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/cpp/imgui_stdlib.h +12 -0
  45. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/debuggers/README.txt +5 -0
  46. py_imgui_redux-5.0.0/third-party/imgui/misc/debuggers/imgui_lldb.py +189 -0
  47. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/freetype/README.md +1 -1
  48. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/freetype/imgui_freetype.cpp +10 -10
  49. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/CMakeLists.txt +0 -0
  50. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/LICENSE +0 -0
  51. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/MANIFEST.in +0 -0
  52. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/README.md +0 -0
  53. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/pybind11_stubgen.py +0 -0
  54. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/setup.cfg +0 -0
  55. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/setup.py +0 -0
  56. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/CMakeLists.txt +0 -0
  57. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glad/include/KHR/khrplatform.h +0 -0
  58. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glad/include/glad/gl.h +0 -0
  59. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glad/src/gl.c +0 -0
  60. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/.appveyor.yml +0 -0
  61. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/.editorconfig +0 -0
  62. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/.git +0 -0
  63. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/.gitattributes +0 -0
  64. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/.gitignore +0 -0
  65. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/.mailmap +0 -0
  66. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/CMake/GenerateMappings.cmake +0 -0
  67. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/CMake/Info.plist.in +0 -0
  68. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/CMake/cmake_uninstall.cmake.in +0 -0
  69. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/CMake/glfw3.pc.in +0 -0
  70. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/CMake/glfw3Config.cmake.in +0 -0
  71. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/CMake/i686-w64-mingw32-clang.cmake +0 -0
  72. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/CMake/i686-w64-mingw32.cmake +0 -0
  73. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/CMake/modules/FindEpollShim.cmake +0 -0
  74. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/CMake/modules/FindOSMesa.cmake +0 -0
  75. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/CMake/x86_64-w64-mingw32-clang.cmake +0 -0
  76. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/CMake/x86_64-w64-mingw32.cmake +0 -0
  77. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/CMakeLists.txt +0 -0
  78. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/CONTRIBUTORS.md +0 -0
  79. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/LICENSE.md +0 -0
  80. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/README.md +0 -0
  81. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/getopt.c +0 -0
  82. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/getopt.h +0 -0
  83. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/glad/gl.h +0 -0
  84. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/glad/gles2.h +0 -0
  85. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/glad/vulkan.h +0 -0
  86. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/linmath.h +0 -0
  87. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/mingw/_mingw_dxhelper.h +0 -0
  88. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/mingw/dinput.h +0 -0
  89. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/mingw/xinput.h +0 -0
  90. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/nuklear.h +0 -0
  91. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/nuklear_glfw_gl2.h +0 -0
  92. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/stb_image_write.h +0 -0
  93. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/tinycthread.c +0 -0
  94. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/tinycthread.h +0 -0
  95. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/wayland/fractional-scale-v1.xml +0 -0
  96. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/wayland/idle-inhibit-unstable-v1.xml +0 -0
  97. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/wayland/pointer-constraints-unstable-v1.xml +0 -0
  98. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/wayland/relative-pointer-unstable-v1.xml +0 -0
  99. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/wayland/viewporter.xml +0 -0
  100. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/wayland/wayland.xml +0 -0
  101. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/wayland/xdg-activation-v1.xml +0 -0
  102. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/wayland/xdg-decoration-unstable-v1.xml +0 -0
  103. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/deps/wayland/xdg-shell.xml +0 -0
  104. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/examples/CMakeLists.txt +0 -0
  105. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/examples/boing.c +0 -0
  106. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/examples/gears.c +0 -0
  107. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/examples/glfw.icns +0 -0
  108. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/examples/glfw.ico +0 -0
  109. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/examples/glfw.rc +0 -0
  110. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/examples/heightmap.c +0 -0
  111. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/examples/offscreen.c +0 -0
  112. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/examples/particles.c +0 -0
  113. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/examples/sharing.c +0 -0
  114. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/examples/splitview.c +0 -0
  115. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/examples/triangle-opengl.c +0 -0
  116. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/examples/triangle-opengles.c +0 -0
  117. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/examples/wave.c +0 -0
  118. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/examples/windows.c +0 -0
  119. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/include/GLFW/glfw3.h +0 -0
  120. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/include/GLFW/glfw3native.h +0 -0
  121. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/CMakeLists.txt +0 -0
  122. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/cocoa_init.m +0 -0
  123. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/cocoa_joystick.h +0 -0
  124. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/cocoa_joystick.m +0 -0
  125. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/cocoa_monitor.m +0 -0
  126. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/cocoa_platform.h +0 -0
  127. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/cocoa_time.c +0 -0
  128. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/cocoa_time.h +0 -0
  129. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/cocoa_window.m +0 -0
  130. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/context.c +0 -0
  131. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/egl_context.c +0 -0
  132. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/glfw.rc.in +0 -0
  133. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/glx_context.c +0 -0
  134. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/init.c +0 -0
  135. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/input.c +0 -0
  136. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/internal.h +0 -0
  137. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/linux_joystick.c +0 -0
  138. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/linux_joystick.h +0 -0
  139. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/mappings.h +0 -0
  140. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/mappings.h.in +0 -0
  141. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/monitor.c +0 -0
  142. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/nsgl_context.m +0 -0
  143. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/null_init.c +0 -0
  144. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/null_joystick.c +0 -0
  145. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/null_joystick.h +0 -0
  146. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/null_monitor.c +0 -0
  147. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/null_platform.h +0 -0
  148. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/null_window.c +0 -0
  149. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/osmesa_context.c +0 -0
  150. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/platform.c +0 -0
  151. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/platform.h +0 -0
  152. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/posix_module.c +0 -0
  153. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/posix_poll.c +0 -0
  154. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/posix_poll.h +0 -0
  155. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/posix_thread.c +0 -0
  156. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/posix_thread.h +0 -0
  157. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/posix_time.c +0 -0
  158. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/posix_time.h +0 -0
  159. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/vulkan.c +0 -0
  160. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/wgl_context.c +0 -0
  161. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/win32_init.c +0 -0
  162. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/win32_joystick.c +0 -0
  163. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/win32_joystick.h +0 -0
  164. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/win32_module.c +0 -0
  165. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/win32_monitor.c +0 -0
  166. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/win32_platform.h +0 -0
  167. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/win32_thread.c +0 -0
  168. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/win32_thread.h +0 -0
  169. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/win32_time.c +0 -0
  170. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/win32_time.h +0 -0
  171. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/win32_window.c +0 -0
  172. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/window.c +0 -0
  173. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/wl_init.c +0 -0
  174. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/wl_monitor.c +0 -0
  175. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/wl_platform.h +0 -0
  176. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/wl_window.c +0 -0
  177. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/x11_init.c +0 -0
  178. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/x11_monitor.c +0 -0
  179. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/x11_platform.h +0 -0
  180. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/x11_window.c +0 -0
  181. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/xkb_unicode.c +0 -0
  182. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/glfw/src/xkb_unicode.h +0 -0
  183. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imconfig/bind-imconfig.h +0 -0
  184. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/.editorconfig +0 -0
  185. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/.git +0 -0
  186. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/.gitattributes +0 -0
  187. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/LICENSE.txt +0 -0
  188. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_android.cpp +0 -0
  189. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_android.h +0 -0
  190. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_dx10.h +0 -0
  191. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_dx11.h +0 -0
  192. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_dx9.h +0 -0
  193. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_glut.cpp +0 -0
  194. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_glut.h +0 -0
  195. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_metal.h +0 -0
  196. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_opengl2.h +0 -0
  197. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_opengl3.h +0 -0
  198. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_osx.h +0 -0
  199. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_sdl2.h +0 -0
  200. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_sdl3.h +0 -0
  201. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_sdlgpu3_shaders.h +0 -0
  202. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_sdlrenderer2.h +0 -0
  203. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_sdlrenderer3.h +0 -0
  204. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/imgui_impl_win32.h +0 -0
  205. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/sdlgpu3/build_instructions.txt +0 -0
  206. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/sdlgpu3/shader.frag +0 -0
  207. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/sdlgpu3/shader.vert +0 -0
  208. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/vulkan/build_instructions.txt +0 -0
  209. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/vulkan/generate_spv.sh +0 -0
  210. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/vulkan/glsl_shader.frag +0 -0
  211. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/backends/vulkan/glsl_shader.vert +0 -0
  212. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/imstb_rectpack.h +0 -0
  213. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/imstb_truetype.h +0 -0
  214. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/debuggers/imgui.gdb +0 -0
  215. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/debuggers/imgui.natstepfilter +0 -0
  216. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/debuggers/imgui.natvis +0 -0
  217. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/fonts/Cousine-Regular.ttf +0 -0
  218. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/fonts/DroidSans.ttf +0 -0
  219. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/fonts/Karla-Regular.ttf +0 -0
  220. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/fonts/ProggyClean.ttf +0 -0
  221. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/fonts/ProggyTiny.ttf +0 -0
  222. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/fonts/Roboto-Medium.ttf +0 -0
  223. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/fonts/binary_to_compressed_c.cpp +0 -0
  224. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/freetype/imgui_freetype.h +0 -0
  225. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imgui/misc/single_file/imgui_single_file.h +0 -0
  226. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/.clang-format +0 -0
  227. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/.clang-tidy +0 -0
  228. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/.git +0 -0
  229. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/.gitignore +0 -0
  230. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/.gitmodules +0 -0
  231. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/CMakeLists.txt +0 -0
  232. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/LICENSE.md +0 -0
  233. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/README.md +0 -0
  234. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/example/color_node_editor.cpp +0 -0
  235. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/example/graph.h +0 -0
  236. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/example/hello.cpp +0 -0
  237. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/example/main.cpp +0 -0
  238. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/example/multi_editor.cpp +0 -0
  239. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/example/node_editor.h +0 -0
  240. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/example/save_load.cpp +0 -0
  241. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/img/imnodes.gif +0 -0
  242. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/imnodes.cpp +0 -0
  243. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/imnodes.h +0 -0
  244. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/imnodes_internal.h +0 -0
  245. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/imnodes/vcpkg.json +0 -0
  246. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/implot/.git +0 -0
  247. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/implot/LICENSE +0 -0
  248. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/implot/README.md +0 -0
  249. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/implot/TODO.md +0 -0
  250. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/implot/implot.cpp +0 -0
  251. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/implot/implot.h +0 -0
  252. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/implot/implot_demo.cpp +0 -0
  253. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/implot/implot_internal.h +0 -0
  254. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/implot/implot_items.cpp +0 -0
  255. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/.appveyor.yml +0 -0
  256. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/.clang-format +0 -0
  257. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/.clang-tidy +0 -0
  258. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/.cmake-format.yaml +0 -0
  259. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/.codespell-ignore-lines +0 -0
  260. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/.git +0 -0
  261. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/.gitattributes +0 -0
  262. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/.gitignore +0 -0
  263. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/.pre-commit-config.yaml +0 -0
  264. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/.readthedocs.yml +0 -0
  265. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/CMakeLists.txt +0 -0
  266. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/CMakePresets.json +0 -0
  267. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/LICENSE +0 -0
  268. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/README.rst +0 -0
  269. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/SECURITY.md +0 -0
  270. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/attr.h +0 -0
  271. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/buffer_info.h +0 -0
  272. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/cast.h +0 -0
  273. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/chrono.h +0 -0
  274. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/common.h +0 -0
  275. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/complex.h +0 -0
  276. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/conduit/README.txt +0 -0
  277. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/conduit/pybind11_conduit_v1.h +0 -0
  278. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/conduit/pybind11_platform_abi_id.h +0 -0
  279. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/conduit/wrap_include_python_h.h +0 -0
  280. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/critical_section.h +0 -0
  281. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/detail/class.h +0 -0
  282. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/detail/common.h +0 -0
  283. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/detail/cpp_conduit.h +0 -0
  284. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/detail/descr.h +0 -0
  285. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/detail/dynamic_raw_ptr_cast_if_possible.h +0 -0
  286. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/detail/exception_translation.h +0 -0
  287. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/detail/function_record_pyobject.h +0 -0
  288. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/detail/init.h +0 -0
  289. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/detail/internals.h +0 -0
  290. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/detail/native_enum_data.h +0 -0
  291. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/detail/pybind11_namespace_macros.h +0 -0
  292. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/detail/struct_smart_holder.h +0 -0
  293. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/detail/type_caster_base.h +0 -0
  294. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/detail/typeid.h +0 -0
  295. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/detail/using_smart_holder.h +0 -0
  296. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/detail/value_and_holder.h +0 -0
  297. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/eigen/common.h +0 -0
  298. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/eigen/matrix.h +0 -0
  299. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/eigen/tensor.h +0 -0
  300. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/eigen.h +0 -0
  301. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/embed.h +0 -0
  302. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/eval.h +0 -0
  303. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/functional.h +0 -0
  304. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/gil.h +0 -0
  305. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/gil_safe_call_once.h +0 -0
  306. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/gil_simple.h +0 -0
  307. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/iostream.h +0 -0
  308. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/native_enum.h +0 -0
  309. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/numpy.h +0 -0
  310. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/operators.h +0 -0
  311. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/options.h +0 -0
  312. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/pybind11.h +0 -0
  313. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/pytypes.h +0 -0
  314. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/stl/filesystem.h +0 -0
  315. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/stl.h +0 -0
  316. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/stl_bind.h +0 -0
  317. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/subinterpreter.h +0 -0
  318. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/trampoline_self_life_support.h +0 -0
  319. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/type_caster_pyobject_ptr.h +0 -0
  320. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/typing.h +0 -0
  321. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/include/pybind11/warnings.h +0 -0
  322. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/noxfile.py +0 -0
  323. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/pybind11/__init__.py +0 -0
  324. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/pybind11/__main__.py +0 -0
  325. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/pybind11/_version.py +0 -0
  326. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/pybind11/commands.py +0 -0
  327. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/pybind11/py.typed +0 -0
  328. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/pybind11/setup_helpers.py +0 -0
  329. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/pyproject.toml +0 -0
  330. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/tools/FindCatch.cmake +0 -0
  331. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/tools/FindEigen3.cmake +0 -0
  332. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/tools/FindPythonLibsNew.cmake +0 -0
  333. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/tools/JoinPaths.cmake +0 -0
  334. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/tools/check-style.sh +0 -0
  335. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/tools/cmake_uninstall.cmake.in +0 -0
  336. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/tools/codespell_ignore_lines_from_errors.py +0 -0
  337. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/tools/libsize.py +0 -0
  338. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/tools/make_changelog.py +0 -0
  339. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/tools/make_global.py +0 -0
  340. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/tools/pybind11.pc.in +0 -0
  341. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/tools/pybind11Common.cmake +0 -0
  342. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/tools/pybind11Config.cmake.in +0 -0
  343. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/tools/pybind11GuessPythonExtSuffix.cmake +0 -0
  344. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/tools/pybind11NewTools.cmake +0 -0
  345. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/tools/pybind11Tools.cmake +0 -0
  346. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/pybind11/tools/test-pybind11GuessPythonExtSuffix.cmake +0 -0
  347. {py_imgui_redux-4.0.1 → py_imgui_redux-5.0.0}/third-party/stb/stb_image.h +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: py-imgui-redux
3
- Version: 4.0.1
3
+ Version: 5.0.0
4
4
  Summary: A python wrapper for DearImGUI and popular extensions
5
5
  Author: Alagyn
6
6
  License-Expression: MIT
@@ -167,6 +167,8 @@ third-party/imgui/backends/imgui_impl_glut.cpp
167
167
  third-party/imgui/backends/imgui_impl_glut.h
168
168
  third-party/imgui/backends/imgui_impl_metal.h
169
169
  third-party/imgui/backends/imgui_impl_metal.mm
170
+ third-party/imgui/backends/imgui_impl_null.cpp
171
+ third-party/imgui/backends/imgui_impl_null.h
170
172
  third-party/imgui/backends/imgui_impl_opengl2.cpp
171
173
  third-party/imgui/backends/imgui_impl_opengl2.h
172
174
  third-party/imgui/backends/imgui_impl_opengl3.cpp
@@ -206,6 +208,7 @@ third-party/imgui/misc/debuggers/README.txt
206
208
  third-party/imgui/misc/debuggers/imgui.gdb
207
209
  third-party/imgui/misc/debuggers/imgui.natstepfilter
208
210
  third-party/imgui/misc/debuggers/imgui.natvis
211
+ third-party/imgui/misc/debuggers/imgui_lldb.py
209
212
  third-party/imgui/misc/fonts/Cousine-Regular.ttf
210
213
  third-party/imgui/misc/fonts/DroidSans.ttf
211
214
  third-party/imgui/misc/fonts/Karla-Regular.ttf
@@ -7,7 +7,7 @@ egg_base = "build"
7
7
 
8
8
  [project]
9
9
  name = "py-imgui-redux"
10
- version = "4.0.1"
10
+ version = "5.0.0"
11
11
  authors = [{ name = "Alagyn" }]
12
12
  description = "A python wrapper for DearImGUI and popular extensions"
13
13
  readme = "README.md"
@@ -12,6 +12,7 @@ imgui*.ini
12
12
  examples/*/Debug/*
13
13
  examples/*/Release/*
14
14
  examples/*/x64/*
15
+ examples/*.tmp
15
16
 
16
17
  ## Visual Studio artifacts
17
18
  .vs
@@ -46,6 +47,9 @@ examples/example_glfw_opengl3/web/*
46
47
  examples/example_glfw_wgpu/web/*
47
48
  examples/example_glfw_wgpu/external/*
48
49
  examples/example_sdl2_opengl3/web/*
50
+ examples/example_sdl2_wgpu/web/*
51
+ examples/example_sdl3_opengl3/web/*
52
+ examples/example_sdl3_wgpu/web/*
49
53
 
50
54
  ## JetBrains IDE artifacts
51
55
  .idea
@@ -68,6 +72,7 @@ examples/example_sdl2_opengl2/example_sdl2_opengl2
68
72
  examples/example_sdl2_opengl3/example_sdl2_opengl3
69
73
  examples/example_sdl2_sdlrenderer2/example_sdl2_sdlrenderer2
70
74
  examples/example_sdl2_vulkan/example_sdl2_vulkan
75
+ examples/example_sdl3_metal/example_sdl3_metal
71
76
  examples/example_sdl3_opengl3/example_sdl3_opengl3
72
77
  examples/example_sdl3_sdlgpu3/example_sdl3_sdlgpu3
73
78
  examples/example_sdl3_sdlrenderer3/example_sdl3_sdlrenderer3
@@ -8,7 +8,7 @@
8
8
  // [X] Platform: Clipboard support (from Allegro 5.1.12).
9
9
  // [X] Platform: Mouse cursor shape and visibility (ImGuiBackendFlags_HasMouseCursors). Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
10
10
  // Missing features or Issues:
11
- // [ ] Renderer: The renderer is suboptimal as we need to convert vertices manually.
11
+ // [ ] Renderer: The renderer is suboptimal as we need to unindex our buffers and convert vertices manually.
12
12
  // [ ] Platform: Missing gamepad support.
13
13
 
14
14
  // You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
@@ -21,6 +21,9 @@
21
21
 
22
22
  // CHANGELOG
23
23
  // (minor and older changes stripped away, please see git history for details)
24
+ // 2025-09-18: Call platform_io.ClearRendererHandlers() and platform_io.ClearPlatformHandlers() on shutdown.
25
+ // 2025-08-12: Inputs: fixed missing support for ImGuiKey_PrintScreen under Windows, as raw Allegro 5 does not receive it.
26
+ // 2025-08-12: Added ImGui_ImplAllegro5_SetDisplay() function to change current ALLEGRO_DISPLAY, as Allegro applications often need to do that.
24
27
  // 2025-07-07: Fixed texture update broken on some platforms where ALLEGRO_LOCK_WRITEONLY needed all texels to be rewritten.
25
28
  // 2025-06-11: Added support for ImGuiBackendFlags_RendererHasTextures, for dynamic font atlas. Removed ImGui_ImplSDLGPU3_CreateFontsTexture() and ImGui_ImplSDLGPU3_DestroyFontsTexture().
26
29
  // 2025-02-18: Added ImGuiMouseCursor_Wait and ImGuiMouseCursor_Progress mouse cursor support.
@@ -160,10 +163,8 @@ void ImGui_ImplAllegro5_RenderDrawData(ImDrawData* draw_data)
160
163
  ImGui_ImplAllegro5_SetupRenderState(draw_data);
161
164
 
162
165
  // Render command lists
163
- for (int n = 0; n < draw_data->CmdListsCount; n++)
166
+ for (const ImDrawList* draw_list : draw_data->CmdLists)
164
167
  {
165
- const ImDrawList* draw_list = draw_data->CmdLists[n];
166
-
167
168
  ImVector<ImDrawVertAllegro>& vertices = bd->BufVertices;
168
169
  #if ALLEGRO_HAS_DRAW_INDEXED_PRIM
169
170
  vertices.resize(draw_list->VtxBuffer.Size);
@@ -269,8 +270,6 @@ void ImGui_ImplAllegro5_UpdateTexture(ImTextureData* tex)
269
270
  al_set_new_bitmap_flags(ALLEGRO_MEMORY_BITMAP | ALLEGRO_MIN_LINEAR | ALLEGRO_MAG_LINEAR);
270
271
  al_set_new_bitmap_format(ALLEGRO_PIXEL_FORMAT_ABGR_8888_LE);
271
272
  ALLEGRO_BITMAP* cpu_bitmap = al_create_bitmap(tex->Width, tex->Height);
272
- al_set_new_bitmap_flags(new_bitmap_flags);
273
- al_set_new_bitmap_format(new_bitmap_format);
274
273
  IM_ASSERT(cpu_bitmap != nullptr && "Backend failed to create texture!");
275
274
 
276
275
  // Upload pixels
@@ -280,10 +279,15 @@ void ImGui_ImplAllegro5_UpdateTexture(ImTextureData* tex)
280
279
  al_unlock_bitmap(cpu_bitmap);
281
280
 
282
281
  // Convert software texture to hardware texture.
282
+ al_set_new_bitmap_flags(ALLEGRO_VIDEO_BITMAP);
283
+ al_set_new_bitmap_format(ALLEGRO_PIXEL_FORMAT_ANY_32_WITH_ALPHA);
283
284
  ALLEGRO_BITMAP* gpu_bitmap = al_clone_bitmap(cpu_bitmap);
284
285
  al_destroy_bitmap(cpu_bitmap);
285
286
  IM_ASSERT(gpu_bitmap != nullptr && "Backend failed to create texture!");
286
287
 
288
+ al_set_new_bitmap_flags(new_bitmap_flags);
289
+ al_set_new_bitmap_format(new_bitmap_format);
290
+
287
291
  // Store identifiers
288
292
  tex->SetTexID((ImTextureID)(intptr_t)gpu_bitmap);
289
293
  tex->SetStatus(ImTextureStatus_OK);
@@ -478,20 +482,9 @@ bool ImGui_ImplAllegro5_Init(ALLEGRO_DISPLAY* display)
478
482
  io.BackendFlags |= ImGuiBackendFlags_HasMouseCursors; // We can honor GetMouseCursor() values (optional)
479
483
  io.BackendFlags |= ImGuiBackendFlags_RendererHasTextures; // We can honor ImGuiPlatformIO::Textures[] requests during render.
480
484
 
481
- bd->Display = display;
482
485
  bd->LastCursor = ALLEGRO_SYSTEM_MOUSE_CURSOR_NONE;
483
486
 
484
- // Create custom vertex declaration.
485
- // Unfortunately Allegro doesn't support 32-bit packed colors so we have to convert them to 4 floats.
486
- // We still use a custom declaration to use 'ALLEGRO_PRIM_TEX_COORD' instead of 'ALLEGRO_PRIM_TEX_COORD_PIXEL' else we can't do a reliable conversion.
487
- ALLEGRO_VERTEX_ELEMENT elems[] =
488
- {
489
- { ALLEGRO_PRIM_POSITION, ALLEGRO_PRIM_FLOAT_2, offsetof(ImDrawVertAllegro, pos) },
490
- { ALLEGRO_PRIM_TEX_COORD, ALLEGRO_PRIM_FLOAT_2, offsetof(ImDrawVertAllegro, uv) },
491
- { ALLEGRO_PRIM_COLOR_ATTR, 0, offsetof(ImDrawVertAllegro, col) },
492
- { 0, 0, 0 }
493
- };
494
- bd->VertexDecl = al_create_vertex_decl(elems, sizeof(ImDrawVertAllegro));
487
+ ImGui_ImplAllegro5_SetDisplay(display);
495
488
 
496
489
  #if ALLEGRO_HAS_CLIPBOARD
497
490
  ImGuiPlatformIO& platform_io = ImGui::GetPlatformIO();
@@ -507,6 +500,7 @@ void ImGui_ImplAllegro5_Shutdown()
507
500
  ImGui_ImplAllegro5_Data* bd = ImGui_ImplAllegro5_GetBackendData();
508
501
  IM_ASSERT(bd != nullptr && "No platform backend to shutdown, or already shutdown?");
509
502
  ImGuiIO& io = ImGui::GetIO();
503
+ ImGuiPlatformIO& platform_io = ImGui::GetPlatformIO();
510
504
 
511
505
  ImGui_ImplAllegro5_InvalidateDeviceObjects();
512
506
  if (bd->VertexDecl)
@@ -517,9 +511,38 @@ void ImGui_ImplAllegro5_Shutdown()
517
511
  io.BackendPlatformName = io.BackendRendererName = nullptr;
518
512
  io.BackendPlatformUserData = nullptr;
519
513
  io.BackendFlags &= ~(ImGuiBackendFlags_HasMouseCursors | ImGuiBackendFlags_RendererHasTextures);
514
+ platform_io.ClearRendererHandlers();
515
+ platform_io.ClearPlatformHandlers();
520
516
  IM_DELETE(bd);
521
517
  }
522
518
 
519
+ void ImGui_ImplAllegro5_SetDisplay(ALLEGRO_DISPLAY* display)
520
+ {
521
+ ImGui_ImplAllegro5_Data* bd = ImGui_ImplAllegro5_GetBackendData();
522
+ bd->Display = display;
523
+
524
+ if (bd->VertexDecl)
525
+ {
526
+ al_destroy_vertex_decl(bd->VertexDecl);
527
+ bd->VertexDecl = NULL;
528
+ }
529
+
530
+ if (bd->Display && !bd->VertexDecl)
531
+ {
532
+ // Create custom vertex declaration.
533
+ // Unfortunately Allegro doesn't support 32-bits packed colors so we have to convert them to 4 floats.
534
+ // We still use a custom declaration to use 'ALLEGRO_PRIM_TEX_COORD' instead of 'ALLEGRO_PRIM_TEX_COORD_PIXEL' else we can't do a reliable conversion.
535
+ ALLEGRO_VERTEX_ELEMENT elems[] =
536
+ {
537
+ { ALLEGRO_PRIM_POSITION, ALLEGRO_PRIM_FLOAT_2, offsetof(ImDrawVertAllegro, pos) },
538
+ { ALLEGRO_PRIM_TEX_COORD, ALLEGRO_PRIM_FLOAT_2, offsetof(ImDrawVertAllegro, uv) },
539
+ { ALLEGRO_PRIM_COLOR_ATTR, 0, offsetof(ImDrawVertAllegro, col) },
540
+ { 0, 0, 0 }
541
+ };
542
+ bd->VertexDecl = al_create_vertex_decl(elems, sizeof(ImDrawVertAllegro));
543
+ }
544
+ }
545
+
523
546
  // ev->keyboard.modifiers seems always zero so using that...
524
547
  static void ImGui_ImplAllegro5_UpdateKeyModifiers()
525
548
  {
@@ -661,6 +684,11 @@ void ImGui_ImplAllegro5_NewFrame()
661
684
  io.DeltaTime = bd->Time > 0.0 ? (float)(current_time - bd->Time) : (float)(1.0f / 60.0f);
662
685
  bd->Time = current_time;
663
686
 
687
+ // Allegro 5 doesn't receive PrintScreen under Windows
688
+ #ifdef _WIN32
689
+ io.AddKeyEvent(ImGuiKey_PrintScreen, (::GetAsyncKeyState(VK_SNAPSHOT) & 0x8000) != 0);
690
+ #endif
691
+
664
692
  // Setup mouse cursor shape
665
693
  ImGui_ImplAllegro5_UpdateMouseCursor();
666
694
  }
@@ -32,6 +32,7 @@ IMGUI_IMPL_API void ImGui_ImplAllegro5_Shutdown();
32
32
  IMGUI_IMPL_API void ImGui_ImplAllegro5_NewFrame();
33
33
  IMGUI_IMPL_API void ImGui_ImplAllegro5_RenderDrawData(ImDrawData* draw_data);
34
34
  IMGUI_IMPL_API bool ImGui_ImplAllegro5_ProcessEvent(ALLEGRO_EVENT* event);
35
+ IMGUI_IMPL_API void ImGui_ImplAllegro5_SetDisplay(ALLEGRO_DISPLAY* display);
35
36
 
36
37
  // Use if you want to reset your rendering device without losing Dear ImGui state.
37
38
  IMGUI_IMPL_API bool ImGui_ImplAllegro5_CreateDeviceObjects();
@@ -16,6 +16,7 @@
16
16
 
17
17
  // CHANGELOG
18
18
  // (minor and older changes stripped away, please see git history for details)
19
+ // 2025-09-18: Call platform_io.ClearRendererHandlers() on shutdown.
19
20
  // 2025-06-11: DirectX10: Added support for ImGuiBackendFlags_RendererHasTextures, for dynamic font atlas.
20
21
  // 2025-05-07: DirectX10: Honor draw_data->FramebufferScale to allow for custom backends and experiment using it (consistently with other renderer backends, even though in normal condition it is not set under Windows).
21
22
  // 2025-01-06: DirectX10: Expose selected render state in ImGui_ImplDX10_RenderState, which you can access in 'void* platform_io.Renderer_RenderState' during draw callbacks.
@@ -73,7 +74,7 @@ struct ImGui_ImplDX10_Data
73
74
  ID3D10InputLayout* pInputLayout;
74
75
  ID3D10Buffer* pVertexConstantBuffer;
75
76
  ID3D10PixelShader* pPixelShader;
76
- ID3D10SamplerState* pFontSampler;
77
+ ID3D10SamplerState* pTexSamplerLinear;
77
78
  ID3D10RasterizerState* pRasterizerState;
78
79
  ID3D10BlendState* pBlendState;
79
80
  ID3D10DepthStencilState* pDepthStencilState;
@@ -140,7 +141,7 @@ static void ImGui_ImplDX10_SetupRenderState(ImDrawData* draw_data, ID3D10Device*
140
141
  device->VSSetShader(bd->pVertexShader);
141
142
  device->VSSetConstantBuffers(0, 1, &bd->pVertexConstantBuffer);
142
143
  device->PSSetShader(bd->pPixelShader);
143
- device->PSSetSamplers(0, 1, &bd->pFontSampler);
144
+ device->PSSetSamplers(0, 1, &bd->pTexSamplerLinear);
144
145
  device->GSSetShader(nullptr);
145
146
 
146
147
  // Setup render state
@@ -200,9 +201,8 @@ void ImGui_ImplDX10_RenderDrawData(ImDrawData* draw_data)
200
201
  ImDrawIdx* idx_dst = nullptr;
201
202
  bd->pVB->Map(D3D10_MAP_WRITE_DISCARD, 0, (void**)&vtx_dst);
202
203
  bd->pIB->Map(D3D10_MAP_WRITE_DISCARD, 0, (void**)&idx_dst);
203
- for (int n = 0; n < draw_data->CmdListsCount; n++)
204
+ for (const ImDrawList* draw_list : draw_data->CmdLists)
204
205
  {
205
- const ImDrawList* draw_list = draw_data->CmdLists[n];
206
206
  memcpy(vtx_dst, draw_list->VtxBuffer.Data, draw_list->VtxBuffer.Size * sizeof(ImDrawVert));
207
207
  memcpy(idx_dst, draw_list->IdxBuffer.Data, draw_list->IdxBuffer.Size * sizeof(ImDrawIdx));
208
208
  vtx_dst += draw_list->VtxBuffer.Size;
@@ -258,7 +258,7 @@ void ImGui_ImplDX10_RenderDrawData(ImDrawData* draw_data)
258
258
  ImGuiPlatformIO& platform_io = ImGui::GetPlatformIO();
259
259
  ImGui_ImplDX10_RenderState render_state;
260
260
  render_state.Device = bd->pd3dDevice;
261
- render_state.SamplerDefault = bd->pFontSampler;
261
+ render_state.SamplerDefault = bd->pTexSamplerLinear;
262
262
  render_state.VertexConstantBuffer = bd->pVertexConstantBuffer;
263
263
  platform_io.Renderer_RenderState = &render_state;
264
264
 
@@ -268,9 +268,8 @@ void ImGui_ImplDX10_RenderDrawData(ImDrawData* draw_data)
268
268
  int global_idx_offset = 0;
269
269
  ImVec2 clip_off = draw_data->DisplayPos;
270
270
  ImVec2 clip_scale = draw_data->FramebufferScale;
271
- for (int n = 0; n < draw_data->CmdListsCount; n++)
271
+ for (const ImDrawList* draw_list : draw_data->CmdLists)
272
272
  {
273
- const ImDrawList* draw_list = draw_data->CmdLists[n];
274
273
  for (int cmd_i = 0; cmd_i < draw_list->CmdBuffer.Size; cmd_i++)
275
274
  {
276
275
  const ImDrawCmd* pcmd = &draw_list->CmdBuffer[cmd_i];
@@ -326,18 +325,18 @@ void ImGui_ImplDX10_RenderDrawData(ImDrawData* draw_data)
326
325
 
327
326
  static void ImGui_ImplDX10_DestroyTexture(ImTextureData* tex)
328
327
  {
329
- ImGui_ImplDX10_Texture* backend_tex = (ImGui_ImplDX10_Texture*)tex->BackendUserData;
330
- if (backend_tex == nullptr)
331
- return;
332
- IM_ASSERT(backend_tex->pTextureView == (ID3D10ShaderResourceView*)(intptr_t)tex->TexID);
333
- backend_tex->pTexture->Release();
334
- backend_tex->pTextureView->Release();
335
- IM_DELETE(backend_tex);
328
+ if (ImGui_ImplDX10_Texture* backend_tex = (ImGui_ImplDX10_Texture*)tex->BackendUserData)
329
+ {
330
+ IM_ASSERT(backend_tex->pTextureView == (ID3D10ShaderResourceView*)(intptr_t)tex->TexID);
331
+ backend_tex->pTextureView->Release();
332
+ backend_tex->pTexture->Release();
333
+ IM_DELETE(backend_tex);
336
334
 
337
- // Clear identifiers and mark as destroyed (in order to allow e.g. calling InvalidateDeviceObjects while running)
338
- tex->SetTexID(ImTextureID_Invalid);
335
+ // Clear identifiers and mark as destroyed (in order to allow e.g. calling InvalidateDeviceObjects while running)
336
+ tex->SetTexID(ImTextureID_Invalid);
337
+ tex->BackendUserData = nullptr;
338
+ }
339
339
  tex->SetStatus(ImTextureStatus_Destroyed);
340
- tex->BackendUserData = nullptr;
341
340
  }
342
341
 
343
342
  void ImGui_ImplDX10_UpdateTexture(ImTextureData* tex)
@@ -565,7 +564,7 @@ bool ImGui_ImplDX10_CreateDeviceObjects()
565
564
  desc.ComparisonFunc = D3D10_COMPARISON_ALWAYS;
566
565
  desc.MinLOD = 0.f;
567
566
  desc.MaxLOD = 0.f;
568
- bd->pd3dDevice->CreateSamplerState(&desc, &bd->pFontSampler);
567
+ bd->pd3dDevice->CreateSamplerState(&desc, &bd->pTexSamplerLinear);
569
568
  }
570
569
 
571
570
  return true;
@@ -581,7 +580,7 @@ void ImGui_ImplDX10_InvalidateDeviceObjects()
581
580
  for (ImTextureData* tex : ImGui::GetPlatformIO().Textures)
582
581
  if (tex->RefCount == 1)
583
582
  ImGui_ImplDX10_DestroyTexture(tex);
584
- if (bd->pFontSampler) { bd->pFontSampler->Release(); bd->pFontSampler = nullptr; }
583
+ if (bd->pTexSamplerLinear) { bd->pTexSamplerLinear->Release(); bd->pTexSamplerLinear = nullptr; }
585
584
  if (bd->pIB) { bd->pIB->Release(); bd->pIB = nullptr; }
586
585
  if (bd->pVB) { bd->pVB->Release(); bd->pVB = nullptr; }
587
586
  if (bd->pBlendState) { bd->pBlendState->Release(); bd->pBlendState = nullptr; }
@@ -632,13 +631,16 @@ void ImGui_ImplDX10_Shutdown()
632
631
  ImGui_ImplDX10_Data* bd = ImGui_ImplDX10_GetBackendData();
633
632
  IM_ASSERT(bd != nullptr && "No renderer backend to shutdown, or already shutdown?");
634
633
  ImGuiIO& io = ImGui::GetIO();
634
+ ImGuiPlatformIO& platform_io = ImGui::GetPlatformIO();
635
635
 
636
636
  ImGui_ImplDX10_InvalidateDeviceObjects();
637
637
  if (bd->pFactory) { bd->pFactory->Release(); }
638
638
  if (bd->pd3dDevice) { bd->pd3dDevice->Release(); }
639
+
639
640
  io.BackendRendererName = nullptr;
640
641
  io.BackendRendererUserData = nullptr;
641
642
  io.BackendFlags &= ~(ImGuiBackendFlags_RendererHasVtxOffset | ImGuiBackendFlags_RendererHasTextures);
643
+ platform_io.ClearRendererHandlers();
642
644
  IM_DELETE(bd);
643
645
  }
644
646
 
@@ -17,6 +17,7 @@
17
17
 
18
18
  // CHANGELOG
19
19
  // (minor and older changes stripped away, please see git history for details)
20
+ // 2025-09-18: Call platform_io.ClearRendererHandlers() on shutdown.
20
21
  // 2025-06-11: DirectX11: Added support for ImGuiBackendFlags_RendererHasTextures, for dynamic font atlas.
21
22
  // 2025-05-07: DirectX11: Honor draw_data->FramebufferScale to allow for custom backends and experiment using it (consistently with other renderer backends, even though in normal condition it is not set under Windows).
22
23
  // 2025-01-06: DirectX11: Expose VertexConstantBuffer in ImGui_ImplDX11_RenderState. Reset projection matrix in ImDrawCallback_ResetRenderState handler.
@@ -76,7 +77,7 @@ struct ImGui_ImplDX11_Data
76
77
  ID3D11InputLayout* pInputLayout;
77
78
  ID3D11Buffer* pVertexConstantBuffer;
78
79
  ID3D11PixelShader* pPixelShader;
79
- ID3D11SamplerState* pFontSampler;
80
+ ID3D11SamplerState* pTexSamplerLinear;
80
81
  ID3D11RasterizerState* pRasterizerState;
81
82
  ID3D11BlendState* pBlendState;
82
83
  ID3D11DepthStencilState* pDepthStencilState;
@@ -99,7 +100,7 @@ static ImGui_ImplDX11_Data* ImGui_ImplDX11_GetBackendData()
99
100
  }
100
101
 
101
102
  // Functions
102
- static void ImGui_ImplDX11_SetupRenderState(ImDrawData* draw_data, ID3D11DeviceContext* device_ctx)
103
+ static void ImGui_ImplDX11_SetupRenderState(const ImDrawData* draw_data, ID3D11DeviceContext* device_ctx)
103
104
  {
104
105
  ImGui_ImplDX11_Data* bd = ImGui_ImplDX11_GetBackendData();
105
106
 
@@ -143,7 +144,7 @@ static void ImGui_ImplDX11_SetupRenderState(ImDrawData* draw_data, ID3D11DeviceC
143
144
  device_ctx->VSSetShader(bd->pVertexShader, nullptr, 0);
144
145
  device_ctx->VSSetConstantBuffers(0, 1, &bd->pVertexConstantBuffer);
145
146
  device_ctx->PSSetShader(bd->pPixelShader, nullptr, 0);
146
- device_ctx->PSSetSamplers(0, 1, &bd->pFontSampler);
147
+ device_ctx->PSSetSamplers(0, 1, &bd->pTexSamplerLinear);
147
148
  device_ctx->GSSetShader(nullptr, nullptr, 0);
148
149
  device_ctx->HSSetShader(nullptr, nullptr, 0); // In theory we should backup and restore this as well.. very infrequently used..
149
150
  device_ctx->DSSetShader(nullptr, nullptr, 0); // In theory we should backup and restore this as well.. very infrequently used..
@@ -208,9 +209,8 @@ void ImGui_ImplDX11_RenderDrawData(ImDrawData* draw_data)
208
209
  return;
209
210
  ImDrawVert* vtx_dst = (ImDrawVert*)vtx_resource.pData;
210
211
  ImDrawIdx* idx_dst = (ImDrawIdx*)idx_resource.pData;
211
- for (int n = 0; n < draw_data->CmdListsCount; n++)
212
+ for (const ImDrawList* draw_list : draw_data->CmdLists)
212
213
  {
213
- const ImDrawList* draw_list = draw_data->CmdLists[n];
214
214
  memcpy(vtx_dst, draw_list->VtxBuffer.Data, draw_list->VtxBuffer.Size * sizeof(ImDrawVert));
215
215
  memcpy(idx_dst, draw_list->IdxBuffer.Data, draw_list->IdxBuffer.Size * sizeof(ImDrawIdx));
216
216
  vtx_dst += draw_list->VtxBuffer.Size;
@@ -272,7 +272,7 @@ void ImGui_ImplDX11_RenderDrawData(ImDrawData* draw_data)
272
272
  ImGui_ImplDX11_RenderState render_state;
273
273
  render_state.Device = bd->pd3dDevice;
274
274
  render_state.DeviceContext = bd->pd3dDeviceContext;
275
- render_state.SamplerDefault = bd->pFontSampler;
275
+ render_state.SamplerDefault = bd->pTexSamplerLinear;
276
276
  render_state.VertexConstantBuffer = bd->pVertexConstantBuffer;
277
277
  platform_io.Renderer_RenderState = &render_state;
278
278
 
@@ -282,9 +282,8 @@ void ImGui_ImplDX11_RenderDrawData(ImDrawData* draw_data)
282
282
  int global_vtx_offset = 0;
283
283
  ImVec2 clip_off = draw_data->DisplayPos;
284
284
  ImVec2 clip_scale = draw_data->FramebufferScale;
285
- for (int n = 0; n < draw_data->CmdListsCount; n++)
285
+ for (const ImDrawList* draw_list : draw_data->CmdLists)
286
286
  {
287
- const ImDrawList* draw_list = draw_data->CmdLists[n];
288
287
  for (int cmd_i = 0; cmd_i < draw_list->CmdBuffer.Size; cmd_i++)
289
288
  {
290
289
  const ImDrawCmd* pcmd = &draw_list->CmdBuffer[cmd_i];
@@ -342,18 +341,18 @@ void ImGui_ImplDX11_RenderDrawData(ImDrawData* draw_data)
342
341
 
343
342
  static void ImGui_ImplDX11_DestroyTexture(ImTextureData* tex)
344
343
  {
345
- ImGui_ImplDX11_Texture* backend_tex = (ImGui_ImplDX11_Texture*)tex->BackendUserData;
346
- if (backend_tex == nullptr)
347
- return;
348
- IM_ASSERT(backend_tex->pTextureView == (ID3D11ShaderResourceView*)(intptr_t)tex->TexID);
349
- backend_tex->pTextureView->Release();
350
- backend_tex->pTexture->Release();
351
- IM_DELETE(backend_tex);
344
+ if (ImGui_ImplDX11_Texture* backend_tex = (ImGui_ImplDX11_Texture*)tex->BackendUserData)
345
+ {
346
+ IM_ASSERT(backend_tex->pTextureView == (ID3D11ShaderResourceView*)(intptr_t)tex->TexID);
347
+ backend_tex->pTextureView->Release();
348
+ backend_tex->pTexture->Release();
349
+ IM_DELETE(backend_tex);
352
350
 
353
- // Clear identifiers and mark as destroyed (in order to allow e.g. calling InvalidateDeviceObjects while running)
354
- tex->SetTexID(ImTextureID_Invalid);
351
+ // Clear identifiers and mark as destroyed (in order to allow e.g. calling InvalidateDeviceObjects while running)
352
+ tex->SetTexID(ImTextureID_Invalid);
353
+ tex->BackendUserData = nullptr;
354
+ }
355
355
  tex->SetStatus(ImTextureStatus_Destroyed);
356
- tex->BackendUserData = nullptr;
357
356
  }
358
357
 
359
358
  void ImGui_ImplDX11_UpdateTexture(ImTextureData* tex)
@@ -580,7 +579,7 @@ bool ImGui_ImplDX11_CreateDeviceObjects()
580
579
  desc.ComparisonFunc = D3D11_COMPARISON_ALWAYS;
581
580
  desc.MinLOD = 0.f;
582
581
  desc.MaxLOD = 0.f;
583
- bd->pd3dDevice->CreateSamplerState(&desc, &bd->pFontSampler);
582
+ bd->pd3dDevice->CreateSamplerState(&desc, &bd->pTexSamplerLinear);
584
583
  }
585
584
 
586
585
  return true;
@@ -597,7 +596,7 @@ void ImGui_ImplDX11_InvalidateDeviceObjects()
597
596
  if (tex->RefCount == 1)
598
597
  ImGui_ImplDX11_DestroyTexture(tex);
599
598
 
600
- if (bd->pFontSampler) { bd->pFontSampler->Release(); bd->pFontSampler = nullptr; }
599
+ if (bd->pTexSamplerLinear) { bd->pTexSamplerLinear->Release(); bd->pTexSamplerLinear = nullptr; }
601
600
  if (bd->pIB) { bd->pIB->Release(); bd->pIB = nullptr; }
602
601
  if (bd->pVB) { bd->pVB->Release(); bd->pVB = nullptr; }
603
602
  if (bd->pBlendState) { bd->pBlendState->Release(); bd->pBlendState = nullptr; }
@@ -651,14 +650,17 @@ void ImGui_ImplDX11_Shutdown()
651
650
  ImGui_ImplDX11_Data* bd = ImGui_ImplDX11_GetBackendData();
652
651
  IM_ASSERT(bd != nullptr && "No renderer backend to shutdown, or already shutdown?");
653
652
  ImGuiIO& io = ImGui::GetIO();
653
+ ImGuiPlatformIO& platform_io = ImGui::GetPlatformIO();
654
654
 
655
655
  ImGui_ImplDX11_InvalidateDeviceObjects();
656
656
  if (bd->pFactory) { bd->pFactory->Release(); }
657
657
  if (bd->pd3dDevice) { bd->pd3dDevice->Release(); }
658
658
  if (bd->pd3dDeviceContext) { bd->pd3dDeviceContext->Release(); }
659
+
659
660
  io.BackendRendererName = nullptr;
660
661
  io.BackendRendererUserData = nullptr;
661
662
  io.BackendFlags &= ~(ImGuiBackendFlags_RendererHasVtxOffset | ImGuiBackendFlags_RendererHasTextures);
663
+ platform_io.ClearRendererHandlers();
662
664
  IM_DELETE(bd);
663
665
  }
664
666