This repository has been archived by the owner on Jul 15, 2024. It is now read-only.
Migrate away from individual handlers for each Window #176
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implements a new API/implementation for Glazier, in a parallel
v2
folderResolves #44
Resolves #168
Also incidentally:
Fixes #23
Fixes #78
Fixes #95
This is a massive refactor, but I think it makes things much cleaner. There are a few key differences:
PlatformHandler
PlatformHandler
is passed aGlazier
, which is the root of all interaction with the platformWindowId
)2This massively reduces the number of locks/sharing required both:
WindowHandler
s and theAppHandler
Indeed, as an example, the type of the
Glazier
on the Wayland backend is an exclusive reference to the entire state of the backend, except for only the user's handler.Progress:
Steps after that:
Footnotes
The design for text fields is as-yet unclear, whether these are also included in
PlatformHandler
(which intuitively is my preference) ↩There will still be ways to access raw-window-handles, exact API to be determined ↩