Commit graph

41 commits

Author SHA1 Message Date
Jovansonlee Cesar
0c502801e3
Make rendering of svg that has text work out of the box (#2560)
* fix: load system fonts to usvg font_db, this will make rendering of text in svg that has it

* feat: add an example that renders svg that has text on it

* Initialize `fontdb` only once for `vector` images

* Remove `svg_text` example

* Set `fontdb` for `usvg::Options` in `tiny_skia::vector`

---------

Co-authored-by: Héctor Ramón Jiménez <hector@hecrj.dev>
2024-09-13 21:43:00 +00: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
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
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
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
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
f02f0c01ea
Fix race condition when growing an image::Atlas 2023-05-11 20:18:36 +02:00
Héctor Ramón Jiménez
9c63eb7df5
Update tiny-skia and resvg 2023-04-26 16:46:27 +02:00
Héctor Ramón Jiménez
3a26baa564
Remove image abstractions in iced_graphics 2023-03-07 03:47:49 +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
Poly
15f794b7a8
Address Clippy lints 2022-07-09 17:07:38 +02:00
Héctor Ramón Jiménez
73f2881568
Update resvg to 0.18 in iced_wgpu 2021-09-27 14:23:22 +07:00
aentity
665422e256 Use ceil on svg dimensions, fix svg memory usage
Calls ceil() on dimension bounds as this appears fix svg memory
unbounded usage because no longer cache miss.

The height and width return from resvg seem to always be ceiling
of float dimensions, so we try to match.
2021-07-21 02:26:53 -04:00
Zak
77a17cde83 This commit optimizes the function used to converg rgba pixels into bgra pixels. 2021-05-11 22:41:55 +01:00
Greg V
81f37123ad Update resvg to 0.12 2020-12-19 01:24:40 +01:00
Héctor Ramón Jiménez
9d4f664c94 Update bytemuck and remove zerocopy in iced_wgpu 2020-11-10 20:06:24 +01:00
Héctor Ramón Jiménez
d807ef367e Update wgpu to 0.5 in iced_wgpu 🎉 2020-04-07 05:48:21 +02:00
Héctor Ramón Jiménez
ae009158cc Implement svg::Handle::from_memory
Useful if you already have your SVG data in memory.
2020-03-31 00:39:18 +02:00
Héctor Ramón Jiménez
4e7159c22c Stop creating image pipeline when unnecessary 2020-02-28 14:38:42 +01:00
Héctor Ramón Jiménez
bb397cc668 Move Debug implementation for vector::Svg 2020-02-26 20:49:40 +01:00
Héctor Ramón Jiménez
d06d06e050 Deallocate atlas entries and remove padding 2020-02-26 20:10:19 +01:00
Héctor Ramón Jiménez
59d45a5440 Refactor texture atlas
- Split into multiple modules
- Rename some concepts
- Change API details
2020-02-26 12:34:34 +01:00
Malte Veerman
4617da2818 Implemented automatic deallocation of texture space for dropped allocations 2020-02-25 13:27:03 +01:00
Malte Veerman
2f695ef980 Updated shaders and removed debug_stub_derive dependency 2020-02-25 13:27:03 +01:00
Malte Veerman
c0996923c6 Batch image draw calls into one with multiple instances 2020-02-25 13:26:50 +01:00
Malte Veerman
3f38835105 Implement allocating large images across multiple texture array layers. 2020-02-25 13:26:50 +01:00
Malte Veerman
2f77a6bf5a Use array of atlases instead of one growing indefinitely. 2020-02-25 13:26:50 +01:00
Malte Veerman
82e0675c07 Some small debug changes 2020-02-25 13:26:50 +01:00
Malte Veerman
743637ebda Merged image and svg texture atlases into one owned by the image pipeline. 2020-02-25 13:26:50 +01:00
Malte Veerman
1bcfc9a5cc Implemented a texture atlas for images and svgs. 2020-02-25 13:26:33 +01:00
Héctor Ramón Jiménez
d78ae3c852 Avoid rasterizing SVG when a dimension is 0 2019-12-21 08:16:36 +01:00
Héctor Ramón Jiménez
514ccf8a72 Cache Svg load result properly
This avoids trying to reload the file constantly on every frame.
2019-12-15 07:07:49 +01:00
Héctor Ramón Jiménez
aa29849976 Add svg example 2019-12-15 06:31:53 +01:00
Héctor Ramón Jiménez
09707f29fc Rerasterize SVGs when resized and refactor a bit 2019-12-15 06:19:07 +01:00