Commit Graph

1742 Commits

Author SHA1 Message Date
Patrick Walton 3b92ed0798 Refactor into separate functions 2018-12-21 13:46:28 -08:00
Patrick Walton 8887b55469 Switch to i16s for tile indices 2018-12-21 12:00:29 -08:00
Patrick Walton 5442f81fea Fix quadratic derivative 2018-12-21 11:34:10 -08:00
Patrick Walton 6ed839a14b Fix warnings and remove dead code 2018-12-21 11:33:02 -08:00
Patrick Walton 4360bf6f13 Deheapify active edges 2018-12-20 21:04:48 -08:00
Patrick Walton 4d692759a9 Use SortedVectors for heaps 2018-12-20 15:26:29 -08:00
Patrick Walton dbac2bade5 WIP, remove intervals 2018-12-20 14:57:16 -08:00
Patrick Walton c76b7b0ec0 Use a heap 2018-12-20 13:10:20 -08:00
Patrick Walton e70266a481 WIP 2018-12-20 12:47:40 -08:00
Patrick Walton 24d6dd4055 WIP 2018-12-20 11:39:01 -08:00
Patrick Walton bf50b5bd60 Implement a heap 2018-12-20 10:54:22 -08:00
Patrick Walton 353f7d66bf WIP before optimizing sorting 2018-12-20 07:53:36 -08:00
Patrick Walton 86f1202360 Fix more bugs 2018-12-19 20:42:46 -08:00
Patrick Walton 4fd332955a Fix bugs 2018-12-19 20:30:36 -08:00
Patrick Walton 2353396ed9 Fix some more bugs 2018-12-19 18:25:34 -08:00
Patrick Walton bfbe48959a Many fixes to tile clipping 2018-12-19 18:20:22 -08:00
Patrick Walton 4a00468595 Rework mask/tile in demo 2018-12-19 17:05:01 -08:00
Patrick Walton 0e0064eff1 renumber tiles, etc 2018-12-19 15:58:54 -08:00
Patrick Walton 56c7a76d98 wip before renumbering tiles 2018-12-19 15:22:41 -08:00
Patrick Walton 3c859ea6d5 wip: fix styles! 2018-12-19 11:16:24 -08:00
Patrick Walton a282f562ad wip 2018-12-19 10:04:58 -08:00
Patrick Walton 1e2d4ab8fe Handle trivial cases in X clipping 2018-12-18 17:11:50 -08:00
Patrick Walton 611f7379dc Better subdivision 2018-12-18 17:08:02 -08:00
Patrick Walton d18d1c38e5 Monotonicize 2018-12-18 16:16:51 -08:00
Patrick Walton 95a13a1547 wip, need monotonicization 2018-12-18 15:47:47 -08:00
Patrick Walton a92eedef93 Load new stuff in the demo 2018-12-18 14:00:46 -08:00
Patrick Walton 6a2b488291 wip, now to work on the demo 2018-12-17 18:31:49 -08:00
Patrick Walton 7400f0acf3 Write a `.pf3` file 2018-12-17 14:07:19 -08:00
Patrick Walton 00fb5ca5de Create tile primitives 2018-12-16 17:43:03 -08:00
Patrick Walton 4b9e21c6a0 wip 2018-12-16 11:41:43 -08:00
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 190e1aa1c9 Add a description and license field to `path-utils` 2018-12-05 16:14:32 -05: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
Bastien Orivel 64e8672d13 Update env_logger 2018-11-18 13:47:53 +01: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