Commit graph

820 commits

Author SHA1 Message Date
Ryan Oldenburg 5f99324e45 redo how paths detects and skips aa when possible 2021-11-29 01:49:31 -06:00
treeform 0bb8f8d457
Merge pull request #328 from treeform/sweeps
Sweeps
2021-11-28 16:27:16 -08:00
treeform 2cb17d71e2 move fillShapes to the bottom. 2021-11-28 16:10:37 -08:00
treeform feba141bc8 call them pixieSweeps 2021-11-28 16:04:42 -08:00
treeform 4a3d42a034 clean up paths. 2021-11-28 16:03:26 -08:00
treeform 753352b53f f 2021-11-28 11:11:38 -08:00
Ryan Oldenburg 237e4d442a f 2021-11-28 03:27:01 -06:00
Ryan Oldenburg 50621aec50 faster packAlphaValues, better test 2021-11-28 03:08:25 -06:00
Ryan Oldenburg 61e78bcc6a use float32 2021-11-28 00:48:26 -06:00
Ryan Oldenburg be525814b0 bring back 2021-11-26 21:01:57 -06:00
Ryan Oldenburg 0f3b0712b5 better cairo benchmark 2021-11-26 20:56:38 -06:00
Ryan Oldenburg 943961677b pixelErrorMargin 2021-11-26 20:56:38 -06:00
Ryan Oldenburg fd4030eb8a improve cairo svg 2021-11-26 20:56:38 -06:00
Ryan Oldenburg b9fd904042 stroke optimization 2021-11-26 20:56:38 -06:00
Ryan Oldenburg d0014270dc adding segs to +1 too many partitions, fix 2021-11-25 01:09:01 -06:00
Ryan Oldenburg c9d792823d ensure float32 2021-11-23 04:38:37 -06:00
Ryan Oldenburg edaaeff2e3 faster horiz and vert gradients 2021-11-23 04:14:08 -06:00
Ryan Oldenburg ebac3e1f24 small things 2021-11-23 03:32:11 -06:00
Ryan Oldenburg a8518c8218 save work if no shadow offset 2021-11-23 03:19:08 -06:00
Ryan Oldenburg 69eaf60158 feedback 2021-11-22 18:00:51 -06:00
Ryan Oldenburg 6fb700a3a7 better partition size 2021-11-22 03:26:39 -06:00
Ryan Oldenburg 5ea3c64968 leak fix, iterative discretize, lengthSq error 2021-11-22 02:37:48 -06:00
Ryan Oldenburg 1a03b09388 faster 2021-11-21 17:00:00 -06:00
Ryan Oldenburg 27baf16e9b better 2021-11-21 16:54:39 -06:00
Ryan Oldenburg 56a9981f91 merge hits that stop and then continue filling without any gap 2021-11-21 07:07:19 -06:00
Ryan Oldenburg cd5930ee67 perf 2021-11-21 04:46:06 -06:00
Ryan Oldenburg ac6b1f8e4d more readable 2021-11-21 03:16:41 -06:00
Ryan Oldenburg b8c1dbc4f2 f 2021-11-21 01:10:15 -06:00
Ryan Oldenburg 4362523080 f 2021-11-21 01:04:47 -06:00
Ryan Oldenburg e058d9ab51 calc max possible hits 2021-11-21 00:40:45 -06:00
Ryan Oldenburg 6363e6995c renames 2021-11-21 00:37:37 -06:00
Ryan Oldenburg f1b04ca441 remove most countups 2021-11-19 12:35:01 -06:00
Ryan Oldenburg 6b78fca0dd f 2021-11-18 19:02:40 -06:00
Ryan Oldenburg 8813d61dec faster simd path fill 2021-11-18 18:50:56 -06:00
Ryan Oldenburg 48ac033d71 names 2021-11-18 18:03:27 -06:00
Ryan Oldenburg a21aeb6bd5 f 2021-11-18 17:14:32 -06:00
Jeremy Field eec887f439 fix drawImage dy typos 2021-11-18 18:08:45 +11:00
Ryan Oldenburg 85c4833e70 faster path filling, precompute m and b 2021-11-13 00:00:40 -06:00
Ryan Oldenburg 87c7e9fee6 rm float64 2021-11-12 23:39:43 -06:00
Ryan Oldenburg 85a9842369 little better 2021-11-12 19:42:35 -06:00
Ryan Oldenburg 695ca9eb05 mark blend proc types gcsafe 2021-11-11 21:38:44 -06:00
Ryan Oldenburg e3fc57ce3c faster path intersects 2021-11-10 17:08:26 -06:00
treeform 35fda58c33 Fixed negative/flipped axis matrix drawing. 2021-11-07 15:42:53 -08:00
treeform 16d9c9cbf2 Don't crash when kerning two different fonts together, just don't apply kerning. 2021-11-07 12:43:18 -08:00
Ryan Oldenburg 4a0d9c29b8 morepretty 2021-10-27 16:44:22 -05:00
Ryan Oldenburg 3721cb806a faster flips 2021-10-24 21:37:36 -05:00
Ryan Oldenburg 08beb6b947 3.0.2 bugfix 2021-10-19 20:12:45 -05:00
Ryan Oldenburg 7774695e35 3.0.1, minifyBy2 fix for non-even src dimens 2021-10-19 17:45:03 -05:00
Ryan Oldenburg 1ca7d752f9 arc quirk fixed, perf improved 2021-10-19 14:59:40 -05:00
Ryan Oldenburg 8e346d1477 simd magnifyBy2 faster still 2021-10-17 22:33:53 -05:00
Ryan Oldenburg 71d9c8cd6e magnifyBy2 faster 2021-10-17 22:05:27 -05:00
Ryan Oldenburg 7c5181efd9 paint in bindings 2021-10-12 22:42:16 -05:00
Ryan Oldenburg db378d2a8f typo, better benchmark 2021-10-12 13:11:01 -05:00
Ryan Oldenburg 89d1608a32 magnifyBy2 10% faster 2021-10-11 19:17:31 -05:00
Ryan Oldenburg 1571b2c08d f 2021-10-06 14:12:36 -05:00
treeform 668958e373 Speed up CFF font reading by like x100. 2021-10-06 11:56:35 -07:00
treeform af77530a17 Fix draw correct. 2021-10-04 12:16:10 -07:00
treeform d29b4e1c45 The magnifyBy2 fix. 2021-10-04 11:41:09 -07:00
treeform b99307f7b7 Make simpler. 2021-10-03 20:39:40 -07:00
treeform eede47843d fix rgbaSmooht 2021-10-03 19:57:03 -07:00
Ryan Oldenburg ff37660633 blur kernel 16 bits 2021-10-03 21:22:10 -05:00
Ryan Oldenburg ea1aef7bd2 mask magnifyBy2 2021-10-03 15:32:10 -05:00
treeform 052eeb5a18 Fix tofu advance. 2021-10-03 11:12:56 -07:00
treeform a8e1943556 Better fallback 2021-10-03 11:12:56 -07:00
treeform 8a88cd29fa No need to check for rune.uint32 > SP.uint32 because typeset alreayd does. 2021-10-03 11:12:56 -07:00
Andre von Houck c0f31b276f Add font fallback. 2021-10-03 11:12:56 -07:00
Andre von Houck 83dc10170f Rename lerp to mix. lerp is deprixated and GLSL uses mix. 2021-09-26 14:02:28 -07:00
Andre von Houck c91251e135 Convert var to let when appropriate. 2021-09-26 13:59:08 -07:00
Ryan Oldenburg 303abc6249 fix multi-break long words 2021-09-12 15:43:26 -05:00
treeform a5cd9cd35e Merge branch 'master' of github.com:treeform/pixie 2021-09-10 13:04:29 -07:00
treeform 190eb92ef8 Fix computeBounds with \n at the end. 2021-09-10 13:04:24 -07:00
Ryan Oldenburg 267c78756a morepretty 2021-09-09 18:07:14 -05:00
Ryan Oldenburg 9e40bd1c20 f 2021-09-08 23:10:02 -05:00
Ryan Oldenburg 3d424577c9 morepretty 2021-09-08 23:06:17 -05:00
Ryan Oldenburg 60bcff9bb2 simd draw bugfix 2021-09-08 22:59:47 -05:00
treeform fb232a8d4a
Merge pull request #284 from treeform/fonts1
Fix selection rects align to pixel logic.
2021-09-08 18:09:39 -07:00
treeform 8a67455f73 Fix selection rects align to pixel logic. 2021-09-08 17:42:58 -07:00
Ryan Oldenburg f64b99c950 bindings work 2021-09-07 18:47:01 -05:00
treeform cba533e737 Add hasGlyph 2021-09-07 13:08:45 -07:00
treeform 8d1a84efea Fix strikethough and underline for CFF fonts with winding order flag. 2021-09-07 13:08:44 -07:00
treeform fec8d7a5d0
Merge pull request #278 from treeform/fonts1
Working on fonts.
2021-09-06 10:24:12 -07:00
treeform 935a0eb5c2 Remove .wh on Images and Masks (it was odd one). 2021-09-06 10:05:56 -07:00
treeform 301c6bd31c Add tests for underline and strike though. More const. 2021-09-06 09:20:16 -07:00
treeform d8f6e870a3 f 2021-09-03 12:10:34 -07:00
treeform 3fa9d34544 Add test for a CID based font. 2021-09-03 12:03:36 -07:00
treeform 6539002e5e f 2021-09-03 12:01:41 -07:00
treeform 7b5ef3c87a clean 2021-09-03 08:33:15 -07:00
treeform 692c91283d CFF works 2021-09-03 08:19:30 -07:00
treeform 5188f28eb0 f 2021-09-02 10:35:46 -07:00
treeform 439c14ee5b Make readVersion16Dot16 work. 2021-09-02 10:30:45 -07:00
Ryan Oldenburg 592b242139 easy encode raw png 2021-09-02 12:15:50 -05:00
treeform 0b8df86337 Add failUnsupported messges. 2021-09-02 09:55:57 -07:00
Ryan Oldenburg 3c46c2ccb9 binding bugfix 2021-09-01 22:32:47 -05:00
Ryan Oldenburg a22a1559d3 binding bugfix 2021-09-01 22:32:47 -05:00
Ryan Oldenburg 5a691153a1 add lower level png decoding api 2021-09-01 16:24:32 -05:00
Ryan Oldenburg c33067e360 bugfix 2021-08-31 23:30:40 -05:00
Ryan Oldenburg 452de0fbae use nicer bindy 2021-08-31 17:54:37 -05:00
Ryan Oldenburg 4acfe18b56 fix opentype gpos parsing bug 2021-08-28 19:49:10 -05:00
Ryan Oldenburg c7421e3e85 colorStop 2021-08-26 22:24:35 -05:00
Ryan Oldenburg 4bee35753f feedback 2021-08-26 20:32:25 -05:00
Ryan Oldenburg 6ba0813007 nim owned seq helpers, fix nim unref 2021-08-26 13:06:29 -05:00
Ryan Oldenburg 7debb739f9 small things 2021-08-23 18:18:35 -05:00
Ryan Oldenburg f00860a9cc morepretty 2021-08-18 22:53:04 -05:00
Ryan Oldenburg 46cf47bdeb prune some raises 2021-08-18 22:50:31 -05:00
Ryan Oldenburg 94a0f3e151 raises 2021-08-18 18:24:49 -05:00
Ryan Oldenburg 8c9daadd04 morepretty 2021-08-17 23:11:48 -05:00
treeform fdef525352 Perf improvement for isOneColor. 2021-08-17 20:45:42 -07:00
treeform ec8f812e66 Fix isOneColor. 2021-08-17 20:42:13 -07:00
treeform b84746f6f2 Fix isTransparent and add test. 2021-08-17 20:25:36 -07:00
Ryan Oldenburg fe6fb8c90e computeBounds, bindings changes 2021-08-17 20:21:20 -05:00
Ryan Oldenburg 7e56800de7 image isTransparent isOneColor 2021-08-17 16:14:31 -05:00
Ryan Oldenburg d8afee9bf3 superImage 2021-08-17 15:15:39 -05:00
Ryan Oldenburg 412baf6c19 more binding prep 2021-08-17 15:15:39 -05:00
Ryan Oldenburg abbe4f63ea more changes for bindings 2021-08-12 21:41:43 -05:00
Ryan Oldenburg 8c458d2ab2 paint uses color 2021-08-11 23:25:30 -05:00
Ryan Oldenburg a95d1f546b changes noticed while working on bindings 2021-08-11 19:42:57 -05:00
Ryan Oldenburg 6d9ab5b200 paint as ref object 2021-08-06 19:00:06 -05:00
Ryan Oldenburg 3f08c2bfa4 path as ref object 2021-08-06 14:39:21 -05:00
Ryan Oldenburg 28067d6979 f 2021-08-06 14:13:07 -05:00
Ryan Oldenburg df49cc4b01 morepretty 2021-08-06 14:07:26 -05:00
Ryan Oldenburg daaa71b2b1 font as ref object 2021-08-06 01:26:20 -05:00
Ryan Oldenburg 43d08f9ddf f 2021-07-19 22:56:55 -05:00
Ryan Oldenburg 789d543faf morepretty 2021-07-19 00:50:49 -05:00
Ryan Oldenburg 2ee4f747e2 implement svg opacityy, fill-opacity, stroke-opacityy, linearGradient 2021-07-19 00:49:30 -05:00
Ryan Oldenburg 836873d78f sort changes 2021-07-18 22:49:34 -05:00
Ryan Oldenburg b57da6d14c feedback 2021-07-18 17:26:06 -05:00
Ryan Oldenburg e5cccb63d1 morepretty 2021-07-18 16:59:50 -05:00
Ryan Oldenburg c3e168caa4 paint has opacity 2021-07-18 16:56:20 -05:00
Ryan Oldenburg dd9cd51310 font can have mulitple paints but still has simple paint api for 99% case 2021-07-18 15:41:04 -05:00
Ryan Oldenburg 805d9d0789 just return 2021-07-18 13:36:06 -05:00
Ryan Oldenburg a39f3296c7 more clear the if is dependant 2021-07-18 13:34:57 -05:00
Ryan Oldenburg d097fda55b context isPointInPath isPointInStroke 2021-07-18 13:20:22 -05:00
treeform ee48d9cdd9
Merge pull request #242 from treeform/arcs
Add arcs.
2021-07-10 23:39:33 -07:00
treeform 48694ad735 Add vector overloads of arc and arcTo. 2021-07-10 23:31:25 -07:00
treeform bd46136952 Add arcs. 2021-07-10 23:00:01 -07:00
Ryan Oldenburg e5f909555e png seq[uint8] -> string internal, updated deps 2021-06-29 23:52:29 -05:00
Ryan Oldenburg f6f54ca8e5 bugfix + contexts clip uses mask fillPath blend mode 2021-06-27 17:11:55 -05:00
Ryan Oldenburg 32c3072e0a get smooth a bit smarter (faster in solid color case) 2021-06-27 16:24:56 -05:00
treeform 56b7361f65
Merge pull request #237 from guzba/master
fill paths faster, random stuff
2021-06-26 22:00:53 -07:00
treeform b109af248d Rename a var. 2021-06-26 21:50:04 -07:00
treeform c737670d26 Fix an import bug in pixie/demo. 2021-06-26 21:48:14 -07:00
treeform f67b940f2d Formating fixes. 2021-06-26 21:47:51 -07:00
Ryan Oldenburg c765026b67 morepretty 2021-06-26 23:16:35 -05:00
Ryan Oldenburg 60f5801b71 fill paths faster 2021-06-26 23:11:18 -05:00
Ryan Oldenburg 0656d7566a f 2021-06-26 20:46:10 -05:00
treeform 7a1a2850c2 More tests and docs. 2021-06-25 22:10:53 -07:00
treeform 1ee2532087 Draw with source cutout. 2021-06-25 22:07:02 -07:00
Ryan Oldenburg fbc6df5fa0 not inline 2021-06-25 22:41:09 -05:00
treeform ecb3673372 Add drawImage to context. 2021-06-25 20:35:40 -07:00
Ryan Oldenburg 42c1a5e2be f 2021-06-25 22:30:49 -05:00
Ryan Oldenburg b1bc2d048c name fix 2021-06-25 22:24:45 -05:00
Ryan Oldenburg 205f091012 shorter 2021-06-25 17:17:20 -05:00
Ryan Oldenburg 9e132b6457 small stuff 2021-06-25 16:55:51 -05:00
Ryan Oldenburg 2232e09a27 masks and images conversion 2021-06-25 01:20:04 -05:00
Ryan Oldenburg ac1bd9e64c simpler 2021-06-24 19:10:05 -05:00
Ryan Oldenburg 2deaa3988a spread >10x faster using same strategy as blur 2021-06-19 15:27:45 -05:00
Ryan Oldenburg 0fa2a9fe6b better this way 2021-06-19 00:25:47 -05:00
Ryan Oldenburg a838de821c paths.nim masks take blendMode for masking, tests, fixes and etc 2021-06-18 21:53:46 -05:00
treeform 1ee3d3902a Fixing blends 2021-06-18 16:39:55 -07:00
treeform ff0a69b9de done 2021-06-18 15:48:05 -07:00
treeform cd5f699774 Remove bmIntersectMask (its just mask) 2021-06-18 15:26:06 -07:00
treeform b34f4260de Fix blending with bmMask. 2021-06-18 15:26:06 -07:00
Ryan Oldenburg 51d38c7e37 2x faster mask minifyBy2 2021-06-18 16:04:25 -05:00
Ryan Oldenburg f72fff8651 draw proc cleanup 2021-06-18 15:30:02 -05:00
Ryan Oldenburg 54ee511a47 fix pixieNoSimd bug + add to github actions 2021-06-18 15:20:26 -05:00
Ryan Oldenburg 2870fca47e 4x faster minifyBy2 2021-06-18 00:59:31 -05:00
Ryan Oldenburg d18a268600 faster + benchmark 2021-06-17 23:09:00 -05:00
Ryan Oldenburg e16fcb595d benchmark 2021-06-17 21:25:54 -05:00
Ryan Oldenburg aeb531aedb small 2021-06-17 19:01:03 -05:00
Ryan Oldenburg 5a3e2b8ad7 4x faster magnifyBy2 2021-06-17 17:46:09 -05:00
Ryan Oldenburg 6ed047a702 f 2021-06-17 16:16:32 -05:00
Ryan Oldenburg 7dfea4dc39 context.nim -> contexts.nim, pixieDebugSvg 2021-06-12 11:34:45 -05:00
Ryan Oldenburg c93726dd86 up zippy dep 2021-06-08 11:20:15 -05:00
Ryan Oldenburg fb87aecd1d fill closes subpaths 2021-06-06 01:17:07 -05:00
Ryan Oldenburg 3e4b66b093 faster 2021-06-05 01:38:28 -05:00
Ryan Oldenburg 9ccbcf7347 small 2021-06-04 17:55:07 -05:00
Ryan Oldenburg 046556fdef do not export path.commands 2021-06-04 15:57:04 -05:00
Ryan Oldenburg c124b64eea f 2021-06-04 15:57:04 -05:00
Ryan Oldenburg f157a11ebf fill faster when not doing aa 2021-06-04 01:05:15 -05:00
Ryan Oldenburg 2e1f9a81b8 hits iterator 2021-06-04 01:05:08 -05:00
Ryan Oldenburg 1395abaff9 anti-aliasing optimization 2021-06-03 18:05:07 -05:00
Ryan Oldenburg 57ab45f7a1 2.0.4 2021-06-03 00:08:43 -05:00
Ryan Oldenburg 4096ed585a improve github actions 2021-06-02 23:58:43 -05:00
Ryan Oldenburg 7581216484 fix arc perf issue 2021-06-02 18:25:55 -05:00
Ryan Oldenburg 4760b2643f early exists + fix for dll 2021-06-02 18:25:55 -05:00
Ryan Oldenburg 350d01cda7 textUber 2021-06-01 14:50:07 -05:00
Ryan Oldenburg f45bb70ed7 morepretty updated 2021-06-01 13:50:49 -05:00
Ryan Oldenburg 7f984d0bf0 fix 2021-06-01 13:30:46 -05:00
Ryan Oldenburg 3658ff40c3 context globalAlpha 2021-05-31 21:05:27 -05:00
Ryan Oldenburg 1022fdcbe2 both possible 2021-05-31 20:44:04 -05:00
Ryan Oldenburg 7ea0a37013 morepretty 2021-05-31 20:41:03 -05:00
Ryan Oldenburg 3b6474b565 underline, strikethrough 2021-05-31 20:33:11 -05:00
Ryan Oldenburg 8ce82c20b2 rename 2021-05-31 19:22:51 -05:00
Ryan Oldenburg a08019518c f 2021-05-30 16:08:08 -05:00
Ryan Oldenburg de8fda9a81 insertion sort hits faster 2021-05-30 14:54:27 -05:00
treeform b087dd23bd Add fill leak checker (use -d:pixieLeakCheck). 2021-05-29 16:26:31 -07:00
treeform 52bd58fa45 Fix rounded join bug. 2021-05-29 15:15:54 -07:00
Ryan Oldenburg 284f7fce04 2.0.2 2021-05-29 16:17:41 -05:00
Ryan Oldenburg e76549368e computePixelBounds 2021-05-29 16:11:18 -05:00
Ryan Oldenburg f960349518 better with names 2021-05-29 15:57:55 -05:00