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 two ScrollArea bugs: leaking scroll target and broken animation to target offset #4174

Merged
merged 2 commits into from
Mar 17, 2024

Conversation

abey79
Copy link
Collaborator

@abey79 abey79 commented Mar 15, 2024

This PR fixes two issues related to ScrollArea.

  1. When a ScrollArea would have drag_to_scroll set to false (e.g. because some custom logic is at play or some other reason), it would not animate to the target_offset, effectively making Response::scroll_to_me() ineffective.
  2. Single-direction ScrollAreas would leak the scroll_target's other direction. In certain specific circumstances (e.g. an horizontal area nested in a vertical one, or inversely), this could work as intended, but in many other cases it could cause unwanted effects. With this PR, both scroll_target directions are consumed by nearest enclosing ScrollArea, regardless of the actually enabled scroll axes.

@emilk emilk merged commit 3258cd2 into master Mar 17, 2024
36 of 37 checks passed
@emilk emilk deleted the antoine/fix-scrollarea-bugs branch March 17, 2024 16:12
abey79 added a commit to rerun-io/rerun that referenced this pull request Mar 18, 2024
…item (#5494)

### What

- Follow up to #5482
- Fixes #5232 


This PR adds support for expanding and scrolling to the focus item in
the Streams view. It also adds expanding/scrolling the Blueprint tree
when focusing on a component.

- Blocked on emilk/egui#4174

TODO:
- [x] update egui commit once ☝🏻  is merged


https://github.com/rerun-io/rerun/assets/49431240/55c2959f-bb9b-4f67-b20b-06ba82175d71


### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested the web demo (if applicable):
* Using newly built examples:
[app.rerun.io](https://app.rerun.io/pr/5494/index.html)
* Using examples from latest `main` build:
[app.rerun.io](https://app.rerun.io/pr/5494/index.html?manifest_url=https://app.rerun.io/version/main/examples_manifest.json)
* Using full set of examples from `nightly` build:
[app.rerun.io](https://app.rerun.io/pr/5494/index.html?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG
* [x] If applicable, add a new check to the [release
checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)!

- [PR Build Summary](https://build.rerun.io/pr/5494)
- [Docs
preview](https://rerun.io/preview/e879778c92dd2e50eb05bc6fdefee9ac79b93872/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/e879778c92dd2e50eb05bc6fdefee9ac79b93872/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
hacknus pushed a commit to hacknus/egui that referenced this pull request Oct 30, 2024
… to target offset (emilk#4174)

This PR fixes two issues related to `ScrollArea`.

1) When a `ScrollArea` would have `drag_to_scroll` set to `false` (e.g.
because some custom logic is at play or some other reason), it would not
animate to the `target_offset`, effectively making
`Response::scroll_to_me()` ineffective.
2) Single-direction `ScrollArea`s would leak the `scroll_target`'s other
direction. In certain specific circumstances (e.g. an horizontal area
nested in a vertical one, or inversely), this _could_ work as intended,
but in many other cases it could cause unwanted effects. With this PR,
both `scroll_target` directions are consumed by nearest enclosing
`ScrollArea`, regardless of the actually enabled scroll axes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something is broken egui
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants