enso/lib/rust/ensogl/component
Ilya Bogdanov 6ba40a7a56
Clipping in the ScrollArea (#3384)
[ci no changelog needed]

[Task link](https://www.pivotaltracker.com/story/show/181413200)

This PR implements content clipping for the ScrollArea component.

List of changes:
- Implemented `InstanceWithAttachedLayer` abstraction that allows creating additional sublayers for our components. In the future, this abstraction can be used for text rendering as well (right now text rendering requires additional hardcoded layers).
- Fixed `complex-shape-system` demo scene by fixing `node_searcher_mask` layer.
- Fixed `SublayersModel::remove` - it was not clearing the `layer_placement` hashmap.
- Implemented disabling the wheel scrolling in `Navigator`, and refactored it to reduce the number of functions arguments by introducing a `NavigatorSettings` struct.

Video (`scroll_area` demo):


https://user-images.githubusercontent.com/6566674/164506455-e177a7a7-9f1c-4f50-888f-112423cebbe4.mp4

# Important Notes
- `InstanceWithAttachedLayer` is implemented in such a way that it allows an extension in the future - namely to use it to simplify text rendering. The implementation might be simplified though.
2022-04-27 11:35:30 +00:00
..
button Fixing regression - mouse buttons were not distinguished properly. (#3401) 2022-04-15 16:08:30 +02:00
drop-down-menu Fixing regression - mouse buttons were not distinguished properly. (#3401) 2022-04-15 16:08:30 +02:00
drop-manager Linting codebase 2022-03-10 05:32:33 +01:00
file-browser Linting codebase 2022-03-10 05:32:33 +01:00
flame-graph Update electron-builder to v23.0.6 (#3410) 2022-04-21 11:36:32 +00:00
gui The EnsoGL Component abstraction with special dropping behavior (#3322) 2022-04-04 15:55:55 +00:00
label Linting codebase 2022-03-10 05:32:33 +01:00
list-view Component Group View with static header and without icons (#3373) 2022-04-14 10:37:40 +00:00
scroll-area Clipping in the ScrollArea (#3384) 2022-04-27 11:35:30 +00:00
scrollbar Linting codebase 2022-03-10 05:32:33 +01:00
selector Allowing EnsoGL mouse to interact with more than 4096 sprites (#3369) 2022-03-30 04:50:55 +02:00
shadow Linting codebase 2022-03-10 05:32:33 +01:00
src Return creating node with (+) button & fix a regression (#3338) 2022-03-16 21:02:47 +03:00
text Revert "Revert "Fixed rate animation loop fixes"" (#3399) 2022-04-14 19:58:53 +02:00
toggle-button Fixing regression - mouse buttons were not distinguished properly. (#3401) 2022-04-15 16:08:30 +02:00
Cargo.toml Return creating node with (+) button & fix a regression (#3338) 2022-03-16 21:02:47 +03:00