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

Window manager display driver #23

Open
scalablecory opened this issue Oct 12, 2021 · 0 comments
Open

Window manager display driver #23

scalablecory opened this issue Oct 12, 2021 · 0 comments
Labels
approved An enhancement has been approved and PRs are welcome enhancement New feature or request
Milestone

Comments

@scalablecory
Copy link
Owner

A "window manager" display driver is a factory that creates "window" display drivers. The manager then allows swapping the view that gets drawn to some base display driver.

This would allow themes to draw to one window, and an e.g. popup showing bluetooth pairing information could be drawn to another window. The manager then swaps between active windows.

Usage looks something like:

var manager = new WindowManagerDisplayDriver();

DisplayDriver themeWindow = manager.CreateWindow();
DisplayDriver popupWindow = manager.CreateWindow();

DrawThemeToWindow(themeWindow);
manager.SetWindow(themeWindow);

OnPopupNeeded += (s,e) =>
{
    DrawPopupToPopupWindow(popupWindow);
    manager.SetWindow(popupWindow);
}
@scalablecory scalablecory added enhancement New feature or request approved An enhancement has been approved and PRs are welcome labels Oct 12, 2021
@scalablecory scalablecory added this to the 1.0 milestone Oct 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved An enhancement has been approved and PRs are welcome enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant