Commit graph

820 commits

Author SHA1 Message Date
Ryan Oldenburg 531bf5c286 faster, better 2021-05-29 15:48:46 -05:00
Ryan Oldenburg 2f8fbcd792 leak fix 2021-05-29 02:26:14 -05:00
Ryan Oldenburg 6606665fe2 f 2021-05-29 01:49:48 -05:00
treeform 356f663039
Merge pull request #209 from guzba/master
svg improvements, emoji megatest, ctx blend test, remove seq[seq[Vec2]] from SomePath
2021-05-27 18:08:00 -07:00
Ryan Oldenburg 2f88639f1d svg bugfixes, improvements, emoji megatests 2021-05-27 19:46:39 -05:00
Ryan Oldenburg 10bc3100e6 docs, bugfix, ctx blend test, remove seq[seq[Vec2]] from SomePath 2021-05-27 17:27:19 -05:00
treeform ac77fef16e morepretty 2021-05-26 17:52:45 -07:00
treeform 49a281d210 Fix demo imports. 2021-05-26 17:41:52 -07:00
Ryan Oldenburg 2afcbaa621 fix path parse bug for m 1 2 3 4 5 6... 2021-05-24 19:25:04 -05:00
Ryan Oldenburg bf674b93e3 docs 2021-05-24 00:32:34 -05:00
Ryan Oldenburg 00dd3faa95 svg stroke-dasharray 2021-05-23 22:31:16 -05:00
Ryan Oldenburg 1e39ce2c80 context line dashes 2021-05-23 21:43:47 -05:00
Ryan Oldenburg dbee65c608 cleaner, icons megatest 2021-05-23 21:23:51 -05:00
Ryan Oldenburg dfc062e0f2 svg miterlimit 2021-05-23 21:18:15 -05:00
Ryan Oldenburg 8ca46d86e3 morepretty 2021-05-23 21:04:58 -05:00
Ryan Oldenburg 58ccbf025a context miterLimit 2021-05-23 21:01:54 -05:00
Ryan Oldenburg b73b88bb63 layers 2021-05-23 20:47:32 -05:00
Ryan Oldenburg 145d54c7e6 rm 2021-05-23 20:46:44 -05:00
Ryan Oldenburg 3c548dd7b9 parse post table 2021-05-23 20:46:44 -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
treeform 08dac8e241
Add high DPI support for Demo. (#197)
* Add high DPI support for Demo.
2021-05-23 16:46:26 -07:00
treeform fc557e372a
Merge pull request #201 from timotheecour/pr_fix_pixie_D20210519T113112
fix pixie for https://github.com/nim-lang/Nim/pull/18050
2021-05-23 10:34:56 -07:00
Timothee Cour 1ec7cefda2 fix pixie for https://github.com/nim-lang/Nim/pull/18050 2021-05-22 21:37:58 -07:00
Ryan Oldenburg 41cd488ae3 context clip support 2021-05-22 21:43:42 -05:00
Ryan Oldenburg b88d36be13 morepretty 2021-05-22 19:07:53 -05:00
Ryan Oldenburg 3b0f841d70 circle to paths.nim 2021-05-22 19:06:10 -05:00
zetashift a9b38bc321 Add fillCircle and strokeCircle taking a Circle for Context 2021-05-22 20:01:14 +02:00
Ryan Oldenburg 5cc8e911d1 move image helpers from pixie.nim to context.nim 2021-05-21 00:54:55 -05:00
Ryan Oldenburg e5da43b059 more clear 2021-05-19 13:22:57 -05:00
Ryan Oldenburg 3699405203 typos 2021-05-19 13:15:53 -05:00
Ryan Oldenburg fac02141f2 typos 2021-05-19 13:13:54 -05:00
Ryan Oldenburg 58c262849d context docs 2021-05-19 13:09:00 -05:00
Ryan Oldenburg bb0d44c23e feedback 2021-05-19 00:38:12 -05:00
Ryan Oldenburg 0d65dffccc add context api 2021-05-19 00:06:02 -05:00
Ryan Oldenburg d491fe26b9 move font rasterize procs to fonts.nim, add join and cap param 2021-05-18 00:48:44 -05:00
Ryan Oldenburg d87b423430 v2.0.0 add transform to pixie.nim helpers 2021-05-17 23:39:47 -05:00
Andre von Houck fcfcadc9dc Add mouse wheel support to demo. 2021-05-13 13:29:44 -07:00
Ryan Oldenburg e186456788 add filePath to typeface 2021-05-11 22:40:40 -05:00
Ryan Oldenburg 7c6a0ab75a f 2021-05-11 22:40:40 -05: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 a34831e52c return early 2021-05-11 22:40:39 -05:00
Ryan Oldenburg eae3b5e443 spans 2021-05-11 22:40:39 -05:00
Ryan Oldenburg 10311fae70 check for invalid 2021-05-11 22:40:39 -05:00
Ryan Oldenburg f67b17348f feedback improvements 2021-05-11 22:40:39 -05:00
Ryan Oldenburg 11fdc30399 paint on font 2021-05-11 22:40:39 -05:00
Ryan Oldenburg 4d2d780a51 allow trailing data 2021-05-11 22:40:39 -05:00
Ryan Oldenburg db4913635d andre fixes 2021-05-11 22:40:39 -05:00
Ryan Oldenburg 6a1679fabb f 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 62c7fcd7ed f 2021-05-11 22:40:39 -05:00
Ryan Oldenburg a7ab10b8bf morepretty 2021-05-11 22:40:39 -05:00
Ryan Oldenburg 43e80a70ab docs 2021-05-11 22:40:39 -05:00
Ryan Oldenburg fe59c77230 simpler 2021-05-11 22:40:39 -05:00
Ryan Oldenburg a97f2171a4 uint32 2021-05-11 22:40:25 -05:00
Ryan Oldenburg 7b2393874b arrangement api 2021-05-11 22:40:25 -05:00
Ryan Oldenburg eb550c0671 text alignments 2021-05-11 22:40:25 -05:00
Ryan Oldenburg 5130651f15 wrap flag 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 4a670e19df title case fix from andre 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 05889d51e4 fixes 2021-05-11 22:40:25 -05:00
Ryan Oldenburg 6a618b9e6b morepretty 2021-05-11 22:40:25 -05:00
Ryan Oldenburg a5f6fa4022 feedback 2021-05-11 22:40:24 -05:00
Ryan Oldenburg a8aef40637 a bit cleaner 2021-05-11 22:40:24 -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 c166183f35 inline 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 33b8a5a839 cleaner + perf 2021-05-11 22:40:24 -05:00
Ryan Oldenburg 9b7fa748d8 todo 2021-05-11 22:40:24 -05:00
Ryan Oldenburg 0ff8eb39c9 bugfix, dont ignore translate for initial relative move 2021-05-11 22:40:24 -05:00
Ryan Oldenburg 8c11669e7f f 2021-05-11 22:40:24 -05:00
Ryan Oldenburg 4804293a4a copymem for unfiltered rows 2021-05-11 22:40:24 -05:00
Ryan Oldenburg 6c9abf4084 fuzz fix 2021-05-11 22:40:24 -05:00
Ryan Oldenburg f325633a9b feedback addressed 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 bf4174abd9 readfont extensions 2021-05-11 22:40:23 -05:00
Ryan Oldenburg 8574b12900 typeface + cleaner 2021-05-11 22:40:23 -05:00
Ryan Oldenburg a076205882 f 2021-05-11 22:40:23 -05:00
Ryan Oldenburg 566636c99e feedback 2021-05-11 22:40:23 -05:00
Ryan Oldenburg 512e49e6e7 only return kern if we parsed it 2021-05-11 22:40:23 -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 9dc96f45ce kern parse 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 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
Joris Bontje 2e93a75bb7 Add SVG scale transform and non-zero / negative viewbox offset 2021-04-21 15:28:53 +02:00
treeform 101619a9e6 Fix small png loading bug. 2021-04-19 08:48:51 -07:00
treeform a781580ac8 1.1.3: Use fractional from vmath. 2021-04-18 16:54:00 -07:00
Ryan Oldenburg 8dbb78c387 png decode perf improvement 2021-04-11 13:09:16 -05:00
treeform 75915ab05f 1.1.2: Update deps and docs. 2021-03-26 14:10:11 -07:00
treeform 4aa1afc0c2 1.1.1 Fix bug with stroke cricle. 2021-03-15 08:05:47 -07:00
treeform d7330c7eb3 Small demo.nim import/export improvement. 2021-03-11 20:48:03 -08:00
treeform 38bcd8973c
Add demo.nim to be used for active (keyboard, mouse, screen) demos. (#151) 2021-03-11 20:09:12 -08:00
Ryan Oldenburg 99a2a0ba40 1.1.0 SomeColor 2021-03-11 21:47:45 -06:00
Ryan Oldenburg ad24e4d836 1.0.5 converters, morepretty 2021-03-03 12:48:22 -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 d248457b0b Some gif improvments. 2021-03-01 08:46:03 -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 a71b3150c7 add image diff 2021-02-28 01:00:56 -06:00
treeform a79cad9d90 Rename lookup to kernel. 2021-02-26 23:06:13 -08:00
treeform 9508150e99 Fix bug with mask.fillPath. 2021-02-26 23:01:28 -08:00
Ryan Oldenburg 7aee1b5d82 spread optimization + spread and blur bugfix 2021-02-27 00:36:35 -06:00
Ryan Oldenburg a04388ee43 funny blur speedup 2021-02-27 00:01:01 -06:00
Ryan Oldenburg 6ec7ec0fbb f 2021-02-26 23:37:47 -06:00
Ryan Oldenburg 3b109567e9 remove todo 2021-02-26 19:23:19 -06:00
Ryan Oldenburg 01b353f903 simpler 2021-02-26 19:21:44 -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
Ryan Oldenburg 39d316d0d7 blur performance improved 2021-02-26 18:06:28 -06:00
Ryan Oldenburg 117cad90b2 separate image and masks blur 2021-02-26 17:35:52 -06:00
Ryan Oldenburg 5722ef51d3 quick optimization 2021-02-26 10:28:05 -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 b623150b3f shortcut 2021-02-25 15:13:14 -06:00
Ryan Oldenburg 5e3e489f61 internal.nim 2021-02-25 12:16:33 -06:00
Ryan Oldenburg 751b804679 morepretty 2021-02-25 11:43:09 -06:00
Ryan Oldenburg 7b9d968381 small comment things 2021-02-25 11:39:30 -06:00
Ryan Oldenburg 34b5f07f1f
tiled draw path + removed 2 exported procs from paints.nim (#132) 2021-02-25 09:05:20 -08:00
treeform f68fb9919c Another doc pass. 2021-02-25 07:26:51 -08:00
treeform a038e5ae6e Another doc pass. 2021-02-25 07:16:20 -08:00
treeform 50a472ceb9 Another doc pass. 2021-02-25 07:05:53 -08:00
treeform 4a4c260064 Doc pass. 2021-02-25 06:52:20 -08:00
treeform 12b9ad2ff7 add docs comments 2021-02-25 06:27:58 -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 704ecb7848 fix rendering artifact with clever idea from treeform 2021-02-24 23:09:06 -06:00
Ryan Oldenburg 2b000ca9ca add missing pixelScale 2021-02-24 22:22:33 -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 042d455cb0 fix 2021-02-23 20:25:23 -06:00
Ryan Oldenburg 11fe02c25e strip 2021-02-23 17:54:26 -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 dc0246814e path parse bugfix 2021-02-23 14:09:15 -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 cda6dabf60 f 2021-02-23 13:26:59 -06:00
Ryan Oldenburg bdbaaa33cb f 2021-02-23 02:00:34 -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 fc2dc50c39 sweep flag fix for svg icons 2021-02-23 00:24:27 -06:00
Ryan Oldenburg 7b02ca4dd5 remove code 2021-02-22 23:20:05 -06:00
Ryan Oldenburg 5fa35c7852 default svg load 2021-02-22 22:35:08 -06:00
Ryan Oldenburg 40afb8e4c4 bootstrap icons svg megatest + parse fixes 2021-02-22 22:14:06 -06:00
Ryan Oldenburg 8cf6c5cd2f move comment 2021-02-22 18:42:44 -06:00
Ryan Oldenburg 6cb2491825 f 2021-02-22 18:39:27 -06:00
Ryan Oldenburg 7b0bd8753f strokes always wrNonZero 2021-02-22 16:30:28 -06:00
Ryan Oldenburg bca5119e8b linecap, linejoin 2021-02-20 13:31:25 -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 76ed801aa7 remove windingrule param from stroke proc 2021-02-18 12:16:01 -06:00
Ryan Oldenburg 445db73f00 small improvements 2021-02-17 23:23:19 -06:00
Ryan Oldenburg d1a5f22b1f f 2021-02-17 13:21:28 -06:00
Ryan Oldenburg 962cc4aa7e faster paths fill 2021-02-17 03:21:11 -06:00
Ryan Oldenburg 52e65f9d73 small change 2021-02-17 01:18:30 -06:00
treeform f641b46049 put gradients back 2021-02-15 23:31:10 -08:00
Ryan Oldenburg f2b3c67d4b morepretty 2021-02-16 00:35:36 -06:00
Ryan Oldenburg 68e2522074 performance improvements 2021-02-16 00:35:08 -06:00
treeform 955d813a27 Add offBounds to blur so that we can shadow from the edge. 2021-02-15 18:24:53 -08:00
treeform 219dc23bf9 Gradient rotation fix. 2021-02-15 18:23:31 -08:00
treeform 344062fda2 Add gradients. 2021-02-14 21:32:31 -08:00
treeform 39b0446d60 Add roundedRect based on splines. 2021-02-14 09:52:41 -08:00
treeform 7ff64d0ec8 small comment 2021-02-13 20:14:10 -08:00
Ryan Oldenburg fc23bda80f blends exports 2021-02-13 20:57:58 -06:00
Ryan Oldenburg 28f831249f better segment partitioning, faster svg path fill 2021-02-13 20:52:53 -06:00
Ryan Oldenburg b800c77ab5 cleaner + faster simd 2021-02-13 20:52:53 -06:00
Ryan Oldenburg 4a9c26d4ff mask+mask bugfix 2021-02-13 16:03:15 -06:00
Ryan Oldenburg 64e5016df6 draw mask.image simd 2021-02-11 22:37:40 -06:00
Ryan Oldenburg debceb255a image + (image|mask) works 2021-02-11 22:12:30 -06:00
Ryan Oldenburg 243f9a3ba1 better names 2021-02-11 22:12:12 -06:00
Ryan Oldenburg 70ab79b607 draw uber takes Image | Mask + works w/o simd so far 2021-02-11 15:29:11 -06:00
Ryan Oldenburg abbcc717cd fix 2021-02-11 14:40:30 -06:00
Ryan Oldenburg 50a4687d67 move 2021-02-11 14:08:09 -06:00
Ryan Oldenburg d0294ebec7 move to bottom of file now 2021-02-11 14:05:37 -06:00
Ryan Oldenburg 01f6248522 simd image blend when possible 2021-02-11 13:57:19 -06:00
Ryan Oldenburg b6b1d3a44c sharpen -> ceil 2021-02-11 13:14:06 -06:00
Ryan Oldenburg 7e06625c27 y min, max when drawing optimization 2021-02-11 12:45:52 -06:00
Ryan Oldenburg a40683920d sharpen masks + simd, blend masks 2021-02-11 02:38:27 -06:00
Ryan Oldenburg e17d0c742d roundedRect clockwise vs counter 2021-02-11 01:44:46 -06:00
Ryan Oldenburg d8b01fa885 comment out blends not avail in figma 2021-02-10 22:21:56 -06:00
Ryan Oldenburg b3bc1225d4 f 2021-02-10 16:31:12 -06:00
Ryan Oldenburg 55051f944c premul alpha version of many blends, ~4x faster for each 2021-02-10 15:59:08 -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 0cdb84407b unused 2021-02-10 13:48:18 -06:00
Ryan Oldenburg 0cf0c95791 fix exclusion blend 2021-02-10 13:46:58 -06:00
Ryan Oldenburg 81dbfacdda blendExclusion 50% faster 2021-02-09 23:34:49 -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 d9fcf71f43 blendExclusion passes tests 2021-02-09 23:28:56 -06:00
Ryan Oldenburg 3ec1710e2e blurs 2021-02-09 22:25:15 -06:00
Ryan Oldenburg b074e9bfc7 mask blends 2021-02-09 16:37:07 -06:00
Ryan Oldenburg 264b30b118 image.newMask 35% faster with simd 2021-02-09 16:08:08 -06:00
Ryan Oldenburg c95df08cbe remove old 2021-02-09 15:28:47 -06:00
Ryan Oldenburg 29047d6a46 blends, blurs, masks checkpoint 2021-02-09 15:22:37 -06:00
Ryan Oldenburg 913c7e9498 more premul blends 2021-02-09 15:22:37 -06:00
Ryan Oldenburg 8231583429 updated exmaples, bugfix 2021-02-08 23:07:46 -06:00
Ryan Oldenburg ad11eac936 unused 2021-02-08 22:42:55 -06:00
Ryan Oldenburg 7b012e23bb fix comments 2021-02-08 22:39:28 -06:00
Ryan Oldenburg 3e096792c0 move 2021-02-08 22:39:28 -06:00
Ryan Oldenburg 1ed4077249 invert for mask, premul alpha image 2021-02-08 22:27:00 -06:00
Ryan Oldenburg d0cb2bf7bb unused 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 6fd7df9b23 shortcut 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 788b5a0821 consistent versions arcoss all combos 2021-02-08 20:06:07 -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 7cfaff1824 fix 2021-02-08 17:58:42 -06:00
Ryan Oldenburg 2807cce15f f 2021-02-08 17:41:21 -06:00
Ryan Oldenburg 5e536c5d67 starting transition of draw / images.nim to premul alpha 2021-02-08 17:26:48 -06:00
Ryan Oldenburg 4cf9c46a79 merged drawCorrect 2021-02-08 17:12:34 -06:00
Ryan Oldenburg 662c79e0fb draw mask 2021-02-08 16:43:22 -06:00
Ryan Oldenburg 191b89b50c mask applyOpacity 2021-02-08 16:39:24 -06:00
Ryan Oldenburg bbe207baa0 image masking 2021-02-08 14:31:26 -06:00
Ryan Oldenburg d3ab965f0f blend mode after winding rule 2021-02-08 12:50:24 -06:00
Ryan Oldenburg c5ce1a8029 bugfix for minifyBy2 power > 1 2021-02-08 12:47:01 -06:00
Ryan Oldenburg 46fe96569e shorter 2021-02-07 21:10:57 -06:00
Ryan Oldenburg de1b1b95ca faster minifyBy2 2021-02-07 20:52:33 -06:00
Ryan Oldenburg 6df03ed1d1 paths fill takes blendMode param 2021-02-07 20:42:39 -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 5afd784b20 move, rm unused param 2021-02-06 17:52:04 -06:00
Ryan Oldenburg 264801c9f8 >= 0 for image dimensions 2021-01-30 20:45:39 -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 a801e9d359 Revert "premultiplied blends for most"
This reverts commit 052e114db1.
2021-01-30 16:25:38 -06:00
Ryan Oldenburg fd59b20e7d Revert "for non simd for now"
This reverts commit a16315a9cf.
2021-01-30 16:25:21 -06:00
Ryan Oldenburg f05354dc79 Revert "working int impl"
This reverts commit 74fcf2a9f2.
2021-01-30 16:25:02 -06:00
Ryan Oldenburg 3a40f7680c Revert "triple blend when needed"
This reverts commit 014413b627.
2021-01-30 16:24:35 -06:00
treeform 1126f28ea7 add back superImage 2021-01-30 13:38:18 -08:00
Ryan Oldenburg 014413b627 triple blend when needed 2021-01-29 21:48:52 -06:00
Ryan Oldenburg c65acc6cd7 f 2021-01-29 14:10:36 -06:00
Ryan Oldenburg 74fcf2a9f2 working int impl 2021-01-29 14:07:26 -06:00
Ryan Oldenburg a16315a9cf for non simd for now 2021-01-29 13:00:35 -06:00
Ryan Oldenburg 052e114db1 premultiplied blends for most 2021-01-28 23:45:44 -06:00
Ryan Oldenburg 8aab927127 unused 2021-01-28 22:46:12 -06:00
Ryan Oldenburg 01fd4eed6d actually much faster 2021-01-28 22:36:38 -06:00
Ryan Oldenburg 9ea66864b1 consistent 2021-01-28 22:30:24 -06:00
Ryan Oldenburg 03dcd05969 rename to blender 2021-01-28 22:28:05 -06:00
Ryan Oldenburg dad7440e04 just move 2021-01-28 22:26:56 -06:00
Ryan Oldenburg 718a8707f3 f 2021-01-28 20:59:37 -06:00
Ryan Oldenburg bd18a9868a simpler 2021-01-28 20:55:47 -06:00
Ryan Oldenburg cb14a09367 public 2021-01-28 20:25:24 -06:00
Ryan Oldenburg 35ad210ec5 tiger 20% faster 2021-01-28 17:00:30 -06:00
Ryan Oldenburg c0ac9fd2f8 not public, maybe becomes part of masks.nim 2021-01-27 17:16:43 -06:00
Ryan Oldenburg c37dcd4a56 dont mutate shadow mask param 2021-01-27 17:13:30 -06:00
Ryan Oldenburg fe1cfc41a6 resize remove +1 2021-01-27 16:45:56 -06:00
Ryan Oldenburg a6103ac444 more clear docs i think + bufix 2021-01-27 16:43:33 -06:00
Ryan Oldenburg 2cd3c35fc1 bit faster 2021-01-27 15:15:51 -06:00
Ryan Oldenburg bb7ec44fce store winding as int directly 2021-01-27 03:47:03 -06:00
Ryan Oldenburg eb360887ab repeat into proc 2021-01-27 03:16:27 -06:00
Ryan Oldenburg c4abba5d8a - assert, + exception 2021-01-27 03:11:37 -06:00
Ryan Oldenburg 8668f355f1 little speedups 2021-01-27 03:07:17 -06:00
Ryan Oldenburg e85ab1f3fe f 2021-01-27 02:49:49 -06:00
Ryan Oldenburg 4fad39c5bd rm forward declare 2021-01-27 02:45:07 -06:00
Ryan Oldenburg c8b78800a6 f 2021-01-26 19:54:49 -06:00
Ryan Oldenburg 7389c9257b better name 2021-01-26 18:23:15 -06:00
Ryan Oldenburg 1af7f5ca7c simpler 2021-01-26 18:23:15 -06:00
Ryan Oldenburg f49564b167 corrected 2021-01-26 17:14:21 -06:00
Ryan Oldenburg b232a3a8c2 simpler 2021-01-26 17:03:24 -06:00
Ryan Oldenburg 4cdb9db0f6 2x faster lol 2021-01-26 16:55:33 -06:00
Ryan Oldenburg be6bebf553 a few little things + uint8 coverage 2021-01-26 16:34:07 -06:00
Ryan Oldenburg e1c98b0822 small 2021-01-26 16:31:24 -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 584d48c2ee 0.0.20 seq[seq[Vec2]] 2021-01-25 10:24:23 -06:00
Ryan Oldenburg b25daa0de7 remove break 2021-01-25 10:15:42 -06:00
Ryan Oldenburg 09cd7f959d 0.0.19 new scanline+fill 2021-01-24 23:34:31 -06:00
Ryan Oldenburg 505434e04e start+stop bounds = faster fill 2021-01-24 22:31:56 -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 d73aff17ee path not ref 2021-01-24 20:15:11 -06:00
Ryan Oldenburg e95f78038d small 2021-01-24 19:53:21 -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 60280520b6 move 2021-01-24 15:31:43 -06:00
Ryan Oldenburg aec3d91109 pixieNoSimd 2021-01-24 15:26:53 -06:00
Ryan Oldenburg db0ee90fb2 polygon, validate commands 2021-01-24 15:21:45 -06:00
Ryan Oldenburg 40dfcfcde1 0.0.16 quadraticCurveTo, transform 2021-01-23 22:12:00 -06:00
Ryan Oldenburg 95471f36a7 better error msg 2021-01-23 20:12:58 -06:00
Ryan Oldenburg 3f3db2fcec remove masks.nim for now 2021-01-23 20:12:58 -06:00
treeform 23e51968f9
Merge pull request #68 from guzba/master
faster subImage, a bit more
2021-01-23 16:20:33 -08:00
treeform 962c31671b
Merge pull request #66 from Anuken/patch-3
Workaround for gc:arc SIGSEGV in png.nim
2021-01-23 13:26:43 -08:00
Ryan Oldenburg 007b495538 faster subImage, a bit more 2021-01-23 14:17:34 -06:00
Ryan Oldenburg b3bf8fc356 0.0.15, gate simd behind amd64 2021-01-23 11:39:26 -06:00
Anuken bdfd175e02
Workaround for gc:arc SIGSEGV 2021-01-23 12:30:59 -05:00
Ryan Oldenburg 11164fa236 small things 2021-01-22 23:33:05 -06:00
Ryan Oldenburg 6b9beedca6 fill, etc 2021-01-22 21:18:29 -06:00
Ryan Oldenburg 52eb2d2037 0.0.14 2021-01-22 18:35:30 -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 e676121ae3 arc small stuff 2021-01-22 10:31:04 -06:00
Ryan Oldenburg 9aafd87def like quad, cubic 2021-01-22 08:56:18 -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 47cb962e23 simd toAlphy 2021-01-19 19:01:47 -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 ce938fa92a skip horizontal, faster 2021-01-17 22:07:05 -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 b60f262587 empty png encode error 2021-01-11 11:46:06 -06:00
Ryan Oldenburg ce7507cd6c fast fill, remove benchmark weirdness 2021-01-06 14:18:47 -06:00
Ryan Oldenburg 3f3d645778 faster, no start 2021-01-02 22:55:21 -06:00
Ryan Oldenburg e2b8b50b18 small stuff 2021-01-02 22:28:54 -06:00
treeform 5a33f0a3a2 Don't return a new image when filling paths. 2021-01-02 16:19:19 -08:00
Ryan Oldenburg e5cc9ba1b5 0.0.9 dont close already closed paths 2020-12-29 18:11:58 -06:00
Ryan Oldenburg 1b4095afe1 0.0.8 export for typography 2020-12-29 17:18:00 -06:00
Ryan Oldenburg 6f37f04ba4 support ellipse 2020-12-20 12:18:02 -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 4d14870150 case back 2020-12-14 13:11:14 -06:00
Ryan Oldenburg 6e55ecc7d4 svg no more asserts 2020-12-13 02:21:18 -06:00
treeform db5b1f4cb4 Add winding rule, make float blends public (for shaders) 2020-12-11 21:08:06 -08:00
Ryan Oldenburg 1fbb5c7a0f 0.0.6 vmath bumpy 2020-12-10 19:52:10 -06:00
Ryan Oldenburg 120ad0ad56 bumpy segment 2020-12-10 00:27:58 -06:00
Ryan Oldenburg 4a7e4338c3 actually seems ok to remove 2020-12-09 16:19:59 -06:00
Ryan Oldenburg af130f76b9 comments 2020-12-09 15:05:10 -06:00
Ryan Oldenburg b895030088 all int blends, simd alphafix + softlight, benchmarks 2020-12-09 07:50:30 -06:00
Ryan Oldenburg 8ef4b3ecc8 simd alphafix wins 2020-12-09 05:47:34 -06:00
Ryan Oldenburg d6a9429850 rounding is very expensive 2020-12-09 05:47:14 -06:00
Ryan Oldenburg 711f1f19b6 discuss removed todo 2020-12-09 04:50:17 -06:00
Ryan Oldenburg 1ad2f3e05f consistent names, alphaFix 80char 2020-12-09 04:40:46 -06:00
Ryan Oldenburg 78b1dbab03 simpler 2020-12-09 03:53:35 -06:00
Ryan Oldenburg a449efc386 benchmarks, use floats until proven faster with ints 2020-12-09 02:59:01 -06:00
Ryan Oldenburg c18f0d5f3e f 2020-12-09 02:32:20 -06:00
Ryan Oldenburg cdadfd1cdd drawCorrect knows smooth or not 2020-12-09 02:30:19 -06:00
Ryan Oldenburg bad415401a benchmarking blends 2020-12-09 01:19:05 -06:00
Ryan Oldenburg 49624b6d03 put back 2020-12-09 01:03:52 -06:00
Ryan Oldenburg 85b8967be1 int 2020-12-09 01:00:26 -06:00
Ryan Oldenburg 56dd24e2e9 f 2020-12-09 00:55:46 -06:00
Ryan Oldenburg da9a68b044 more 2020-12-09 00:52:58 -06:00
Ryan Oldenburg 3edb6d6294 more blends as just rgba 2020-12-08 22:36:53 -06:00
Ryan Oldenburg 6842bfb797 unused 2020-12-08 21:54:18 -06:00
Ryan Oldenburg e8da814856 no need for setmem 2020-12-08 21:51:09 -06:00
Ryan Oldenburg 9ad9817959 faster, less code 2020-12-08 21:34:05 -06:00
Ryan Oldenburg 7b58d4bf9a blends small 2020-12-08 19:26:01 -06:00
Ryan Oldenburg e3f09f930b unused 2020-12-08 18:13:07 -06:00
Ryan Oldenburg ec5bc9ba1e simd helping 2020-12-08 18:10:20 -06:00
treeform 2701130dbf Remove unused blends. 2020-12-06 09:35:58 -08:00
Ryan Oldenburg dd1bb58538 p instead 2020-12-05 22:14:33 -06:00
Ryan Oldenburg ccb92fb46a 80 char width 2020-12-05 17:46:21 -06:00
treeform ed5679787d Fix flip. 2020-12-05 00:28:42 -08:00
Ryan Oldenburg d0224dee32 inline 2020-12-04 19:19:46 -06:00
Ryan Oldenburg a9ea7f2872 simpler 2020-12-04 19:19:46 -06:00
Ryan Oldenburg 803c2ecf40 no cast, segments 2020-12-04 18:27:39 -06:00
Ryan Oldenburg de9ef9af4f inline helps by 20% for svg 2020-12-04 18:16:04 -06:00
Ryan Oldenburg a38cd2adad f 2020-12-04 16:57:56 -06:00
Ryan Oldenburg ca2c925d5f faster 2020-12-04 14:31:25 -06:00
Ryan Oldenburg cddfe43315 scanLineHits a bunch faster 2020-12-04 14:15:14 -06:00
Ryan Oldenburg 4536baeefd address todo 2020-12-04 14:15:14 -06:00
Ryan Oldenburg 4a67ac0625 fuzz svg + exceptions 2020-12-04 12:19:00 -06:00
Ryan Oldenburg 2c08ba2760 svg 2020-12-04 12:19:00 -06:00
treeform d1adfba46e Make blur example shorter. 2020-12-04 09:32:38 -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
Ryan Oldenburg 1223d91816 inplace blur 2020-12-04 00:26:22 -06:00
treeform ae0930ba8d Use benchy for benchmarks. 2020-12-03 22:11:54 -08:00
Ryan Oldenburg 9fbd37bb53 use memset 2020-12-03 21:50:31 -06:00
Ryan Oldenburg fce9f12147 add links to blend formula sources 2020-12-03 21:45:25 -06:00
Ryan Oldenburg bed384db6a add links to blend formula sources 2020-12-03 20:21:15 -06:00
Ryan Oldenburg 9633f29a6b simpler SetSat 2020-12-03 20:18:15 -06:00
Ryan Oldenburg fcf072ff5a inplace blur, faster fill 2020-12-03 19:58:53 -06:00
Ryan Oldenburg b2cf9776c1 small 2020-12-03 15:59:46 -06:00
Ryan Oldenburg a69a4327a0 in place sharp and apply opacity 2020-12-03 14:36:54 -06:00
Ryan Oldenburg e1a4d7edc4 more + benchmark 2020-12-03 14:24:49 -06:00
Ryan Oldenburg 07d2c15fc2 some more stuff 2020-12-03 13:54:53 -06:00
Ryan Oldenburg 256d03a226 less 2020-12-03 01:45:47 -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 fa6b8352e6 Add path tests. 2020-12-02 23:20:14 -08:00
treeform 13092aef5e Break out of both loops. 2020-12-02 23:05:37 -08:00
Ryan Oldenburg 37c5869b0c some small things 2020-12-03 00:09:11 -06:00
Ryan Oldenburg 3cb35ddee1 from chatting 2020-12-01 21:14:15 -06:00
Ryan Oldenburg 18967133ff alpha for masks 2020-12-01 20:58:15 -06:00