Skip to content

Do not implicitly convert parsed LengthPercentage to pixels#45987

Closed
NickGerleman wants to merge 2 commits into
facebook:mainfrom
NickGerleman:export-D60507151
Closed

Do not implicitly convert parsed LengthPercentage to pixels#45987
NickGerleman wants to merge 2 commits into
facebook:mainfrom
NickGerleman:export-D60507151

Conversation

@NickGerleman
Copy link
Copy Markdown
Contributor

Summary:
This is a confusing public API, because styles layer deals with DIPs, conversion only happens when parsing dynamic, and POINT (the LengthPercentageType) also maps to DIPs instead of physical pixels.

This moves conversion to physical pixels to drawing layer, so everything above BackgroundStyleApplicator works with style types which are all in DIPs.

To preserve compatibility with existing APIs using raw radii, we keep it so that (most) views operate in pixel units, while view managers operate under DIPs.

Changelog: [Android][Breaking] Do not implicitly convert parsed LengthPercentage to pixels

Reviewed By: rshest

Differential Revision: D60507151

Summary:
This adjusts logic to be similar to InsetBoxShadowDrawable to keep the full ink within RenderNode bounds. This avoids a tiny bit of overdraw, but also means we get correct rendering if RenderNode is promoted to a compositing layer.

Changelog: [Internal]

Differential Revision: D60972085
@facebook-github-bot facebook-github-bot added CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. p: Facebook Partner: Facebook Partner labels Aug 12, 2024
@facebook-github-bot
Copy link
Copy Markdown
Contributor

This pull request was exported from Phabricator. Differential Revision: D60507151

…#45987)

Summary:
Pull Request resolved: facebook#45987

This is a confusing public API, because styles layer deals with DIPs, conversion only happens when parsing dynamic, and `POINT` (the `LengthPercentageType`) also maps to DIPs instead of physical pixels.

This moves conversion to physical pixels to drawing layer, so everything above `BackgroundStyleApplicator` works with `style` types which are all in DIPs.

To preserve compatibility with existing APIs using raw radii, we keep it so that (most) views operate in pixel units, while view managers operate under DIPs.

Changelog: [Android][Breaking] Do not implicitly convert parsed LengthPercentage to pixels

Reviewed By: rshest

Differential Revision: D60507151
@facebook-github-bot
Copy link
Copy Markdown
Contributor

This pull request was exported from Phabricator. Differential Revision: D60507151

@facebook-github-bot facebook-github-bot added the Merged This PR has been merged. label Aug 13, 2024
@facebook-github-bot
Copy link
Copy Markdown
Contributor

This pull request has been merged in 9e48976.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged This PR has been merged. p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants