Commit graph

2246 commits

Author SHA1 Message Date
Héctor Ramón Jiménez
019af8ddbf
Add overlay support in iced_pure and port PickList 🎉 2022-02-16 17:07:25 +07:00
Héctor Ramón Jiménez
35e9b75e41
Introduce Tag and State opaque types in iced_pure::widget::tree 2022-02-16 15:44:50 +07:00
Héctor Ramón Jiménez
cff891833b
Implement pure version of the tour example 🎉 2022-02-13 22:19:43 +07:00
Héctor Ramón Jiménez
6689ede6d8
Implement Space in iced_pure 2022-02-13 22:18:21 +07:00
Héctor Ramón Jiménez
53f3820432
Implement Radio in iced_pure 2022-02-13 22:13:47 +07:00
Héctor Ramón Jiménez
e50e639b0e
Expose additional helpers in iced::pure 2022-02-13 19:23:51 +07:00
Héctor Ramón Jiménez
98750782f3
Introduce lifetime to on_change handler for Toggler 2022-02-13 19:23:15 +07:00
Héctor Ramón Jiménez
0fec0a2b77
Implement Toggler in iced_pure 2022-02-13 19:01:09 +07:00
Héctor Ramón Jiménez
3f1a45ca47
Implement Slider in iced_pure 2022-02-13 17:20:10 +07:00
Héctor Ramón Jiménez
45455be450
Implement Image in iced_pure 2022-02-13 16:51:31 +07:00
Héctor Ramón Jiménez
09c96a6d81
Add max_width to Column in iced_pure 2022-02-12 18:02:29 +07:00
Héctor Ramón Jiménez
4c61601aa3
Implement missing on_event and mouse_interaction for Checkbox in iced_pure 2022-02-12 17:26:49 +07:00
Héctor Ramón Jiménez
bd22cc0bc0
Implement pure version of todos example 🎉
The `Widget` trait in `iced_pure` needed to change a bit to make the
implementation of `Element::map` possible.

Specifically, the `children` method has been split into `diff` and
`children_state`.
2022-02-12 17:21:28 +07:00
Héctor Ramón Jiménez
e3108494e5
Implement TextInput in iced_pure 2022-02-12 16:11:37 +07:00
Héctor Ramón Jiménez
b2670e8752
Implement Scrollable in iced_pure 2022-02-12 15:18:31 +07:00
Héctor Ramón Jiménez
178914ec23
Implement Checkbox in iced_pure 2022-02-12 14:26:17 +07:00
Héctor Ramón Jiménez
dee3dba632
Reuse Text widget from iced_native in iced_pure 2022-02-12 14:22:17 +07:00
Héctor Ramón Jiménez
182fb9446c
Implement Container widget in iced_pure 2022-02-12 14:07:04 +07:00
Héctor Ramón Jiménez
8b27083cda
Use TypeId of () for Column and Row tags in iced_pure 2022-02-11 23:40:24 +07:00
Héctor Ramón Jiménez
af122265f6
Implement Row in iced_pure 2022-02-11 23:39:41 +07:00
Héctor Ramón Jiménez
dd3e74e74d
Complete Button in iced_pure 2022-02-11 23:33:03 +07:00
Héctor Ramón Jiménez
ecb3df8e01
Expose reusable Button logic
... and reuse it in `iced_pure`!
2022-02-11 23:17:07 +07:00
Héctor Ramón Jiménez
01c5004959
Allow pure widgets to borrow from Application data 🎉 2022-02-11 22:07:21 +07:00
Héctor Ramón Jiménez
43a7ad72ef
Expose function helpers to build widgets in pure::widget
`button("Hello")` is easier to write and read than
`Button::new("Hello")`.
2022-02-11 18:42:15 +07:00
Héctor Ramón Jiménez
66d69b5c9a
Expose iced_pure through a pure feature in iced
Besides exposing the `iced_pure` crate, enabling the `pure` feature also
provides pure versions of both the `Application` and `Sandbox` traits!
🎉
2022-02-11 17:51:33 +07:00
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
e03de01988
Implement Into<Element> for &'static str in iced_virtual 2022-02-10 23:16:21 +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
Héctor Ramón Jiménez
adce9e0421
Update Rust edition to 2021 🎉 2022-02-09 17:57:44 +07:00
Héctor Ramón Jiménez
554e0a090e
Add index.html to counter example 2022-02-09 17:50:12 +07:00
Héctor Ramón
313aff5734
Merge pull request #1217 from SynergyBest/master
Fix links
2022-02-08 01:32:40 +07:00
ImgBotApp
c70929bf2c
[ImgBot] Optimize images
*Total -- 967.49kb -> 703.99kb (27.24%)

/docs/images/radio.png -- 5.29kb -> 1.58kb (70.18%)
/docs/images/text_input.png -- 3.18kb -> 1.27kb (60.17%)
/docs/images/checkbox.png -- 5.56kb -> 2.22kb (60.17%)
/examples/color_palette/screenshot.png -- 102.74kb -> 43.75kb (57.42%)
/examples/tour/images/ferris.png -- 32.29kb -> 15.91kb (50.73%)
/docs/graphs/ecosystem.png -- 124.13kb -> 67.44kb (45.67%)
/docs/graphs/iced.png -- 97.75kb -> 53.27kb (45.5%)
/docs/graphs/native.png -- 57.90kb -> 33.67kb (41.85%)
/docs/images/text.png -- 4.95kb -> 2.99kb (39.61%)
/docs/graphs/foundations.png -- 18.19kb -> 11.19kb (38.46%)
/examples/scrollable/screenshot.png -- 144.78kb -> 102.53kb (29.18%)
/examples/svg/resources/tiger.svg -- 67.02kb -> 64.50kb (3.76%)
/docs/logo.svg -- 1.37kb -> 1.35kb (1.57%)
/docs/images/todos_desktop.jpg -- 302.36kb -> 302.33kb (0.01%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2022-02-07 23:13:29 +07:00
Theo Robinson
4830a17d65
Fix links
Change dead links to updated ones.
Change/Convert all file links to relative links so they are branch
agnostic.
2022-02-07 23:13:25 +07:00
Héctor Ramón
880671e104
Merge pull request #1231 from TannerRogalsky/allow-the-creation-of-unconnected-clipboard
Allow the creation of a clipboard without a window.
2022-02-07 22:53:10 +07:00
Tanner Rogalsky
2e8fb09568 Allow the creation of a clipboard without a window. 2022-02-05 06:55:22 -05:00
Héctor Ramón
c15701581e
Merge pull request #1225 from tarkah/feat/canvas-line-dash
Add line dash API
2022-02-04 14:44:08 +07:00
Héctor Ramón Jiménez
bace264bfe
Access lyon_algorithms indirectly through lyon 2022-02-03 17:19:48 +07:00
Héctor Ramón Jiménez
f56c8a7361
Ask for a slice of segments instead of ownership in LineDash 2022-02-03 17:18:05 +07:00
Héctor Ramón Jiménez
74a64d88e1
Differentiate between question and discussion in issue templates 2022-02-02 15:15:28 +07:00
Héctor Ramón Jiménez
0ce2deff5a
Make titles of issue templates more relatable 2022-02-02 15:04:56 +07:00
Héctor Ramón Jiménez
e068e9cc82
Remove codebase from bug report template
... since a bug report may not necessarily indicate an issue in the
codebase.
2022-02-02 14:52:04 +07:00
Héctor Ramón Jiménez
61543e4c04
Improve description of Discussion contact link 2022-02-02 14:50:47 +07:00
Héctor Ramón Jiménez
b10ad95645
Improve titles of issue templates 2022-02-02 14:47:35 +07:00
Héctor Ramón Jiménez
f99f85f447
Add config.yml to .github/ISSUE_TEMPLATE 2022-02-02 14:45:38 +07:00
Héctor Ramón Jiménez
89812cb9a9
Fix capitalization of title in bug report template 2022-02-02 14:37:57 +07:00
Héctor Ramón Jiménez
375ca7f504
Fix duplicate label field in bug report template 2022-02-02 14:37:23 +07:00
Héctor Ramón Jiménez
bf00b98972
Remove newlines from bug report template 2022-02-02 14:36:54 +07:00
Héctor Ramón Jiménez
dc0ffbfc13
Fix missing closing backtick in bug report template 2022-02-02 14:35:24 +07:00
Héctor Ramón Jiménez
1c6d4f3196
Add issue template for bug reports 2022-02-02 14:34:27 +07:00