Commit graph

90 commits

Author SHA1 Message Date
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
Héctor Ramón Jiménez
c9da3a10d9 Use log crate instead of dbg! 2019-10-07 04:05:40 +02:00
Héctor Ramón Jiménez
c9510db551 Render colored quads 2019-10-07 03:56:16 +02:00
Héctor Ramón Jiménez
70c17b053b Rename Box primitive to Quad 2019-10-07 02:17:40 +02:00
Héctor Ramón Jiménez
5286ef36b6 Make tour a simple example instead of a crate 2019-10-06 20:06:13 +02:00
Héctor Ramón Jiménez
7765e6da50 Draft Box primitive 2019-10-06 19:22:25 +02:00
Héctor Ramón Jiménez
5a5ca34b5f Modularize iced_wgpu 2019-10-05 19:22:51 +02:00