Introduction
Hi there!
This is quite a big release. It comes with imgui v1.92.3 🎉 as well as imgui impl wrapper (making it possible to implement more backends on go side).
Breaking changes
Some time ago, Dear ImGui came up with a big release - v1.92.0. This release contains several refactors such as:
- Fonts rework
- New
TextureRefmechanism
This unfortunately caused several breaking changes in our project:
- The following obsolate, manually-wrapped functions have been removed:
TextureDataAsAlpha8GetTextureDataAsRGBA32
backend.Texturetype was updated to use newly addedimgui.TextureRefas itsIDvalue.
Tip
imgui.NewTextureRefTextureIDis a function that could be used to convertimgui.TextureIDtoimgui.TextureRef.ref.TexID()returnsimgui.TextureID.
Regular changes recap
- Added Go wrappers for
imgui_impl_XXXfiles.- they are extremely useful when creating custom backends, e.g. it should be possible now to create a backend using go-gl/glfw (not tested yet)
- At the moment, the following impl wrappers are available:
- glfw (
imgui_impl_glfw.h) - opengl3 (
imgui_impl_opengl3.h) - sdl2 (
imgui_impl_sdl2.h)
- glfw (
- read more in a dedicated readme file: https://github.com/AllenDang/cimgui-go/tree/main/impl
- some missing
ebitenbackendfeatures have been implemented - utils: there is a new helper method called
PtrToSlice. Feel free to use it whenever you see fit :sile:.
What's Changed - detailed changelog (by PR)
- build(deps): bump golangci/golangci-lint-action from 6.5.1 to 6.5.2 by @dependabot[bot] in #415
- build(deps): bump github.com/hajimehoshi/ebiten/v2 from 2.8.6 to 2.8.7 by @dependabot[bot] in #417
- utils: add PtrToSlice by @gucio321 in #419
- Custom finalizer by @gucio321 in #421
- build(deps): bump golangci/golangci-lint-action from 6.5.2 to 7.0.0 by @dependabot[bot] in #416
- codegen(preset): fix json formatting by @gucio321 in #422
- Golangci fix by @gucio321 in #423
- build(deps): bump github.com/hajimehoshi/ebiten/v2 from 2.8.7 to 2.8.8 by @dependabot[bot] in #425
- workflows(golangci): upgrade golangci-lint version to v2.1.6 by @gucio321 in #427
- build(deps): bump golangci/golangci-lint-action from 7.0.0 to 8.0.0 by @dependabot[bot] in #426
- project: run make update by @gucio321 in #430
- backend/glfw: Fix frame timing by @FANS4ever in #428
- Imgui impl wrapper by @gucio321 in #431
- Codegen: implement regex by @gucio321 in #432
- Remove impl prefix by @gucio321 in #433
- Ebiten backend: add missing functions by @gucio321 in #436
- Logger improvement by @gucio321 in #435
- Ebiten backend: add more missing functions by @gucio321 in #440
- ebitenbackend: add EbitenBackendFlagsTransparent by @gucio321 in #441
- build(deps): bump stefanzweifel/git-auto-commit-action from 5 to 6 by @dependabot[bot] in #442
- impl/glfw: do NOT link libglfw3.a by @gucio321 in #447
- fix(codegen): do not further modify names if Replace by @gucio321 in #451
- fix(codegen): generate getter and setter separately by @gucio321 in #450
- feat(codegen): enhance ImVector generation by @gucio321 in #452
- BREAKING deps(update): run make update by @gucio321 in #448
- Impl: add sdl by @gucio321 in #453
- Redame refactor by @gucio321 in #455
- BREAKING: backend: use TextureRef instead of TextureID by @gucio321 in #456
- build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #460
- build(deps): bump actions/setup-go from 5 to 6 by @dependabot[bot] in #462
- readme: add varargs note by @gucio321 in #465
- workflow/compile-cimgui/macos: remove build dir after building for x86 and before arm by @gucio321 in #467
- codegen: add evil regex in gencpp by @gucio321 in #468
- Update imgui to the latest release (1.92.3+) by @gucio321 in #466
New Contributors
- @FANS4ever made their first contribution in #428
Full Changelog: v1.3.1...v1.4.0