-
Notifications
You must be signed in to change notification settings - Fork 150
Closed
Description
The idea is to migrate from gtkmm to ImGui (https://github.com/ocornut/imgui)
- ImGui is "bloat-free graphical user interface library for C++" and very fast mainly for games but it is also used for lot of amazing tools see https://github.com/ocornut/imgui/wiki/Software-using-dear-imgui
- A good example of util using opengl and multi-platform is https://github.com/WerWolv/ImHex (the Windows exe ImHex.exe v1.5 does not have any external dependencies and size is only 12.4MB)
- ImGui is supported by major actors like Blizzard, Google, Nvidia, Ubisoft ...
- ImGui license is MIT which is really better than GPL/LGPL for gtkmm
- ImGui support some very nice widget which are not available in gtkmm see https://github.com/ocornut/imgui/wiki/Useful-Widgets
- We can do very nice/advanced real-time graphics using ImPlot https://github.com/epezent/implot
- See also nice Display of waveform and spectrum with https://github.com/soulthreads/imgui-plot
- We can do very nice Node Editors using Node Editor in ImGui https://github.com/thedmd/imgui-node-editor
- We can do very nice controls for displaying performance metrics using MetricsGui https://github.com/GameTechDev/MetricsGui
- We can do very nice/advanced real-time graphics using ImPlot https://github.com/epezent/implot
For following reasons/known issues with gtkmm:
- Full-screen broken on Windows see [Windows] Going into fullscreen mode and out again causes the window title bar to permanently disappear #273
- gtkmm is really bloated with tons of dlls (more than 20 dependencies/dll and a real nightmare to package it and build it as static build with GPL/LGPL license conflicts ...)
- So far to display text it is not natively managed in gtkmm with opengl support and it is done with the bloated/slow cairo ... (it is natively supported with very nice/fast GUI/Widget... in ImGui)
- TODO add other issues with gtkmm (especially related to portability, slowness, limitations)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels