Commit graph

980 commits

Author SHA1 Message Date
treeform
a46a9ebf12 api changes, encoding fixed. 2022-05-15 12:05:17 -07:00
treeform
655099a64e more ttc 2022-05-14 09:57:50 -07:00
treeform
dffe86074f Add TTC parser. 2022-05-14 09:42:22 -07:00
Ryan Oldenburg
01fe732608 f 2022-05-13 00:08:03 -05:00
Ryan Oldenburg
68b9d63ecd f 2022-05-12 23:29:03 -05:00
Ryan Oldenburg
6f6f73382b f 2022-05-12 23:19:15 -05:00
Ryan Oldenburg
8d57ba9103 f 2022-05-12 23:09:37 -05:00
Ryan Oldenburg
86f9f25011 f 2022-05-12 23:02:20 -05:00
Ryan Oldenburg
2991c16c9d f 2022-05-12 22:55:35 -05:00
Ryan Oldenburg
6cfb98553c rename 2022-05-12 22:51:33 -05:00
Ryan Oldenburg
f03b2e2ef3 huffman stuff 2022-05-12 22:46:57 -05:00
Ryan Oldenburg
c280cd7864 proc 2022-05-12 20:27:18 -05:00
Ryan Oldenburg
3e2f5f3287 f 2022-05-12 19:59:38 -05:00
Ryan Oldenburg
07ec93a7ef shrink overflow+range checks off to just idct 2022-05-12 19:00:36 -05:00
Ryan Oldenburg
01de5d536b rm inline 2022-05-12 17:58:46 -05:00
Ryan Oldenburg
4b97780a54 string, rm encodeJpeg 2022-05-12 17:57:10 -05:00
treeform
e694f810d6 Fix for Mask.mask* issue. 2022-05-12 09:25:40 -07:00
treeform
aec2c23253 Better magnify. 2022-05-07 17:14:29 -07:00
treeform
1825ab6cd7 Cleanup 2022-05-07 12:06:18 -07:00
treeform
a6ea5fe6c2 Simplfy component ordering. 2022-05-07 12:03:03 -07:00
treeform
a2b6540f89 {.byaddr.} 2% speed up. 2022-05-07 11:44:46 -07:00
treeform
9c9645598e Fuzzing. 2022-05-07 11:24:54 -07:00
treeform
d1780825e3 Ignore int16 overflows. 2022-05-07 11:20:05 -07:00
treeform
bc635bc3da clean up 2022-05-07 11:18:58 -07:00
treeform
f4cd87b505 Simpler upscaling code. 2022-05-07 11:11:22 -07:00
treeform
fdd6f51dde Remove table use. 2022-05-05 10:20:19 -07:00
treeform
5e484ad4ab
Resurrect old nim-native jpeg parser and fix most issues (#414)
* Add new jpeg tests.
* Resurrect old jpeg.
* Fix Jpeg grayscale
* Fix 4:1:1 scaling.
* Better chunk scanner.
* Fight progressive.
* Fight restart markers.
* Jpeg can now parse all of the test files.
* Fuzzing and overflow checks
* Make getBits* the only way to read the bits. 
* Make Quantiziation and IDCT happen only in one place.
* Rename jpg folder to jpeg
2022-05-05 09:19:17 -07:00
Ryan Oldenburg
530e59c8f2 morepretty 2022-04-25 00:20:25 -05:00
Ryan Oldenburg
cb33a4076f 4.2.0 updated deps + bindings 2022-04-25 00:16:20 -05:00
Ryan Oldenburg
328116893a clamp paint opacity 2022-04-24 23:37:17 -05:00
treeform
20af3accd1 Use Polygon. 2022-04-01 18:30:43 -07:00
Ryan Oldenburg
971df79a2d check for int overflow 2022-03-29 18:13:36 -05:00
Ryan Oldenburg
64b63d421d check for fenv epsilon instead of literal 0 2022-03-24 12:02:02 -05:00
treeform
2262459b5d
Merge pull request #404 from treeform/dev
Add context base alignment.
2022-03-22 14:12:29 -07:00
treeform
d3ee57bab1 Morepretty 2022-03-22 14:09:42 -07:00
treeform
b1f9b943f9 Rename. 2022-03-22 14:09:00 -07:00
Ryan Oldenburg
4d5da888f1 f 2022-03-22 15:57:55 -05:00
Ryan Oldenburg
dd85e5f9b0 add check for arc step of 0 2022-03-22 15:48:39 -05:00
treeform
2f88f6119a Small changes. 2022-03-22 09:45:03 -07:00
treeform
b876feddc8 Add context base alignment. 2022-03-22 09:43:43 -07:00
treeform
0dda63d66d Review. 2022-03-21 19:56:42 -07:00
treeform
897ca0bc7c Formatting 2022-03-21 19:33:53 -07:00
treeform
341b710549 Run textUber though computePaths. 2022-03-21 18:46:43 -07:00
treeform
d4e56d3b3b The computeBounds() should take a transform. 2022-03-20 13:36:54 -07:00
treeform
2365004c9c Seperate the idea layout and pixel bounds. 2022-03-20 13:04:31 -07:00
treeform
87397c8bf8 Negative spread without inverts. 2022-03-20 08:54:06 -07:00
treeform
6068a92363 Split invert out. 2022-03-20 08:50:28 -07:00
treeform
42bedda0a7 Fix #372 - Add negative spread. 2022-03-20 08:50:28 -07:00
Ryan Oldenburg
1fe409c8bb restore pop 2022-03-19 16:01:41 -05:00
treeform
84ed4c9b9d Fix for #393 and other polygon improvements. 2022-03-18 13:43:47 -07:00
treeform
aeda891540
Merge pull request #396 from treeform/dev
Fix #394 - zero width mask fill.
2022-03-18 13:43:32 -07:00
Anuken
2e6a962a82
Fixed compilation in qoi for 32-bit platforms 2022-03-17 15:41:51 -04:00
treeform
542c8e84fd Fix #394 - zero width mask fill. 2022-03-17 07:32:47 -07:00
Ryan Oldenburg
efba29578e 4.0.2 check valid polygon 2022-03-13 15:39:50 -05:00
treeform
1a9ab003c5 Fix #388 2022-03-12 13:38:13 -08:00
Ryan Oldenburg
bd5ba5bd59 fix for custom line-heights 2022-02-22 19:15:35 -06:00
Ryan Oldenburg
a0618ad9ac f 2022-02-22 17:35:39 -06:00
Ryan Oldenburg
f6a7c888fa simpler 2022-02-22 17:05:55 -06:00
treeform
1a89f5d07b
Merge pull request #384 from treeform/dev
The great enum rename.
2022-02-13 22:15:53 -08:00
treeform
3e5926c92c More enum renames. 2022-02-13 20:02:37 -08:00
Ryan Oldenburg
5282caa056 bmp dib decoder 2022-02-13 16:55:10 -06:00
Ryan Oldenburg
17ad1fbbd1 inline 2022-02-12 19:07:19 -06:00
Ryan Oldenburg
97515a3849 invalid 2022-02-12 19:03:34 -06:00
Ryan Oldenburg
ccccd883bb rm seq[uint8] 2022-02-12 18:59:13 -06:00
treeform
65b8dad89b Rename HorizontalAlignment, VerticalAlignment and TextCase enum. 2022-02-12 10:51:14 -08:00
treeform
9fdb3b8b0d Rename LineCap and LineJoin enum. 2022-02-12 10:35:19 -08:00
treeform
e4805f7c08 Rename WindingRule enum. 2022-02-12 10:29:28 -08:00
treeform
5074e33efc Rename PaintKind enum. 2022-02-12 10:25:28 -08:00
treeform
c6f59b9692 Rename BlendMode enum. 2022-02-12 10:18:39 -08:00
treeform
e9f9b82bd4 Rename FileFormat enum. 2022-02-12 10:05:05 -08:00
treeform
b456c54825
Merge pull request #383 from treeform/dev
Improve bitmap reader.
2022-02-11 21:33:30 -08:00
treeform
d250e4be01 Fixed fuzzing. 2022-02-11 21:08:24 -08:00
treeform
81b82e2277 Morepretty 2022-02-11 20:11:01 -08:00
treeform
c2350c9642 Fixes. 2022-02-11 20:08:59 -08:00
treeform
4dc50d9778 Read more bmp formats. 2022-02-11 20:08:09 -08:00
treeform
ffc1b90c5f Fail when channel maks is 0. 2022-02-11 16:09:38 -08:00
treeform
25bc1116fb Improve bitmap reader. 2022-02-11 14:27:11 -08:00
Ryan Oldenburg
e96f5074f5 v2.27 2022-02-11 15:51:00 -06:00
Ryan Oldenburg
295f5788c9 rm seq[uint8] jpg 2022-02-11 15:46:30 -06:00
Ryan Oldenburg
78e23f83d6 fix and re-enable fill optimization 2022-01-30 14:53:12 -06:00
treeform
2da986d0fe Disable fill optimization for now. 2022-01-30 12:15:13 -08:00
Ryan Oldenburg
d5b4500758 iterator issue workaorund 2022-01-25 20:26:39 -06:00
Ryan Oldenburg
12636e4e9f very strange issue 2022-01-25 17:04:43 -06:00
Ryan Oldenburg
d65fd68161 zippy 0.8.1 2022-01-25 16:48:01 -06:00
Ryan Oldenburg
a3c2444339 morepretty 2022-01-20 20:12:10 -06:00
Ryan Oldenburg
be57c71c3c ppm consistent style pass 2022-01-20 20:04:13 -06:00
Ryan Oldenburg
a4cac14e87 rm pixie/demo 2022-01-19 14:07:47 -06:00
Rasmus Moorats
be26fe5193
fix high-depth handling and add a test case 2022-01-10 15:26:20 +02:00
Rasmus Moorats
71016b868e
remove incorrect rgba conversion 2022-01-09 17:43:43 +02:00
Rasmus Moorats
6f654e32bc
remove erroneous debug echo 2022-01-09 17:43:42 +02:00
Rasmus Moorats
b136e5b4e2
P3 support
also fixes an issue with header decoder whitespace handling
2022-01-09 17:43:42 +02:00
Rasmus Moorats
0139af545f
add rudimentary PPM decoder 2022-01-09 17:43:42 +02:00
Rasmus Moorats
7679712575
add PPM encoder 2022-01-09 17:43:42 +02:00
Emery Hemingway
c553ff640b Mark parseGlyfGlyph prototype as gcsafe 2022-01-06 12:52:58 +01:00
Ryan Oldenburg
a0244c98de decodeSvg xml 2022-01-05 17:20:12 -06:00
Ryan Oldenburg
540183a262 f 2022-01-03 17:50:03 -06:00
Ryan Oldenburg
91abc684ad qoi consistent style pass 2022-01-03 17:41:36 -06:00
treeform
a8cd3bfd3b
Merge pull request #354 from ehmry/qoi
QOI support
2022-01-03 13:29:29 -08:00
Emery Hemingway
291a0e3a5d QOI support
https://qoiformat.org/
2022-01-03 17:20:00 +01:00
Ryan Oldenburg
1049e74fec f 2022-01-02 18:28:39 -06:00
Ryan Oldenburg
aae5c07614 demo use windy + boxy 2022-01-02 18:13:30 -06:00
Ryan Oldenburg
2d3d4c5f95 bugfix 2022-01-02 18:13:30 -06:00
Ryan Oldenburg
34d96df323 3.1.2 bugfix 2021-12-23 14:10:32 -06:00
Ryan Oldenburg
2ab6c7e35c simpler source position when not rotated or scaled 2021-12-16 21:56:06 -06:00
Ryan Oldenburg
11ba8e7af0 3.1.1 bugfix out of bounds 2021-12-16 04:00:56 -06:00
Ryan Oldenburg
bfa1f8b3a0 use 2021-12-15 12:27:49 -06:00
Ryan Oldenburg
6ba8ec472f simd draw fast paths 2021-12-15 12:21:34 -06:00
Ryan Oldenburg
2fbff9104b rm this, bugfix 2021-12-15 12:08:36 -06:00
Ryan Oldenburg
f7205a6ebe faster packAlphaValues 2021-12-14 19:31:36 -06:00
Ryan Oldenburg
7195d0a74d pack4xAlphaValues 2021-12-14 16:11:40 -06:00
Ryan Oldenburg
f9813d054c move fillUnsafe 2021-12-14 15:17:17 -06:00
Ryan Oldenburg
f7ed8e7842 per-row opaque check 2021-12-14 14:48:36 -06:00
Ryan Oldenburg
69f73f709f comment 2021-12-14 14:28:39 -06:00
Ryan Oldenburg
39e37c357a mask magnifyBy2 simd + copyMem 2021-12-14 13:00:15 -06:00
Ryan Oldenburg
a6ed55592c opaque fast path 2021-12-14 13:00:15 -06:00
Ryan Oldenburg
805857df3f bmOverwrite nonsimd benchmark 2021-12-13 03:00:38 -06:00
Ryan Oldenburg
85780637fc mask yMin yMax better 2021-12-13 02:25:58 -06:00
Ryan Oldenburg
1214861870 move blendMode dont export blends 2021-12-13 01:23:41 -06:00
Ryan Oldenburg
38798e503b f 2021-12-13 00:39:13 -06:00
Ryan Oldenburg
ba6ea448e4 f 2021-12-13 00:36:47 -06:00
Ryan Oldenburg
1352ff73b0 case 2021-12-13 00:31:35 -06:00
Ryan Oldenburg
be598a108b bmMask nonsimd draw faster 2021-12-13 00:29:51 -06:00
Ryan Oldenburg
ac6e6f6214 mat -> transform 2021-12-13 00:15:44 -06:00
Ryan Oldenburg
64e6db2cef nonsimd path 2021-12-12 23:01:35 -06:00
Ryan Oldenburg
de13c129e4 isOpaque 2021-12-12 21:48:07 -06:00
Ryan Oldenburg
6280af09f0 bmOverwrite 2021-12-12 18:42:01 -06:00
Ryan Oldenburg
7abe128124 f 2021-12-12 18:29:18 -06:00
Ryan Oldenburg
97ed037d2a f 2021-12-12 18:21:21 -06:00
Ryan Oldenburg
afc7e8d816 move fillImage/fillMask strokeImage/strokeMask 2021-12-12 18:19:07 -06:00
Ryan Oldenburg
2e163e6e6c move pixieSweeps 2021-12-12 18:15:05 -06:00
Ryan Oldenburg
790146e553 faster 2021-12-12 17:05:58 -06:00
Ryan Oldenburg
720e5ae019 morepretty 2021-12-12 17:05:58 -06:00
Ryan Oldenburg
2c2e35bff5 comments back 2021-12-11 18:06:11 -06:00
Ryan Oldenburg
18a81b3d0e mask.unsafe[x, y] 2021-12-11 18:04:01 -06:00
Ryan Oldenburg
ff1e6bd12d image.unsafe[x, y] 2021-12-11 17:57:08 -06:00
Ryan Oldenburg
520b548fc5 faster get/set unsafe 2021-12-11 16:19:32 -06:00
treeform
f4c0619fa8 Fixes after rebase. 2021-12-04 17:39:00 -08:00
treeform
5ec38c068d f 2021-12-04 17:34:10 -08:00
treeform
f522dbb9ff f 2021-12-04 17:33:45 -08:00
treeform
367a86b566 Speed up with horizintal line intersect. 2021-12-04 17:33:43 -08:00
treeform
b9402e592d Sweeps: Fix jugged outline and streaking. 2021-12-04 17:33:09 -08:00
treeform
44f3bcfa98
Merge pull request #335 from guzba/master
faster non-simd path here
2021-12-04 17:27:21 -08:00
treeform
b83a5ee726 Morepretty. 2021-12-03 20:48:38 -08:00
treeform
ef20501ce1 Add currentExceptionAsPixieError. 2021-12-03 20:48:11 -08:00
Ryan Oldenburg
0671bc9516 faster non-simd path 2021-12-03 19:15:47 -06:00
Ryan Oldenburg
c0b74fbc73 f 2021-12-03 17:02:16 -06:00
Ryan Oldenburg
5d0539bf9b add dragon2 test 2021-12-03 15:24:08 -06:00
Ryan Oldenburg
8baa04a6cb f 2021-12-03 14:51:25 -06:00
Ryan Oldenburg
bffe8a9839 f 2021-12-03 14:48:33 -06:00
Ryan Oldenburg
c9789b8468 f 2021-12-03 11:47:51 -06:00
Ryan Oldenburg
19a9048973 bugfix 2021-12-03 11:05:55 -06:00
Ryan Oldenburg
f87f464893 strokes, docs 2021-12-01 16:54:02 -06:00
Ryan Oldenburg
4bcfae7eb5 use mask coverage 2021-11-30 17:37:30 -06:00
Ryan Oldenburg
aa6775240f bmOverwrite can be used 2021-11-30 16:46:19 -06:00
Ryan Oldenburg
06f211f735 path fillImage 2021-11-30 16:01:10 -06:00
Ryan Oldenburg
d8acdf750d f 2021-11-30 16:01:09 -06:00
Ryan Oldenburg
5e4da6c869 f 2021-11-29 15:55:50 -06:00
Ryan Oldenburg
ee5074c628 inline simd faster 2021-11-29 03:38:49 -06:00
Ryan Oldenburg
8ddd22d761 faster 2021-11-29 02:42:55 -06:00
Ryan Oldenburg
c3c059b534 faster 2021-11-29 02:35:35 -06:00
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