Commit graph

375 commits

Author SHA1 Message Date
Ryan Oldenburg 67c55b0422 multiple layers test 2021-05-23 20:53:06 -05:00
Ryan Oldenburg b73b88bb63 layers 2021-05-23 20:47:32 -05:00
treeform 6fb1323101
Add dashes. (#202)
* Add dashes.
* Miter limits as ratio everywhere.
* Remove some fill and stroke overloads.
2021-05-23 18:46:19 -07:00
Ryan Oldenburg 41cd488ae3 context clip support 2021-05-22 21:43:42 -05:00
Ryan Oldenburg 5cc8e911d1 move image helpers from pixie.nim to context.nim 2021-05-21 00:54:55 -05:00
Ryan Oldenburg 0d65dffccc add context api 2021-05-19 00:06:02 -05:00
Ryan Oldenburg d87b423430 v2.0.0 add transform to pixie.nim helpers 2021-05-17 23:39:47 -05:00
treeform d37bed2f63 Fix image output diff. 2021-05-11 20:50:06 -07:00
Ryan Oldenburg e5642dc470 f 2021-05-11 22:40:39 -05:00
Ryan Oldenburg 666746d82e span fixes, more tests 2021-05-11 22:40:39 -05:00
Ryan Oldenburg f852d33ada add test 2021-05-11 22:40:39 -05:00
Ryan Oldenburg eae3b5e443 spans 2021-05-11 22:40:39 -05:00
Ryan Oldenburg f9064af992 test 2021-05-11 22:40:39 -05:00
Ryan Oldenburg 11fdc30399 paint on font 2021-05-11 22:40:39 -05:00
Ryan Oldenburg 207608df04 diff img 2021-05-11 22:40:39 -05:00
Ryan Oldenburg ee79db8c88 trailing data test for png 2021-05-11 22:40:39 -05:00
Ryan Oldenburg f969a04a03 move textCase, kerning flag 2021-05-11 22:40:39 -05:00
Ryan Oldenburg e931bd0319 computeBounds, no iterator 2021-05-11 22:40:39 -05:00
Ryan Oldenburg 85bd786dd0 feedback 2021-05-11 22:40:39 -05:00
Ryan Oldenburg 84dd01fd00 update benchmark_fonts 2021-05-11 22:40:39 -05:00
Ryan Oldenburg 37a21ac576 zippy output changed 2021-05-11 22:40:35 -05:00
Ryan Oldenburg eb550c0671 text alignments 2021-05-11 22:40:25 -05:00
Ryan Oldenburg 20eb1af118 selection rects, better initial y 2021-05-11 22:40:25 -05:00
Ryan Oldenburg 5c6725c4e3 handle control runes, newline 2021-05-11 22:40:25 -05:00
Ryan Oldenburg e5a463aaa3 names possibility 2021-05-11 22:40:25 -05:00
Ryan Oldenburg b0e7a1ae56 tests 2021-05-11 22:40:24 -05:00
Ryan Oldenburg 93a854c7b2 improvement? 2021-05-11 22:40:24 -05:00
Ryan Oldenburg eafd18fa7e more tests 2021-05-11 22:40:24 -05:00
Ryan Oldenburg cbfccea851 f 2021-05-11 22:40:24 -05:00
Ryan Oldenburg dc773555a8 f 2021-05-11 22:40:24 -05:00
Ryan Oldenburg 410057806e space fix for paragraph 2021-05-11 22:40:24 -05:00
Ryan Oldenburg cfb00b9b18 font bounds and benchmark 2021-05-11 22:40:24 -05:00
Ryan Oldenburg b42b9d649a svg fonts + move stuff around 2021-05-11 22:40:24 -05:00
Ryan Oldenburg 89225bad6f svg font files 2021-05-11 22:40:24 -05:00
Ryan Oldenburg 7ae3d5c418 megatest start + improvements 2021-05-11 22:40:23 -05:00
Ryan Oldenburg 4bdcc67baa kerning 2021-05-11 22:40:23 -05:00
Ryan Oldenburg 33b87f4e3c f 2021-05-11 22:40:23 -05:00
Ryan Oldenburg 2694a67c52 font api tests 2021-05-11 22:40:23 -05:00
Ryan Oldenburg 082f16096f simple api attempt 1 2021-05-11 22:40:23 -05:00
Ryan Oldenburg 9d2dc5c06f fuzz opentype 2021-05-11 22:40:23 -05:00
Ryan Oldenburg 267294a3e8 basic font start 2021-05-11 22:40:23 -05:00
Ryan Oldenburg 7d3d5acfb5 scale as test 2021-04-26 19:50:00 -05:00
treeform 75915ab05f 1.1.2: Update deps and docs. 2021-03-26 14:10:11 -07:00
Ryan Oldenburg ad24e4d836 1.0.5 converters, morepretty 2021-03-03 12:48:22 -06:00
Ryan Oldenburg b355c25baf superImage benchmark 2021-03-03 00:23:47 -06:00
Ryan Oldenburg 10fb0ad40f use zippy bitstream in gif.nim 2021-03-01 12:02:21 -06:00
treeform c8269d5db9 Add GIF file format. 2021-03-01 08:53:15 -08:00
treeform dc52e6f77b Add gif fuzzing. 2021-03-01 08:38:00 -08:00
treeform c7ff50660e Fix gif test. 2021-03-01 01:07:33 -08:00
treeform 5e7096dfd7 Merge branch 'master' of github.com:treeform/pixie 2021-03-01 01:01:11 -08:00
treeform e0ebc1c655 Started work on gif image loader. 2021-03-01 01:01:04 -08:00
Ryan Oldenburg 7d7a4664f9 1.0.4 2021-02-28 01:12:00 -06:00
Ryan Oldenburg a71b3150c7 add image diff 2021-02-28 01:00:56 -06:00
Ryan Oldenburg 7aee1b5d82 spread optimization + spread and blur bugfix 2021-02-27 00:36:35 -06:00
Ryan Oldenburg 004182a122 simpler + out of bounds color for image blur 2021-02-26 19:10:48 -06:00
Ryan Oldenburg 36352685e1 bugfix blur perf rgba/rgbx 2021-02-26 18:46:21 -06:00
treeform 076dc60468 Fix gradients to use rgbx. 2021-02-25 16:26:55 -08:00
Ryan Oldenburg 64cfab293d migrate public api to rgbx 2021-02-25 18:11:58 -06:00
Ryan Oldenburg f04f8e9478 images are always premultipled alpha 2021-02-25 16:11:36 -06:00
Ryan Oldenburg 751b804679 morepretty 2021-02-25 11:43:09 -06:00
Ryan Oldenburg 34b5f07f1f
tiled draw path + removed 2 exported procs from paints.nim (#132) 2021-02-25 09:05:20 -08:00
Ryan Oldenburg d6e0b06135
updated iconset rendres (#131) 2021-02-24 22:05:32 -08:00
treeform c8c981b04e
Add paints to pixie. (#127)
Add paints for: solid, image, image tiled, linear, radial and angular gradients.
2021-02-24 21:49:21 -08:00
Ryan Oldenburg 6a1131e6f8 for now i guess 2021-02-24 23:38:41 -06:00
Ryan Oldenburg 704ecb7848 fix rendering artifact with clever idea from treeform 2021-02-24 23:09:06 -06:00
Ryan Oldenburg 3d3dc58bce move proc, more tests 2021-02-24 22:19:09 -06:00
Ryan Oldenburg 6e7a08538d linecap, linejoin, miterAngleLimit 2021-02-24 19:48:23 -06:00
Ryan Oldenburg 380d284a66 another iconset + fixes 2021-02-23 17:30:46 -06:00
Ryan Oldenburg ca023c1a08 arc flag parse fix + another icon set 2021-02-23 16:22:29 -06:00
Ryan Oldenburg 987531b018 basic css, ionicons looking much better 2021-02-23 14:46:04 -06:00
Ryan Oldenburg 404b0504ab path commands to shapes bugfix 2021-02-23 13:46:47 -06:00
Ryan Oldenburg aa19910380 merge into test_paths.nim 2021-02-23 13:26:59 -06:00
Ryan Oldenburg 0109fd8a36 new size 2021-02-23 01:58:23 -06:00
Ryan Oldenburg 8c3a5b80cd changed 2021-02-23 01:56:07 -06:00
Ryan Oldenburg dcf0a3fd60 more icon sets, couple fixes 2021-02-23 01:54:51 -06:00
treeform e41b8434eb
Compute pixel scale based on matrix max scale before doing the fill or storke. (#124) 2021-02-22 23:53:26 -08:00
Ryan Oldenburg 5846a415f9 wider image for onion skin diffing 2021-02-23 00:37:56 -06:00
Ryan Oldenburg fc2dc50c39 sweep flag fix for svg icons 2021-02-23 00:24:27 -06:00
Ryan Oldenburg 40afb8e4c4 bootstrap icons svg megatest + parse fixes 2021-02-22 22:14:06 -06:00
Ryan Oldenburg 34b3f09e43 fill and stroke helpers 2021-02-19 12:06:16 -06:00
Ryan Oldenburg b4edd635d5 support rect rx and ry for svg 2021-02-19 01:40:19 -06:00
Ryan Oldenburg 203a657c8a drawPolygon 2021-02-18 16:45:56 -06:00
Ryan Oldenburg 0362d03b0b drawEllipse, drawCircle 2021-02-18 16:33:41 -06:00
Ryan Oldenburg 318d90e509 drawRoundedRect + updated example 2021-02-18 16:23:54 -06:00
Ryan Oldenburg 3016790e8a drawSegment + updated examples 2021-02-18 14:03:08 -06:00
Ryan Oldenburg 505e2ff2d9 drawRect image, mask 2021-02-18 13:35:08 -06:00
Ryan Oldenburg 52e65f9d73 small change 2021-02-17 01:18:30 -06:00
Ryan Oldenburg 331d5dfb37 f 2021-02-16 00:35:36 -06:00
Ryan Oldenburg f2b3c67d4b morepretty 2021-02-16 00:35:36 -06:00
treeform 29ca5501bf drawCorrect vs drawUber benchmark. 2021-02-13 20:13:58 -08:00
Ryan Oldenburg 04c7bd87d8 shadow, spread benchmarks 2021-02-11 15:05:40 -06:00
Ryan Oldenburg d07c77095d blend + rotation mat test 2021-02-11 14:56:47 -06:00
Ryan Oldenburg cb0706efc5 benchmarks 2021-02-11 13:26:38 -06:00
Ryan Oldenburg b6b1d3a44c sharpen -> ceil 2021-02-11 13:14:06 -06:00
Ryan Oldenburg a40683920d sharpen masks + simd, blend masks 2021-02-11 02:38:27 -06:00
Ryan Oldenburg cc63165c9b rest of blends work by converting back to straight alpha first (except 2 missing tests) 2021-02-10 14:37:15 -06:00
Ryan Oldenburg 59b186b535 group float timings (to easily disable, they are going away) 2021-02-09 23:32:13 -06:00
Ryan Oldenburg 3ec1710e2e blurs 2021-02-09 22:25:15 -06:00
Ryan Oldenburg 264b30b118 image.newMask 35% faster with simd 2021-02-09 16:08:08 -06:00
Ryan Oldenburg 29047d6a46 blends, blurs, masks checkpoint 2021-02-09 15:22:37 -06:00
Ryan Oldenburg 1ed4077249 invert for mask, premul alpha image 2021-02-08 22:27:00 -06:00
Ryan Oldenburg 29f424fe4c applyOpacity simd for image too, 10x faster as well 2021-02-08 21:44:17 -06:00
Ryan Oldenburg 6c5fa78ed9 mask applyOpacity 10x faster 2021-02-08 21:12:28 -06:00
Ryan Oldenburg 33479e5612 draw image into mask 2021-02-08 19:59:46 -06:00
Ryan Oldenburg 33b032550c draw mask on mask 2021-02-08 19:52:54 -06:00
Ryan Oldenburg 5e536c5d67 starting transition of draw / images.nim to premul alpha 2021-02-08 17:26:48 -06:00
Ryan Oldenburg 662c79e0fb draw mask 2021-02-08 16:43:22 -06:00
Ryan Oldenburg 72a4c3efb3 test img, benchmark mask minifyby2 2021-02-08 16:34:05 -06:00
Ryan Oldenburg bbe207baa0 image masking 2021-02-08 14:31:26 -06:00
Ryan Oldenburg c5ce1a8029 bugfix for minifyBy2 power > 1 2021-02-08 12:47:01 -06:00
Ryan Oldenburg 86df7fe154 benchmark image minifyBy2 2021-02-07 20:41:12 -06:00
Ryan Oldenburg 9782855a8d image minifyBy2 test 2021-02-07 20:39:46 -06:00
Ryan Oldenburg 8a933e051e mask minifyBy2 2021-02-07 20:37:35 -06:00
Ryan Oldenburg 369066e04d masks + paths 2021-02-06 21:51:13 -06:00
Ryan Oldenburg 7c2014ee88 faster superImage + tests 2021-01-30 20:42:08 -06:00
Ryan Oldenburg 90a88e4393 Revert "unused"
This reverts commit 8aab927127.
2021-01-30 16:25:57 -06:00
Ryan Oldenburg 8aab927127 unused 2021-01-28 22:46:12 -06:00
Ryan Oldenburg 35ad210ec5 tiger 20% faster 2021-01-28 17:00:30 -06:00
Ryan Oldenburg 65afc67792 tests stuff 2021-01-25 11:49:29 -06:00
Ryan Oldenburg a63bc4d1be decodeSvg returns straight alpha 2021-01-25 11:17:34 -06:00
Ryan Oldenburg 2c7694896f paths.nim expects and returns premultiplied alpha 2021-01-25 11:08:32 -06:00
Ryan Oldenburg 09cd7f959d 0.0.19 new scanline+fill 2021-01-24 23:34:31 -06:00
Ryan Oldenburg 0cb7b5ea3d 0.0.18 more paths.nim stuff 2021-01-24 22:02:45 -06:00
Ryan Oldenburg f0f2e5b4c6 0.0.17 paths stuff 2021-01-24 20:49:57 -06:00
Ryan Oldenburg 9e834ce8e4 explicit names instead of alphy shorthand 2021-01-24 18:40:26 -06:00
Ryan Oldenburg 45fe8bd9ea integer lerp, integer premultiply and straighten alpha 2021-01-24 18:20:46 -06:00
Ryan Oldenburg f6864b109e 2x faster convert to straight alpha 2021-01-24 16:20:10 -06:00
Ryan Oldenburg 007b495538 faster subImage, a bit more 2021-01-23 14:17:34 -06:00
Ryan Oldenburg 11164fa236 small things 2021-01-22 23:33:05 -06:00
Ryan Oldenburg 1c8aa83c0a better blend benchmarking 2021-01-22 22:55:28 -06:00
Ryan Oldenburg b41965ce3c 0.0.13 revert quad, unaligned simd fill for now 2021-01-22 17:27:20 -06:00
Ryan Oldenburg 7271cdfe80 arc discretize 2021-01-22 08:47:54 -06:00
Ryan Oldenburg cb621c2532 arc stuff, quad discretize 2021-01-22 08:42:28 -06:00
Ryan Oldenburg ddabf803a3 pixieUseStb 2021-01-21 23:34:34 -06:00
Ryan Oldenburg 773036a3ba add -d:useStb 2021-01-21 19:09:27 -06:00
Ryan Oldenburg 3eef65374d bugfix + test 2021-01-19 18:51:12 -06:00
Ryan Oldenburg 882ae0127c fix tiger lip issue 2021-01-18 00:48:21 -06:00
Ryan Oldenburg 74169e4c15 bounds 2021-01-16 19:01:06 -06:00
Ryan Oldenburg 3908825db8
cubic curve compute (#50)
* cubic curve compute

* curve -> segments with error budget

* dynamic precision on curves
2021-01-15 18:22:51 -08:00
Ryan Oldenburg 444fb18355
use line intersection (#49) 2021-01-11 20:24:47 -08:00
Ryan Oldenburg ce7507cd6c fast fill, remove benchmark weirdness 2021-01-06 14:18:47 -06:00
Ryan Oldenburg 3555ac1552 fuzz better 2021-01-03 12:12:12 -06:00
Ryan Oldenburg e2b8b50b18 small stuff 2021-01-02 22:28:54 -06:00
treeform a5a133485a Image -d:debug vs -d:release image change. 2021-01-02 16:20:35 -08:00
treeform 5a33f0a3a2 Don't return a new image when filling paths. 2021-01-02 16:19:19 -08:00
Ryan Oldenburg 6f37f04ba4 support ellipse 2020-12-20 12:18:02 -06:00
Ryan Oldenburg da0527edcc organize tests/images a bit 2020-12-20 11:18:05 -06:00
Ryan Oldenburg 10a10d3f27 svg more basic shapes, more transforms 2020-12-19 22:01:34 -06:00
Ryan Oldenburg 7cf59c85fe svg circle 2020-12-19 20:50:40 -06:00
Ryan Oldenburg 79189a473e svg decode more support 2020-12-19 18:03:40 -06:00
Ryan Oldenburg 5508c3fccd new gold 2020-12-09 08:07:22 -06:00
Ryan Oldenburg b895030088 all int blends, simd alphafix + softlight, benchmarks 2020-12-09 07:50:30 -06:00
Ryan Oldenburg a449efc386 benchmarks, use floats until proven faster with ints 2020-12-09 02:59:01 -06:00
Ryan Oldenburg cdadfd1cdd drawCorrect knows smooth or not 2020-12-09 02:30:19 -06:00
Ryan Oldenburg c83b3215d0 Revert "call direct"
This reverts commit 669dc48be9.
2020-12-09 02:04:01 -06:00
Ryan Oldenburg 669dc48be9 call direct 2020-12-09 01:26:16 -06:00
Ryan Oldenburg bad415401a benchmarking blends 2020-12-09 01:19:05 -06:00
Ryan Oldenburg 9ad9817959 faster, less code 2020-12-08 21:34:05 -06:00
Ryan Oldenburg bb80426a4d f 2020-12-08 18:12:27 -06:00
Ryan Oldenburg ec5bc9ba1e simd helping 2020-12-08 18:10:20 -06:00
treeform ed5679787d Fix flip. 2020-12-05 00:28:42 -08:00
Ryan Oldenburg cddfe43315 scanLineHits a bunch faster 2020-12-04 14:15:14 -06:00
Ryan Oldenburg cb0abe6e76 keep 2020-12-04 12:28:14 -06:00
Ryan Oldenburg 4a67ac0625 fuzz svg + exceptions 2020-12-04 12:19:00 -06:00
treeform 7c4615282a Fix warning. 2020-12-04 09:25:46 -08:00
treeform 07886e9c44 Make svg faster, add tiger exmaple, add SomePath. 2020-12-04 09:25:00 -08:00
treeform 7067ad62ee Add svg file format. 2020-12-04 08:17:03 -08:00
treeform 66c2f08cdb More benchy! 2020-12-03 22:44:44 -08:00
treeform 4aa5f594b4 Benchy more things! 2020-12-03 22:29:31 -08:00
treeform ae0930ba8d Use benchy for benchmarks. 2020-12-03 22:11:54 -08:00
Ryan Oldenburg a69a4327a0 in place sharp and apply opacity 2020-12-03 14:36:54 -06:00
Ryan Oldenburg b3b844ea0e more benchmarks 2020-12-03 14:32:50 -06:00
Ryan Oldenburg e1a4d7edc4 more + benchmark 2020-12-03 14:24:49 -06:00
treeform 4ae59d51da Prints out all path commands it can parse. 2020-12-02 23:35:23 -08:00
treeform 3ae54dad41 More path tests. 2020-12-02 23:25:24 -08:00
treeform df424b7635 Move test files. 2020-12-02 23:21:13 -08:00
treeform fa6b8352e6 Add path tests. 2020-12-02 23:20:14 -08:00
Ryan Oldenburg c27616fc32 fuzz jpg 2020-11-29 15:52:53 -06:00
Ryan Oldenburg 63aba341ab jpgstb -> jpg 2020-11-29 15:46:56 -06:00
Ryan Oldenburg c5942a478f just use stb for jpg 2020-11-29 15:46:56 -06:00
Ryan Oldenburg 89fd898764 nim jpg stuff 2020-11-29 15:46:56 -06:00
treeform c07cf13ae4 Fix tests (by removing them). 2020-11-28 22:30:43 -08:00
treeform 84c6a1e2eb Merge branch 'master' of github.com:treeform/pixie 2020-11-28 22:28:55 -08:00
treeform 346cdca51c Made shadows over 50% faster. 2020-11-28 22:28:38 -08:00
Ryan Oldenburg 2bee400d47 path 2020-11-28 22:00:00 -06:00
Ryan Oldenburg a6b2f70249 add jpg benchmark 2020-11-28 17:59:55 -06:00
Ryan Oldenburg b047aad920 faster 2020-11-28 17:59:55 -06:00
Ryan Oldenburg f0bbf02bfd basic nim jpg works, png dir 2020-11-27 22:53:16 -06:00
treeform 6fd37e831a Fix tests by disabled them. 2020-11-27 16:54:10 -08:00
treeform 8282611af9 Remove the copy on draw functions. 2020-11-27 16:51:53 -08:00
Ryan Oldenburg b683c751b8 jpg + stb for now 2020-11-27 15:52:24 -06:00
Ryan Oldenburg a8d667f879 jpg checkpoint 2020-11-27 15:52:23 -06:00
treeform 41edec4711 Add toAlphy and fromAlphy. 2020-11-27 10:18:43 -08:00
treeform b86d914dd0 Add the uber draw. 2020-11-25 22:32:50 -08:00
treeform 57af191774 Both draw in place and not in place done. 2020-11-25 10:09:12 -08:00
treeform 58e6950b51 Add drawCorrect and drawStepper. And blends. 2020-11-24 17:49:43 -08:00
treeform 1c368f7118 Fix rotations. 2020-11-23 17:13:26 -08:00
Ryan Oldenburg 43ce46c7f6 tests pass 2020-11-23 14:09:11 -06:00
Ryan Oldenburg 1646ee6789 f 2020-11-22 22:09:08 -06:00
Ryan Oldenburg 689c8612c8 move to tests/images 2020-11-22 22:08:13 -06:00