Patrick Walton
83c05e9f77
Improve the fidelity of the NanoVG demo some more
2020-04-14 18:49:47 -07:00
Patrick Walton
b1d8e0526e
Make some shadow blurs match the original NanoVG demo better
2020-04-14 16:13:12 -07:00
Patrick Walton
39f84b287d
Make the paragraph color and line height in the NanoVG demo match the original
...
more
2020-04-14 15:21:01 -07:00
Patrick Walton
5efdf2a04a
Implement the missing pieces of `TextMetrics` for canvas.
...
This required a `font-kit` upgrade, and with it a `skribo` upgrade.
2020-04-14 15:01:30 -07:00
Patrick Walton
fda9b8b9e1
Make the clip example match the NanoVG example
2020-04-11 19:08:20 -07:00
Patrick Walton
3e9558957f
Add a shadow to the color wheel marker in the NanoVG demo
2020-04-11 19:08:00 -07:00
Patrick Walton
def7da5de2
Remove obsolete TODOs in the NanoVG demo
2020-04-11 19:07:50 -07:00
Patrick Walton
15101e90dd
Draw caret position in the NanoVG demo
2020-04-10 18:13:42 -07:00
Patrick Walton
ca0e9e9e14
Draw the paragraph gutter in the NanoVG demo
2020-04-10 16:00:25 -07:00
Patrick Walton
4f1d376fe5
Refactor paragraph layout in the NanoVG demo; fix BG/FG draw order
2020-04-10 15:30:12 -07:00
Patrick Walton
df08d76627
Make the color wheel animation in the NanoVG demo match NanoVG
2020-04-10 13:37:06 -07:00
Patrick Walton
ca36fed47b
Fix calculation of wallclock time in the NanoVG demo
2020-04-09 18:01:12 -07:00
Patrick Walton
47919db8f3
Fix frame time measurement in the GL backend, and add it to the NanoVG demo
2020-04-09 17:49:28 -07:00
Patrick Walton
19aa9c8e54
Only paint text backgrounds up to the appropriate width in the NanoVG demo
2020-04-09 12:33:16 -07:00
Patrick Walton
a196f1eff8
Fix spriting imperfections in the thumbnails in the NanoVG
2020-04-09 12:15:39 -07:00
Patrick Walton
895f73096e
Switch back to instanced drawing for tiles.
...
Improves tile build time by something around 2x in the NanoVG demo.
2020-04-08 17:16:54 -07:00
Patrick Walton
941abd202e
Add the tooltip to the NanoVG demo
2020-04-03 15:38:14 -07:00
Patrick Walton
b38f75a38d
Add line widths to the NanoVG demo
2020-04-03 14:51:37 -07:00
Patrick Walton
ad61b78e39
Remove box gradients from the NanoVG demo in favor of shadows
2020-04-03 14:33:00 -07:00
Patrick Walton
eb2b622615
Remove `draw_render_target()` in favor of the standard tile-based rendering
...
path
2020-04-03 13:05:53 -07:00
Patrick Walton
ba7fe4be39
Add the ability to merge scenes together, and expose it to the canvas API.
...
Closes #268 .
2020-04-02 14:04:58 -07:00
Patrick Walton
5d43eedf20
Replace a drop shadow with a box gradient
2020-04-02 11:59:35 -07:00
Patrick Walton
542d2c27fa
Add `translate`, `rotate`, and `scale` methods to `CanvasRenderingContext2D`.
2020-04-02 11:40:53 -07:00
Patrick Walton
8f2fabbc47
Add icons to the NanoVG demo from Noto Emoji
2020-04-01 20:20:32 -07:00
Patrick Walton
e05b5df562
Stop duplicating font names everywhere in the NanoVG demo
2020-04-01 17:31:16 -07:00
Patrick Walton
da9b944e77
Clean up a few uses of `RectF::contract()` and `RectF::dilate()`
2020-04-01 17:27:08 -07:00
Patrick Walton
794dd55038
Add some implicit conversions between scalars and vectors where appropriate
2020-04-01 17:20:32 -07:00
Patrick Walton
40bd13aa5a
Add convenience color construction methods
2020-04-01 16:37:36 -07:00
Patrick Walton
ae97ccea5a
Improve ergonomics of the canvas font interface, and use the right fonts in the
...
NanoVG demo.
2020-04-01 16:25:13 -07:00
Patrick Walton
7c5c43b50f
Use HiDPI and a larger window size in the NanoVG demo
2020-03-31 20:18:25 -07:00
Patrick Walton
bbcd371efc
Show the progress spinners behind thumbnail images in the NanoVG demo
2020-03-31 17:14:06 -07:00
Patrick Walton
2db4cfcfed
Uncomment round join code in the NanoVG demo now that it doesn't crash
2020-03-31 13:32:23 -07:00
Patrick Walton
93f5fbc6d2
Add convenience constructors: `vec2f`, `vec2i`, `Vector2F::zero()`,
...
`Vector2I::zero()`
2020-03-31 11:29:21 -07:00
Patrick Walton
4af74f225d
Add support to canvas for the commonly-used `textBaseline` values
2020-03-30 22:00:13 -07:00
Patrick Walton
9a0fbe1d11
Flesh out the NanoVG demo yet more
2020-03-30 21:33:20 -07:00
Patrick Walton
a1f0ae097a
Add thumbnail images to the NanoVG demo
2020-03-30 16:18:41 -07:00
Patrick Walton
257067e368
Flesh out the NanoVG example even more
2020-03-28 12:45:23 -07:00
Patrick Walton
ed2807eb84
Flesh out the NanoVG demo some more
2020-03-27 20:53:57 -07:00
Patrick Walton
55df287fec
Move radial gradients from the CPU to the GPU
2020-03-26 21:24:20 -07:00
Patrick Walton
0f35d9c817
Add an embedded resource loader that places resources directly in the binary.
...
This is useful for WebGL and for downstream crates.io use.
2020-02-28 17:10:53 -08:00
Patrick Walton
5421525eaa
Implement the HSL filters (called "non-separable blend modes" in the spec).
...
These cannot be implemented with the standard OpenGL blending functions, so we
have to do them manually in a shader, which requires a good deal of machinery
to create intermediate framebuffers and so forth.
2020-02-24 15:37:44 -08:00
Patrick Walton
3245796445
Add support for multiple paint texture pages.
...
This avoids arbitrary limits on the number of images, gradients, etc. you can
have.
2020-02-21 14:46:10 -08:00
Patrick Walton
25f9346160
Add an incomplete port of the NanoVG example app
2020-02-19 11:00:03 -08:00