Releases: JaedanC/pygui
Releases · JaedanC/pygui
pygui.windows.v1.92.6.1
Breaking changes:
- See Imgui docs for breaking changes around particularly images and TextureRefs.
- TextureRefs were introduced in the previous version of ImGui. This version expands upon this and changes the Pygui API to include TextureRefs only. You can no longer pass int's from PIL/OpenGL straight to ImGui. It must be wrapped in a TextureRef first. See below:
from PIL import Image
image = Image.open(resource_path("pygui/img/code.png"))
texture_id = pygui.load_image(image)
texture_ref = pygui.ImTextureRef.create(texture_id)
...
pygui.image(texture_ref, (100, 100))
...
texture_ref.destroy()Features:
- Updated ImGui version to v1.92.6-docking
- As seen above,
pygui_demo.pynow references files usingresource_path. This allows resources to be correctly loaded when Pygui is compiled using PyInstaller. - Fixed broken vsync toggle in
app.py. - Added
pygui_demo.limit_fps()function for those looking for a non-vsync way to limit fps.
pygui.windows.v1.92.5.2
Breaking changes:
- See Imgui docs for breaking changes around particularly fonts and textures.
- Images now use a TextureRef from the latest version of ImGui.
- Simplified the pygui specific .cpp and .h headers by expanding them into their own files.
- Fixed many ImGuiIO fields that are arrays of length 5, to keep track of different mouse buttons. Check the .pyi file to see the changes.
io = pygui.get_io()
# Before
io.mouse_down # Returns whether Mouse1 (left mouse) is clicked
# After
io.mouse_down[0] # Returns whether Mouse1 (left mouse) is clicked
io.mouse_down[1] # Returns whether Mouse2 (right mouse) is clicked
io.mouse_down[2] # Returns whether Mouse3 (middle mouse) is clicked
io.mouse_down[3] # Returns whether Mouse4 is clicked
io.mouse_down[4] # Returns whether Mouse5 is clickedFeatures:
- Updated ImGui version to v1.92.5-docking
- Re-added font implementation.
- More fields and functions added. ImGuiIO config fields can now be all written to.
- The Python .pyi stub file includes
@staticmethodso less errors with linters. - Fixed the duplication of fields and methods in the .pyi files when a new class or struct is added to the Dear Bindings spec.
pygui.windows.v1.92.2b.1
Breaking changes:
- See Imgui docs for breaking changes around particularly fonts.
- Compiled using Python 3.12.10
- Removed references to fonts functions in
app.py.pygui_demo.pyhas functions mentioning legacy fonts stubbed.
Features:
- Updated ImGui version to
v1.92.2b-docking
TODO:
- Need to look at fonts again post ImGui's update
pygui.windows.v1.91.6.1
Breaking changes:
- All source references use
dcimguiinstead ofcimguidue to dear_bindings update
Features:
- Updated ImGui version to
v1.91.6-docking - Font Selection working again
pygui.windows.v1.91.2.1
Breaking changes:
- Binary compiled with Python 12.6. Can compile from source in whatever version you like however
Features:
- Updated ImGui version to
v1.91.2-docking - Multi-select support (and associated
pygui_demo.pyexamples) - Drag and drop payloads working again
pygui_demo.pyhas better linting
pygui.windows.v1.91.1.1
Breaking Changes:
- Breaking changes subject to ImGui API changes.
- Any implementation specific functions calls now start with
c_. E.g:
# Before
pygui.impl_open_gl3_init()
# After
pygui.c_impl_open_gl3_init()Features:
- Uses a single DLL for cimgui now which likely means it is more performant 🔥
- Added some more functions
pygui.windows.v1.90.6.1
Releasing with CMAKE set to release. Should no longer run into missing DLL prompts when downloading pygui on the PC that does not have Visual studio.
Future tags will be named with the ImGui version like this one :)
v1.6 windows
Breaking changes:
- Froze pip dependencies (make sure you use the same dependencies)
- See https://github.com/ocornut/imgui/releases for any breaking changes with the API itself
Features:
- Updated supported ImGui version to
docking 1.90.1
Known bugs:
- See #1
v1.5 windows
Just some more functions...
Nice.
pygui.windows.v1.4
Breaking changes:
| Old Name | New Name |
|---|---|
BoolPtr |
Bool |
IntPtr |
Int |
LongPtr |
Long |
FloatPtr |
Float |
DoublePtr |
Double |
StrPtr |
String |
Vec2Ptr |
Vec2 |
Vec4Ptr |
Vec4 |
Vec2&Vec4.vec()renamed to.tuple().from_vec()renamed to.from_tuple()
ImGuiPayloadrelated functions now return anImGuiPayloadlike ImGui. Accessing user data is now done withImGuiPayload.data.accept_drag_drop_payload()andget_drag_drop_payload()are affected.
Features:
- More
ImDrawListdrawing functions - More
ImGuiListClipperfunctions - Drag & Drop in line with ImGui
- Standardised primitive wrappers (see above)
ImGuiTextCallbacksworkingImGuiTextFilterfunctions