Closed kannode closed 1 year ago
Tested the actual PR on the Mac. All good.
I have merged this PR as a branch:
https://github.com/vsg-dev/vsgImGui/tree/kannode-implot
And have also merged the associated vsgExamples PR as a branch as well:
https://github.com/vsg-dev/vsgExamples/tree/kannode-implot
Everything compiled and ran without problems. ImPlot is impressive :-)
I've just done a quick check on the size difference of vsgImGui before and after ImPlot addition.
Without ImPlot: 1,701,620 libvsgImGui.a 9,648,616 vsgimgui_example
With ImPlot: 5,212,950 libvsgImGui.a 11,993,936 vsgimgui_example
I'm surprised ImPlot adds 3.5Mb to vsgImGui, that's twice the size of ImGui.
Headers for ImPlot aren't that large compared to imgui.h:
$ wc *
39 211 1564 Export.h
120 1136 9666 imconfig.h
3077 36343 303159 imgui.h
3250 24581 235627 imgui_internal.h
18 136 1015 imgui_stdlib.h
1292 10195 78669 implot.h
1670 7422 67176 implot_internal.h
1437 6205 54857 imstb_textedit.h
97 352 3583 RenderImGui.h
64 259 2379 SendEventsToImGui.h
I don't know what to make of this yet. Thoughts?
My idea is examples like histogram2d need more complex code, but don't really know it. Thanks for considering implot!
We are going to use the new branches in out software step by step, all runs well.
The demo features that are built into ImGui and ImPlot are cool but I do wonder what the footprint of having them included in vsgImGui. I don't know if it's possible to choose to prune this.
I have looked into the inclusion of the demo features and imconfig.h allows you to toggle off the demo features. but right now the vsgImGui is copying across the imconfig.h so local changes are lost.
I wonder if we can come up with a scheme that allows customization. This is a different topic than this particular PR though so I'll revisit this in the future.
I have gone ahead and merge this PR, thanks to @kannode and @rainergericke.