Patrick Walton
a563d7f0ea
wip
2018-12-14 20:40:14 -08:00
Patrick Walton
45a14c08e1
Flatten
2018-12-14 20:34:36 -08:00
Patrick Walton
c77d5df20d
wip
2018-12-14 20:03:48 -08:00
Patrick Walton
a443e41909
Guard band clipping
2018-12-14 18:52:34 -08:00
Patrick Walton
689dfdadf9
wip
2018-12-14 14:33:33 -08:00
Patrick Walton
8f5eb1ca60
add strokes
2018-12-14 14:33:33 -08:00
Patrick Walton
316a130143
wip
2018-12-14 14:33:33 -08:00
Patrick Walton
3dd961c1b4
Optimize a bit
2018-12-14 14:33:33 -08:00
Patrick Walton
cfd1965a42
wip
2018-12-14 14:33:33 -08:00
Patrick Walton
670a6001fb
wip
2018-12-14 14:33:33 -08:00
Patrick Walton
dda3e16d2e
wip, too slow
2018-12-13 14:04:17 -08:00
Patrick Walton
4597414e21
Quickcheck intervals
2018-12-12 14:55:53 -08:00
Patrick Walton
ececd70760
Apply transforms
2018-12-11 16:53:57 -08:00
Patrick Walton
b80e1ea38f
wip: parsing svgs
2018-12-11 16:38:06 -08:00
Patrick Walton
a03a1d2058
wip
2018-12-05 16:08:16 -05:00
Patrick Walton
f18af6d650
Approximation
2018-12-04 13:35:50 -05:00
Patrick Walton
2cf3be651c
More work on strokes
2018-12-03 18:14:50 -08:00
Patrick Walton
077a3dc806
Fix H/V handling
2018-12-03 17:54:44 -08:00
Patrick Walton
4c772433b0
Do a better job of cubic-to-quadratic conversion
2018-12-03 17:50:09 -08:00
Patrick Walton
2aba5fdcfc
Hokey implementation of path stroking
2018-12-03 17:16:44 -08:00
Patrick Walton
27ba918192
Refactor `flattenPath` and `canonicalizePath` out
2018-12-03 16:31:25 -08:00
Patrick Walton
b51028568b
Add opaque tiles
2018-12-03 16:19:10 -08:00
Patrick Walton
0929a98e2a
wip: cull opaque tiles
2018-12-03 14:08:08 -08:00
Patrick Walton
2a07733144
Initial support for curves
2018-12-03 12:30:12 -08:00
Patrick Walton
7bf5ac1098
Clip via recursive subdivision
2018-12-03 12:20:12 -08:00
Patrick Walton
b05e5d5281
Time CPU side work
2018-12-02 18:07:54 -08:00
Patrick Walton
aa08cd1499
Shrink tile size
2018-12-02 17:53:30 -08:00
Patrick Walton
81912a91c9
Use new tiler
2018-12-02 16:39:22 -08:00
Patrick Walton
b5b2b76ff0
Cull empty tiles
2018-12-02 16:11:26 -08:00
Patrick Walton
6bc8c0ed80
Make coordinates tile-relative
2018-12-02 12:51:51 -08:00
Patrick Walton
bc3f6b6ae5
New tiling mostly working
2018-12-02 12:44:02 -08:00
Patrick Walton
79e69c6916
WIP Newton's method for stencil AAA
2018-12-01 11:48:22 -08:00
Patrick Walton
c1407c3970
WIP
2018-11-30 15:42:19 -08:00
Patrick Walton
26bbf2c3d5
optzn
2018-11-26 19:19:37 -08:00
Patrick Walton
7c4f817d96
WIP: optimizations
2018-11-26 18:51:52 -08:00
Patrick Walton
eda11577c6
wip
2018-11-26 18:30:04 -08:00
Patrick Walton
e9d1d3c322
WIP
2018-11-26 10:41:00 -08:00
Patrick Walton
19d17afdb8
WIP
2018-11-26 08:24:09 -08:00
Patrick Walton
726c3c013c
WIP
2018-11-16 21:44:33 -08:00
Patrick Walton
3097585a2a
Proper AA stenciling
2018-11-16 20:43:27 -08:00
Patrick Walton
1ef6d8df58
Flatten path
2018-11-16 15:38:41 -08:00
Patrick Walton
bb8aa46c1a
Detect square paths
2018-11-16 15:34:01 -08:00
Patrick Walton
8c1414e75d
Enlarge
2018-11-16 14:14:16 -08:00
Patrick Walton
fd848468bc
Basic drawing working now
2018-11-15 21:23:03 -08:00
Patrick Walton
052e9b27cd
WIP with fills
2018-11-15 19:23:42 -08:00
Patrick Walton
5698dfb791
Add color support
2018-11-15 18:06:19 -08:00
Patrick Walton
32792f81a7
WIP using lines
2018-11-15 14:37:32 -08:00
Patrick Walton
208565603e
WIP
2018-11-14 13:56:45 -08:00
Patrick Walton
a2522e3845
wip
2018-11-14 10:33:53 -08:00
Patrick Walton
3a5069b1e7
Merge pull request #98 from EisenbergEffect/patch-1
...
docs(readme): clarify demo build requirements
2018-10-31 09:28:16 -07:00
Rob Eisenberg
6a622b7f04
doc(readme): clarify demo build requirements
...
My normal workflow involves using tools that are mostly in "JavaScript land". So, I didn't have either Rust or CMake installed. The instructions mentioned Rust nightly builds as a dependency, but not CMake. So, I've added CMake and then turned each of these dependencies into a link as a convenience for anyone that comes along later.
2018-09-26 10:46:28 -07:00
Patrick Walton
883ccceb2d
Update various dependencies
2018-09-19 20:03:33 -07:00
Patrick Walton
81c3f08a5c
Make macOS-only code conditionally compiled; update dependencies
2018-08-22 13:34:50 -07: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
a518cdac21
Merge pull request #93 from Eijebong/num-traits-0.1-is-goooone
...
Update dependencies to remove num-traits 0.1
2018-07-31 13:45:26 -07:00
Bastien Orivel
9d19454c36
Update app_units 0.7
...
See ya num-traits 0.1 o/
2018-07-31 20:16:44 +02:00
Bastien Orivel
3cfd0a3126
Update image to 0.19
2018-07-31 20:16:00 +02:00
Patrick Walton
d04912fec6
Merge pull request #92 from paulrouget/euclid_update
...
Euclid and lyon updates
2018-07-30 09:47:38 -07:00
Paul Rouget
6d7dd604f8
Euclid and lyon updates
2018-07-27 11:40:45 +02:00
Patrick Walton
9b7da26d1e
Update `core-graphics` and `core-text`
2018-07-20 16:48:10 -07:00
Patrick Walton
673dd81fa7
Commit Cargo.lock to help keep things reproducible.
...
Closes #87 .
2018-07-18 08:30:01 -07:00
Patrick Walton
0a1adb0e18
iOS support
2018-07-18 08:24:09 -07:00
Patrick Walton
2e5b70805f
Merge pull request #89 from nical/lyon-0-11
...
Update lyon and euclid dependencies
2018-07-17 08:24:17 -07:00
Nicolas Silva
46d1878ef5
Update lyon and euclid dependencies.
2018-07-11 00:27:42 +02:00
Patrick Walton
2ec2adf1c7
Merge pull request #88 from Eijebong/bump-core-stuff
...
Update core-graphics, core-text and bump version
2018-07-09 15:58:48 -07:00
Bastien Orivel
42d1c439aa
Update core-graphics, core-text and bump version
2018-07-09 12:50:43 +02:00
Patrick Walton
63c17a7f15
Merge pull request #82 from fschutt/pathfinder_glyph_dimensions_directwrite
...
Fixed calculation of glyph dimensions on Windows
2018-05-03 18:10:57 -07:00
fschutt
9223717234
Fixed calculation of glyph dimensions on Windows
...
The dimensions in the `DWRITE_GLYPH_METRICS` are a bit special:
the `rightSideBearing` is measured from the right edge of the
character boundary, not the left edge.
So, doing (right - left) would usually return a negative or very
small number, which, when casted to a u32 in an unsafe block, would
silently overflow to a very large number and make webrender crash.
Therefore, in order to calculate the metrics correctly, we have
to first calculate the full width of the character, then subtract
the right and left edges, same width the height.
2018-05-03 07:55:40 +02:00
Patrick Walton
2701757e29
Merge pull request #81 from fschutt/fix_compile_windows
...
Fix the API of glyph_dimensions to make webrender compile on Windows
2018-04-27 08:41:10 -07:00
fschutt
80a872ca46
Add add_native_font function to get feature parity on Windows + publicly export necessary types
2018-04-13 13:24:53 +02:00
fschutt
ddcde6d1ae
Fix the API of glyph_dimensions to make webrender compile on Windows
2018-04-13 11:50:52 +02:00
Patrick Walton
235c51e160
Fix the Cargo version conflict in the front end
2018-04-10 11:20:17 -07:00
Patrick Walton
f755002983
Switch to the crates.io version of Servo's `freetype` library
2018-04-09 13:28:31 -07:00
Patrick Walton
6e1fe50202
Switch to Servo's version of the FreeType library bindings.
...
This enables compatibility with WebRender on Linux.
2018-04-09 12:41:41 -07:00
Patrick Walton
fcfd157c70
Remove `F32ArrayToMat4` in favor of `glmatrix.mat4.clone()`
2018-04-04 17:56:01 -07:00
Patrick Walton
2fde232982
Factor the text paragraph rendering code out into a separate class so it
...
can be reused
2018-04-03 13:57:46 -07:00
Patrick Walton
6ba87277c2
Remove the explicit WebVR API dependency; it seems to be upstream now
2018-04-03 12:42:33 -07:00
Patrick Walton
881be4967d
Fix TypeScript build errors
2018-04-03 12:40:02 -07:00
Patrick Walton
6f839cd1b2
Merge pull request #76 from Manishearth/vr-better
...
Cleaned up VR implementation
2018-04-02 19:11:13 -07:00
Manish Goregaokar
8ed4e96ff9
Various review cleanups
2018-04-02 19:10:19 -07:00
Manish Goregaokar
3d223c1a4a
Match screen size as much as possible
2018-04-02 19:10:11 -07:00
Manish Goregaokar
0751da81a4
Move VR stuff to ThreeDView
2018-04-02 19:10:11 -07:00
Manish Goregaokar
2b0b699fa0
Turn off lighting for VR
2018-04-02 19:10:11 -07:00
Manish Goregaokar
3af3635eea
Use correct viewport and clear correctly
2018-04-02 19:10:11 -07:00
Manish Goregaokar
148e77d995
Use correct projection and view matrices
2018-04-02 19:10:11 -07:00
Manish Goregaokar
975685c23b
Make it possible to enter VR mode
2018-04-02 19:10:11 -07:00
Manish Goregaokar
7e115826a1
Remove dependence on frag_depth
2018-04-02 19:10:04 -07:00
Patrick Walton
d66a5b6c54
Update to `env-logger` 0.5
2018-03-30 14:25:52 -07:00
Patrick Walton
dcc3a0fc94
Update to bincode 1.0
2018-03-22 15:03:25 -07:00
Patrick Walton
dbd3a36f3d
Generate a reasonable normal for the superfluous control point generated
...
for lines.
2018-03-21 14:56:24 -07:00
Patrick Walton
5e5148df54
Fix on Chrome, which doesn't support WebGL queries
2018-03-20 19:40:28 -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
e851afd5d9
Merge pull request #74 from pythonesque/patch-1
...
The Send impl for `FontContext` is too forgiving.
2018-03-10 10:29:19 -08:00
Joshua Yanovski
c7064b31ce
The Send impl for `FontContext` is too forgiving.
...
I'm pretty confident that it is only thread safe if FK is (or another way of putting it is, I'm pretty sure if you include an `Rc<_>` in FK it should not be safe to share between threads).
2018-03-09 01:20:49 +01:00
Patrick Walton
64c818e530
Construct meshes independently of mesh libraries (renamed to "mesh
...
packs").
This fits in better with the way WebRender does things. It simplifies
the code too.
2018-03-08 15:10:29 -08:00
Patrick Walton
cffff886c3
Be more robust in the presence of duplicated points when computing
...
normals
2018-03-07 11:53:44 -08:00
Patrick Walton
db6986ca1f
Take the orientation of a path into account when computing normals
2018-03-07 11:21:08 -08:00
Patrick Walton
aa3ecf28a5
Quantize to subpixel boundaries.
...
This doesn't break meshes the way the previous "discard if too thin"
code did. It fixes several issues observed on Wikipedia when using
Pathfinder in Firefox.
Closes #72 .
2018-03-06 19:20:19 -08:00
Patrick Walton
6c2c34aa3c
Make the mesh library serializable and deserializable.
...
This is needed for the new WebRender infrastructure.
2018-03-06 15:12:47 -08:00