Commit graph

91 commits

Author SHA1 Message Date
Héctor Ramón Jiménez
d4b08462e5
Introduce Svg struct in core::svg 2024-08-04 04:52:55 +02:00
Héctor Ramón Jiménez
92bd3ecd6b
Introduce Image struct in core::image 2024-08-04 04:30:12 +02:00
Héctor Ramón Jiménez
0ceee1cf3a
Implement image support for canvas widget 2024-08-04 03:28:43 +02:00
Héctor Ramón
616689ca54
Update cosmic-text and resvg (#2416)
* Update `cosmic-text`, `glyphon`, and `resvg`

* Fix slow font fallback with `Shaping::Basic` in `cosmic-text`

* Update `cosmic-text` and `resvg`

* Update `cosmic-text`

* Fix `SelectAll` action in `editor`

* Fix some panics in `graphics::text::editor`

* Remove empty `if` statement in `tiny_skia::vector`

* Update `cosmic-text`, `glyphon`, and `rustc-hash`
2024-07-17 13:00:00 +02:00
Héctor Ramón Jiménez
547446f0de
Fix windows fighting over shared image::Cache
Image caches are local to each window now.
2024-05-06 12:23:44 +02:00
Héctor Ramón Jiménez
fa9e1d96ea
Introduce dynamic opacity support for Image and Svg 2024-05-03 13:25:58 +02:00
Héctor Ramón Jiménez
610394b695
Rename global_scale to scale in wgpu::image 2024-05-02 17:28:28 +02:00
Héctor Ramón Jiménez
a57313b23e
Simplify image rotation API and its internals 2024-05-02 17:28:28 +02:00
Héctor Ramón Jiménez
09a6bcfffc
Add Image rotation support
Co-authored-by: DKolter <68352124+DKolter@users.noreply.github.com>
2024-05-02 17:27:45 +02:00
Héctor Ramón Jiménez
b52c7bb610
Use an opaque Id type for image::Handle
Hashing pointers is a terrible idea.
2024-05-01 01:39:43 +02:00
Héctor Ramón Jiménez
45254ab88c
Use Bytes as the Container of ImageBuffer
Since we don't need to mutate images once loaded,
we avoid unnecessary extra allocations.
2024-05-01 00:55:49 +02:00
Héctor Ramón Jiménez
493c36ac71
Make image Cache eviction strategy less aggressive in iced_wgpu
Instead of trimming unconditionally at the end of
a frame, we now trim the cache only when there is a
cache miss.

This way, images that are not visible but still a
part of the layout will stay cached. Eviction will
only happen when the images are not a part of the
UI for two consectuive frames.
2024-04-24 21:29:30 +02:00
Héctor Ramón Jiménez
13289dbd19
Merge branch 'master' into wgpu/better-architecture 2024-04-07 14:06:52 +02:00
Héctor Ramón Jiménez
6d3e1d835e
Decouple caching from layering and simplify everything 2024-04-05 23:59:21 +02:00
Héctor Ramón Jiménez
b05e61f5c8
Redesign iced_wgpu layering architecture 2024-04-03 21:07:54 +02:00
Héctor Ramón Jiménez
f5bcfec821
Use rustc-hash for most of our HashMap and HashSet instances 2024-04-01 12:00:15 +02:00
Héctor Ramón Jiménez
04df889cac
Use two layers for image::atlas only on Gl backend 2024-02-19 08:18:51 +01:00
PolyMeilex
4272090d36
[wgpu.image] Workaround WGPU OpenGL heuristics 2024-02-18 06:12:15 +01:00
Héctor Ramón Jiménez
04e8e529a0
Convert SVG text nodes for in-memory SVGs in iced_wgpu 2023-12-11 10:48:41 +01:00
Héctor Ramón Jiménez
33f92b1be7
Fix import styling in iced_wgpu::image::vector 2023-12-11 10:47:53 +01:00
Cory Frenette
a2a96adf7a
implement svg text fix for native renderer
Signed-off-by: Cory Frenette <cory@frenette.dev>
2023-12-10 22:12:46 -05:00
Héctor Ramón Jiménez
b277625546
Revert "Chore: Apply clippy map transformations"
This reverts commit c997aad85d.
2023-09-20 16:26:43 +02:00
Héctor Ramón Jiménez
caed50b277
Fix clippy::match-wildcard-for-single-variants 2023-09-20 05:03:25 +02:00
Héctor Ramón Jiménez
34f07b6027
Fix clippy::semicolon_if_nothing_returned 2023-09-20 04:11:52 +02:00
Héctor Ramón
582da10ae2
Merge pull request #2090 from nyurik/mapping
Chore: Apply clippy map transformations
2023-09-19 13:22:21 +02:00
Yuri Astrakhan
c997aad85d Chore: Apply clippy map transformations
Convert `.map().unwrap_or()` to `.map_or()` and similar transformations.
2023-09-19 01:46:46 -04:00
Yuri Astrakhan
3d6b9637c3 Chore: Inline format args for ease of reading
A minor cleanup to inline all simple cases of format arguments. Makes the format strings just a bit easier to read.
2023-09-19 01:32:56 -04:00
Héctor Ramón Jiménez
6502cf1111
Improve code style in vector modules 2023-07-12 09:07:20 +02:00
Alec Deason
af386fd0a3
Upgrade resvg to 0.34 and tiny_skia to 0.10 2023-07-12 08:59:07 +02:00
Héctor Ramón Jiménez
c528f2129e
Use proper gamma correction mode in image::Atlas::grow 2023-05-31 21:45:12 +02:00
Héctor Ramón Jiménez
f1b259a28f
Avoid gamma correction when web-colors is enabled for images 2023-05-31 21:42:39 +02:00
Héctor Ramón Jiménez
0ef5ab6c84
Remove dbg! leftovers in image::atlas 2023-05-11 20:19:37 +02:00
Héctor Ramón Jiménez
f02f0c01ea
Fix race condition when growing an image::Atlas 2023-05-11 20:18:36 +02:00
Héctor Ramón Jiménez
8e8808f0e1
Merge branch 'master' into advanced-text 2023-05-02 06:40:48 +02:00
Héctor Ramón Jiménez
9c63eb7df5
Update tiny-skia and resvg 2023-04-26 16:46:27 +02:00
David Huculak
cbb2ba38fa remove unused import 2023-04-20 21:38:52 -04:00
David Huculak
8122904ca4 wgpu 0.16 2023-04-20 21:28:47 -04:00
Elham Aryanpur
d5453c62e9
Update wgpu to 0.15 2023-04-13 05:40:23 +02:00
Héctor Ramón Jiménez
c0431aedd3
Update wgpu and cosmic-text 2023-04-08 04:47:05 +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
363966ee9e
Refactor image::Pipeline into prepare and render architecture 2023-02-24 13:37:31 +01:00
Héctor Ramón Jiménez
438f97a6d0
Use RGBA texture for image and svg pipelines 2022-11-05 03:20:00 +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
2065a40f64
Fix clippy lints for all crates and features
... and check those in CI as well!
2022-07-09 18:43:05 +02:00
Héctor Ramón Jiménez
33a24b5821
Run cargo fmt 2022-07-09 17:07:40 +02:00
Poly
15f794b7a8
Address Clippy lints 2022-07-09 17:07:38 +02: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
2cc7e0a449
Fix Operation::perform in image::raster
Flipping diagonally isn't the same as flipping each axis individually 😅
2021-09-30 16:51:42 +07:00