Immediate-Mode-UI / Immediate-Mode-UI/Nuklear
Scrolling not propagated to parent
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 11.4k
- Forks
- 686
- Avg merge
- 4d 1h
- Merged PRs (30d)
- 3
Description
When I run the demo (using glfw_opengl3), expand the `Layout` > `Complex` section and move the mouse cursor over the button that says `#FFDD` in the middle (doesn't have to be that specific one), I can't scroll horizontally or vertically:

The area with the buttons doesn't have any scroll bars, so scrolling should "bubble up" and scroll the nearest scrollable ancestor. The same as when the cursor is over any normal button or label and you scroll. If this doesn't work, you scroll through something, and suddenly it stops for no apparent reason, you have to move the cursor out of the "blocking element", and then continue scrolling.
If the cursor is inside the list on the left (with the `Unselected` items), scrolling vertically scrolls the list correctly, but scrolling horizontally doesn't do anything. It should scroll the nearest scrollable ancestor.
Inside that list, if the scrollbar is already at the top and you scroll up further, it should also scroll the nearest scrollable ancestor up. Same if the scrollbar is at the bottom and you scroll down further.
You can test what the expected/normal behavior is, by pressing return a number of times in Github's Reply text area, until it starts to show a scrollbar. If you now scroll down inside the Reply text area, it first scrolls the text area as much as it can, and then scrolls down the website. Even though the cursor is inside the text area the whole time. Scrolling left/right always scrolls the website because the text area doesn't have a horizontal scrollbar.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue in the glfw_opengl3 demo by opening Layout > Complex and scrolling over the button area and the Unselected list. Trace how scrolling is handled by nested controls and scrollable ancestors. Done means scrolling bubbles to the nearest scrollable ancestor, including horizontal scrolling and overscroll at either list boundary.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100