Commit graph

3 commits

Author SHA1 Message Date
Héctor Ramón Jiménez
897188317b
Rename iced_virtual to iced_pure
`virtual` is a reserved keyword in Rust 😬
2022-02-11 17:50:12 +07:00
Héctor Ramón Jiménez
5225e0e304
Draft virtual Button, Column, and Text
... as well as a very naive diffing strategy!
2022-02-10 21:54:13 +07:00
Héctor Ramón Jiménez
8f0839e786
Draft iced_virtual subcrate
The idea here is to expose a set of "virtual widgets" that can be used with a
`Virtual` widget and its `virtual::State`.

A virtual widget is a widget that does not contain any state, but instead is a
"virtual" representation of the "real" widget. The real widgets are stored in
the `virtual::State`.

Every time a new virtual widget tree is created during `view`, it is compared to
the previous one and "real" widgets are added / removed to the `virtual::State`.

Effectively, this removes the need to keep track of local widget state in the
application state and allows `view` to take an immutable reference to `self`.

To summarize, using this crate should allow users to remove `State` structs
in their application state.

Eventually, the strategy used here may be adopted generally and, as a result,
all of the widgets in `iced_native` would be replaced!
2022-02-09 19:42:15 +07:00