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

Simplify layout structures #886

Merged
merged 1 commit into from Sep 19, 2019

Conversation

@ianyh
Copy link
Owner

commented Sep 18, 2019

The interactions were kind of a mess. The screen manager had to pass the window activity cache through, like, four layers of indirection and a handful of protocols. I decided to simplify this to just be the screen manager creates a reflow operation and passes in a layout, the layout generates frame assignments, and then the reflow operation applies the frames. This maintains the testability of isolating layout logic from actual application logic, but doesn't require so much passing around.

The interactions were kind of a mess. The screen manager had to pass the window activity cache through, like, four layers of indirection and a handful of protocols. I decided to simplify this to just be the screen manager creates a reflow operation and passes in a layout, the layout generates frame assignments, and then the reflow operation applies the frames. This maintains the testability of isolating layout logic from actual application logic, but doesn't require so much passing around.
@ianyh ianyh force-pushed the persistent-state branch from 59b2dad to 6fbd988 Sep 19, 2019
@ianyh ianyh merged commit b727e74 into development Sep 19, 2019
2 checks passed
2 checks passed
Hound No violations found. Woof!
Travis CI - Pull Request Build Passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.