Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cross-platform dialog UI replacement #95

Open
rollerozxa opened this issue Mar 10, 2023 · 3 comments · May be fixed by #138
Open

Cross-platform dialog UI replacement #95

rollerozxa opened this issue Mar 10, 2023 · 3 comments · May be fixed by #138

Comments

@rollerozxa
Copy link
Collaborator

Currently, Principia uses platform specific dialog toolkits, native platform dialogs on Android/iOS and GTK2 on Windows/Linux. This causes inconsistency between platforms and raises the amount of work and duplication for a new platform if it doesn't support GTK2.

Some replacement dialog UI should be made that can be integrated into the Principia window and that is fully cross-platform. Something like Dear Imgui, but it MUST have decent touch support (it should be able to support standard touch gestures and not be a downgrade on Android and any other potential platforms that use touch). See Minetest's GUI on Android for an example of what I would not want to happen.

@griffi-gh
Copy link
Contributor

griffi-gh commented Mar 12, 2023

ImGui is the perfect option, i think

NanoGUI looks pretty cool, although it hasn't been updated in 4 years
https://github.com/wjakob/nanogui

No GLES support

We could also write our own gui library

@griffi-gh
Copy link
Contributor

griffi-gh commented Mar 12, 2023

Nothing will feel like native widgets on mobile platforms without huge amount of work so I think keeping native gui on android may be a good idea.
moreover ImGui does not support multitouch.

@griffi-gh
Copy link
Contributor

maybe we should just extend the built-in TMS widget system to support stuff like text input

@griffi-gh griffi-gh linked a pull request Sep 4, 2023 that will close this issue
17 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants