Sebastian K
dec6fa05f0
Merge branch 'master' of https://github.com/servo/pathfinder into PR-pdf
2020-07-07 22:13:57 +03:00
Sebastian K
fa47d5a181
initial PDF support
2020-07-06 22:34:42 +03:00
Patrick Walton
e54e0e4760
Start a new `web_canvas` crate, for usage in the browser as a `<canvas>` replacement
2020-07-04 09:33:49 -07:00
Sebastian K
3785fcf413
remove patch for s3bk/pathfinder
2020-07-04 17:18:30 +03:00
Sebastian K
8d866bc9c8
initial PDF support
2020-07-04 17:01:21 +03:00
Patrick Walton
5f8fcbeac2
Fix WebGL, and add a simple example of WebGL usage
2020-07-02 19:49:09 -07:00
Patrick Walton
686773224c
Publish `pathfinder_text` to crates.io
2020-04-17 13:44:11 -07:00
Patrick Walton
1cd5966d3d
Publish `pathfinder_content` and `pathfinder_renderer` to crates.io
2020-04-17 13:23:45 -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
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
Sebastian K
e2fbde820d
Implement a WebGL backend
...
Signed-off-by: Patrick Walton <pcwalton@mimiga.net>
2020-02-28 10:41:35 -08:00
Patrick Walton
25f9346160
Add an incomplete port of the NanoVG example app
2020-02-19 11:00:03 -08:00
Patrick Walton
2db43797c3
Split colors out into their own crate.
...
A lot of downstream consumers of `pathfinder_gpu` want to use colors without
the path stuff.
2020-01-31 09:17:04 +01:00
Sebastian Köln
bd12de8234
add default-members (and exclude metal). fixes #217
2019-07-16 09:59:52 +03:00
Sebastian Köln
21fffb29f7
merge with master
2019-06-25 11:36:04 +03:00
Patrick Walton
4d866f4a75
Move `svg2pdf` to `utils/`
2019-06-24 23:05:09 -07:00
Sebastian Köln
a02e370675
rename pdf subcrate to export
2019-06-24 23:07:51 +03:00
Sebastian Köln
1ca35d8426
add PS export as well. also rename svg2pdf into convert and add PS export to it
2019-06-24 22:41:34 +03:00
Sebastian Köln
0a5c4007f9
merge with master
2019-06-24 18:31:13 +03:00
Patrick Walton
431dcf3d2e
Rename `pathfinder_geometry::basic` to simply `pathfinder_geometry`, and move
...
the remaining code in that crate to a new crate, `pathfinder_content`
The old hierarchy was confusing.
2019-06-21 10:06:19 -07:00
Patrick Walton
336f2ca302
Rename `pathfinder_flash` to `pathfinder_swf` for consistency with other crates
...
in the Rust Flash ecosystem
2019-06-21 09:28:15 -07:00
Jon Hardie
ba1ff45cb2
Merge branch 'master' of https://github.com/servo/pathfinder into swf_renderer
2019-06-21 10:58:52 +12:00
Patrick Walton
487577a11b
Add Metal support.
...
This commit substantially reworks the `pathfinder_gpu` API to better support
modern APIs like Metal. It should open the door to `gfx-rs`, `wgpu`, Vulkan,
and D3D12 backends relatively straightforwardly.
A new example, `canvas_metal_minimal`, has been added.
Note that the new Metal shaders require a patched version of `spirv-cross` to
build properly. An upstream patch is forthcoming.
2019-06-20 11:47:22 -07:00
Sebastian Köln
4039658155
add a simple PDF export
2019-06-15 17:50:25 +03:00
Jon Hardie
96f0ed0926
Merge branch 'master' of https://github.com/servo/pathfinder into swf_renderer
2019-06-15 16:22:45 +12:00
Jon Hardie
5d698998e9
[WIP] Initial support for rendering graphic symbols from swf files.
2019-06-15 16:08:46 +12:00
Patrick Walton
5dfe14ebc4
Add a minimal `glutin` example
2019-06-12 10:50:24 -07:00
Patrick Walton
e04cc273ee
Add enough C bindings to recreate `canvas_minimal` in C.
...
Closes #12 .
2019-05-25 20:21:38 -07:00
Patrick Walton
8c4f05ce39
Initial rudimentary Lottie parsing code
2019-05-23 18:03:09 -07:00
Patrick Walton
639a8f39e8
Add Moiré demo
2019-05-11 11:53:50 -07:00
Patrick Walton
a078766dc6
Implement basic text rendering in canvas with `skribo` and `font-kit`.
...
Skribo currently writes some debugging info to standard output. A patch is
forthcoming to fix that.
2019-05-09 15:21:18 -07:00
Patrick Walton
9de7d95d33
Start a simple HTML canvas-like API, and add a minimal example to show how to
...
use it.
2019-05-03 14:15:38 -07:00
Alan Jeffrey
838bf684fb
Add magicleap demo
2019-04-15 12:43:41 -04:00
Patrick Walton
9c404dfdc1
Add an Android port
2019-03-12 13:55:26 -07:00
Patrick Walton
8dc3a84d09
Remove `tile-svg` and the serialization code.
...
They can be added later if needed, but for now they're just bitrotting.
2019-03-05 15:38:10 -08:00
Patrick Walton
ae450b063e
WIP: Factor out GL code
2019-03-04 14:55:32 -08:00
Patrick Walton
64b480fe32
Some more work on the site
2019-03-01 14:58:02 -08:00
Patrick Walton
ac24b67300
Add a simple SVG-subset-to-Skia-code tool, for benchmarking
2019-02-25 15:06:33 -08:00
Patrick Walton
d30743a69c
Begin refactoring the demo into a shared library and a platform-specific
...
entry point.
This will help the upcoming wasm port.
2019-02-15 18:21:46 -08:00
Patrick Walton
dbf880d011
Rename `demo3` to `demo`
2019-02-08 14:53:20 -08:00
Patrick Walton
2f497e7f17
Remove unused `gfx-utils`
2019-02-08 14:42:17 -08:00
Patrick Walton
0b0c913332
Split out SIMD into a separate crate
2019-02-01 11:48:10 -08:00
Patrick Walton
dd480feb52
Factor out the GL rendering code into a separate crate
2019-01-30 19:31:29 -08:00
Patrick Walton
a4c2796883
Implement a third demo with native code, not working yet
2019-01-14 19:32:53 -08:00
Patrick Walton
821b54b8f4
Factor renderer and SVG code out into separate crates
2019-01-14 14:20:36 -08:00
Patrick Walton
3165a4a1b0
Remove old demo server; remove `SegmentFlags`
2019-01-10 20:43:03 -08:00
Patrick Walton
adf49ab932
Rename `path-utils` to `geometry`
2019-01-10 10:01:21 -08:00
Patrick Walton
b80e1ea38f
wip: parsing svgs
2018-12-11 16:38:06 -08:00
Patrick Walton
c6cc6e6fd8
Remove `pathfinder_font_renderer` in favor of `font-kit`.
...
Closes #69 .
Closes #84 .
2018-08-02 15:07:25 -07:00
Patrick Walton
96d2f909ea
wip
2018-03-19 18:34:27 -07:00
Patrick Walton
6e13fb171c
Use a lookup table to do area calculations instead of Loop-Blinn-style
...
distance-to-edge for stencil analytic antialiasing.
This improves the rendering quality of stencil AAA significantly.
Additionally, this adds an approximation of Core Graphics' (macOS')
defringing filter.
Closes #73 .
2018-03-19 14:35:36 -07:00
Patrick Walton
6a640eca74
Simplify the B-quad vertex position VBO to have a uniform format, and
...
enable early Z for SVG.
Additionally, this switches the B-quad patches for XCAA to be convex
hulls instead of bounding boxes, reducing fragment shader load.
This is a large speedup for the Ghostscript tiger demo: 5x or more.
Closes #33 .
2018-01-11 19:25:02 -08:00
Patrick Walton
0ec5b74851
Start a Cargo workspace and generate documentation for it
2017-12-23 18:01:55 -05:00
Patrick Walton
93c928bf5c
Move Pathfinder to `pathfinder-classic` in preparation for Pathfinder 2
2017-06-27 14:13:11 -07:00
Patrick Walton
a9c4c7aa3e
Implement most of the basic arithmetic and control structures in the hinting VM
2017-02-27 12:52:14 -08:00
Patrick Walton
5e9b8c9423
Implement basic support for WOFF 1.0
2017-02-22 14:19:27 -08:00
Patrick Walton
a0b23592b5
Allow specific fonts in collections to be selected
2017-02-08 15:34:16 -08:00
Patrick Walton
86fec9ff54
Fix local path in Cargo.toml
2017-02-03 15:18:48 -08:00
Patrick Walton
ce383385df
Add partial support for Mac `.dfont` suitcases
2017-02-03 13:13:54 -08:00
Patrick Walton
c41cd1f150
Remove local path mistakenly added to Cargo.toml
2017-02-02 16:07:07 -08:00
Patrick Walton
94406a1d62
Add a simple benchmarking tool. Only benchmarks GPU time, not CPU for
...
now.
2017-01-31 18:33:24 -08:00
Patrick Walton
6ae7601283
Add borders between glyphs in the atlas; allow the atlas to be dumped in the demo
2017-01-30 20:04:39 -08:00
Patrick Walton
5bccf88445
Make zooming work better; fix atlas sizing bugs
2017-01-30 18:33:44 -08:00
Patrick Walton
bdf6ebab24
Draft complete end-to-end code. Not working yet.
2017-01-11 20:44:10 -08:00
Patrick Walton
7056a7632b
Create buffers and create skeleton OpenCL shaders
2017-01-10 19:57:08 -08:00
Patrick Walton
941aaea676
Encode contours. 0.3-0.4 µs per glyph or so.
2017-01-09 19:49:00 -08:00
Patrick Walton
ce811c0e48
Implement the atlas
2017-01-07 11:52:45 -08:00
Patrick Walton
34cd1ef9b0
Initial commit
2017-01-06 23:49:45 -08:00