Sebastian K
e38e2d800f
update usvg to 0.8
2019-12-28 11:46:31 +03:00
Sebastian K
805066e65c
use a binary search for pathfinder_renderer::SortedVector
2019-12-28 11:14:25 +03:00
Patrick Walton
0662f6433f
Allow any texture format to be uploaded; fix Metal compilation on newer rustcs
2019-12-20 11:48:51 -08:00
Patrick Walton
7c655246ae
Add some more features to blending, and expand texture upload features
2019-12-19 08:58:02 -08:00
Patrick Walton
9124d9856a
Add some more methods to 3D vectors, and a `gluLookAt()` workalike
2019-12-18 15:19:42 -08:00
Patrick Walton
8dabd0a7ea
Add RGBA32F support
2019-12-14 13:58:02 -08:00
Patrick Walton
521ab3b5ba
Add a 3D vector type
2019-12-07 11:52:35 -08:00
Patrick Walton
b912cbbeb4
Merge pull request #242 from SethDusek/master
...
Bump lyon, font-kit and skribo versions to fix crashes
2019-11-30 15:01:40 -08:00
Kamal Ahmad
29713c5cd9
Bump lyon, font-kit and skribo versions to fix crashes
2019-11-20 22:51:03 +05:00
Patrick Walton
fa54868eb1
Add support for single float uniforms to `pathfinder_gpu`
2019-11-15 21:17:50 -08:00
Patrick Walton
9260dbce93
Fix Cargo.toml in `pathfinder_geometry`
2019-11-10 10:33:34 -08:00
Patrick Walton
586d974b7d
Update `Cargo.toml`s in preparation for publishing SIMD and geometry
2019-11-10 10:32:41 -08:00
Patrick Walton
ff212dce36
Add 2D matrix uniform types and a couple more useful geometry methods
2019-11-10 10:28:20 -08:00
Patrick Walton
5d5d30346b
Remove unnecessary dependencies from `pathfinder_gl`
2019-10-19 15:37:17 -07:00
Patrick Walton
99654270c9
Merge pull request #232 from s3bk/PR
...
fix #219 (minimum stroke thickness)
2019-10-04 20:30:23 -07:00
Patrick Walton
8914cb4977
Merge pull request #236 from est31/master
...
Remove redundant fixedbitset dependency
2019-09-07 18:22:43 -07:00
est31
ad143712a8
Remove redundant fixedbitset dependency
2019-08-30 20:24:09 +02:00
Sebastian Köln
3d0e911c3e
fix #219 (minimum stroke thickness)
2019-08-10 18:35:56 +03:00
Patrick Walton
f89ed900a3
Merge pull request #225 from est31/optional_text_rendering
...
Make text rendering optional in pathfinder_canvas
2019-08-05 13:51:49 -07:00
est31
3928e8d964
Rename the feature text → pf-text
2019-08-05 22:49:08 +02:00
est31
38df17696a
Put the text stuff into separate files
2019-07-27 19:18:10 +02:00
est31
fa1a32bdbb
Make text rendering optional in pathfinder_canvas
2019-07-27 06:13:02 +02:00
Patrick Walton
3c18f99bf8
Merge pull request #216 from toolness/c-improvements
...
Expose Canvas transform and save/restore to C
2019-07-22 15:18:48 -07:00
Patrick Walton
842348c65f
Merge pull request #218 from s3bk/master
...
fixes and a possible canvas addition
2019-07-22 15:17:29 -07:00
Sebastian Köln
f00038eac1
don't return a reference
2019-07-19 20:57:15 +03:00
Sebastian Köln
47e77f2513
don't run doc code
2019-07-16 13:53:03 +03:00
Sebastian Köln
d3b7d9c0aa
add tests back to CI
2019-07-16 13:19:07 +03:00
Sebastian Köln
5589c80dd1
hopefully make harfbuzz build
2019-07-16 13:07:19 +03:00
Sebastian Köln
bd12de8234
add default-members (and exclude metal). fixes #217
2019-07-16 09:59:52 +03:00
Sebastian Köln
e12821350e
fix canvas
2019-07-16 09:55:01 +03:00
Sebastian Köln
ed1d75fdc6
fix swf
2019-07-16 09:54:50 +03:00
Sebastian Köln
6acab74fae
Merge branch 'master' of https://github.com/servo/pathfinder
2019-07-16 09:43:37 +03:00
Atul Varma
84b4d1a5a8
Add canvas save and restore methods to C API.
2019-07-13 19:41:30 -04:00
Atul Varma
d72e61d60b
Add PFCanvasSetCurrentTransform, PFCanvasResetTransform.
2019-07-13 19:38:58 -04:00
Patrick Walton
652a03eb2b
Fix tests
2019-07-12 12:00:49 -07:00
Patrick Walton
e9c3fe6f31
Allow overloaded `*` to work between transforms and line segments and
...
transforms and rects
2019-07-12 11:59:04 -07:00
Patrick Walton
437eda96da
Overload `*` between transforms and points
2019-07-12 11:55:01 -07:00
Patrick Walton
2c984de1ea
Add convenience translation, rotation, and scaling methods to `Transform2D`
2019-07-12 11:34:48 -07:00
Patrick Walton
1eb28a5539
Fix incorrect definition of 2D transform multiplication
2019-07-12 11:26:09 -07:00
Patrick Walton
96758dfc17
Add `rotate` and `scale` methods to `Transform4F`
2019-07-11 15:57:45 -07:00
Patrick Walton
3f91206d57
Add a `translate` method to 3D transforms
2019-07-11 15:44:01 -07:00
Patrick Walton
bcac119324
Rename `Transform2DF` to `Transform2F` and `Transform3DF` to `Transform4F`
2019-07-11 14:59:10 -07:00
Patrick Walton
55825cbc6a
Switch scale and translation constructors for `Transform3DF` over to use vectors
2019-07-11 14:58:45 -07:00
Patrick Walton
eb0a61679d
Use operator overloading for 3D matrix multiplication
2019-07-11 13:59:39 -07:00
Patrick Walton
abf97c9adb
Merge pull request #210 from s3bk/push_layout_fix
...
SceneExt::push_layout make transform apply to offsets
2019-07-10 08:48:58 -07:00
Patrick Walton
850980eb9d
Merge pull request #211 from Jason-Cooke/patch-1
...
docs: fix typo
2019-07-06 23:23:50 -07:00
Jason Cooke
4ec9666d1d
docs: fix typo
2019-07-06 14:36:05 +12:00
Sebastian Köln
2f6c33cbcb
SceneExt::push_layout make transform apply to offsets
2019-07-03 14:49:43 +03:00
Patrick Walton
b886c157c1
Use 2-lane instead of 4-lane SIMD types for 2D vectors.
...
Also, this commit rewrites the `add_fill()` method to stop using shuffle
instructions, which can be slow and make the code overly complicated. The
shuffle instructions have been removed from the various SIMD backends.
2019-06-26 16:38:37 -07:00
Patrick Walton
222fa89b23
Use a 3D transform in the tile vertex shaders.
...
This opens the door to caching tiles at different zoom levels (issue #191 ).
2019-06-25 11:32:39 -07:00
Patrick Walton
4cdded74b4
Fix SVG export in the demo; update `Cargo.lock`
2019-06-25 11:32:26 -07:00
Patrick Walton
ff777f7995
Merge pull request #205 from s3bk/ps_export
...
Unify exports into the export crate.
2019-06-25 08:21:49 -07:00
Sebastian Köln
251785db67
cleanup
2019-06-25 11:39:31 +03:00
Sebastian Köln
21fffb29f7
merge with master
2019-06-25 11:36:04 +03:00
Sebastian Köln
090c21a20a
Move all scene exports into the export crate.
...
SVG, PDF and PS can now be created with Scene::export.
2019-06-25 11:26:37 +03:00
Patrick Walton
fd357725de
Update the README
2019-06-24 23:09:22 -07:00
Patrick Walton
4d866f4a75
Move `svg2pdf` to `utils/`
2019-06-24 23:05:09 -07:00
Patrick Walton
ad858564a9
Add a minimal macOS example app using the C Metal API
2019-06-24 23:03:37 -07:00
Patrick Walton
6785ba0623
Flesh out the Metal C API more
2019-06-24 22:55:55 -07:00
Patrick Walton
a8d20cb37f
Add transform support to the C API, and fix build problems
2019-06-24 14:03:26 -07:00
Sebastian Köln
a02e370675
rename pdf subcrate to export
2019-06-24 23:07:51 +03:00
Sebastian Köln
781074a0e6
Merge branch 'ps_export' of github.com:s3bk/pathfinder into ps_export
2019-06-24 22:55:20 +03:00
Sebastian Köln
b41388c3ed
Merge https://github.com/servo/pathfinder
2019-06-24 22:44:07 +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
Patrick Walton
82171088c5
Expose text alignment in the C API
2019-06-24 12:06:05 -07:00
Patrick Walton
9efe44640d
Update `Cargo.lock`
2019-06-24 12:05:59 -07:00
Patrick Walton
e727fd9018
Try to work around #199
2019-06-24 11:45:44 -07:00
Patrick Walton
0b299060d5
Merge pull request #203 from s3bk/pdf_export
...
Pdf export
2019-06-24 11:34:07 -07:00
Sebastian Köln
0e08bc6696
fix warning
2019-06-24 20:20:15 +03:00
Sebastian Köln
8b64d5add1
update pdf
2019-06-24 20:17:48 +03:00
Sebastian Köln
0a5c4007f9
merge with master
2019-06-24 18:31:13 +03:00
Sebastian Köln
17f0e50878
Merge https://github.com/servo/pathfinder
2019-06-24 18:23:10 +03:00
Sebastian Köln
2a129b7bbd
add CanvasRenderingContext2D::fill_layout – a method to draw layouts directly, without using skribo
2019-06-24 16:12:05 +03:00
Patrick Walton
dfdfebfdd2
Fix use-after-free in Metal argument encoding
2019-06-22 14:39:29 -07:00
Patrick Walton
d86ff9011a
Update the postprocessing shader and vertex array for the Metal changes.
...
Closes #201 .
2019-06-21 18:04:18 -07:00
Patrick Walton
2c49a3360e
Add Metal support to the C API
2019-06-21 13:37:17 -07:00
Patrick Walton
1c34b12948
Add some font functions to the C API
2019-06-21 13:17:11 -07:00
Patrick Walton
1caad35b46
Use `cbindgen` instead of hand-writing a header file
2019-06-21 11:35:18 -07:00
Patrick Walton
9107f21966
wip
2019-06-21 10:40:32 -07: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
b16300bf02
Move the SWF assets into `resources/`.
2019-06-21 09:32:48 -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
Patrick Walton
82b0826407
Merge remote-tracking branch 'hardiesoft/swf_renderer'
2019-06-21 09:25:00 -07:00
Patrick Walton
de0662e08e
Update `spirv-cross` to upstream master.
...
A fix has been merged for the issue that was breaking Pathfinder, so we can now
use the master branch.
2019-06-21 07:24:24 -07:00
Patrick Walton
0012f09eeb
Fix examples
2019-06-20 21:43:57 -07:00
Patrick Walton
8ec4f04deb
Make `canvas-text` use a custom font
2019-06-20 21:34:46 -07:00
Patrick Walton
010bc66073
Upgrade `resvg` to 0.7
2019-06-20 17:13:15 -07:00
Patrick Walton
3f601be08c
Add C bindings to fill and stroke styles
2019-06-20 16:57:20 -07:00
Jon Hardie
f730e5d2db
[WIP] Remove incorrect debug assertion
2019-06-21 11:12:10 +12:00
Jon Hardie
4d53ab60fc
[WIP] Updating to master
2019-06-21 11:10:26 +12:00
Patrick Walton
36db39883c
Add C bindings to the canvas text APIs
2019-06-20 16:07:38 -07:00
Jon Hardie
b1dc8a1ab7
Merge remote-tracking branch 'origin/swf_renderer' into swf_renderer
2019-06-21 11:00:49 +12: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
2129e4f2e1
Add missing path methods to the C API
2019-06-20 15:51:25 -07:00
Patrick Walton
d2fbb23031
Expose more stroke features in the C API
2019-06-20 13:01:54 -07:00
Patrick Walton
71623eaab3
Make Metal dependencies in the demo Mac-only
2019-06-20 12:34:55 -07: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
jonathanhardie
b17d6c605a
Remove incorrect debug assertion
2019-06-19 11:25:26 +12:00
Patrick Walton
5c5fe00b27
Fix build problem
2019-06-17 13:16:03 -07:00
Sebastian Köln
4039658155
add a simple PDF export
2019-06-15 17:50:25 +03:00