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

Consider redesign of UI Facade #690

Open
Danielku15 opened this issue Dec 29, 2021 · 0 comments
Open

Consider redesign of UI Facade #690

Danielku15 opened this issue Dec 29, 2021 · 0 comments
Assignees
Labels
area-rendering Everything related to the rendering platform-all Affects all platforms type-improvement 🚀

Comments

@Danielku15
Copy link
Member

As part of #689 and along the Android implementations there were some findings on how the UI facade is currently handled. The abstraction towards the UI is designed currently quite generic abstracting UI controls and their actions. This makes it hard to benefit from platform specific UI behaviors. Especially on android realizing a UI with this generic approach will be challenging.

With the new lazy rendering approach we have now a 2-phase pipeline which allows us to handle UI virtualization needs more efficiently without relying on platform limitations.

Most of the current IUiFacade is actually rather a IPlatformFacade a rename would be good.
Secondly the IContainer approach is very generic. It would be better to design an interface which represents the overall UI control with it's functionalities we need like: adding/filling placeholders, listening for scroll events, listening for visibility changes, showing cursor and selection elements.

It is not so different to what is exposed by the current interfaces, but a very concrete representation of the UI control alphaTab needs is better than a general purpose UI abstraction.

@Danielku15 Danielku15 added type-improvement 🚀 area-rendering Everything related to the rendering platform-all Affects all platforms labels Dec 29, 2021
@Danielku15 Danielku15 self-assigned this Dec 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-rendering Everything related to the rendering platform-all Affects all platforms type-improvement 🚀
Projects
Status: No status
Development

No branches or pull requests

1 participant