Releases: pthom/hello_imgui
v1.6.0
Changes
- Add `HelloImGui::ManualRender: a namespace that groups functions, allowing fine-grained control over the rendering process
- SVG Font rendering: plutosvg replaces lunasvg (option HELLOIMGUI_USE_FREETYPE_PLUTOSVG on by default): this enable to render more SVG fonts
- Improve font rendering on iOS
- Added AddDockableWindow / RemoveDockableWindow
- demo_docking: better demonstration / theme customization
- Work on pyodide integration (for ImGui Bundle)
Contributions and contributors
- Redundant boolean literal in conditional return statement and code cleanup by @TheZitroX in #117
- Changed Minor typo in CMakeLists.txt by @abinash18 in #122
New Contributors
- @TheZitroX made their first contribution in #117
Full Changelog: v1.5.2...v1.6.0
v1.5.2
- Updated imgui to v1.90.9
- Small fixes
Full Changelog: v1.5.0...v1.5.2
v1.5.1
Changes
- Improved rendering on Windows (via antialiasing)
- Add IniFolderType.AbsolutePath
- Polish themes
- Add callback PostRenderDockableWindows
- Added optional hello_imgui.ini file,
as a way to do advanced configuration for Dpi and OpenGL rendering options - Add PushTweakedTheme / PopTweakedTheme (different ImGui windows can use a different theme. See demo docking)
- Add DpiAwareParams: see doc
- Add HelloImGui::ImageAndSizeFromAsset see doc
- callbacks.LoadAdditionalFonts can be modified and reused during execution
- add null backend (see https://pthom.github.io/hello_imgui/book/doc_params.html#backend-selection)
- Add optional OpenGlOptions
- Add widgets InputTextResizable + WidgetWithResizeHandle: see doc
- Add HelloImGui::LoadDpiResponsiveFont: see doc
Add FontAwesome options with support for FontAwesome 4 and FontAwesome 6:
Breaking change: you need to include manually the icons: #include "hello_imgui/icons_font_awesome_4.h"
The default icon font is FontAwesome 4 (for backward compatibility), but v6 includes many more icons
In order to select Font Awesome 6, you need to set the following in your runnerParams:
runnerParams.runnerCallbacks.defaultIconFont = hello_imgui::IconFont::FontAwesome6;
and then include:
#include "hello_imgui/icons_font_awesome_6.h"
Contributions & contributors
Many thanks to all contributors!
What's Changed
- Move more targets to solution folders by @learn-more in #94
- Disable python line ending translation by @learn-more in #97
- Remove obsolete
BackendType
selection by @learn-more in #96 - Fixed a bug with the google closure compiler failing when trying to c… by @abinash18 in #102
- Simplify hello_imgui_add_app win32 implementation by @xuboying in #103
- format a place by @sAkuraOfficial in #104
New Contributors
- @learn-more made their first contribution in #94
- @abinash18 made their first contribution in #102
- @xuboying made their first contribution in #103
- @sAkuraOfficial made their first contribution in #104
Full Changelog: v1.4.2...v1.5.0
v1.5.0-rc1
High level overview
- Add DpiAwareParams: see doc
- Add HelloImGui::ImageAndSizeFromAsset see doc
- callbacks.LoadAdditionalFonts can be modified and reused during execution
- add null backend (see https://pthom.github.io/hello_imgui/book/doc_params.html#backend-selection)
- Add optional OpenGlOptions
- Add widgets InputTextResizable + WidgetWithResizeHandle: see doc
- Add HelloImGui::LoadDpiResponsiveFont: see doc
Add FontAwesome options with support for FontAwesome 4 and FontAwesome 6:
Breaking change: you need to include manually the icons: #include "hello_imgui/icons_font_awesome_4.h"
The default icon font is FontAwesome 4 (for backward compatibility), but v6 includes many more icons
In order to select Font Awesome 6, you need to set the following in your runnerParams:
runnerParams.runnerCallbacks.defaultIconFont = hello_imgui::IconFont::FontAwesome6;
and then include:
#include "hello_imgui/icons_font_awesome_6.h"
Contributors & Details
- Move more targets to solution folders by @learn-more in #94
- Disable python line ending translation by @learn-more in #97
- Remove obsolete
BackendType
selection by @learn-more in #96 - Fixed a bug with the google closure compiler failing when trying to c… by @abinash18 in #102
- Simplify hello_imgui_add_app win32 implementation by @xuboying in #103
- format a place by @sAkuraOfficial in #104
New Contributors
- @learn-more made their first contribution in #94
- @abinash18 made their first contribution in #102
- @xuboying made their first contribution in #103
- @sAkuraOfficial made their first contribution in #104
Full Changelog: v1.4.2...v1.5.0-rc1
v1.4.2
v1.4.1
Small fixes / vcpkg
Full Changelog: v1.4.0...v1.4.1
v1.4.0
v1.4.0
Vcpkg support for dependencies
You can install almost all required dependencies with vcpkg.
# Clone hello_imgui
git clone https://github.com/pthom/hello_imgui.git
cd hello_imgui
# Clone vcpkg -& bootstrap
git clone https://github.com/microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.sh
# Install dependencies required by hello_imgui
./vcpkg/vcpkg install "glad[gl-api-43] stb freetype lunasvg glfw3 sdl2 imgui[opengl3-binding, docking-experimental, glfw-binding, sdl2-binding,freetype, freetype-lunasvg]"
# Build hello_imgui
mkdir build && cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build . -j 4
Notes:
Vcpkg packaging
hello_imgui is now ready to be integrated to vcpkg.
You can test this with the following commands:
# Clone hello_imgui (just to get the overlay in hello_imgui_cmake/overlay_vcpkg/hello-imgui)
git clone https://github.com/pthom/hello_imgui.git
cd hello_imgui
# Clone vcpkg -& bootstrap
git clone https://github.com/microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.sh
# Install hello_imgui via vcpkg (using the overlay)
./vcpkg/vcpkg install "hello-imgui[opengl3-binding, glfw-binding, sdl2-binding]" --overlay-ports=hello_imgui_cmake/overlay_vcpkg/hello-imgui
Notes:
Other
- Update update imgui to v1.90.1-docking
- Add demo + doc / FontAwesome 6
Full Changelog: v1.3.0...v1.4.0
v1.3.0
Version numbers are synced between hello_imgui and imgui_bundle.
New Features
- Added EdgeToolbars: see definition, callbacks, example usage, and demo
- Callbacks: add EnqueuePostInit, EnqueueBeforeExit, PostInit_AddPlatformBackendCallbacks
- Add renderer_backend_options
- Add support for Extended Dynamic Range (EDR) on macOS : see PR. Added demo / EDR - Only works with Metal
- Test Engine: can re-call params.callbacks.RegisterTests
- rememberEnableIdling default=false (true is too surprising)
- emscripten: Use webgl2 / GLES3
Other, between v1.0.0 and v1.3.0
- Added nice documentation pages
- Uses Freetype for font rendering
- Improved Font Loading utility
- Added support for Colored font and Emoji fonts (Demo)
- Can fully customize the menu bar
- Added support for macOS application bundles
- Added option to specify where settings are saved:
RunnerParams.iniFolderType
can be set to:CurrentFolder
,AppUserConfigFolder
,DocumentsFolder
,HomeFolder
,TempFolder
,AppExecutableFolder
. - Support for Application Icon: the file
assets/app_settings/icon.png
will be used to generate the window icon (C++, Python), and app icon (C++ only) for any platform. See assets structure below:
assets/
├── world.png # A custom asset
├── app_settings/ # Application settings
│ ├── icon.png # This will be the app icon, it should be square
│ │ # and at least 512x512. It will be converted
│ │ # to the right format, for each platform.
│ ├── apple/
│ │ └── Info.plist # macOS and iOS app settings
│ │ # (or Info.ios.plist + Info.macos.plist)
├── fonts/
│ ├── DroidSans.ttf # Default fonts
│ └── fontawesome-webfont.ttf # used by HelloImGui
│ ├── Roboto
│ │ ├── Roboto-Bold.ttf # Font used by Markdown
│ │ ├── Roboto-BoldItalic.ttf
│ │ ├── Roboto-Regular.ttf
│ │ └── Roboto-RegularItalic.ttf
│ ├── SourceCodePro-Regular.ttf
├── images
│ └── markdown_broken_image.png
- hello_imgui_add_app and imgui_bundle.add_app can now accept ASSETS_LOCATION as a parameter e.g.
hello_imgui_add_app(my_app file1.cpp file2.cpp ASSETS_LOCATION my_assets)
What's Changed
- new CustomBackground callback by @wkjarosz in #72
- Fix View menu separators by @wkjarosz in #75
- fix idling using fpsIdle == 0 in emscripten by @wkjarosz in #84
- requestFloatBuffer option by @wkjarosz in #89
New Contributors
Full Changelog: v1.0.0...v1.3.0
v1.0.0
v1.0.0
- Integrated ImGui Test Engine
- Layout & docking: can switch between several layout and save their settings separately
- Reduce FPS when not in use to save CPU usage: added FpsIdling options
- Can store custom user preferences
- Greatly improved HighDpi support
- Improved Theming and Themes
- Added callbacks: PostInit / BeforeExit_PostCleanup / PreNewFrame
- MingW compatibility (and CI)
- Make it possible to run without assets/fonts
- Improved emscripten multithread support
What's Changed
- Fixed build MinGW 8.1 by @BigBIueWhale in #31
- Fix integer conversion warning seen on Windows MSVC by @Guillaume227 in #44
- [fix] App window forces itself to the foreground by @Guillaume227 in #47
- fix c++ standard version in readme by @iAndyHD3 in #54
- fix IsRegularFile and LoadAssetFileData_Impl by @XMNXofficial in #59
New Contributors
- @BigBIueWhale made their first contribution in #31
- @Guillaume227 made their first contribution in #44
- @iAndyHD3 made their first contribution in #54
- @XMNXofficial made their first contribution in #59
Full Changelog: 0.8.0...v1.0.0