Patrick Walton
|
4933efb513
|
Add Lighten and Darken composite ops
|
2020-02-20 20:38:43 -08:00 |
Patrick Walton
|
ab55b9509b
|
Fix handling of solid tiles with the Clear blend mode
|
2020-02-20 18:15:20 -08:00 |
Patrick Walton
|
6acd2d91f7
|
Implement `clear_rect()` in the canvas front-end by introducing the concept of
per-path blend modes.
These should be useful for some canvas composite operations as well.
|
2020-02-20 15:52:40 -08:00 |
Patrick Walton
|
0c3dad974f
|
Expose individual blend factors in `pathfinder_gpu`
|
2020-02-20 15:28:37 -08:00 |
Patrick Walton
|
16a2de88df
|
Rename "postprocessing" to "effects" and start initial work on composite ops
|
2020-02-20 14:22:07 -08:00 |
Patrick Walton
|
d9e994e46d
|
Transition the existing postprocessing system to a layers system.
This is preparatory work for composite ops and blurs.
Closes #261.
|
2020-02-20 11:21:45 -08:00 |
Patrick Walton
|
25f9346160
|
Add an incomplete port of the NanoVG example app
|
2020-02-19 11:00:03 -08:00 |
Patrick Walton
|
fd070d7a24
|
Start an `angle` module in `pathfinder_geometry`
|
2020-02-19 10:59:40 -08:00 |
Patrick Walton
|
95d5fab5ef
|
Minor cleanup in `pathfinder_canvas`
|
2020-02-19 10:59:40 -08:00 |
Patrick Walton
|
cc9711e151
|
Transform some paints in the canvas API
|
2020-02-18 16:06:39 -08:00 |
Patrick Walton
|
3f79927eb1
|
Allow the paint texture to grow a bit
|
2020-02-18 15:06:09 -08:00 |
Patrick Walton
|
d97eb32566
|
Add a (somewhat inefficient) HSLA to RGBA conversion function
|
2020-02-18 14:36:26 -08:00 |
Patrick Walton
|
df150dea8a
|
Add a method to fetch the center of a rect
|
2020-02-18 14:36:10 -08:00 |
Patrick Walton
|
dcd12279d4
|
Fix counterclockwise arc logic
|
2020-02-18 14:36:02 -08:00 |
Patrick Walton
|
4419553acc
|
Clamp gradient time to [0, 1]
|
2020-02-18 14:35:37 -08:00 |
Patrick Walton
|
28c0811daa
|
Fix `pathfinder_swf` build
|
2020-02-17 15:24:21 -08:00 |
Patrick Walton
|
a383c9a2ab
|
Fix build of `pathfinder_text`
|
2020-02-17 14:55:05 -08:00 |
Patrick Walton
|
3ad1c25796
|
Implement the even-odd fill rule
|
2020-02-17 14:44:48 -08:00 |
Patrick Walton
|
243f2cc9b2
|
Add basic, incomplete support for clip paths in SVG
|
2020-02-16 15:02:37 -08:00 |
Patrick Walton
|
677c607a8c
|
Get clips working for canvas
|
2020-02-16 13:45:15 -08:00 |
Patrick Walton
|
0d3bbbd506
|
Clip entire tiles appropriately.
This doesn't composite masks together, so it's currently incomplete.
|
2020-02-15 18:01:23 -08:00 |
Patrick Walton
|
a8019a1a1a
|
Fix mask positioning on OpenGL
|
2020-02-15 18:00:25 -08:00 |
Patrick Walton
|
631e16ce9b
|
Fix flipped Y axis in mask texture positioning
|
2020-02-15 14:08:22 -08:00 |
Patrick Walton
|
f26eecae7a
|
Build clip paths before draw paths
|
2020-02-15 14:04:01 -08:00 |
Patrick Walton
|
496b55ee4e
|
Add front-end support for clip paths. They don't do anything yet.
|
2020-02-15 13:21:12 -08:00 |
Patrick Walton
|
fefa3c3cd3
|
Rename `PathObject` to `DrawPath` to differentiate it from a clip path
|
2020-02-15 12:39:15 -08:00 |
Patrick Walton
|
6e28552a44
|
Add missing shaders
|
2020-02-14 22:10:04 -08:00 |
Patrick Walton
|
0883f54e2d
|
Add a separate mask blit step, in preparation for supporting clips.
We can elide this in the future if there are no clips, but it isn't a huge
performance regression right now, so let's just unconditionally do it.
|
2020-02-14 21:56:43 -08:00 |
Patrick Walton
|
6a73a63336
|
Factor out mask texture UV calculation, and rename a couple of render commands
|
2020-02-14 21:37:20 -08:00 |
Patrick Walton
|
31becb1570
|
Flatten objects' tiles ourselves instead of having Rayon do it.
A prerequisite for clips.
|
2020-02-14 21:20:19 -08:00 |
Patrick Walton
|
84ffc3151e
|
Split shaders out into a separate module.
|
2020-02-14 11:56:38 -08:00 |
Patrick Walton
|
90445bac7e
|
Implement basic support for non-repeating image patterns.
|
2020-02-11 17:20:21 -08:00 |
Patrick Walton
|
aad467e716
|
Implement basic radial gradients.
This doesn't handle the case where the circles are not concentric yet.
|
2020-02-10 22:15:50 -08:00 |
Patrick Walton
|
5a21557a6d
|
Implement basic linear gradients.
This is not a very efficient implementation yet, but it seems to work.
|
2020-02-10 16:01:05 -08:00 |
Patrick Walton
|
740597d886
|
Merge pull request #254 from arturoc/remove-log-restriction
Remove log restriction
|
2020-02-06 08:38:08 -08:00 |
Patrick Walton
|
183c802a13
|
Merge pull request #257 from linkmauve/eijebong
Bump almost all dependencies to their latest version
|
2020-02-06 08:37:20 -08:00 |
Emmanuel Gil Peyrot
|
124472cff1
|
Regenerate Cargo.lock with the latest changes
|
2020-02-06 09:39:58 +01:00 |
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 |
Arturo Castro
|
3be6d70577
|
remove log restrictions from renderer, demo/common and gl crates
|
2020-01-28 15:24:21 +01:00 |
Arturo Castro
|
7213b3e1cb
|
Remove log restriction
pathfinder-geometry enabled a log feature that restricts logging
to warn for any binary using it.
|
2020-01-28 12:07:03 +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 |