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

fix: Fix cascading and fallback propagation of text styles #3129

Merged
merged 3 commits into from
Apr 18, 2024

Conversation

luanpotter
Copy link
Member

@luanpotter luanpotter commented Apr 18, 2024

Description

Fix cascading and fallback propagation of text styles.

While using text nodes and flame_markdown, I noticed that basic propagating of styles was not working.

For example, if you create a standard document, it will have some margins by default. Even when setting it to zero, it was still overwritten by the default style.

I noticed that there was no consistency in the methods copyWith and merge of which parameter/receiver should be the master and which should be the fallback. Both the implementations and the callers would use it either way indiscriminately.

This consolidates the definition and adds comments to the methods enforcing the priority order.

In order to fully test this, I had to expose a few internal details of text elements; I think this is fine since Dart supports the @visibleForTesting annotation, and it makes the tests cleaner.

Checklist

  • I have followed the Contributor Guide when preparing my PR.
  • I have updated/added tests for ALL new/updated/fixed functionality.
  • I have updated/added relevant documentation in docs and added dartdoc comments with ///.
  • I have updated/added relevant examples in examples or docs.

Breaking Change?

  • Yes, this PR is a breaking change.
  • No, this PR is not a breaking change.

@luanpotter luanpotter marked this pull request as ready for review April 18, 2024 05:01
Copy link
Member

@spydon spydon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm!

@luanpotter luanpotter merged commit 7b706d5 into main Apr 18, 2024
8 checks passed
@luanpotter luanpotter deleted the luan.text-style-cascade-fix branch April 18, 2024 13:06
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 this pull request may close these issues.

2 participants