Skip to content

Latest commit

 

History

History
148 lines (124 loc) · 8.14 KB

Changelog.md

File metadata and controls

148 lines (124 loc) · 8.14 KB

Version numbers are synced between hello_imgui and imgui_bundle.

v1.6.0 WIP

  • SVG Font rendering: plutosvg replaces lunasvg (option HELLOIMGUI_USE_FREETYPE_PLUTOSVG on by default)

v1.5.0

  • 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"

v1.4.2

  • Integration with vcpkg ongoing (see PR)
  • Reviewed CMake backend selection process You can now build with several rendering backends and several platform backends at the same time.
  • Work on vcpk packaging

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:

  • this will not support ImGui Test Engine, as it is not available in vcpkg yet.
  • See CI Tests: VcpkgDeps

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:

  • See CI Tests: VcpkgPackage

Other

  • Update update imgui to v1.90.1-docking
  • Add demo + doc / FontAwesome 6

v1.3.0

New Features

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)

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