Commit graph

56 commits

Author SHA1 Message Date
Héctor Ramón Jiménez
09707f29fc Rerasterize SVGs when resized and refactor a bit 2019-12-15 06:19:07 +01:00
Malte Veerman
895eaef99b Merged svg pipeline into image 2019-12-12 01:14:54 +01:00
Malte Veerman
f737c6da24 Improved dpi handling 2019-12-12 00:20:06 +01:00
Malte Veerman
5696afcadd Ran cargo_fmt over changed files. 2019-12-11 22:13:29 +01:00
Malte Veerman
8032428428 Implemented SVG support in iced_wgpu. 2019-12-11 20:02:43 +01:00
Héctor Ramón Jiménez
561c3641c6 Merge branch 'master' into feature/image-from-bytes 2019-12-04 04:01:12 +01:00
Héctor Ramón Jiménez
e648de560d Use PowerPreference::Default in iced_wgpu 2019-12-01 23:36:29 +01:00
Héctor Ramón Jiménez
fab6d79e84 Implement basic image cache trimming in iced_wgpu 2019-11-30 02:55:14 +01:00
Héctor Ramón Jiménez
505588d585 Allow to load an image from memory
New `image::Handle` opaque type uniquely identifying some `image::Data`,
allowing reliable caching.
2019-11-29 21:44:39 +01:00
Héctor Ramón Jiménez
6a0e442ad6 Write docs for iced_wgpu 2019-11-22 22:14:24 +01:00
Héctor Ramón Jiménez
65eb218d3d Move widgets from core to native and web
Also made fields private and improved `Renderer` traits.
2019-11-21 13:47:20 +01:00
Héctor Ramón Jiménez
00479d8bcd Fix text bounds in iced_wgpu on nonintegral DPI 2019-11-14 03:00:57 +01:00
Héctor Ramón Jiménez
6857829dc3 Draft Font type and implement Text::font 2019-11-13 07:22:21 +01:00
Héctor Ramón Jiménez
f0b1e65ba4 Move text logic in iced_wgpu to a text module 2019-11-13 03:54:36 +01:00
Héctor Ramón Jiménez
73f3c90007 Load default font only in measurement cache 2019-11-11 21:33:05 +01:00
Héctor Ramón Jiménez
860a6923bb Split text measurements cache from rendering cache
This speeds up layouting in the most common scenario considerably!
🎉
2019-11-11 06:07:31 +01:00
Héctor Ramón Jiménez
0240c3981b Draft custom layout engine based on druid 2019-11-11 03:08:00 +01:00
Héctor Ramón Jiménez
2303111e09 Draft new layout API 2019-11-10 01:55:32 +01:00
Héctor Ramón
e66d38403d
Merge pull request #47 from hecrj/improvement/text-performance
Improve text rendering performance in some scenarios
2019-11-08 22:40:16 +01:00
memoryruins
e7bd24c13e use Color's From impl in more places 2019-11-07 01:03:29 -05:00
Héctor Ramón Jiménez
79f31b66c3 Increase initial size of text cache in iced_wgpu
This reduces the amount of cache updates in general when text changes.

The new cache should take 4MB of VRAM. I think this is reasonable for a
modern GUI toolkit. In any case, we should be able to reduce this value in the
future.
2019-11-07 06:59:27 +01:00
Héctor Ramón Jiménez
5fd0c724b2 Align text position to pixel grid in iced_wgpu
This avoids re-rasterizing glyphs and cache reuploads when the HiDPI factor is
nonintegral.
2019-11-07 06:51:42 +01:00
Héctor Ramón Jiménez
904818ccb0 Floor layer coords to avoid excessive clipping 2019-11-07 02:05:11 +01:00
Héctor Ramón Jiménez
8074bca8a0 Fix integer overflow with nested clip primitives 2019-11-06 21:34:57 +01:00
Héctor Ramón Jiménez
5ff05b7f02 Apply HiDPI scaling to quads
The anti-aliasing strategy is pretty naive, but we will manage for now.
2019-11-05 20:40:17 +01:00
Héctor Ramón Jiménez
db716b3bdf Apply HiDPI to text, images, and clip primitives
Quads are a bit trickier to handle. We may need to change the shaders a
bit.
2019-11-05 05:26:20 +01:00
Héctor Ramón Jiménez
0157121038 Improve default font loading 2019-11-05 03:57:13 +01:00
Héctor Ramón Jiménez
40e9a2f6ae Use new Layer in draw_overlay 2019-11-05 03:49:10 +01:00
Héctor Ramón Jiménez
b68ac3aa47 Merge branch 'master' into feature/performance-metrics 2019-11-05 03:43:54 +01:00
Héctor Ramón Jiménez
470266f540 Add horizontal offset to Primitive::Clip 2019-11-05 03:16:46 +01:00
Héctor Ramón Jiménez
2c6bfdbc8c Implement debug view and load system fonts 2019-11-03 04:39:11 +01:00
Héctor Ramón Jiménez
ef056d8489 Move Target to its own module 2019-11-02 20:20:35 +01:00
Héctor Ramón Jiménez
58e04af824 Draft Metrics and improve Target abstraction 2019-11-02 19:58:49 +01:00
Héctor Ramón Jiménez
63cd0fd8eb Draft TextInput widget structure
Also started a `todos` example to showcase it!
2019-10-30 03:31:07 +01:00
Héctor Ramón Jiménez
85916c9e87 Rename Primitive::Scrollable to Clip 2019-10-29 19:50:34 +01:00
Héctor Ramón Jiménez
be488ac738 Draw scrollbar on top of scrollable content 2019-10-29 02:00:17 +01:00
Héctor Ramón Jiménez
23ebfb707a Issue draw calls only when necessary 2019-10-29 01:21:28 +01:00
Héctor Ramón Jiménez
2b23e0986c Implement text clipping (caching still broken) 2019-10-28 04:28:21 +01:00
Héctor Ramón Jiménez
35e94f5a32 Draft text scrolling (no clipping yet!) 2019-10-27 03:11:54 +01:00
Héctor Ramón Jiménez
21eb2f692c Implement clipping for quads 2019-10-27 03:10:49 +01:00
Héctor Ramón Jiménez
e2668b882a Remove adapter from iced_wgpu::Renderer 2019-10-27 02:30:19 +01:00
Héctor Ramón Jiménez
0a0aa3edd9 Implement clipping for images 2019-10-27 02:29:23 +01:00
Héctor Ramón Jiménez
719c073fc6 Draft Scrollable widget (no clipping yet!) 2019-10-25 03:47:34 +02:00
Héctor Ramón Jiménez
38b6c84e77 Implement basic image rendering in iced_wgpu 2019-10-23 01:21:23 +02:00
Héctor Ramón Jiménez
734e80dea6 Draft Debugger implementation in iced_wgpu 2019-10-13 18:22:26 +02:00
Héctor Ramón Jiménez
a031a6f213 Handle mouse cursor in iced_wgpu 2019-10-11 23:30:53 +02:00
Héctor Ramón Jiménez
8846a239cf Rename Renderer::Primitive to Renderer::Output 2019-10-11 22:15:39 +02:00
Héctor Ramón Jiménez
a92a0b73ed Move winit logic from iced to iced_winit
- Added new `renderer::Windowed` trait. This shoud allow users to easily
  try different renderers by simply changing one line.
- Renamed `UserInterface` traits to `Application`, as the `run` method
  takes total control of the current thread.
- Moved `MouseCursor` back to `iced_native`. The new
  `renderer::Windowed` trait returns one on `draw`.
- Split `iced_native` renderer in multiple modules, for consistency.
2019-10-09 05:36:49 +02:00
Héctor Ramón Jiménez
10e10e5e06 Make iced_core::Button customizable
Now it supports:
  - Any kind of content
  - Custom border radius
  - Custom background
2019-10-08 03:13:41 +02:00
Héctor Ramón Jiménez
0995950526 Use latest wgpu 2019-10-07 19:50:04 +02:00