Commit graph

76 commits

Author SHA1 Message Date
Héctor Ramón Jiménez
1b534bda53
Merge branch 'master' into text-editor 2023-10-27 05:27:37 +02:00
Héctor Ramón Jiménez
86b877517f
Update wgpu to 0.18 and cosmic-text to 0.10 2023-10-27 03:24:06 +02:00
Héctor Ramón Jiménez
346af3f8b0
Make FontSystem global and simplify Paragraph API 2023-09-11 02:47:24 +02:00
Héctor Ramón Jiménez
ed3454301e
Implement explicit text caching in the widget state tree 2023-08-30 04:31:21 +02:00
Héctor Ramón Jiménez
a7609a723f
Avoid empty overlay layer in iced_wgpu 2023-08-02 22:08:14 +02:00
Héctor Ramón Jiménez
c7e17391c5
Fix iced_wgpu freezing on empty layers
The `render` method would return when an empty layer is encountered without explicitly dropping the `RenderPass` (necessary because we use `ManuallyDrop`), which would then leak memory and freeze `wgpu` until the surface was recreated.
2023-08-02 22:05:11 +02:00
Héctor Ramón Jiménez
95ff96f71f
Update cosmic-text and glyphon 2023-07-20 20:47:38 +02:00
Héctor Ramón Jiménez
d666e739cd
Trim text measurements only before layout 2023-06-29 18:23:11 +02:00
Héctor Ramón Jiménez
0ae1baa37b
Introduce custom backend-specific primitives 2023-06-29 07:18:20 +02:00
Héctor Ramón Jiménez
78ad365db2
Reuse entries in text::Cache in iced_wgpu 2023-06-28 00:35:37 +02:00
Héctor Ramón Jiménez
5bc7cbf5bc
Use subpixel glyph positioning and layout linearity
... for offsetting and scaling text
2023-06-20 06:50:36 +02:00
Héctor Ramón Jiménez
faa7627ea4
Introduce web-colors feature flag to enable sRGB linear blending
This is how browsers perform color management. They treat
gamma-corrected sRGB colors as if they were linear RGB.

Correctness aside, this mode is introduced for legacy reasons. Most
UI/UX tooling uses this color management as well, and many have created
an intuition about how color should behave from interacting with a
browser.

This feature flag should facilitate application development with `iced`
in those cases.

More details: https://webcolorisstillbroken.com/
2023-05-31 21:31:58 +02:00
Bingus
eb6c663420
Adjusted Quads struct to be opaque quad::Layer. 2023-05-29 12:24:35 -07:00
Bingus
3f141459a6
Fixed issue where quads of different types were not ordered. 2023-05-29 12:14:11 -07:00
Héctor Ramón Jiménez
9499a8f9e6
Support configurable LineHeight in text widgets 2023-05-04 18:39:31 +02:00
Héctor Ramón Jiménez
4bd290afe7
Introduce text::Shaping enum and replace magic boolean 2023-05-02 01:02:32 +02:00
Héctor Ramón Jiménez
33b5a90019
Make basic text shaping the default shaping strategy 2023-05-02 01:02:13 +02:00
Héctor Ramón Jiménez
707de9d788
Introduce support for Font attributes 2023-03-30 00:56:00 +02:00
Héctor Ramón Jiménez
3a26baa564
Remove image abstractions in iced_graphics 2023-03-07 03:47:49 +01:00
Héctor Ramón Jiménez
3a0d34c024
Create iced_widget subcrate and re-organize the whole codebase 2023-03-04 05:37:11 +01:00
Héctor Ramón Jiménez
6cc48b5c62
Move Canvas and QRCode to iced crate
Rename `canvas` modules to `geometry` in graphics subcrates
2023-03-03 04:57:55 +01:00
Héctor Ramón Jiménez
5fd5d1cdf8
Implement Canvas support for iced_tiny_skia 2023-03-01 21:34:26 +01:00
Héctor Ramón Jiménez
17a4d817c4
Collapse conditional and please clippy 2023-02-24 13:37:32 +01:00
Héctor Ramón Jiménez
05c787c2ef
Grow atlas in text::Pipeline when necessary 2023-02-24 13:37:32 +01:00
Héctor Ramón Jiménez
ddbf93a82f
Set scissoring properly in text::Pipeline 2023-02-24 13:37:32 +01:00
Héctor Ramón Jiménez
730d6a0756
Reuse a RenderPass as much as possible in iced_wgpu 2023-02-24 13:37:31 +01:00
Héctor Ramón Jiménez
b8c1809ea1
Refactor triangle::Pipeline into prepare and render architecture
And get rid of the staging belt! 🎉
2023-02-24 13:37:31 +01:00
Héctor Ramón Jiménez
363966ee9e
Refactor image::Pipeline into prepare and render architecture 2023-02-24 13:37:31 +01:00
Héctor Ramón Jiménez
77b59496b0
Fix rendering order for quad::Pipeline 2023-02-24 13:37:30 +01:00
Héctor Ramón Jiménez
680ea5dcca
Refactor quad::Pipeline to prepare and render architecture 2023-02-24 13:37:30 +01:00
Héctor Ramón Jiménez
d2825360a7
Load Iced-Icons.ttf font in text::Pipeline::new 2023-02-24 13:29:12 +01:00
Héctor Ramón Jiménez
238154af4a
Implement font::load command in iced_native 2023-02-24 13:29:11 +01:00
Héctor Ramón Jiménez
b29de28d1f
Overhaul Font type to allow font family selection 2023-02-24 13:28:24 +01:00
Héctor Ramón Jiménez
ba258f8fbc
Implement support for multiple text layers in iced_wgpu 2023-02-24 13:19:49 +01:00
Héctor Ramón Jiménez
baf51a8fcf
Draft glyphon implementation of text pipeline for iced_wgpu 2023-02-24 13:19:48 +01:00
Héctor Ramón Jiménez
b9a9576207
Remove iced_glow, glyph-brush, and wgpu_glyph dependencies 2023-02-24 13:17:58 +01:00
Héctor Ramón Jiménez
570600ce51
Use Pixels for Text::size 2023-02-17 15:47:51 +01:00
bungoboingo
4b6d3797d4
Restructured everything to make profiling a feature of iced_winit. 2023-01-09 18:52:38 +01:00
Bingus
c5cd236b73
Initial profiling support for Iced. 2023-01-09 18:52:38 +01:00
Héctor Ramón Jiménez
0a23f518c7
Remove redundant features in iced_wgpu and iced_glow 2022-11-05 03:26:19 +01:00
Héctor Ramón Jiménez
8ce8d374b1
Refactor some image traits a bit
- Use `Size<u32>` were applicable.
- Rename `TextureStore` to `image::Storage`.
- Rename `TextureStoreEntry` to `image::storage::Entry`.
- Wire up `viewport_dimensions` to `iced_glow` for `Svg`.
2022-11-05 03:19:38 +01:00
Ian Douglas Scott
2c7c42ee93
Move image/svg handling into iced_graphics
The `TextureStore` trait is implemented by the atlas, and can also be
implemented in the glow renderer or in a software renderer.

The API here may be improved in the future, but API stability is
presumably not a huge issue since these types will only be used by
renderer backends.
2022-11-05 03:19:37 +01:00
Héctor Ramón Jiménez
b957453404
Run cargo fmt 2022-11-03 04:35:16 +01:00
shan
6e7b3ced0b Reworked wgpu buffers, updated glow side to have proper transform location storage, attempting to fix visibility modifiers, implemented some of the feedback received in initial PR. 2022-10-04 18:24:46 -07:00
shan
40f45d7b7e Adds linear gradient support to 2D meshes in the canvas widget. 2022-09-29 11:15:35 -07:00
Héctor Ramón Jiménez
2f76a10a1d
Fix further clippy lints
... and explicitly annotate crates as well.
2022-07-09 18:03:59 +02:00
Poly
15f794b7a8
Address Clippy lints 2022-07-09 17:07:38 +02:00
LordRatte
ff2a470fd8
Change GitHub namespace to new org for all files 2022-01-03 11:36:13 +07:00
Héctor Ramón Jiménez
09d5726a26
Remove unused field in wgpu::Backend 2021-12-07 16:12:04 +07:00
Héctor Ramón Jiménez
9a3c81f336
Introduce first-class svg module in iced_native 2021-10-31 16:24:31 +07:00