Skip to content

Conversation

Akolyte01
Copy link

@Akolyte01 Akolyte01 commented Jun 25, 2025

🐛 Bug Fix

The sign of these values has been wrong for a while.

If we consider the case where top is zero, the ownBounds.height is 100, and the offset is 50, then if the tooltip is placed up the final top will be

0 - 100 - 50 = -150, or 150px out of bounds -> 150px of clipping.

However the current topPlacementClippedPx calculation is 100 - 0 - 50 = 50px of calculated clipping. This isn't correct. Flipping the sign gives us 100 - 0 + 50 -> 150px, the correct value.

This seems unintuitive since now we are adding the offset in both the top and bottom clip calculation despite them being offset in different directions, but the key is that topPlacementClippedPx measures the magnitude of negative clipping while bottomPlacementClippedPx measures positive clipping. So we've got a double negative for the top and need to use addition in both cases.

The sign of these values has been wrong for a while.

If we consider the case where top is zero, the ownBounds.height is 100, and the offset is 50, then if the tooltip is placed up the final top will be

`0 - 100 - 50` = -150, or 150px of clipping.

However the current topPlacementClippedPx calculation is 
`100 - 0 - 50` = 50px of calculated clipping. This isn't correct.
Flipping the sign gives us `100 - 0 + 50` -> 150px, the correct value.

This seems unintuitive since now we are adding the offset in both the top and bottom clip calculation despite them being offset in different directions, but the key is that topPlacementClippedPx measures the magnitude of negative clipping while bottomPlacementClippedPx measures positive clipping. So we've got a double negative for the top and need to use addition in both cases.
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