Commit Graph

1222 Commits

Author SHA1 Message Date
Emmanuel Gil Peyrot 6ce416e77c Bump all outdated dependencies
I’m pleasantly surprised that none of these required any (visible) code
change, but tests pass so let’s go with that. :)
2020-02-06 09:39:50 +01:00
Emmanuel Gil Peyrot 03e3a9fded Bump glutin dependency in the example
The API of winit has changed quite a lot in their 0.20 release.
2020-02-06 09:39:50 +01:00
Emmanuel Gil Peyrot d2b8e2cd30 Bump euclid dependency of area-lut 2020-02-06 09:39:50 +01:00
Emmanuel Gil Peyrot fb22aafada Update swf-related crates
swf-tree got renamed into swf-types for their 0.10 release.
2020-02-06 09:39:50 +01:00
Emmanuel Gil Peyrot 2d2bc14e5c Remove unused import 2020-02-06 08:45:14 +01:00
Patrick Walton 706b6dbd1d Add an API for gradients to the canvas frontend, not implemented yet 2020-02-05 20:01:11 -08:00
Patrick Walton 9a2e4f0b6d
Merge pull request #259 from linkmauve/fix-missing-quickcheck
Add quickcheck build-dependency
2020-02-05 15:24:28 -08:00
Patrick Walton a66ed4c073 Specify tile texture coordinates as an affine transform.
Part of the groundwork for gradients.
2020-02-05 13:59:32 -08:00
Emmanuel Gil Peyrot cc6fe7864b Add quickcheck build-dependency
quickcheck usage in pathfinder_content had been added in
b8f622203a, but not to the Cargo.toml.

This makes tests pass again.
2020-02-05 14:35:20 +01:00
Patrick Walton b269723254 Switch to per-pixel texture lookup for paints.
This is a prerequisite for supporting gradients and images.
2020-02-04 21:50:13 -08:00
Patrick Walton 1e84ddf1ff Use the texture allocator to allocate solid colors 2020-02-03 22:24:34 -08:00
Patrick Walton b8f622203a Add a simple quadtree-based texture allocator 2020-01-31 14:38:01 +01: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
Patrick Walton cd05eefac7
Merge pull request #252 from s3bk/fix-simd
fix simd for scalar platforms
2020-01-23 19:44:21 -08:00
Patrick Walton 5ea86ccba8 Bump `pathfinder_geometry` and `pathfinder_simd` to version 0.4 2020-01-23 18:24:56 -08:00
Sebastian K de0f9055ed fix scalar simd impls 2020-01-24 00:24:22 +03:00
Patrick Walton 3f72847294 Add a few missing methods to geometry and SIMD; fix SIMD tests 2020-01-14 21:31:22 -08:00
Patrick Walton 422ccbc15c
Merge pull request #250 from servo/i686
Support `pathfinder_simd` on 32-bit x86.
2020-01-14 13:04:28 -08:00
Patrick Walton ee9187849b Support `pathfinder_simd` on 32-bit x86.
Closes #249.
2020-01-14 13:03:31 -08:00
Patrick Walton ce3b40cd5c Make timer queries and framebuffer readback async 2020-01-07 13:03:15 -08:00
Patrick Walton eb66459ef4 Fold the `.round()` method on SIMD vectors into float-to-int conversion.
This drops our requirements from SSE4.1 to SSE2.

Closes #241.
2019-12-29 15:05:01 -08:00
Patrick Walton 0bb6b88859 Stop using AVX2 when packing pixels.
Partially addresses #241.
2019-12-29 12:38:36 -08:00
Patrick Walton 986792349f Use the SSE2 `_mm_movemask_ps` on x86 instead of the SSE4.1 `_mm_test_all_ones`
and `_mm_test_all_zeros`.

Partially addresses #241.
2019-12-29 12:13:58 -08:00
Patrick Walton 7f6374f110
Merge pull request #245 from s3bk/sorted_vector_binary_search
use a binary search for pathfinder_renderer::SortedVector
2019-12-29 11:29:45 -08:00
Patrick Walton dcefd7b70b
Merge pull request #246 from s3bk/usvg_0.8
update usvg to 0.8
2019-12-29 11:29:09 -08:00
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