Immediate-Mode-UI / Immediate-Mode-UI/Nuklear

Scrolling not propagated to parent

Open
#490 0 comments 0 reactions 0 assignees View on GitHub

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:

Screenshot 2022-08-27 at 17 09 19

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.