Functionality had to be moved to a separate source file due to namespace
pollution from X11 headers.
Note that this doesn't set proper parent of file dialogs on Linux, as
GTK is broken and requires passing a GtkWindow parent.
- set ImGuiConfigFlags_ViewportsEnable
- correct render loop logic with viewport api calls, SetNextWindowViewport(), UpdatePlatformWindows(), RenderPlatformWindowsDefault()
- Fix: coords in abs space now, SetNextWindowPos()
NOTE:
- I have viewports turned on by default so you can easy test (comment out io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable; and you get old behavior)
- Jankiness with multiviewports isn't bc perf hit; it's bc profiler reduces it's tick rate when it's not in focus. So, that bit of logic needs to be updated if you really care
- I haven't encountered any issues over past week but discount that by 50% since i'm new to tracy. No promises some UI wasn't regresssed
- Key things to watch out for is enabling viewports turns ImGui into using absolute monitor coords instead of window coords (ie SetPosition(0,0) => monitor top left, not window top/left
This modifies all of the include and lib paths to point to vcpkg/vcpkg/installed/x64-windows-static/include and lib.
With these changes, all executables in Tracy build out of the box in all configurations (assuming you have run the install_vcpkg_depencies.bat script first).
Perhaps it would be better to use a single Visual Studio .props file that all of the .vcxproj files point to so that the include and lib paths are set in a single place, but for now the paths are set separately in each .vcxproj.