Releases: AllenDang/cimgui-go
v1.0.1
Introduction
Hi there!
This is a small bugfix release for v1.0.0.
It mainly includes a fix to ClipboardHandler
and a minor change in sdlbackend
that allows to run OpenGL code in cimgui-go loop.
Today our project was also added to the awesome-go 🎉
What's Changed
- readme: add badges on top by @gucio321 in #328
- This change moves the calls to glViewport, glClearColor, glClear so t… by @Bradbev in #333
- Fix clipboard by @gucio321 in #332
- Fix dummy formatting by @gucio321 in #336
- README: add awesome go badge by @gucio321 in #337
Full Changelog: v1.0.0...v1.0.1
v1.0.0
INTRODUCTION
Hi everyone!
I have the honor to annouce the first cimgui-go release.
The great work has been done on this project since Tue Aug 9 12:12:13 2022 when @AllenDang did the first commit in 5ee6a09.
Now cimgui-go became mature enough to receive its first stable release.
Code version
We are using code from several third party repositories. As we couldn't use (because of some complex reasons) Git Submodules, we've recorded their versions in VERSION.txt, which on the current v1.0.0 moment looks as follows:
cimgui (https://github.com/cimgui/cimgui) HEAD is on: 0c7f67607d2aac88f5eaa9aa907a868a17144d58
cimgui/imgui HEAD is on: 8ba7efb738d6ee992ef81b451162591e43badbcf
cimplot (https://github.com/cimgui/cimplot) HEAD is on: 439f705b1cfae0e9fbe42c13ab5b45becc47d404
cimplot/implot HEAD is on: f156599faefe316f7dd20fe6c783bf87c8bb6fd9
cimnodes (https://github.com/cimgui/cimnodes) HEAD is on: f20c83c3cab8e99828d85c66ed3acd087f632c21
cimnodes/imnodes HEAD is on: 8563e1655bd9bb1f249e6552cc6274d506ee788b
cimmarkdown (https://github.com/gucio321/cimmarkdown) HEAD is on: 6e921ffc2b57a9969b98bf8f5aeed912bfb497f6
cimmarkdown/imgui_markdown HEAD is on: 4eb198f68090c9a1622bb9c78ee61f65b6ddc898
Dear ImGui Plugins
As everyone knows, Dear ImGui has many cool plugins.
With help of @sonoro1234 (who created the awesome cimgui project) we managed to implement the following plugins:
- implot - Immediate Mode Plotting
- imnodes - A small, dependency-free node editor for dear imgui
- imgui_markdown - Markdown for Dear ImGui (not completely functional, see limitations)
Backends
Because in many cases using Dear ImGui without graphics bakend implementation is annoying (requires user to implement it manually), we've decided to include a few useful backend implementations in this repository, including:
- GLFW + OpenGL backend (based on an example form imgui)
- SDL + OpenGL backend (also basing on another example from imgui)
- Ebiten backend, which is a go native largest open source renderer. In this point I'd like to once again express large thanks to @gabstv and @damntourists - the initiators and creators of the code responsible for this backend.
Known Limitations
Unfortunately we do not lack issues and problems with our generator as well as with our backends. Here are pointed out the largest of them that will be hopefully fixed in the future releases.
- Callbacks generation - C->Go->C callbacks are not easy to do unfortunately. I feel like noone did them in an elegant way before but we'll work on it in the future.
- The main recommended backend is for now GLFW, as only this backend has full set of features provided for in the
backend.Backend
interface. Other backends may lack some of them yet.
Detailed Changelog
What's Changed
- Add additional libraries to backend.go cgo statements for amd64,linux… by @hallum in #2
- Make glfw backend optional by @ptxmac in #5
- Add helper to get font texture as Alpha8 by @ptxmac in #4
- [bugfix] Put Z before W in Vec4 by @ptxmac in #3
- Sort identifiers lexigoraphically for reprodicible code generation by @eliasdaler in #24
- fix glfw context #29 by @SuperGod in #30
- Example: Fix texture, spelling, and error message by @asmaloney in #37
- test: Fix build & spelling by @asmaloney in #38
- proposal: use git submodules for storing imgui dependencies by @gucio321 in #18
- Glfw submodule by @gucio321 in #40
- Revert "Merge pull request #18 from gucio321/use-submodules" by @gucio321 in #46
- cmd/codegen: improve debug information by @gucio321 in #52
- workflows: add github action for checking code on Pull Requests by @gucio321 in #45
- Revert "Add GLFW as a git submodule (#40)" by @gucio321 in #53
- Trim ImGui/Im prefixes from Dear ImGui enums by @eliasdaler in #26
- Wrapper: use generics by @gucio321 in #61
- test.yaml: check for diffs in auto-generated files by @gucio321 in #62
- codegen: return out value instead of taking pointer to it by @gucio321 in #65
- gencode: not rename GetCursor* to GetDrawCurosr* by @gucio321 in #66
- gitignore: ignore editor's temporary files by @gucio321 in #59
- ImVec2/ImVec4: add basic algebra by @gucio321 in #49
- codegen: returnWraper does not need FuncDefs arg anymore by @gucio321 in #68
- generator: add package header by @gucio321 in #57
- cmd/codegen: add missing ImWchar return type by @gucio321 in #51
- codegen: bunch of refactors by @gucio321 in #70
- Makefile by @gucio321 in #67
- codegen: trim trailing _ suffix in enums by @gucio321 in #73
- Extra types: trim im/ImGui prefix by @gucio321 in #75
- Codegen: cleanup by @gucio321 in #71
- Codegen cleanup #2 by @gucio321 in #76
- Codegen cleanup by @gucio321 in #77
- Add conversions for Color by @neclepsio in #78
- proposal: change package name
cimgui
->imgui
by @gucio321 in #81 - codegen: refactor by @gucio321 in #82
- Add idiomatic bindings by @neclepsio in #79
- Setup linter by @gucio321 in #83
- extra types: rename NewColor's args from x,y,z,w to r,g,b,a by @gucio321 in #86
- codegen: remove pointer receivers by @gucio321 in #88
- Fix nonudt functions return by @gucio321 in #93
- arg type: change type of array arguments from [n]*type -> *[n]type by @gucio321 in #85
- test workflow: add test names by @gucio321 in #97
- extra types: fix data race issues by @gucio321 in #98
- Hotfix: finishers strategy by @gucio321 in #96
- implot internal support by @WinPooh32 in #99
- Implement PlotTime by @WinPooh32 in #102
- Fix newlines by @gucio321 in #103
- workflow: add windows test by @gucio321 in #107
- extra types: fix C type in plot time by @gucio321 in #106
- add window.SetShouldClose method by @WinPooh32 in #110
- build(deps): bump golangci/golangci-lint-action from 3.3.1 to 3.4.0 by @dependabot in #111
- build(deps): bump actions/checkout from 2.3.4 to 3.3.0 by @dependabot in #114
- build(deps): bump actions/setup-go from 3 to 4 by @dependabot in #115
- make: use gofumpt instead of gofmt by @gucio321 in #116
- Include internal functions by @gucio321 in #119
- argumentwrapper: Add support for const ImRect by @ptxmac in #121
- makefile: add update rule by @gucio321 in #122
- Add type KeyChord by @ptxmac in #124
- Backend: refactoring by @gucio321 in #126
- Output parameter default hints in the same order as in the function by @ptxmac in #125
- makefile: update: checkout branches before generating by @gucio321 in #130
- Add helper to install clipboard callbacks by @ptxmac in #128
- codegen: consider non-pointer arguments of auto-generated struct type by @gucio321 in #132
- Improve logging by @gucio321 in #133
- codegen: wrappers improvement by @gucio321 in #135
- Comments by @gucio321 in #136
- b...