enso/lib/rust/prelude
Ilya Bogdanov bb6a5bac02
Clipping in the Scroll Area (reverting a revert) (#3420)
[ci no changelog needed]

This is fixed copy of already reviewed #3384

[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 removing `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 17:11:49 +00:00
..
src Clipping in the Scroll Area (reverting a revert) (#3420) 2022-04-27 17:11:49 +00:00
Cargo.toml Updating paste macro usage (#3334) 2022-03-22 11:43:14 +01:00
README.md add rust libs 2021-10-30 02:28:55 +02:00

Enso Prelude

The Enso prelude is a library in the style of the Haskell prelude, pulling in a number of useful foundational features for writing Rust code in the Enso project.