├── bindings
└── generated
│ └── placeholder.txt
├── tests
├── config.nims
├── paths
│ ├── arc.png
│ ├── ButtCap.png
│ ├── RoundCap.png
│ ├── arcTo1.png
│ ├── arcTo2.png
│ ├── arcTo3.png
│ ├── boxBevel.png
│ ├── boxMiter.png
│ ├── boxRound.png
│ ├── dashes.png
│ ├── polygon3.png
│ ├── polygon4.png
│ ├── polygon5.png
│ ├── polygon6.png
│ ├── polygon7.png
│ ├── polygon8.png
│ ├── rectMask.png
│ ├── SquareCap.png
│ ├── paintImage.png
│ ├── paintSolid.png
│ ├── pathHeart.png
│ ├── pathSwish.png
│ ├── pixelScale.png
│ ├── rectMaskAA.png
│ ├── opacityFill.png
│ ├── opacityStroke.png
│ ├── path0pxCover.png
│ ├── path1pxCover.png
│ ├── pathBottomArc.png
│ ├── pathCornerArc.png
│ ├── pathRoundRect.png
│ ├── pathStroke1.png
│ ├── pathStroke2.png
│ ├── pathStroke3.png
│ ├── selfclosing.png
│ ├── fillImagePaint.png
│ ├── gradientAngular.png
│ ├── gradientLinear.png
│ ├── gradientLinear2.png
│ ├── gradientRadial.png
│ ├── paintImageTiled.png
│ ├── pathRotatedArc.png
│ ├── pathStroke1Big.png
│ ├── rectExcludeMask.png
│ ├── rectMaskStroke.png
│ ├── paintImageOpacity.png
│ ├── pathBlackRectangle.png
│ ├── pathRedRectangle.png
│ ├── rectExcludeMaskAA.png
│ ├── fillTiledImagePaint.png
│ ├── pathBlackRectangleZ.png
│ ├── pathYellowRectangle.png
│ ├── gradientAngularOpacity.png
│ ├── paintImageTiledOpacity.png
│ ├── pathInvertedCornerArc.png
│ ├── miterLimit_10deg_2.00num.png
│ ├── miterLimit_145deg_2.00num.png
│ ├── miterLimit_145deg_3.32num.png
│ ├── miterLimit_145deg_3.33num.png
│ ├── miterLimit_155deg_2.00num.png
│ ├── miterLimit_165deg_2.00num.png
│ └── miterLimit_165deg_10.00num.png
├── images
│ ├── pip1.png
│ ├── rock.png
│ ├── rhino.png
│ ├── rotate0.png
│ ├── turtle.png
│ ├── drawRect.png
│ ├── flipped1.png
│ ├── flipped2.png
│ ├── flipped3.png
│ ├── rotate180.png
│ ├── rotate270.png
│ ├── rotate360.png
│ ├── rotate90.png
│ ├── scaleHalf.png
│ ├── drawEllipse.png
│ ├── drawPolygon.png
│ ├── drawSegment.png
│ ├── imageblur20.png
│ ├── magnifiedBy2.png
│ ├── magnifiedBy4.png
│ ├── maskblur20.png
│ ├── minifiedBy2.png
│ ├── minifiedBy4.png
│ ├── opaqueBounds.png
│ ├── strokeRect.png
│ ├── superimage1.png
│ ├── superimage2.png
│ ├── superimage3.png
│ ├── superimage4.png
│ ├── superimage5.png
│ ├── superimage6.png
│ ├── turtle@10x.png
│ ├── imageblur20oob.png
│ ├── strokeEllipse.png
│ ├── strokePolygon.png
│ ├── drawRoundedRect.png
│ ├── fillOptimization.png
│ ├── fillOptimization2.png
│ ├── maskClearsOnDraw0.png
│ ├── maskClearsOnDraw1.png
│ ├── maskClearsOnDraw2.png
│ ├── maskClearsOnDraw3.png
│ ├── maskClearsOnDraw4.png
│ ├── masters
│ │ ├── smooth1.png
│ │ ├── smooth10.png
│ │ ├── smooth11.png
│ │ ├── smooth12.png
│ │ ├── smooth2.png
│ │ ├── smooth3.png
│ │ ├── smooth4.png
│ │ ├── smooth5.png
│ │ ├── smooth6.png
│ │ ├── smooth7.png
│ │ ├── smooth8.png
│ │ ├── smooth9.png
│ │ ├── minify_odd.png
│ │ ├── rock_minified.png
│ │ └── rock_minified2.png
│ ├── minifiedMandrill.png
│ └── strokeRoundedRect.png
├── fonts
│ ├── PTSans.ttc
│ ├── svg_ibm.png
│ ├── svg_moon.png
│ ├── Inter-Bold.ttf
│ ├── NotoEmoji.otf
│ ├── svg_changa.png
│ ├── svg_dejavu.png
│ ├── svg_ubuntu.png
│ ├── Inter-Regular.ttf
│ ├── PinyonScript.ttf
│ ├── masters
│ │ ├── cff.png
│ │ ├── emoji.png
│ │ ├── huge1.png
│ │ ├── huge2.png
│ │ ├── huge3.png
│ │ ├── basic1.png
│ │ ├── basic10.png
│ │ ├── basic2.png
│ │ ├── basic3.png
│ │ ├── basic4.png
│ │ ├── basic5.png
│ │ ├── basic6.png
│ │ ├── basic7.png
│ │ ├── basic8.png
│ │ ├── basic8b.png
│ │ ├── basic9.png
│ │ ├── cff_jp.png
│ │ ├── lines1.png
│ │ ├── lines2.png
│ │ ├── paints1.png
│ │ ├── pairs1.png
│ │ ├── pairs2.png
│ │ ├── pairs3.png
│ │ ├── spans1.png
│ │ ├── spans2.png
│ │ ├── spans4.png
│ │ ├── spans5.png
│ │ ├── spans6.png
│ │ ├── spans7.png
│ │ ├── alignments.png
│ │ ├── fallback.png
│ │ ├── fallback2.png
│ │ ├── image_fill.png
│ │ ├── paragraph1.png
│ │ ├── paragraph2.png
│ │ ├── paragraph3.png
│ │ ├── paragraph4.png
│ │ ├── paragraph5.png
│ │ ├── underline1.png
│ │ ├── underline2.png
│ │ ├── underline3.png
│ │ ├── cff_wrapping.png
│ │ ├── huge1_nokern.png
│ │ ├── huge2_nokern.png
│ │ ├── huge3_nokern.png
│ │ ├── image_stroke.png
│ │ ├── paragraph1_2.png
│ │ ├── paragraph1_3.png
│ │ ├── paragraph2_2.png
│ │ ├── paragraph2_3.png
│ │ ├── paragraph3_2.png
│ │ ├── paragraph3_3.png
│ │ ├── paragraph4_2.png
│ │ ├── paragraph4_3.png
│ │ ├── paragraph5_2.png
│ │ ├── paragraph5_3.png
│ │ ├── tofu_advance.png
│ │ ├── cff_underline.png
│ │ ├── strikethrough1.png
│ │ ├── strikethrough2.png
│ │ ├── strikethrough3.png
│ │ ├── cff_strikethrough.png
│ │ ├── customlineheight.png
│ │ ├── image_paint_fill.png
│ │ ├── paragraph1_nokern.png
│ │ ├── paragraph2_nokern.png
│ │ ├── paragraph3_nokern.png
│ │ ├── paragraph4_nokern.png
│ │ ├── paragraph5_nokern.png
│ │ ├── selection_rects1.png
│ │ ├── selection_rects2.png
│ │ ├── selection_rects3.png
│ │ ├── paragraph1_nokern_2.png
│ │ ├── paragraph1_nokern_3.png
│ │ ├── paragraph2_nokern_2.png
│ │ ├── paragraph2_nokern_3.png
│ │ ├── paragraph3_nokern_2.png
│ │ ├── paragraph3_nokern_3.png
│ │ ├── paragraph4_nokern_2.png
│ │ ├── paragraph4_nokern_3.png
│ │ ├── paragraph5_nokern_2.png
│ │ └── paragraph5_nokern_3.png
│ ├── Aclonica-Regular_1.ttf
│ ├── NotoSans-Regular_4.ttf
│ ├── NotoSansJP-Regular.ttf
│ ├── Pacifico-Regular_4.ttf
│ ├── Roboto-Regular_1.ttf
│ ├── Ubuntu-Regular_1.ttf
│ └── IBMPlexSans-Regular_2.ttf
├── contexts
│ ├── clip_1.png
│ ├── clip_1b.png
│ ├── clip_1c.png
│ ├── clip_1d.png
│ ├── clip_1e.png
│ ├── clip_1f.png
│ ├── clip_2.png
│ ├── clip_3.png
│ ├── fill_1.png
│ ├── save_1.png
│ ├── scale_1.png
│ ├── clip_text.png
│ ├── draw_image.png
│ ├── ellipse_1.png
│ ├── fillText_1.png
│ ├── moveTo_1.png
│ ├── rotate_1.png
│ ├── stroke_1.png
│ ├── stroke_2.png
│ ├── stroke_3.png
│ ├── beginPath_1.png
│ ├── blendmode_1.png
│ ├── clearRect_1.png
│ ├── closePath_1.png
│ ├── strokeRect_1.png
│ ├── strokeRect_2.png
│ ├── strokeText_1.png
│ ├── translate_1.png
│ ├── bezierCurveTo_1.png
│ ├── bezierCurveTo_2.png
│ ├── globalAlpha_1.png
│ ├── setLineDash_1.png
│ ├── setTransform_1.png
│ ├── textBaseline_1.png
│ ├── draw_image_rhino.png
│ ├── draw_image_rhino2.png
│ ├── draw_image_scaled.png
│ ├── paintSaveRestore.png
│ ├── resetTransform_1.png
│ ├── resetTransform_2.png
│ ├── quadracticCurveTo_1.png
│ ├── quadracticCurveTo_2.png
│ ├── draw_image_self_scaled.png
│ └── draw_image_translated.png
├── fileformats
│ ├── gif
│ │ ├── 3x5.gif
│ │ ├── 3x5.png
│ │ ├── audrey.gif
│ │ ├── audrey.png
│ │ ├── sunflower.gif
│ │ ├── sunflower.png
│ │ ├── newtons_cradle.gif
│ │ └── newtons_cradle.png
│ ├── png
│ │ ├── lenna.png
│ │ ├── mandrill.png
│ │ ├── trailing_data.png
│ │ └── pngsuite
│ │ │ ├── PngSuite.png
│ │ │ ├── basi0g01.png
│ │ │ ├── basi0g02.png
│ │ │ ├── basi0g04.png
│ │ │ ├── basi0g08.png
│ │ │ ├── basi0g16.png
│ │ │ ├── basi2c08.png
│ │ │ ├── basi2c16.png
│ │ │ ├── basi3p01.png
│ │ │ ├── basi3p02.png
│ │ │ ├── basi3p04.png
│ │ │ ├── basi3p08.png
│ │ │ ├── basi4a08.png
│ │ │ ├── basi4a16.png
│ │ │ ├── basi6a08.png
│ │ │ ├── basi6a16.png
│ │ │ ├── basn0g01.png
│ │ │ ├── basn0g02.png
│ │ │ ├── basn0g04.png
│ │ │ ├── basn0g08.png
│ │ │ ├── basn0g16.png
│ │ │ ├── basn2c08.png
│ │ │ ├── basn2c16.png
│ │ │ ├── basn3p01.png
│ │ │ ├── basn3p02.png
│ │ │ ├── basn3p04.png
│ │ │ ├── basn3p08.png
│ │ │ ├── basn4a08.png
│ │ │ ├── basn4a16.png
│ │ │ ├── basn6a08.png
│ │ │ ├── basn6a16.png
│ │ │ ├── bgai4a08.png
│ │ │ ├── bgai4a16.png
│ │ │ ├── bgan6a08.png
│ │ │ ├── bgan6a16.png
│ │ │ ├── bgbn4a08.png
│ │ │ ├── bggn4a16.png
│ │ │ ├── bgwn6a08.png
│ │ │ ├── bgyn6a16.png
│ │ │ ├── ccwn2c08.png
│ │ │ ├── ccwn3p08.png
│ │ │ ├── cdfn2c08.png
│ │ │ ├── cdhn2c08.png
│ │ │ ├── cdsn2c08.png
│ │ │ ├── cdun2c08.png
│ │ │ ├── ch1n3p04.png
│ │ │ ├── ch2n3p08.png
│ │ │ ├── cm0n0g04.png
│ │ │ ├── cm7n0g04.png
│ │ │ ├── cm9n0g04.png
│ │ │ ├── cs3n2c16.png
│ │ │ ├── cs3n3p08.png
│ │ │ ├── cs5n2c08.png
│ │ │ ├── cs5n3p08.png
│ │ │ ├── cs8n2c08.png
│ │ │ ├── cs8n3p08.png
│ │ │ ├── ct0n0g04.png
│ │ │ ├── ct1n0g04.png
│ │ │ ├── cten0g04.png
│ │ │ ├── ctfn0g04.png
│ │ │ ├── ctgn0g04.png
│ │ │ ├── cthn0g04.png
│ │ │ ├── ctjn0g04.png
│ │ │ ├── ctzn0g04.png
│ │ │ ├── exif2c08.png
│ │ │ ├── f00n0g08.png
│ │ │ ├── f00n2c08.png
│ │ │ ├── f01n0g08.png
│ │ │ ├── f01n2c08.png
│ │ │ ├── f02n0g08.png
│ │ │ ├── f02n2c08.png
│ │ │ ├── f03n0g08.png
│ │ │ ├── f03n2c08.png
│ │ │ ├── f04n0g08.png
│ │ │ ├── f04n2c08.png
│ │ │ ├── f99n0g04.png
│ │ │ ├── g03n0g16.png
│ │ │ ├── g03n2c08.png
│ │ │ ├── g03n3p04.png
│ │ │ ├── g04n0g16.png
│ │ │ ├── g04n2c08.png
│ │ │ ├── g04n3p04.png
│ │ │ ├── g05n0g16.png
│ │ │ ├── g05n2c08.png
│ │ │ ├── g05n3p04.png
│ │ │ ├── g07n0g16.png
│ │ │ ├── g07n2c08.png
│ │ │ ├── g07n3p04.png
│ │ │ ├── g10n0g16.png
│ │ │ ├── g10n2c08.png
│ │ │ ├── g10n3p04.png
│ │ │ ├── g25n0g16.png
│ │ │ ├── g25n2c08.png
│ │ │ ├── g25n3p04.png
│ │ │ ├── oi1n0g16.png
│ │ │ ├── oi1n2c16.png
│ │ │ ├── oi2n0g16.png
│ │ │ ├── oi2n2c16.png
│ │ │ ├── oi4n0g16.png
│ │ │ ├── oi4n2c16.png
│ │ │ ├── oi9n0g16.png
│ │ │ ├── oi9n2c16.png
│ │ │ ├── pp0n2c16.png
│ │ │ ├── pp0n6a08.png
│ │ │ ├── ps1n0g08.png
│ │ │ ├── ps1n2c16.png
│ │ │ ├── ps2n0g08.png
│ │ │ ├── ps2n2c16.png
│ │ │ ├── s01i3p01.png
│ │ │ ├── s01n3p01.png
│ │ │ ├── s02i3p01.png
│ │ │ ├── s02n3p01.png
│ │ │ ├── s03i3p01.png
│ │ │ ├── s03n3p01.png
│ │ │ ├── s04i3p01.png
│ │ │ ├── s04n3p01.png
│ │ │ ├── s05i3p02.png
│ │ │ ├── s05n3p02.png
│ │ │ ├── s06i3p02.png
│ │ │ ├── s06n3p02.png
│ │ │ ├── s07i3p02.png
│ │ │ ├── s07n3p02.png
│ │ │ ├── s08i3p02.png
│ │ │ ├── s08n3p02.png
│ │ │ ├── s09i3p02.png
│ │ │ ├── s09n3p02.png
│ │ │ ├── s32i3p04.png
│ │ │ ├── s32n3p04.png
│ │ │ ├── s33i3p04.png
│ │ │ ├── s33n3p04.png
│ │ │ ├── s34i3p04.png
│ │ │ ├── s34n3p04.png
│ │ │ ├── s35i3p04.png
│ │ │ ├── s35n3p04.png
│ │ │ ├── s36i3p04.png
│ │ │ ├── s36n3p04.png
│ │ │ ├── s37i3p04.png
│ │ │ ├── s37n3p04.png
│ │ │ ├── s38i3p04.png
│ │ │ ├── s38n3p04.png
│ │ │ ├── s39i3p04.png
│ │ │ ├── s39n3p04.png
│ │ │ ├── s40i3p04.png
│ │ │ ├── s40n3p04.png
│ │ │ ├── tbbn0g04.png
│ │ │ ├── tbbn2c16.png
│ │ │ ├── tbbn3p08.png
│ │ │ ├── tbgn2c16.png
│ │ │ ├── tbgn3p08.png
│ │ │ ├── tbrn2c08.png
│ │ │ ├── tbwn0g16.png
│ │ │ ├── tbwn3p08.png
│ │ │ ├── tbyn3p08.png
│ │ │ ├── tm3n3p02.png
│ │ │ ├── tp0n0g08.png
│ │ │ ├── tp0n2c08.png
│ │ │ ├── tp0n3p08.png
│ │ │ ├── tp1n3p08.png
│ │ │ ├── xc1n0g08.png
│ │ │ ├── xc9n2c08.png
│ │ │ ├── xcrn0g04.png
│ │ │ ├── xcsn0g01.png
│ │ │ ├── xd0n2c08.png
│ │ │ ├── xd3n2c08.png
│ │ │ ├── xd9n2c08.png
│ │ │ ├── xdtn0g01.png
│ │ │ ├── xhdn0g08.png
│ │ │ ├── xlfn0g04.png
│ │ │ ├── xs1n0g01.png
│ │ │ ├── xs2n0g01.png
│ │ │ ├── xs4n0g01.png
│ │ │ ├── xs7n0g01.png
│ │ │ ├── z00n2c08.png
│ │ │ ├── z03n2c08.png
│ │ │ ├── z06n2c08.png
│ │ │ ├── z09n2c08.png
│ │ │ ├── PngSuite.LICENSE
│ │ │ └── PngSuite.README
│ ├── bmp
│ │ ├── rgb.24.bmp
│ │ ├── test4x2.bmp
│ │ ├── knight.24.bmp
│ │ ├── knight.32.bmp
│ │ ├── test16x16.bmp
│ │ ├── rgb.24.master.bmp
│ │ ├── bmpsuite
│ │ │ ├── 1bpp-1x1.bmp
│ │ │ ├── 24bpp-1x1.bmp
│ │ │ ├── 32bpp-1x1.bmp
│ │ │ ├── 4bpp-1x1.bmp
│ │ │ ├── 8bpp-1x1.bmp
│ │ │ ├── 1bpp-320x240.bmp
│ │ │ ├── 1bpp-321x240.bmp
│ │ │ ├── 1bpp-322x240.bmp
│ │ │ ├── 1bpp-323x240.bmp
│ │ │ ├── 1bpp-324x240.bmp
│ │ │ ├── 1bpp-325x240.bmp
│ │ │ ├── 1bpp-326x240.bmp
│ │ │ ├── 1bpp-327x240.bmp
│ │ │ ├── 1bpp-328x240.bmp
│ │ │ ├── 1bpp-329x240.bmp
│ │ │ ├── 1bpp-330x240.bmp
│ │ │ ├── 1bpp-331x240.bmp
│ │ │ ├── 1bpp-332x240.bmp
│ │ │ ├── 1bpp-333x240.bmp
│ │ │ ├── 1bpp-334x240.bmp
│ │ │ ├── 1bpp-335x240.bmp
│ │ │ ├── 24bpp-320x240.bmp
│ │ │ ├── 24bpp-321x240.bmp
│ │ │ ├── 24bpp-322x240.bmp
│ │ │ ├── 24bpp-323x240.bmp
│ │ │ ├── 32bpp-320x240.bmp
│ │ │ ├── 4bpp-320x240.bmp
│ │ │ ├── 4bpp-321x240.bmp
│ │ │ ├── 4bpp-322x240.bmp
│ │ │ ├── 4bpp-323x240.bmp
│ │ │ ├── 4bpp-324x240.bmp
│ │ │ ├── 4bpp-325x240.bmp
│ │ │ ├── 4bpp-326x240.bmp
│ │ │ ├── 4bpp-327x240.bmp
│ │ │ ├── 8bpp-1x64000.bmp
│ │ │ ├── 8bpp-320x240.bmp
│ │ │ ├── 8bpp-321x240.bmp
│ │ │ ├── 8bpp-322x240.bmp
│ │ │ ├── 8bpp-323x240.bmp
│ │ │ ├── 1bpp-320x240-color.bmp
│ │ │ ├── misleadingextension.jpg
│ │ │ ├── spaces in filename.bmp
│ │ │ ├── 1bpp-topdown-320x240.bmp
│ │ │ ├── 24bpp-imagesize-zero.bmp
│ │ │ ├── 24bpp-topdown-320x240.bmp
│ │ │ ├── 32bpp-101110-320x240.bmp
│ │ │ ├── 32bpp-topdown-320x240.bmp
│ │ │ ├── 4bpp-topdown-320x240.bmp
│ │ │ ├── 8bpp-colorsused-zero.bmp
│ │ │ ├── 8bpp-topdown-320x240.bmp
│ │ │ ├── 8bpp-colorsimportant-two.bmp
│ │ │ ├── 1bpp-320x240-overlappingcolor.bmp
│ │ │ ├── 32bpp-optimalpalette-320x240.bmp
│ │ │ └── 32bpp-888-optimalpalette-320x240.bmp
│ │ ├── knight.24.master.bmp
│ │ └── knight.32.master.bmp
│ ├── jpeg
│ │ ├── itu-t81.pdf
│ │ └── masters
│ │ │ ├── 8x8.jpg
│ │ │ ├── 8x8.png
│ │ │ ├── blue.jpg
│ │ │ ├── cat.png
│ │ │ ├── red.jpg
│ │ │ ├── 16x16.jpg
│ │ │ ├── 16x16.png
│ │ │ ├── black.jpg
│ │ │ ├── green.jpg
│ │ │ ├── white.jpg
│ │ │ ├── cat_4_1_1.jpg
│ │ │ ├── cat_4_2_0.jpg
│ │ │ ├── cat_4_2_2.jpg
│ │ │ ├── cat_4_4_4.jpg
│ │ │ ├── f1-exif.jpg
│ │ │ ├── f2-exif.jpg
│ │ │ ├── f3-exif.jpg
│ │ │ ├── f4-exif.jpg
│ │ │ ├── f5-exif.jpg
│ │ │ ├── f6-exif.jpg
│ │ │ ├── f7-exif.jpg
│ │ │ ├── f8-exif.jpg
│ │ │ ├── mandrill.jpg
│ │ │ ├── testimg.jpg
│ │ │ ├── testimgp.jpg
│ │ │ ├── testorig.jpg
│ │ │ ├── testprog.jpg
│ │ │ ├── progressive.jpg
│ │ │ ├── quality_01.jpg
│ │ │ ├── quality_10.jpg
│ │ │ ├── quality_100.jpg
│ │ │ ├── quality_25.jpg
│ │ │ ├── quality_50.jpg
│ │ │ ├── exif_overrun.jpg
│ │ │ ├── grayscale_test.jpg
│ │ │ ├── restartmarker.jpg
│ │ │ ├── 8x8_progressive.jpg
│ │ │ ├── 16x16_progressive.jpg
│ │ │ ├── cat_4_2_0_progressive.jpg
│ │ │ ├── cat_4_4_4_progressive.jpg
│ │ │ ├── cat_restart_markers_5.jpg
│ │ │ └── cat_restart_markers_5_progressive.jpg
│ ├── ppm
│ │ ├── feep.p3.ppm
│ │ ├── feep.p6.ppm
│ │ ├── feep.p3.hidepth.ppm
│ │ ├── feep.p6.master.ppm
│ │ ├── feep.p3.master.ppm
│ │ └── feep.p3.hidepth.master.ppm
│ ├── qoi
│ │ ├── testcard.png
│ │ ├── testcard.qoi
│ │ ├── testcard_rgba.png
│ │ └── testcard_rgba.qoi
│ ├── svg
│ │ ├── emojitwo.png
│ │ ├── ionicons.png
│ │ ├── openmoji.png
│ │ ├── twemoji.png
│ │ ├── noto-emoji.png
│ │ ├── twbs-icons.png
│ │ ├── masters
│ │ │ ├── scale.png
│ │ │ ├── dashes.png
│ │ │ ├── dragon2.png
│ │ │ ├── line01.png
│ │ │ ├── quad01.png
│ │ │ ├── rect01.png
│ │ │ ├── rect02.png
│ │ │ ├── circle01.png
│ │ │ ├── ellipse01.png
│ │ │ ├── miterlimit.png
│ │ │ ├── polygon01.png
│ │ │ ├── polyline01.png
│ │ │ ├── triangle01.png
│ │ │ ├── Ghostscript_Tiger.png
│ │ │ └── accessibility-outline.png
│ │ ├── simple-icons.png
│ │ ├── tabler-icons.png
│ │ ├── flat-color-icons.png
│ │ ├── triangle01.svg
│ │ ├── rect01.svg
│ │ ├── circle01.svg
│ │ ├── scale.svg
│ │ ├── rect02.svg
│ │ ├── ellipse01.svg
│ │ ├── accessibility-outline.svg
│ │ ├── polygon01.svg
│ │ ├── polyline01.svg
│ │ ├── line01.svg
│ │ ├── dashes.svg
│ │ ├── quad01.svg
│ │ └── miterlimit.svg
│ └── tiff
│ │ └── pc260001.tif
├── bench_gif.nim
├── bench_qoi.nim
├── bench_svg.nim
├── test_tiff.nim
├── common.nim
├── test_jpeg.nim
├── megatest_fonts.nim
├── fuzz_leaks3.nim
├── fuzz_svg.nim
├── xrays.nim
├── all.nim
├── fuzz_jpeg.nim
├── fuzz_qoi.nim
├── fuzz_gif.nim
├── fuzz_png.nim
├── validate_jpeg.nim
├── test_qoi.nim
├── fuzz_opentype.nim
├── fuzz_leaks.nim
├── bench_jpeg.nim
├── validate_png.nim
├── fuzz_leaks2.nim
├── test_svg.nim
├── fuzz_bmp.nim
├── test_ppm.nim
├── bench_fonts.nim
├── test_png.nim
├── bench_paints.nim
├── validate_fonts.nim
├── test_gif.nim
└── fuzz_image_draw.nim
├── docs
└── banner.png
├── examples
├── blur.png
├── heart.png
├── line.png
├── shadow.png
├── square.png
├── text.png
├── tiger.png
├── gradient.png
├── masking.png
├── data
│ ├── trees.png
│ ├── mandrill.png
│ ├── Roboto-Regular_1.ttf
│ └── Ubuntu-Regular_1.ttf
├── image_tiled.png
├── text_spans.png
├── rounded_rectangle.png
├── square.nim
├── tiger.nim
├── line.nim
├── heart.nim
├── rounded_rectangle.nim
├── image_tiled.nim
├── text.nim
├── blur.nim
├── shadow.nim
├── gradient.nim
├── masking.nim
└── text_spans.nim
├── experiments
└── trapezoids
│ ├── g.png
│ ├── l.png
│ ├── rect.png
│ ├── heart.png
│ ├── rhombus.png
│ ├── output_diff.png
│ ├── output_sweep.png
│ └── output_scanline.png
├── .gitignore
├── src
└── pixie
│ ├── simd.nim
│ └── simd
│ └── avx.nim
├── .github
└── workflows
│ ├── build.yml
│ └── docs.yml
├── LICENSE
├── pixie.nimble
└── tools
└── gen_readme.nim
/bindings/generated/placeholder.txt:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/config.nims:
--------------------------------------------------------------------------------
1 | --path:"../src"
2 |
--------------------------------------------------------------------------------
/docs/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/docs/banner.png
--------------------------------------------------------------------------------
/examples/blur.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/examples/blur.png
--------------------------------------------------------------------------------
/examples/heart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/examples/heart.png
--------------------------------------------------------------------------------
/examples/line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/examples/line.png
--------------------------------------------------------------------------------
/examples/shadow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/examples/shadow.png
--------------------------------------------------------------------------------
/examples/square.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/examples/square.png
--------------------------------------------------------------------------------
/examples/text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/examples/text.png
--------------------------------------------------------------------------------
/examples/tiger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/examples/tiger.png
--------------------------------------------------------------------------------
/tests/paths/arc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/arc.png
--------------------------------------------------------------------------------
/examples/gradient.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/examples/gradient.png
--------------------------------------------------------------------------------
/examples/masking.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/examples/masking.png
--------------------------------------------------------------------------------
/tests/images/pip1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/pip1.png
--------------------------------------------------------------------------------
/tests/images/rock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/rock.png
--------------------------------------------------------------------------------
/examples/data/trees.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/examples/data/trees.png
--------------------------------------------------------------------------------
/examples/image_tiled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/examples/image_tiled.png
--------------------------------------------------------------------------------
/examples/text_spans.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/examples/text_spans.png
--------------------------------------------------------------------------------
/tests/fonts/PTSans.ttc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/PTSans.ttc
--------------------------------------------------------------------------------
/tests/fonts/svg_ibm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/svg_ibm.png
--------------------------------------------------------------------------------
/tests/fonts/svg_moon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/svg_moon.png
--------------------------------------------------------------------------------
/tests/images/rhino.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/rhino.png
--------------------------------------------------------------------------------
/tests/images/rotate0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/rotate0.png
--------------------------------------------------------------------------------
/tests/images/turtle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/turtle.png
--------------------------------------------------------------------------------
/tests/paths/ButtCap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/ButtCap.png
--------------------------------------------------------------------------------
/tests/paths/RoundCap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/RoundCap.png
--------------------------------------------------------------------------------
/tests/paths/arcTo1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/arcTo1.png
--------------------------------------------------------------------------------
/tests/paths/arcTo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/arcTo2.png
--------------------------------------------------------------------------------
/tests/paths/arcTo3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/arcTo3.png
--------------------------------------------------------------------------------
/tests/paths/boxBevel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/boxBevel.png
--------------------------------------------------------------------------------
/tests/paths/boxMiter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/boxMiter.png
--------------------------------------------------------------------------------
/tests/paths/boxRound.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/boxRound.png
--------------------------------------------------------------------------------
/tests/paths/dashes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/dashes.png
--------------------------------------------------------------------------------
/tests/paths/polygon3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/polygon3.png
--------------------------------------------------------------------------------
/tests/paths/polygon4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/polygon4.png
--------------------------------------------------------------------------------
/tests/paths/polygon5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/polygon5.png
--------------------------------------------------------------------------------
/tests/paths/polygon6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/polygon6.png
--------------------------------------------------------------------------------
/tests/paths/polygon7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/polygon7.png
--------------------------------------------------------------------------------
/tests/paths/polygon8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/polygon8.png
--------------------------------------------------------------------------------
/tests/paths/rectMask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/rectMask.png
--------------------------------------------------------------------------------
/examples/data/mandrill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/examples/data/mandrill.png
--------------------------------------------------------------------------------
/tests/contexts/clip_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/clip_1.png
--------------------------------------------------------------------------------
/tests/contexts/clip_1b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/clip_1b.png
--------------------------------------------------------------------------------
/tests/contexts/clip_1c.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/clip_1c.png
--------------------------------------------------------------------------------
/tests/contexts/clip_1d.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/clip_1d.png
--------------------------------------------------------------------------------
/tests/contexts/clip_1e.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/clip_1e.png
--------------------------------------------------------------------------------
/tests/contexts/clip_1f.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/clip_1f.png
--------------------------------------------------------------------------------
/tests/contexts/clip_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/clip_2.png
--------------------------------------------------------------------------------
/tests/contexts/clip_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/clip_3.png
--------------------------------------------------------------------------------
/tests/contexts/fill_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/fill_1.png
--------------------------------------------------------------------------------
/tests/contexts/save_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/save_1.png
--------------------------------------------------------------------------------
/tests/contexts/scale_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/scale_1.png
--------------------------------------------------------------------------------
/tests/fonts/Inter-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/Inter-Bold.ttf
--------------------------------------------------------------------------------
/tests/fonts/NotoEmoji.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/NotoEmoji.otf
--------------------------------------------------------------------------------
/tests/fonts/svg_changa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/svg_changa.png
--------------------------------------------------------------------------------
/tests/fonts/svg_dejavu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/svg_dejavu.png
--------------------------------------------------------------------------------
/tests/fonts/svg_ubuntu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/svg_ubuntu.png
--------------------------------------------------------------------------------
/tests/images/drawRect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/drawRect.png
--------------------------------------------------------------------------------
/tests/images/flipped1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/flipped1.png
--------------------------------------------------------------------------------
/tests/images/flipped2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/flipped2.png
--------------------------------------------------------------------------------
/tests/images/flipped3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/flipped3.png
--------------------------------------------------------------------------------
/tests/images/rotate180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/rotate180.png
--------------------------------------------------------------------------------
/tests/images/rotate270.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/rotate270.png
--------------------------------------------------------------------------------
/tests/images/rotate360.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/rotate360.png
--------------------------------------------------------------------------------
/tests/images/rotate90.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/rotate90.png
--------------------------------------------------------------------------------
/tests/images/scaleHalf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/scaleHalf.png
--------------------------------------------------------------------------------
/tests/paths/SquareCap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/SquareCap.png
--------------------------------------------------------------------------------
/tests/paths/paintImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/paintImage.png
--------------------------------------------------------------------------------
/tests/paths/paintSolid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/paintSolid.png
--------------------------------------------------------------------------------
/tests/paths/pathHeart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/pathHeart.png
--------------------------------------------------------------------------------
/tests/paths/pathSwish.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/pathSwish.png
--------------------------------------------------------------------------------
/tests/paths/pixelScale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/pixelScale.png
--------------------------------------------------------------------------------
/tests/paths/rectMaskAA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/rectMaskAA.png
--------------------------------------------------------------------------------
/experiments/trapezoids/g.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/experiments/trapezoids/g.png
--------------------------------------------------------------------------------
/experiments/trapezoids/l.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/experiments/trapezoids/l.png
--------------------------------------------------------------------------------
/tests/contexts/clip_text.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/clip_text.png
--------------------------------------------------------------------------------
/tests/contexts/draw_image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/draw_image.png
--------------------------------------------------------------------------------
/tests/contexts/ellipse_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/ellipse_1.png
--------------------------------------------------------------------------------
/tests/contexts/fillText_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/fillText_1.png
--------------------------------------------------------------------------------
/tests/contexts/moveTo_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/moveTo_1.png
--------------------------------------------------------------------------------
/tests/contexts/rotate_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/rotate_1.png
--------------------------------------------------------------------------------
/tests/contexts/stroke_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/stroke_1.png
--------------------------------------------------------------------------------
/tests/contexts/stroke_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/stroke_2.png
--------------------------------------------------------------------------------
/tests/contexts/stroke_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/stroke_3.png
--------------------------------------------------------------------------------
/tests/fileformats/gif/3x5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/gif/3x5.gif
--------------------------------------------------------------------------------
/tests/fileformats/gif/3x5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/gif/3x5.png
--------------------------------------------------------------------------------
/tests/fonts/Inter-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/Inter-Regular.ttf
--------------------------------------------------------------------------------
/tests/fonts/PinyonScript.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/PinyonScript.ttf
--------------------------------------------------------------------------------
/tests/fonts/masters/cff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/cff.png
--------------------------------------------------------------------------------
/tests/fonts/masters/emoji.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/emoji.png
--------------------------------------------------------------------------------
/tests/fonts/masters/huge1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/huge1.png
--------------------------------------------------------------------------------
/tests/fonts/masters/huge2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/huge2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/huge3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/huge3.png
--------------------------------------------------------------------------------
/tests/images/drawEllipse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/drawEllipse.png
--------------------------------------------------------------------------------
/tests/images/drawPolygon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/drawPolygon.png
--------------------------------------------------------------------------------
/tests/images/drawSegment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/drawSegment.png
--------------------------------------------------------------------------------
/tests/images/imageblur20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/imageblur20.png
--------------------------------------------------------------------------------
/tests/images/magnifiedBy2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/magnifiedBy2.png
--------------------------------------------------------------------------------
/tests/images/magnifiedBy4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/magnifiedBy4.png
--------------------------------------------------------------------------------
/tests/images/maskblur20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/maskblur20.png
--------------------------------------------------------------------------------
/tests/images/minifiedBy2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/minifiedBy2.png
--------------------------------------------------------------------------------
/tests/images/minifiedBy4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/minifiedBy4.png
--------------------------------------------------------------------------------
/tests/images/opaqueBounds.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/opaqueBounds.png
--------------------------------------------------------------------------------
/tests/images/strokeRect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/strokeRect.png
--------------------------------------------------------------------------------
/tests/images/superimage1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/superimage1.png
--------------------------------------------------------------------------------
/tests/images/superimage2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/superimage2.png
--------------------------------------------------------------------------------
/tests/images/superimage3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/superimage3.png
--------------------------------------------------------------------------------
/tests/images/superimage4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/superimage4.png
--------------------------------------------------------------------------------
/tests/images/superimage5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/superimage5.png
--------------------------------------------------------------------------------
/tests/images/superimage6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/superimage6.png
--------------------------------------------------------------------------------
/tests/images/turtle@10x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/turtle@10x.png
--------------------------------------------------------------------------------
/tests/paths/opacityFill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/opacityFill.png
--------------------------------------------------------------------------------
/tests/paths/opacityStroke.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/opacityStroke.png
--------------------------------------------------------------------------------
/tests/paths/path0pxCover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/path0pxCover.png
--------------------------------------------------------------------------------
/tests/paths/path1pxCover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/path1pxCover.png
--------------------------------------------------------------------------------
/tests/paths/pathBottomArc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/pathBottomArc.png
--------------------------------------------------------------------------------
/tests/paths/pathCornerArc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/pathCornerArc.png
--------------------------------------------------------------------------------
/tests/paths/pathRoundRect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/pathRoundRect.png
--------------------------------------------------------------------------------
/tests/paths/pathStroke1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/pathStroke1.png
--------------------------------------------------------------------------------
/tests/paths/pathStroke2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/pathStroke2.png
--------------------------------------------------------------------------------
/tests/paths/pathStroke3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/pathStroke3.png
--------------------------------------------------------------------------------
/tests/paths/selfclosing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/selfclosing.png
--------------------------------------------------------------------------------
/examples/rounded_rectangle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/examples/rounded_rectangle.png
--------------------------------------------------------------------------------
/experiments/trapezoids/rect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/experiments/trapezoids/rect.png
--------------------------------------------------------------------------------
/tests/contexts/beginPath_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/beginPath_1.png
--------------------------------------------------------------------------------
/tests/contexts/blendmode_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/blendmode_1.png
--------------------------------------------------------------------------------
/tests/contexts/clearRect_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/clearRect_1.png
--------------------------------------------------------------------------------
/tests/contexts/closePath_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/closePath_1.png
--------------------------------------------------------------------------------
/tests/contexts/strokeRect_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/strokeRect_1.png
--------------------------------------------------------------------------------
/tests/contexts/strokeRect_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/strokeRect_2.png
--------------------------------------------------------------------------------
/tests/contexts/strokeText_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/strokeText_1.png
--------------------------------------------------------------------------------
/tests/contexts/translate_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/translate_1.png
--------------------------------------------------------------------------------
/tests/fileformats/png/lenna.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/lenna.png
--------------------------------------------------------------------------------
/tests/fonts/masters/basic1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/basic1.png
--------------------------------------------------------------------------------
/tests/fonts/masters/basic10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/basic10.png
--------------------------------------------------------------------------------
/tests/fonts/masters/basic2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/basic2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/basic3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/basic3.png
--------------------------------------------------------------------------------
/tests/fonts/masters/basic4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/basic4.png
--------------------------------------------------------------------------------
/tests/fonts/masters/basic5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/basic5.png
--------------------------------------------------------------------------------
/tests/fonts/masters/basic6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/basic6.png
--------------------------------------------------------------------------------
/tests/fonts/masters/basic7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/basic7.png
--------------------------------------------------------------------------------
/tests/fonts/masters/basic8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/basic8.png
--------------------------------------------------------------------------------
/tests/fonts/masters/basic8b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/basic8b.png
--------------------------------------------------------------------------------
/tests/fonts/masters/basic9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/basic9.png
--------------------------------------------------------------------------------
/tests/fonts/masters/cff_jp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/cff_jp.png
--------------------------------------------------------------------------------
/tests/fonts/masters/lines1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/lines1.png
--------------------------------------------------------------------------------
/tests/fonts/masters/lines2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/lines2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paints1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paints1.png
--------------------------------------------------------------------------------
/tests/fonts/masters/pairs1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/pairs1.png
--------------------------------------------------------------------------------
/tests/fonts/masters/pairs2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/pairs2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/pairs3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/pairs3.png
--------------------------------------------------------------------------------
/tests/fonts/masters/spans1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/spans1.png
--------------------------------------------------------------------------------
/tests/fonts/masters/spans2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/spans2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/spans4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/spans4.png
--------------------------------------------------------------------------------
/tests/fonts/masters/spans5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/spans5.png
--------------------------------------------------------------------------------
/tests/fonts/masters/spans6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/spans6.png
--------------------------------------------------------------------------------
/tests/fonts/masters/spans7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/spans7.png
--------------------------------------------------------------------------------
/tests/images/imageblur20oob.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/imageblur20oob.png
--------------------------------------------------------------------------------
/tests/images/strokeEllipse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/strokeEllipse.png
--------------------------------------------------------------------------------
/tests/images/strokePolygon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/strokePolygon.png
--------------------------------------------------------------------------------
/tests/paths/fillImagePaint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/fillImagePaint.png
--------------------------------------------------------------------------------
/tests/paths/gradientAngular.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/gradientAngular.png
--------------------------------------------------------------------------------
/tests/paths/gradientLinear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/gradientLinear.png
--------------------------------------------------------------------------------
/tests/paths/gradientLinear2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/gradientLinear2.png
--------------------------------------------------------------------------------
/tests/paths/gradientRadial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/gradientRadial.png
--------------------------------------------------------------------------------
/tests/paths/paintImageTiled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/paintImageTiled.png
--------------------------------------------------------------------------------
/tests/paths/pathRotatedArc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/pathRotatedArc.png
--------------------------------------------------------------------------------
/tests/paths/pathStroke1Big.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/pathStroke1Big.png
--------------------------------------------------------------------------------
/tests/paths/rectExcludeMask.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/rectExcludeMask.png
--------------------------------------------------------------------------------
/tests/paths/rectMaskStroke.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/rectMaskStroke.png
--------------------------------------------------------------------------------
/examples/data/Roboto-Regular_1.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/examples/data/Roboto-Regular_1.ttf
--------------------------------------------------------------------------------
/examples/data/Ubuntu-Regular_1.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/examples/data/Ubuntu-Regular_1.ttf
--------------------------------------------------------------------------------
/experiments/trapezoids/heart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/experiments/trapezoids/heart.png
--------------------------------------------------------------------------------
/experiments/trapezoids/rhombus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/experiments/trapezoids/rhombus.png
--------------------------------------------------------------------------------
/tests/contexts/bezierCurveTo_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/bezierCurveTo_1.png
--------------------------------------------------------------------------------
/tests/contexts/bezierCurveTo_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/bezierCurveTo_2.png
--------------------------------------------------------------------------------
/tests/contexts/globalAlpha_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/globalAlpha_1.png
--------------------------------------------------------------------------------
/tests/contexts/setLineDash_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/setLineDash_1.png
--------------------------------------------------------------------------------
/tests/contexts/setTransform_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/setTransform_1.png
--------------------------------------------------------------------------------
/tests/contexts/textBaseline_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/textBaseline_1.png
--------------------------------------------------------------------------------
/tests/fileformats/bmp/rgb.24.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/rgb.24.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/test4x2.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/test4x2.bmp
--------------------------------------------------------------------------------
/tests/fileformats/gif/audrey.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/gif/audrey.gif
--------------------------------------------------------------------------------
/tests/fileformats/gif/audrey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/gif/audrey.png
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/itu-t81.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/itu-t81.pdf
--------------------------------------------------------------------------------
/tests/fileformats/png/mandrill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/mandrill.png
--------------------------------------------------------------------------------
/tests/fileformats/ppm/feep.p3.ppm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/ppm/feep.p3.ppm
--------------------------------------------------------------------------------
/tests/fileformats/ppm/feep.p6.ppm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/ppm/feep.p6.ppm
--------------------------------------------------------------------------------
/tests/fileformats/qoi/testcard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/qoi/testcard.png
--------------------------------------------------------------------------------
/tests/fileformats/qoi/testcard.qoi:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/qoi/testcard.qoi
--------------------------------------------------------------------------------
/tests/fileformats/svg/emojitwo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/emojitwo.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/ionicons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/ionicons.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/openmoji.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/openmoji.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/twemoji.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/twemoji.png
--------------------------------------------------------------------------------
/tests/fonts/Aclonica-Regular_1.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/Aclonica-Regular_1.ttf
--------------------------------------------------------------------------------
/tests/fonts/NotoSans-Regular_4.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/NotoSans-Regular_4.ttf
--------------------------------------------------------------------------------
/tests/fonts/NotoSansJP-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/NotoSansJP-Regular.ttf
--------------------------------------------------------------------------------
/tests/fonts/Pacifico-Regular_4.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/Pacifico-Regular_4.ttf
--------------------------------------------------------------------------------
/tests/fonts/Roboto-Regular_1.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/Roboto-Regular_1.ttf
--------------------------------------------------------------------------------
/tests/fonts/Ubuntu-Regular_1.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/Ubuntu-Regular_1.ttf
--------------------------------------------------------------------------------
/tests/fonts/masters/alignments.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/alignments.png
--------------------------------------------------------------------------------
/tests/fonts/masters/fallback.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/fallback.png
--------------------------------------------------------------------------------
/tests/fonts/masters/fallback2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/fallback2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/image_fill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/image_fill.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph1.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph3.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph4.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph5.png
--------------------------------------------------------------------------------
/tests/fonts/masters/underline1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/underline1.png
--------------------------------------------------------------------------------
/tests/fonts/masters/underline2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/underline2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/underline3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/underline3.png
--------------------------------------------------------------------------------
/tests/images/drawRoundedRect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/drawRoundedRect.png
--------------------------------------------------------------------------------
/tests/images/fillOptimization.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/fillOptimization.png
--------------------------------------------------------------------------------
/tests/images/fillOptimization2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/fillOptimization2.png
--------------------------------------------------------------------------------
/tests/images/maskClearsOnDraw0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/maskClearsOnDraw0.png
--------------------------------------------------------------------------------
/tests/images/maskClearsOnDraw1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/maskClearsOnDraw1.png
--------------------------------------------------------------------------------
/tests/images/maskClearsOnDraw2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/maskClearsOnDraw2.png
--------------------------------------------------------------------------------
/tests/images/maskClearsOnDraw3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/maskClearsOnDraw3.png
--------------------------------------------------------------------------------
/tests/images/maskClearsOnDraw4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/maskClearsOnDraw4.png
--------------------------------------------------------------------------------
/tests/images/masters/smooth1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/masters/smooth1.png
--------------------------------------------------------------------------------
/tests/images/masters/smooth10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/masters/smooth10.png
--------------------------------------------------------------------------------
/tests/images/masters/smooth11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/masters/smooth11.png
--------------------------------------------------------------------------------
/tests/images/masters/smooth12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/masters/smooth12.png
--------------------------------------------------------------------------------
/tests/images/masters/smooth2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/masters/smooth2.png
--------------------------------------------------------------------------------
/tests/images/masters/smooth3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/masters/smooth3.png
--------------------------------------------------------------------------------
/tests/images/masters/smooth4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/masters/smooth4.png
--------------------------------------------------------------------------------
/tests/images/masters/smooth5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/masters/smooth5.png
--------------------------------------------------------------------------------
/tests/images/masters/smooth6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/masters/smooth6.png
--------------------------------------------------------------------------------
/tests/images/masters/smooth7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/masters/smooth7.png
--------------------------------------------------------------------------------
/tests/images/masters/smooth8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/masters/smooth8.png
--------------------------------------------------------------------------------
/tests/images/masters/smooth9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/masters/smooth9.png
--------------------------------------------------------------------------------
/tests/images/minifiedMandrill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/minifiedMandrill.png
--------------------------------------------------------------------------------
/tests/images/strokeRoundedRect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/strokeRoundedRect.png
--------------------------------------------------------------------------------
/tests/paths/paintImageOpacity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/paintImageOpacity.png
--------------------------------------------------------------------------------
/tests/paths/pathBlackRectangle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/pathBlackRectangle.png
--------------------------------------------------------------------------------
/tests/paths/pathRedRectangle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/pathRedRectangle.png
--------------------------------------------------------------------------------
/tests/paths/rectExcludeMaskAA.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/rectExcludeMaskAA.png
--------------------------------------------------------------------------------
/tests/contexts/draw_image_rhino.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/draw_image_rhino.png
--------------------------------------------------------------------------------
/tests/contexts/draw_image_rhino2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/draw_image_rhino2.png
--------------------------------------------------------------------------------
/tests/contexts/draw_image_scaled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/draw_image_scaled.png
--------------------------------------------------------------------------------
/tests/contexts/paintSaveRestore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/paintSaveRestore.png
--------------------------------------------------------------------------------
/tests/contexts/resetTransform_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/resetTransform_1.png
--------------------------------------------------------------------------------
/tests/contexts/resetTransform_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/resetTransform_2.png
--------------------------------------------------------------------------------
/tests/fileformats/bmp/knight.24.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/knight.24.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/knight.32.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/knight.32.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/test16x16.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/test16x16.bmp
--------------------------------------------------------------------------------
/tests/fileformats/gif/sunflower.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/gif/sunflower.gif
--------------------------------------------------------------------------------
/tests/fileformats/gif/sunflower.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/gif/sunflower.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/noto-emoji.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/noto-emoji.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/twbs-icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/twbs-icons.png
--------------------------------------------------------------------------------
/tests/fileformats/tiff/pc260001.tif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/tiff/pc260001.tif
--------------------------------------------------------------------------------
/tests/fonts/masters/cff_wrapping.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/cff_wrapping.png
--------------------------------------------------------------------------------
/tests/fonts/masters/huge1_nokern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/huge1_nokern.png
--------------------------------------------------------------------------------
/tests/fonts/masters/huge2_nokern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/huge2_nokern.png
--------------------------------------------------------------------------------
/tests/fonts/masters/huge3_nokern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/huge3_nokern.png
--------------------------------------------------------------------------------
/tests/fonts/masters/image_stroke.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/image_stroke.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph1_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph1_2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph1_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph1_3.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph2_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph2_2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph2_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph2_3.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph3_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph3_2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph3_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph3_3.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph4_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph4_2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph4_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph4_3.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph5_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph5_2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph5_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph5_3.png
--------------------------------------------------------------------------------
/tests/fonts/masters/tofu_advance.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/tofu_advance.png
--------------------------------------------------------------------------------
/tests/images/masters/minify_odd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/masters/minify_odd.png
--------------------------------------------------------------------------------
/tests/paths/fillTiledImagePaint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/fillTiledImagePaint.png
--------------------------------------------------------------------------------
/tests/paths/pathBlackRectangleZ.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/pathBlackRectangleZ.png
--------------------------------------------------------------------------------
/tests/paths/pathYellowRectangle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/pathYellowRectangle.png
--------------------------------------------------------------------------------
/experiments/trapezoids/output_diff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/experiments/trapezoids/output_diff.png
--------------------------------------------------------------------------------
/experiments/trapezoids/output_sweep.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/experiments/trapezoids/output_sweep.png
--------------------------------------------------------------------------------
/tests/contexts/quadracticCurveTo_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/quadracticCurveTo_1.png
--------------------------------------------------------------------------------
/tests/contexts/quadracticCurveTo_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/quadracticCurveTo_2.png
--------------------------------------------------------------------------------
/tests/fileformats/bmp/rgb.24.master.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/rgb.24.master.bmp
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/8x8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/8x8.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/8x8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/8x8.png
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/blue.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/blue.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/cat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/cat.png
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/red.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/red.jpg
--------------------------------------------------------------------------------
/tests/fileformats/png/trailing_data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/trailing_data.png
--------------------------------------------------------------------------------
/tests/fileformats/qoi/testcard_rgba.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/qoi/testcard_rgba.png
--------------------------------------------------------------------------------
/tests/fileformats/qoi/testcard_rgba.qoi:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/qoi/testcard_rgba.qoi
--------------------------------------------------------------------------------
/tests/fileformats/svg/masters/scale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/masters/scale.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/simple-icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/simple-icons.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/tabler-icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/tabler-icons.png
--------------------------------------------------------------------------------
/tests/fonts/IBMPlexSans-Regular_2.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/IBMPlexSans-Regular_2.ttf
--------------------------------------------------------------------------------
/tests/fonts/masters/cff_underline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/cff_underline.png
--------------------------------------------------------------------------------
/tests/fonts/masters/strikethrough1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/strikethrough1.png
--------------------------------------------------------------------------------
/tests/fonts/masters/strikethrough2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/strikethrough2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/strikethrough3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/strikethrough3.png
--------------------------------------------------------------------------------
/tests/images/masters/rock_minified.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/masters/rock_minified.png
--------------------------------------------------------------------------------
/tests/images/masters/rock_minified2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/images/masters/rock_minified2.png
--------------------------------------------------------------------------------
/tests/paths/gradientAngularOpacity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/gradientAngularOpacity.png
--------------------------------------------------------------------------------
/tests/paths/paintImageTiledOpacity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/paintImageTiledOpacity.png
--------------------------------------------------------------------------------
/tests/paths/pathInvertedCornerArc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/pathInvertedCornerArc.png
--------------------------------------------------------------------------------
/tests/contexts/draw_image_self_scaled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/draw_image_self_scaled.png
--------------------------------------------------------------------------------
/tests/contexts/draw_image_translated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/contexts/draw_image_translated.png
--------------------------------------------------------------------------------
/tests/fileformats/gif/newtons_cradle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/gif/newtons_cradle.gif
--------------------------------------------------------------------------------
/tests/fileformats/gif/newtons_cradle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/gif/newtons_cradle.png
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/16x16.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/16x16.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/16x16.png
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/black.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/black.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/green.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/white.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/white.jpg
--------------------------------------------------------------------------------
/tests/fileformats/ppm/feep.p3.hidepth.ppm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/ppm/feep.p3.hidepth.ppm
--------------------------------------------------------------------------------
/tests/fileformats/ppm/feep.p6.master.ppm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/ppm/feep.p6.master.ppm
--------------------------------------------------------------------------------
/tests/fileformats/svg/masters/dashes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/masters/dashes.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/masters/dragon2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/masters/dragon2.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/masters/line01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/masters/line01.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/masters/quad01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/masters/quad01.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/masters/rect01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/masters/rect01.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/masters/rect02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/masters/rect02.png
--------------------------------------------------------------------------------
/tests/fonts/masters/cff_strikethrough.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/cff_strikethrough.png
--------------------------------------------------------------------------------
/tests/fonts/masters/customlineheight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/customlineheight.png
--------------------------------------------------------------------------------
/tests/fonts/masters/image_paint_fill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/image_paint_fill.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph1_nokern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph1_nokern.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph2_nokern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph2_nokern.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph3_nokern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph3_nokern.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph4_nokern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph4_nokern.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph5_nokern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph5_nokern.png
--------------------------------------------------------------------------------
/tests/fonts/masters/selection_rects1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/selection_rects1.png
--------------------------------------------------------------------------------
/tests/fonts/masters/selection_rects2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/selection_rects2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/selection_rects3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/selection_rects3.png
--------------------------------------------------------------------------------
/tests/paths/miterLimit_10deg_2.00num.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/miterLimit_10deg_2.00num.png
--------------------------------------------------------------------------------
/tests/paths/miterLimit_145deg_2.00num.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/miterLimit_145deg_2.00num.png
--------------------------------------------------------------------------------
/tests/paths/miterLimit_145deg_3.32num.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/miterLimit_145deg_3.32num.png
--------------------------------------------------------------------------------
/tests/paths/miterLimit_145deg_3.33num.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/miterLimit_145deg_3.33num.png
--------------------------------------------------------------------------------
/tests/paths/miterLimit_155deg_2.00num.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/miterLimit_155deg_2.00num.png
--------------------------------------------------------------------------------
/tests/paths/miterLimit_165deg_2.00num.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/miterLimit_165deg_2.00num.png
--------------------------------------------------------------------------------
/experiments/trapezoids/output_scanline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/experiments/trapezoids/output_scanline.png
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-1x1.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-1x1.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/24bpp-1x1.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/24bpp-1x1.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/32bpp-1x1.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/32bpp-1x1.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/4bpp-1x1.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/4bpp-1x1.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/8bpp-1x1.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/8bpp-1x1.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/knight.24.master.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/knight.24.master.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/knight.32.master.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/knight.32.master.bmp
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/cat_4_1_1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/cat_4_1_1.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/cat_4_2_0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/cat_4_2_0.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/cat_4_2_2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/cat_4_2_2.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/cat_4_4_4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/cat_4_4_4.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/f1-exif.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/f1-exif.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/f2-exif.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/f2-exif.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/f3-exif.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/f3-exif.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/f4-exif.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/f4-exif.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/f5-exif.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/f5-exif.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/f6-exif.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/f6-exif.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/f7-exif.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/f7-exif.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/f8-exif.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/f8-exif.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/mandrill.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/mandrill.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/testimg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/testimg.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/testimgp.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/testimgp.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/testorig.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/testorig.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/testprog.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/testprog.jpg
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/PngSuite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/PngSuite.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basi0g01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basi0g01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basi0g02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basi0g02.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basi0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basi0g04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basi0g08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basi0g08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basi0g16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basi0g16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basi2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basi2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basi2c16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basi2c16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basi3p01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basi3p01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basi3p02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basi3p02.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basi3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basi3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basi3p08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basi3p08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basi4a08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basi4a08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basi4a16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basi4a16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basi6a08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basi6a08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basi6a16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basi6a16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basn0g01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basn0g01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basn0g02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basn0g02.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basn0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basn0g04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basn0g08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basn0g08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basn0g16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basn0g16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basn2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basn2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basn2c16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basn2c16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basn3p01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basn3p01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basn3p02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basn3p02.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basn3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basn3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basn3p08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basn3p08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basn4a08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basn4a08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basn4a16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basn4a16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basn6a08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basn6a08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/basn6a16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/basn6a16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/bgai4a08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/bgai4a08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/bgai4a16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/bgai4a16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/bgan6a08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/bgan6a08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/bgan6a16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/bgan6a16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/bgbn4a08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/bgbn4a08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/bggn4a16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/bggn4a16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/bgwn6a08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/bgwn6a08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/bgyn6a16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/bgyn6a16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/ccwn2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/ccwn2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/ccwn3p08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/ccwn3p08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/cdfn2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/cdfn2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/cdhn2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/cdhn2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/cdsn2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/cdsn2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/cdun2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/cdun2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/ch1n3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/ch1n3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/ch2n3p08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/ch2n3p08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/cm0n0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/cm0n0g04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/cm7n0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/cm7n0g04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/cm9n0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/cm9n0g04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/cs3n2c16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/cs3n2c16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/cs3n3p08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/cs3n3p08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/cs5n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/cs5n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/cs5n3p08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/cs5n3p08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/cs8n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/cs8n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/cs8n3p08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/cs8n3p08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/ct0n0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/ct0n0g04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/ct1n0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/ct1n0g04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/cten0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/cten0g04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/ctfn0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/ctfn0g04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/ctgn0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/ctgn0g04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/cthn0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/cthn0g04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/ctjn0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/ctjn0g04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/ctzn0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/ctzn0g04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/exif2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/exif2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/f00n0g08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/f00n0g08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/f00n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/f00n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/f01n0g08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/f01n0g08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/f01n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/f01n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/f02n0g08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/f02n0g08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/f02n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/f02n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/f03n0g08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/f03n0g08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/f03n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/f03n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/f04n0g08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/f04n0g08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/f04n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/f04n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/f99n0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/f99n0g04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g03n0g16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g03n0g16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g03n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g03n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g03n3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g03n3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g04n0g16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g04n0g16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g04n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g04n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g04n3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g04n3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g05n0g16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g05n0g16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g05n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g05n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g05n3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g05n3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g07n0g16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g07n0g16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g07n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g07n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g07n3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g07n3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g10n0g16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g10n0g16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g10n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g10n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g10n3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g10n3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g25n0g16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g25n0g16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g25n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g25n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/g25n3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/g25n3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/oi1n0g16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/oi1n0g16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/oi1n2c16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/oi1n2c16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/oi2n0g16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/oi2n0g16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/oi2n2c16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/oi2n2c16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/oi4n0g16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/oi4n0g16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/oi4n2c16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/oi4n2c16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/oi9n0g16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/oi9n0g16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/oi9n2c16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/oi9n2c16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/pp0n2c16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/pp0n2c16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/pp0n6a08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/pp0n6a08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/ps1n0g08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/ps1n0g08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/ps1n2c16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/ps1n2c16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/ps2n0g08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/ps2n0g08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/ps2n2c16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/ps2n2c16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s01i3p01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s01i3p01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s01n3p01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s01n3p01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s02i3p01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s02i3p01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s02n3p01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s02n3p01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s03i3p01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s03i3p01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s03n3p01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s03n3p01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s04i3p01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s04i3p01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s04n3p01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s04n3p01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s05i3p02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s05i3p02.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s05n3p02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s05n3p02.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s06i3p02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s06i3p02.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s06n3p02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s06n3p02.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s07i3p02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s07i3p02.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s07n3p02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s07n3p02.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s08i3p02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s08i3p02.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s08n3p02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s08n3p02.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s09i3p02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s09i3p02.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s09n3p02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s09n3p02.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s32i3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s32i3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s32n3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s32n3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s33i3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s33i3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s33n3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s33n3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s34i3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s34i3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s34n3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s34n3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s35i3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s35i3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s35n3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s35n3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s36i3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s36i3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s36n3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s36n3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s37i3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s37i3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s37n3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s37n3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s38i3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s38i3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s38n3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s38n3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s39i3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s39i3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s39n3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s39n3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s40i3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s40i3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/s40n3p04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/s40n3p04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/tbbn0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/tbbn0g04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/tbbn2c16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/tbbn2c16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/tbbn3p08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/tbbn3p08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/tbgn2c16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/tbgn2c16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/tbgn3p08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/tbgn3p08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/tbrn2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/tbrn2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/tbwn0g16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/tbwn0g16.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/tbwn3p08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/tbwn3p08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/tbyn3p08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/tbyn3p08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/tm3n3p02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/tm3n3p02.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/tp0n0g08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/tp0n0g08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/tp0n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/tp0n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/tp0n3p08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/tp0n3p08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/tp1n3p08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/tp1n3p08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/xc1n0g08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/xc1n0g08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/xc9n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/xc9n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/xcrn0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/xcrn0g04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/xcsn0g01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/xcsn0g01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/xd0n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/xd0n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/xd3n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/xd3n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/xd9n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/xd9n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/xdtn0g01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/xdtn0g01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/xhdn0g08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/xhdn0g08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/xlfn0g04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/xlfn0g04.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/xs1n0g01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/xs1n0g01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/xs2n0g01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/xs2n0g01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/xs4n0g01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/xs4n0g01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/xs7n0g01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/xs7n0g01.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/z00n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/z00n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/z03n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/z03n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/z06n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/z06n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/z09n2c08.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/png/pngsuite/z09n2c08.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/flat-color-icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/flat-color-icons.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/masters/circle01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/masters/circle01.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/masters/ellipse01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/masters/ellipse01.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/masters/miterlimit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/masters/miterlimit.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/masters/polygon01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/masters/polygon01.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/masters/polyline01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/masters/polyline01.png
--------------------------------------------------------------------------------
/tests/fileformats/svg/masters/triangle01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/masters/triangle01.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph1_nokern_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph1_nokern_2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph1_nokern_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph1_nokern_3.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph2_nokern_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph2_nokern_2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph2_nokern_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph2_nokern_3.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph3_nokern_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph3_nokern_2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph3_nokern_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph3_nokern_3.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph4_nokern_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph4_nokern_2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph4_nokern_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph4_nokern_3.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph5_nokern_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph5_nokern_2.png
--------------------------------------------------------------------------------
/tests/fonts/masters/paragraph5_nokern_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fonts/masters/paragraph5_nokern_3.png
--------------------------------------------------------------------------------
/tests/paths/miterLimit_165deg_10.00num.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/paths/miterLimit_165deg_10.00num.png
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/progressive.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/progressive.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/quality_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/quality_01.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/quality_10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/quality_10.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/quality_100.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/quality_100.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/quality_25.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/quality_25.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/quality_50.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/quality_50.jpg
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-320x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-320x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-321x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-321x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-322x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-322x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-323x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-323x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-324x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-324x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-325x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-325x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-326x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-326x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-327x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-327x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-328x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-328x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-329x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-329x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-330x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-330x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-331x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-331x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-332x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-332x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-333x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-333x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-334x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-334x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-335x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-335x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/24bpp-320x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/24bpp-320x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/24bpp-321x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/24bpp-321x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/24bpp-322x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/24bpp-322x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/24bpp-323x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/24bpp-323x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/32bpp-320x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/32bpp-320x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/4bpp-320x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/4bpp-320x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/4bpp-321x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/4bpp-321x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/4bpp-322x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/4bpp-322x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/4bpp-323x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/4bpp-323x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/4bpp-324x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/4bpp-324x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/4bpp-325x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/4bpp-325x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/4bpp-326x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/4bpp-326x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/4bpp-327x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/4bpp-327x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/8bpp-1x64000.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/8bpp-1x64000.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/8bpp-320x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/8bpp-320x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/8bpp-321x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/8bpp-321x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/8bpp-322x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/8bpp-322x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/8bpp-323x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/8bpp-323x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/exif_overrun.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/exif_overrun.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/grayscale_test.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/grayscale_test.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/restartmarker.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/restartmarker.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/8x8_progressive.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/8x8_progressive.jpg
--------------------------------------------------------------------------------
/tests/fileformats/svg/masters/Ghostscript_Tiger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/masters/Ghostscript_Tiger.png
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-320x240-color.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-320x240-color.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/misleadingextension.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/misleadingextension.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/16x16_progressive.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/16x16_progressive.jpg
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/ spaces in filename.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/ spaces in filename.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-topdown-320x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-topdown-320x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/24bpp-imagesize-zero.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/24bpp-imagesize-zero.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/24bpp-topdown-320x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/24bpp-topdown-320x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/32bpp-101110-320x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/32bpp-101110-320x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/32bpp-topdown-320x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/32bpp-topdown-320x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/4bpp-topdown-320x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/4bpp-topdown-320x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/8bpp-colorsused-zero.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/8bpp-colorsused-zero.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/8bpp-topdown-320x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/8bpp-topdown-320x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/cat_4_2_0_progressive.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/cat_4_2_0_progressive.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/cat_4_4_4_progressive.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/cat_4_4_4_progressive.jpg
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/cat_restart_markers_5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/cat_restart_markers_5.jpg
--------------------------------------------------------------------------------
/tests/fileformats/svg/masters/accessibility-outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/svg/masters/accessibility-outline.png
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/8bpp-colorsimportant-two.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/8bpp-colorsimportant-two.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/1bpp-320x240-overlappingcolor.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/1bpp-320x240-overlappingcolor.bmp
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/32bpp-optimalpalette-320x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/32bpp-optimalpalette-320x240.bmp
--------------------------------------------------------------------------------
/tests/bench_gif.nim:
--------------------------------------------------------------------------------
1 | import benchy, pixie/fileformats/gif
2 |
3 | let data = readFile("tests/fileformats/gif/audrey.gif")
4 |
5 | timeIt "gif decode":
6 | discard decodeGif(data)
7 |
--------------------------------------------------------------------------------
/tests/fileformats/bmp/bmpsuite/32bpp-888-optimalpalette-320x240.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/bmp/bmpsuite/32bpp-888-optimalpalette-320x240.bmp
--------------------------------------------------------------------------------
/tests/fileformats/jpeg/masters/cat_restart_markers_5_progressive.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/treeform/pixie/HEAD/tests/fileformats/jpeg/masters/cat_restart_markers_5_progressive.jpg
--------------------------------------------------------------------------------
/tests/bench_qoi.nim:
--------------------------------------------------------------------------------
1 | import benchy, pixie/fileformats/qoi
2 |
3 | let data = readFile("tests/fileformats/qoi/testcard_rgba.qoi")
4 |
5 | timeIt "pixie decode":
6 | discard decodeQoi(data)
7 |
--------------------------------------------------------------------------------
/tests/bench_svg.nim:
--------------------------------------------------------------------------------
1 | import benchy, pixie/fileformats/svg
2 |
3 | let
4 | data = readFile("tests/fileformats/svg/Ghostscript_Tiger.svg")
5 | parsed = parseSvg(data)
6 |
7 | timeIt "svg render":
8 | discard newImage(parsed)
9 |
--------------------------------------------------------------------------------
/tests/test_tiff.nim:
--------------------------------------------------------------------------------
1 | import pixie, pixie/fileformats/tiff
2 |
3 | let
4 | t = decodeTiff(readFile("tests/fileformats/tiff/pc260001.tif"))
5 | image = newImage(t)
6 | # image.writeFile("tests/fileformats/tiff/pc260001.png")
7 |
--------------------------------------------------------------------------------
/tests/common.nim:
--------------------------------------------------------------------------------
1 | import algorithm, os
2 |
3 | proc findAllFonts*(rootPath: string): seq[string] =
4 | for fontPath in walkDirRec(rootPath):
5 | if splitFile(fontPath).ext in [".ttf", ".otf"]:
6 | result.add(fontPath)
7 | result.sort()
8 |
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/PngSuite.LICENSE:
--------------------------------------------------------------------------------
1 | PngSuite
2 | --------
3 |
4 | Permission to use, copy, modify and distribute these images for any
5 | purpose and without fee is hereby granted.
6 |
7 |
8 | (c) Willem van Schaik, 1996, 2011
9 |
10 |
--------------------------------------------------------------------------------
/tests/fileformats/ppm/feep.p3.master.ppm:
--------------------------------------------------------------------------------
1 | P3
2 | # feep.p3.master.ppm
3 | 4 4
4 | 15
5 | 0 0 0 0 0 0 0 0 0 15 0 15
6 | 0 0 0 0 15 7 0 0 0 0 0 0
7 | 0 0 0 0 0 0 0 15 7 0 0 0
8 | 15 0 15 0 0 0 0 0 0 0 0 0
9 |
--------------------------------------------------------------------------------
/tests/test_jpeg.nim:
--------------------------------------------------------------------------------
1 | import jpegsuite, pixie, pixie/fileformats/jpeg
2 |
3 | for file in jpegSuiteFiles:
4 | let
5 | image = readImage(file)
6 | dimensions = decodeJpegDimensions(readFile(file))
7 | doAssert image.width == dimensions.width
8 | doAssert image.height == dimensions.height
9 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # ignore files with no extention:
2 | *
3 | !*/
4 | !*.*
5 |
6 | # normal ignores:
7 | *.exe
8 | nimcache
9 | *.pdb
10 | *.ilk
11 | .*
12 | *.dll
13 | __pycache__
14 | bindings/generated
15 | *.dSYM
16 | dump.txt
17 | tests/fileformats/jpeg/generated
18 | tests/fileformats/jpeg/diffs
19 | *.dylib
20 | tmp
21 |
--------------------------------------------------------------------------------
/tests/megatest_fonts.nim:
--------------------------------------------------------------------------------
1 | import common, pixie
2 |
3 | # Clone https://github.com/treeform/fidgetfonts
4 |
5 | let fontPaths = findAllFonts("../fidgetfonts")
6 |
7 | for fontPath in fontPaths:
8 | echo fontPath
9 | try:
10 | var font = readFont(fontPath)
11 | except PixieError:
12 | echo "ERROR: ", getCurrentExceptionMsg()
13 |
--------------------------------------------------------------------------------
/examples/square.nim:
--------------------------------------------------------------------------------
1 | import pixie
2 |
3 | let image = newImage(200, 200)
4 | image.fill(rgba(255, 255, 255, 255))
5 |
6 | let ctx = newContext(image)
7 | ctx.fillStyle = rgba(255, 0, 0, 255)
8 |
9 | let
10 | pos = vec2(50, 50)
11 | wh = vec2(100, 100)
12 |
13 | ctx.fillRect(rect(pos, wh))
14 |
15 | image.writeFile("examples/square.png")
16 |
--------------------------------------------------------------------------------
/tests/fileformats/ppm/feep.p3.hidepth.master.ppm:
--------------------------------------------------------------------------------
1 | P3
2 | # feep.p3.hidepth.master.ppm
3 | 4 4
4 | 7919 # prime number chosen for test purposes
5 | 0 0 0 0 0 0 0 0 0 7919 0 7919
6 | 0 0 0 0 7919 3695 0 0 0 0 0 0
7 | 0 0 0 0 0 0 0 7919 3695 0 0 0
8 | 7919 0 7919 0 0 0 0 0 0 0 0 0
9 |
--------------------------------------------------------------------------------
/examples/tiger.nim:
--------------------------------------------------------------------------------
1 | import pixie
2 |
3 | let image = newImage(200, 200)
4 | image.fill(rgba(255, 255, 255, 255))
5 |
6 | let tiger = readImage("examples/data/tiger.svg")
7 |
8 | image.draw(
9 | tiger,
10 | translate(vec2(100, 100)) *
11 | scale(vec2(0.2, 0.2)) *
12 | translate(vec2(-450, -450))
13 | )
14 |
15 | image.writeFile("examples/tiger.png")
16 |
--------------------------------------------------------------------------------
/examples/line.nim:
--------------------------------------------------------------------------------
1 | import pixie
2 |
3 | let image = newImage(200, 200)
4 | image.fill(rgba(255, 255, 255, 255))
5 |
6 | let ctx = newContext(image)
7 | ctx.strokeStyle = "#FF5C00"
8 | ctx.lineWidth = 10
9 |
10 | let
11 | start = vec2(25, 25)
12 | stop = vec2(175, 175)
13 |
14 | ctx.strokeSegment(segment(start, stop))
15 |
16 | image.writeFile("examples/line.png")
17 |
--------------------------------------------------------------------------------
/examples/heart.nim:
--------------------------------------------------------------------------------
1 | import pixie
2 |
3 | let image = newImage(200, 200)
4 | image.fill(rgba(255, 255, 255, 255))
5 |
6 | image.fillPath(
7 | """
8 | M 20 60
9 | A 40 40 90 0 1 100 60
10 | A 40 40 90 0 1 180 60
11 | Q 180 120 100 180
12 | Q 20 120 20 60
13 | z
14 | """,
15 | parseHtmlColor("#FC427B").rgba
16 | )
17 |
18 | image.writeFile("examples/heart.png")
19 |
--------------------------------------------------------------------------------
/examples/rounded_rectangle.nim:
--------------------------------------------------------------------------------
1 | import pixie
2 |
3 | let image = newImage(200, 200)
4 | image.fill(rgba(255, 255, 255, 255))
5 |
6 | let ctx = newContext(image)
7 | ctx.fillStyle = rgba(0, 255, 0, 255)
8 |
9 | let
10 | pos = vec2(50, 50)
11 | wh = vec2(100, 100)
12 | r = 25.0
13 |
14 | ctx.fillRoundedRect(rect(pos, wh), r)
15 |
16 | image.writeFile("examples/rounded_rectangle.png")
17 |
--------------------------------------------------------------------------------
/tests/fuzz_leaks3.nim:
--------------------------------------------------------------------------------
1 | import pixie, pixie/fileformats/svg, random
2 |
3 | when not defined(pixieLeakCheck):
4 | quit("Requires -d:pixieLeakCheck")
5 |
6 | randomize()
7 |
8 | let data = readFile("tests/fileformats/svg/Ghostscript_Tiger.svg")
9 |
10 | for i in 0 ..< 100_000:
11 | var image = decodeSvg(data, rand(300 .. 1800), rand(30 .. 1800))
12 |
13 | # image.writeFile("tests/fuzz_leaks3.png")
14 | # break
15 |
--------------------------------------------------------------------------------
/tests/fuzz_svg.nim:
--------------------------------------------------------------------------------
1 | import pixie/common, pixie/fileformats/svg, random, strformat
2 |
3 | randomize()
4 |
5 | let original = readFile("tests/fileformats/svg/Ghostscript_Tiger.svg")
6 |
7 | for i in 0 ..< 10_000:
8 | var data = original
9 | let
10 | pos = rand(data.len)
11 | value = rand(255).char
12 | data[pos] = value
13 | echo &"{i} {pos} {value}"
14 | try:
15 | discard decodeSvg(data)
16 | except PixieError:
17 | discard
18 |
--------------------------------------------------------------------------------
/examples/image_tiled.nim:
--------------------------------------------------------------------------------
1 | import pixie
2 |
3 | let image = newImage(200, 200)
4 | image.fill(rgba(255, 255, 255, 255))
5 |
6 | let path = newPath()
7 | path.polygon(
8 | vec2(100, 100),
9 | 70,
10 | sides = 8
11 | )
12 |
13 | let paint = newPaint(TiledImagePaint)
14 | paint.image = readImage("examples/data/mandrill.png")
15 | paint.imageMat = scale(vec2(0.08, 0.08))
16 |
17 | image.fillPath(path, paint)
18 | image.writeFile("examples/image_tiled.png")
19 |
--------------------------------------------------------------------------------
/tests/fileformats/svg/triangle01.svg:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
--------------------------------------------------------------------------------
/examples/text.nim:
--------------------------------------------------------------------------------
1 | import pixie
2 |
3 | let image = newImage(200, 200)
4 | image.fill(rgba(255, 255, 255, 255))
5 |
6 | var font = readFont("examples/data/Roboto-Regular_1.ttf")
7 | font.size = 20
8 | font.paint.color = color(1, 0, 0)
9 |
10 | let text = "Typesetting is the arrangement and composition of text in graphic design and publishing in both digital and traditional medias."
11 |
12 | image.fillText(font.typeset(text, vec2(180, 180)), translate(vec2(10, 10)))
13 | image.writeFile("examples/text.png")
14 |
--------------------------------------------------------------------------------
/tests/xrays.nim:
--------------------------------------------------------------------------------
1 | import os, pixie, strformat, strutils
2 |
3 | proc xray*(image: Image, masterPath: string) =
4 | let
5 | generatedPath = "tmp/generated/" & masterPath
6 | xrayPath = "tmp/xray/" & masterPath
7 | createDir(generatedPath.splitPath.head)
8 | createDir(xrayPath.splitPath.head)
9 | image.writeFile(generatedPath)
10 | let
11 | master = readImage(masterPath)
12 | (score, xRay) = diff(image, master)
13 | xRay.writeFile(xrayPath)
14 | echo &"xray {masterPath} -> {score:0.6f}"
15 |
--------------------------------------------------------------------------------
/examples/blur.nim:
--------------------------------------------------------------------------------
1 | import pixie
2 |
3 | let
4 | trees = readImage("examples/data/trees.png")
5 | blur = trees.copy()
6 | image = newImage(200, 200)
7 |
8 | image.fill(rgba(255, 255, 255, 255))
9 |
10 | let path = newPath()
11 | path.polygon(vec2(100, 100), 70, sides = 6)
12 |
13 | let mask = newImage(200, 200)
14 | mask.fillPath(path, color(1, 1, 1, 1))
15 |
16 | blur.blur(20)
17 | blur.draw(mask, blendMode = MaskBlend)
18 |
19 | image.draw(trees)
20 | image.draw(blur)
21 |
22 | image.writeFile("examples/blur.png")
23 |
--------------------------------------------------------------------------------
/tests/fileformats/svg/rect01.svg:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
--------------------------------------------------------------------------------
/tests/fileformats/svg/circle01.svg:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
--------------------------------------------------------------------------------
/examples/shadow.nim:
--------------------------------------------------------------------------------
1 | import pixie
2 |
3 | let image = newImage(200, 200)
4 | image.fill(rgba(255, 255, 255, 255))
5 |
6 | let path = newPath()
7 | path.polygon(vec2(100, 100), 70, sides = 8)
8 |
9 | let polygonImage = newImage(200, 200)
10 | polygonImage.fillPath(path, rgba(255, 255, 255, 255))
11 |
12 | let shadow = polygonImage.shadow(
13 | offset = vec2(2, 2),
14 | spread = 2,
15 | blur = 10,
16 | color = rgba(0, 0, 0, 200)
17 | )
18 |
19 | image.draw(shadow)
20 | image.draw(polygonImage)
21 |
22 | image.writeFile("examples/shadow.png")
23 |
--------------------------------------------------------------------------------
/tests/fileformats/svg/scale.svg:
--------------------------------------------------------------------------------
1 |
17 |
--------------------------------------------------------------------------------
/tests/all.nim:
--------------------------------------------------------------------------------
1 | import
2 | test_bmp,
3 | test_contexts,
4 | test_fonts,
5 | test_gif,
6 | test_images,
7 | test_images_draw,
8 | test_jpeg,
9 | test_paints,
10 | test_paths,
11 | test_png,
12 | test_ppm,
13 | test_qoi,
14 | test_svg,
15 | ../examples/text,
16 | ../examples/text_spans,
17 | ../examples/square,
18 | ../examples/line,
19 | ../examples/rounded_rectangle,
20 | ../examples/heart,
21 | ../examples/masking,
22 | ../examples/gradient,
23 | ../examples/image_tiled,
24 | ../examples/shadow,
25 | ../examples/blur,
26 | ../examples/tiger
27 |
--------------------------------------------------------------------------------
/tests/fuzz_jpeg.nim:
--------------------------------------------------------------------------------
1 | import jpegsuite, pixie/common, pixie/fileformats/jpeg, random, strformat
2 |
3 | randomize()
4 |
5 | for i in 0 ..< 10_000:
6 | let file = sample(jpegSuiteFiles)
7 | var data = readFile(file)
8 | let
9 | pos = rand(0 ..< data.len)
10 | value = rand(255).uint8
11 | data[pos] = value.char
12 | echo &"{i} {file} {pos} {value}"
13 |
14 | try:
15 | let img = decodeJpeg(data)
16 | doAssert img.height > 0 and img.width > 0
17 | except PixieError:
18 | discard
19 | data = data[0 ..< pos]
20 | try:
21 | let img = decodeJpeg(data)
22 | doAssert img.height > 0 and img.width > 0
23 | except PixieError:
24 | discard
25 |
--------------------------------------------------------------------------------
/tests/fileformats/svg/rect02.svg:
--------------------------------------------------------------------------------
1 |
2 |
18 |
--------------------------------------------------------------------------------
/tests/fuzz_qoi.nim:
--------------------------------------------------------------------------------
1 | import pixie/common, pixie/fileformats/qoi, std/random, strformat
2 |
3 | randomize()
4 |
5 | let original = readFile("tests/fileformats/qoi/testcard_rgba.qoi")
6 |
7 | for i in 0 ..< 10_000:
8 | var data = original
9 | let
10 | pos = rand(data.len)
11 | value = rand(255).uint8
12 | data[pos] = value.char
13 | echo &"{i} {pos} {value}"
14 | try:
15 | let img = decodeQoi(data)
16 | doAssert img.height > 0 and img.width > 0
17 | except PixieError:
18 | discard
19 |
20 | data = data[0 ..< pos]
21 | try:
22 | let img = decodeQoi(data)
23 | doAssert img.height > 0 and img.width > 0
24 | except PixieError:
25 | discard
26 |
--------------------------------------------------------------------------------
/examples/gradient.nim:
--------------------------------------------------------------------------------
1 | import pixie
2 |
3 | let image = newImage(200, 200)
4 | image.fill(rgba(255, 255, 255, 255))
5 |
6 | let paint = newPaint(RadialGradientPaint)
7 | paint.gradientHandlePositions = @[
8 | vec2(100, 100),
9 | vec2(200, 100),
10 | vec2(100, 200)
11 | ]
12 | paint.gradientStops = @[
13 | ColorStop(color: color(1, 0, 0, 1), position: 0),
14 | ColorStop(color: color(1, 0, 0, 0.15625), position: 1.0),
15 | ]
16 |
17 | image.fillPath(
18 | """
19 | M 20 60
20 | A 40 40 90 0 1 100 60
21 | A 40 40 90 0 1 180 60
22 | Q 180 120 100 180
23 | Q 20 120 20 60
24 | z
25 | """,
26 | paint
27 | )
28 |
29 | image.writeFile("examples/gradient.png")
30 |
--------------------------------------------------------------------------------
/tests/fileformats/svg/ellipse01.svg:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
--------------------------------------------------------------------------------
/src/pixie/simd.nim:
--------------------------------------------------------------------------------
1 | import nimsimd/hassimd
2 |
3 | export hassimd
4 |
5 | const allowSimd* = not defined(pixieNoSimd) and not defined(tcc)
6 |
7 | when allowSimd:
8 | when defined(amd64):
9 | import simd/sse2
10 | export sse2
11 |
12 | when not defined(pixieNoAvx):
13 | import nimsimd/runtimecheck, simd/avx, simd/avx2
14 | export avx, avx2
15 |
16 | let
17 | cpuHasAvx* = checkInstructionSets({AVX})
18 | cpuHasAvx2* = checkInstructionSets({AVX, AVX2})
19 |
20 | import nimsimd/sse2 as nimsimdsse2
21 | export nimsimdsse2
22 |
23 | elif defined(arm64):
24 | import simd/neon
25 | export neon
26 |
27 | import nimsimd/neon as nimsimdneon
28 | export nimsimdneon
29 |
--------------------------------------------------------------------------------
/tests/fuzz_gif.nim:
--------------------------------------------------------------------------------
1 | import pixie/common, pixie/fileformats/gif, random, strformat
2 |
3 | randomize()
4 |
5 | let original = readFile("tests/fileformats/gif/sunflower.gif")
6 |
7 | for i in 0 ..< 10_000:
8 | var data = original
9 | let
10 | pos = rand(data.len)
11 | value = rand(255).char
12 | # pos = 27355
13 | # value = '&'
14 | data[pos] = value
15 | echo &"{i} {pos} {value}"
16 | try:
17 | let img = newImage(decodeGif(data))
18 | doAssert img.height > 0 and img.width > 0
19 | except PixieError:
20 | discard
21 |
22 | data = data[0 ..< pos]
23 | try:
24 | let img = newImage(decodeGif(data))
25 | doAssert img.height > 0 and img.width > 0
26 | except PixieError:
27 | discard
28 |
--------------------------------------------------------------------------------
/tests/fuzz_png.nim:
--------------------------------------------------------------------------------
1 | import pixie/common, pixie/fileformats/png, pngsuite, random, strformat
2 |
3 | randomize()
4 |
5 | for i in 0 ..< 10_000:
6 | let file = pngSuiteFiles[rand(pngSuiteFiles.len - 1)]
7 | var data = readFile(&"tests/fileformats/png/pngsuite/{file}.png")
8 | let
9 | pos = 29 + rand(data.len - 30)
10 | value = rand(255).uint8
11 | data[pos] = value.char
12 | echo &"{i} {file} {pos} {value}"
13 | try:
14 | let img = decodePng(data)
15 | doAssert img.height > 0 and img.width > 0
16 | except PixieError:
17 | discard
18 |
19 | data = data[0 ..< pos]
20 | try:
21 | let img = decodePng(data)
22 | doAssert img.height > 0 and img.width > 0
23 | except PixieError:
24 | discard
25 |
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: Github Actions
2 | on: [push, pull_request]
3 | jobs:
4 | build:
5 | strategy:
6 | fail-fast: false
7 | matrix:
8 | os: [ubuntu-latest, windows-latest]
9 | nim-version: ['1.4.x', 'stable']
10 |
11 | runs-on: ${{ matrix.os }}
12 |
13 | steps:
14 | - uses: actions/checkout@v3
15 | - uses: jiro4989/setup-nim-action@v2
16 | with:
17 | nim-version: ${{ matrix.nim-version }}
18 | repo-token: ${{ secrets.GITHUB_TOKEN }}
19 | - run: nimble test --gc:arc -d:release -y
20 | - run: nimble test --gc:arc -d:release -d:pixieNoSimd -y
21 | - run: nimble test --gc:orc -d:release -y
22 | - run: nim cpp --gc:orc -d:release -r tests/all.nim
23 |
--------------------------------------------------------------------------------
/tests/validate_jpeg.nim:
--------------------------------------------------------------------------------
1 | import jpegsuite, os, pixie, strformat, strutils
2 |
3 | createDir("tests/fileformats/jpeg/generated")
4 | createDir("tests/fileformats/jpeg/diffs")
5 |
6 | for file in jpegSuiteFiles:
7 | let img = readImage(file)
8 |
9 | let genFile = file.replace("masters", "generated").replace(".jpg", ".png")
10 | img.writeFile(genFile)
11 |
12 | if execShellCmd(&"magick {file} -auto-orient {genFile}") != 0:
13 | echo "fail"
14 |
15 | var img2 = readImage(genFile)
16 | let (score, diff) = img2.diff(img)
17 |
18 | let diffFile = file.replace("master", "diff").replace(".jpg", ".png")
19 | diff.writeFile(diffFile)
20 |
21 | if score > 1:
22 | echo "!!!!!!!!!!!!!! FAIL !!!!!!!!!!!!!"
23 | echo &"{score:2.3f}% ... {file}"
24 |
--------------------------------------------------------------------------------
/tests/fileformats/svg/accessibility-outline.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/examples/masking.nim:
--------------------------------------------------------------------------------
1 | import pixie
2 |
3 | let
4 | image = newImage(200, 200)
5 | lines = newImage(200, 200)
6 | mask = newImage(200, 200)
7 |
8 | lines.fill(parseHtmlColor("#FC427B").rgba)
9 | image.fill(rgba(255, 255, 255, 255))
10 |
11 | let ctx = newContext(lines)
12 | ctx.strokeStyle = "#F8D1DD"
13 | ctx.lineWidth = 30
14 |
15 | ctx.strokeSegment(segment(vec2(25, 25), vec2(175, 175)))
16 | ctx.strokeSegment(segment(vec2(25, 175), vec2(175, 25)))
17 |
18 | mask.fillPath(
19 | """
20 | M 20 60
21 | A 40 40 90 0 1 100 60
22 | A 40 40 90 0 1 180 60
23 | Q 180 120 100 180
24 | Q 20 120 20 60
25 | z
26 | """,
27 | color(1, 1, 1, 1)
28 | )
29 | lines.draw(mask, blendMode = MaskBlend)
30 | image.draw(lines)
31 |
32 | image.writeFile("examples/masking.png")
33 |
--------------------------------------------------------------------------------
/tests/fileformats/svg/polygon01.svg:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 |
--------------------------------------------------------------------------------
/tests/fileformats/svg/polyline01.svg:
--------------------------------------------------------------------------------
1 |
2 |
19 |
20 |
--------------------------------------------------------------------------------
/tests/test_qoi.nim:
--------------------------------------------------------------------------------
1 | import pixie, pixie/fileformats/qoi
2 |
3 | const tests = ["testcard", "testcard_rgba"]
4 |
5 | for name in tests:
6 | let
7 | path = "tests/fileformats/qoi/" & name & ".qoi"
8 | input = readImage(path)
9 | control = readImage("tests/fileformats/qoi/" & name & ".png")
10 | dimensions = decodeQoiDimensions(readFile(path))
11 | doAssert input.data == control.data, "input mismatch of " & name
12 | doAssert input.width == dimensions.width
13 | doAssert input.height == dimensions.height
14 | discard encodeQoi(control)
15 |
16 | for name in tests:
17 | let
18 | path = "tests/fileformats/qoi/" & name & ".qoi"
19 | input = decodeQoi(readFile(path))
20 | output = decodeQoi(encodeQoi(input))
21 | doAssert output.data.len == input.data.len
22 | doAssert output.data == input.data
23 |
--------------------------------------------------------------------------------
/tests/fileformats/png/pngsuite/PngSuite.README:
--------------------------------------------------------------------------------
1 | PNGSUITE
2 | ----------------
3 |
4 | testset for PNG-(de)coders
5 | created by Willem van Schaik
6 | ------------------------------------
7 |
8 | This is a collection of graphics images created to test the png applications
9 | like viewers, converters and editors. All (as far as that is possible)
10 | formats supported by the PNG standard are represented.
11 |
12 | The suite consists of the following files:
13 |
14 | - PngSuite.README - this file
15 | - PngSuite.LICENSE - the PngSuite is freeware
16 | - PngSuite.png - image with PngSuite logo
17 | - PngSuite.tgz - archive of all PNG testfiles
18 | - PngSuite.zip - same in .zip format for PCs
19 |
20 |
21 | --------
22 | (c) Willem van Schaik
23 | willem@schaik.com
24 | Calgary, April 2011
25 |
26 |
--------------------------------------------------------------------------------
/tests/fuzz_opentype.nim:
--------------------------------------------------------------------------------
1 | import common, pixie, random, strformat, unicode
2 |
3 | randomize()
4 |
5 | let fontPaths = findAllFonts("tests/fonts")
6 |
7 | doAssert fontPaths.len > 0
8 |
9 | for i in 0 ..< 10000:
10 | var
11 | file = fontPaths[rand(fontPaths.len - 1)]
12 | data = readFile(file)
13 | pos = rand(data.len)
14 | value = rand(255).char
15 | data[pos] = value
16 | echo &"{i} {file} {pos} {value.uint8}"
17 | try:
18 | let font = parseOtf(data)
19 | doAssert font != nil
20 | for i in 0.uint16 ..< uint16.high:
21 | discard font.getGlyphPath(Rune(i.int))
22 | except PixieError:
23 | discard
24 |
25 | data = data[0 ..< pos]
26 | try:
27 | let font = parseOtf(data)
28 | doAssert font != nil
29 | for i in 0.uint16 ..< uint16.high:
30 | discard font.getGlyphPath(Rune(i.int))
31 | except PixieError:
32 | discard
33 |
--------------------------------------------------------------------------------
/tests/fileformats/svg/line01.svg:
--------------------------------------------------------------------------------
1 |
2 |
23 |
24 |
--------------------------------------------------------------------------------
/src/pixie/simd/avx.nim:
--------------------------------------------------------------------------------
1 | import chroma, nimsimd/hassimd, nimsimd/avx
2 |
3 | when defined(gcc) or defined(clang):
4 | {.localPassC: "-mavx".}
5 |
6 | when defined(release):
7 | {.push checks: off.}
8 |
9 | proc fillUnsafeAvx*(
10 | data: var seq[ColorRGBX],
11 | color: SomeColor,
12 | start, len: int
13 | ) {.simd.} =
14 | let rgbx = color.asRgbx()
15 |
16 | var
17 | i = start
18 | p = cast[uint](data[i].addr)
19 | # Align to 32 bytes
20 | while i < (start + len) and (p and 31) != 0:
21 | data[i] = rgbx
22 | inc i
23 | p += 4
24 |
25 | let
26 | colorVec = mm256_set1_epi32(cast[int32](rgbx))
27 | iterations = (start + len - i) div 8
28 | for _ in 0 ..< iterations:
29 | mm256_store_si256(cast[pointer](p), colorVec)
30 | p += 32
31 | i += 8 * iterations
32 |
33 | for i in i ..< start + len:
34 | data[i] = rgbx
35 |
36 | when defined(release):
37 | {.pop.}
38 |
--------------------------------------------------------------------------------
/tests/fuzz_leaks.nim:
--------------------------------------------------------------------------------
1 | import pixie, random
2 |
3 | when not defined(pixieLeakCheck):
4 | quit("Requires -d:pixieLeakCheck")
5 |
6 | randomize()
7 |
8 | for i in 0 ..< 100_000:
9 |
10 | let image = newImage(400, 400)
11 | image.fill(rgba(255, 255, 255, 255))
12 |
13 | let ctx = newContext(image)
14 | ctx.translate(200, 200)
15 | ctx.scale(vec2(rand(0.1 .. 1.2), rand(0.1 .. 1.2)))
16 | ctx.rotate(rand(0.0 .. 2*PI))
17 |
18 | ctx.strokeStyle = "#000000"
19 | ctx.lineCap = sample([RoundCap, ButtCap, SquareCap])
20 | ctx.lineJoin = sample([MiterJoin, RoundJoin, BevelJoin])
21 | ctx.miterLimit = 2
22 | ctx.lineWidth = rand(0.1 .. 20.0)
23 |
24 | ctx.moveTo(rand(-100 .. 100).float32, rand(-100 .. 100).float32)
25 | for i in 0 ..< rand(0 .. 100):
26 | ctx.lineTo(rand(-100 .. 100).float32, rand(-100 .. 100).float32)
27 | ctx.stroke()
28 |
29 | # image.writeFile("tests/fuzz_leaks.png")
30 | # break
31 |
--------------------------------------------------------------------------------
/tests/bench_jpeg.nim:
--------------------------------------------------------------------------------
1 | import benchy, os, pixie/fileformats/jpeg
2 |
3 | const
4 | jpegFiles* = [
5 | "tests/fileformats/jpeg/masters/mandrill.jpg",
6 | "tests/fileformats/jpeg/masters/exif_overrun.jpg",
7 | "tests/fileformats/jpeg/masters/grayscale_test.jpg",
8 | "tests/fileformats/jpeg/masters/progressive.jpg"
9 | ]
10 |
11 | for file in jpegFiles:
12 | let data = readFile(file)
13 | timeIt "pixie " & file.splitPath.tail & " decode":
14 | discard decodeJpeg(data)
15 |
16 | # import stb_image/read as stbi
17 | # block:
18 | # for file in jpegFiles:
19 | # let data = readFile(file)
20 | # var name = file.splitPath.tail
21 |
22 | # timeIt "stb " & file.splitPath.tail & " decode":
23 | # var width, height, channels: int
24 | # discard loadFromMemory(
25 | # cast[seq[byte]](data),
26 | # width,
27 | # height,
28 | # channels,
29 | # stbi.RGBA
30 | # )
31 |
--------------------------------------------------------------------------------
/tests/validate_png.nim:
--------------------------------------------------------------------------------
1 | import chroma, pixie/fileformats/png, pngsuite, stb_image/read as stbi, strformat
2 |
3 | for file in pngSuiteFiles:
4 | let
5 | data = readFile(&"tests/fileformats/png/pngsuite/{file}.png")
6 | pixieLoaded = decodePng(data)
7 |
8 | var
9 | width, height, channels: int
10 | stbiLoadedData = loadFromMemory(
11 | cast[seq[byte]](data),
12 | width,
13 | height,
14 | channels,
15 | stbi.RGBA
16 | )
17 | stbiLoadedRGBA: seq[ColorRGBA]
18 |
19 | var i: int
20 | while i < stbiLoadedData.len:
21 | stbiLoadedRGBA.add(ColorRGBA(
22 | r: stbiLoadedData[i + 0],
23 | g: stbiLoadedData[i + 1],
24 | b: stbiLoadedData[i + 2],
25 | a: stbiLoadedData[i + 3]
26 | ))
27 | i += 4
28 |
29 | doAssert pixieLoaded.width == width
30 | doAssert pixieLoaded.height == height
31 | doAssert pixieLoaded.data.len == stbiLoadedRGBA.len
32 | doAssert pixieLoaded.data == stbiLoadedRGBA
33 |
--------------------------------------------------------------------------------
/examples/text_spans.nim:
--------------------------------------------------------------------------------
1 | import pixie
2 |
3 | let image = newImage(200, 200)
4 | image.fill(rgba(255, 255, 255, 255))
5 |
6 | let typeface = readTypeface("examples/data/Ubuntu-Regular_1.ttf")
7 |
8 | proc newFont(typeface: Typeface, size: float32, color: Color): Font =
9 | result = newFont(typeface)
10 | result.size = size
11 | result.paint.color = color
12 |
13 | let spans = @[
14 | newSpan("verb [with object] ",
15 | newFont(typeface, 12, color(0.78125, 0.78125, 0.78125, 1))),
16 | newSpan("strallow\n", newFont(typeface, 36, color(0, 0, 0, 1))),
17 | newSpan("\nstral·low\n", newFont(typeface, 13, color(0, 0.5, 0.953125, 1))),
18 | newSpan("\n1. free (something) from restrictive restrictions \"the regulations are intended to strallow changes in public policy\" ",
19 | newFont(typeface, 14, color(0.3125, 0.3125, 0.3125, 1)))
20 | ]
21 |
22 | image.fillText(typeset(spans, vec2(180, 180)), translate(vec2(10, 10)))
23 | image.writeFile("examples/text_spans.png")
24 |
--------------------------------------------------------------------------------
/.github/workflows/docs.yml:
--------------------------------------------------------------------------------
1 | name: docs
2 | on:
3 | push:
4 | branches:
5 | - master
6 | env:
7 | nim-version: 'stable'
8 | nim-src: src/${{ github.event.repository.name }}.nim
9 | deploy-dir: .gh-pages
10 | jobs:
11 | docs:
12 | runs-on: ubuntu-latest
13 | steps:
14 | - uses: actions/checkout@v3
15 | - uses: jiro4989/setup-nim-action@v1
16 | with:
17 | nim-version: ${{ env.nim-version }}
18 | - run: nimble install -Y
19 | - run: nimble doc --index:on --project --git.url:https://github.com/${{ github.repository }} --git.commit:master --out:${{ env.deploy-dir }} ${{ env.nim-src }}
20 | - name: "Copy to index.html"
21 | run: cp ${{ env.deploy-dir }}/${{ github.event.repository.name }}.html ${{ env.deploy-dir }}/index.html
22 | - name: Deploy documents
23 | uses: peaceiris/actions-gh-pages@v3
24 | with:
25 | github_token: ${{ secrets.GITHUB_TOKEN }}
26 | publish_dir: ${{ env.deploy-dir }}
27 |
--------------------------------------------------------------------------------
/tests/fuzz_leaks2.nim:
--------------------------------------------------------------------------------
1 | import os, pixie, random
2 |
3 | when not defined(pixieLeakCheck):
4 | quit("Requires -d:pixieLeakCheck")
5 |
6 | randomize()
7 |
8 | for i in 0 ..< 100_000:
9 | let image = newImage(400, 400)
10 | image.fill(rgba(255, 255, 255, 255))
11 |
12 | let ctx = newContext(image)
13 |
14 | ctx.translate(200, 200)
15 | ctx.scale(vec2(rand(0.1 .. 1.7), rand(0.1 .. 1.7)))
16 | ctx.rotate(rand(0.0 .. 2*PI))
17 |
18 | ctx.strokeStyle = "#000000"
19 | ctx.lineCap = sample([RoundCap, ButtCap, SquareCap])
20 | ctx.lineJoin = sample([MiterJoin, RoundJoin, BevelJoin])
21 | ctx.lineWidth = rand(0.1 .. 1.0)
22 |
23 | var first = true
24 | var number = rand(2 .. 100)
25 | for a in 0 .. number:
26 | let th = a.float32 / number.float32 * PI
27 | let pos = vec2(sin(th) * 100, cos(th) * 100)
28 | if first:
29 | ctx.moveTo(pos)
30 | first = false
31 | else:
32 | ctx.lineTo(pos)
33 | ctx.stroke()
34 |
35 | # image.writeFile("tests/fuzz_leaks2.png")
36 | # break
37 |
--------------------------------------------------------------------------------
/tests/fileformats/svg/dashes.svg:
--------------------------------------------------------------------------------
1 |
23 |
--------------------------------------------------------------------------------
/tests/test_svg.nim:
--------------------------------------------------------------------------------
1 | import pixie, pixie/fileformats/svg, strformat, xrays, xmlparser, xmltree
2 |
3 | const files = [
4 | "line01",
5 | "polyline01",
6 | "polygon01",
7 | "rect01",
8 | "rect02",
9 | "circle01",
10 | "ellipse01",
11 | "triangle01",
12 | "quad01",
13 | "Ghostscript_Tiger",
14 | "scale",
15 | "miterlimit",
16 | "dashes",
17 | "dragon2"
18 | ]
19 |
20 | for file in files:
21 | let image = readImage(&"tests/fileformats/svg/{file}.svg")
22 | image.xray(&"tests/fileformats/svg/masters/{file}.png")
23 |
24 | block:
25 | let
26 | svg = parseSvg(
27 | readFile("tests/fileformats/svg/accessibility-outline.svg"),
28 | 512, 512
29 | )
30 | image = newImage(svg)
31 | image.xray(&"tests/fileformats/svg/masters/accessibility-outline.png")
32 |
33 | block:
34 | # Test using XML node by itself, see: https://github.com/treeform/pixie/pull/533
35 | let
36 | xmlNode = parseXml(readFile("tests/fileformats/svg/accessibility-outline.svg"))
37 | svg = parseSvg(
38 | xmlNode,
39 | 512, 512
40 | )
41 |
--------------------------------------------------------------------------------
/tests/fuzz_bmp.nim:
--------------------------------------------------------------------------------
1 | import flatty/binny, os, pixie/common, pixie/fileformats/bmp, random, strformat
2 |
3 | randomize()
4 |
5 | var originals = @["tests/fileformats/bmp/knight.32.bmp"]
6 | for file in walkFiles("tests/fileformats/bmp/bmpsuite/*"):
7 | originals.add(file)
8 |
9 | for i in 0 ..< 1000:
10 | let file = originals[rand(originals.len-1)]
11 | var data = readFile(file)
12 | let
13 | pos = rand(data.len-1)
14 | value = rand(255).char
15 | # pos = 27355
16 | # value = '&'
17 | data[pos] = value
18 |
19 | let
20 | width = data.readInt32(18).int
21 | height = data.readInt32(22).int
22 | if abs(width) > 1000 or abs(height) > 1000:
23 | echo "too big"
24 | continue
25 |
26 | echo &"{i} {file} {pos} {repr(value)}"
27 | try:
28 | let img = decodeBmp(data)
29 | doAssert img.height > 0 and img.width > 0
30 | except PixieError:
31 | discard
32 |
33 | data = data[0 ..< pos]
34 | try:
35 | let img = decodeBmp(data)
36 | doAssert img.height > 0 and img.width > 0
37 | except PixieError:
38 | discard
39 |
--------------------------------------------------------------------------------
/tests/test_ppm.nim:
--------------------------------------------------------------------------------
1 | import pixie/fileformats/ppm
2 |
3 | block:
4 | for format in @["p3", "p6"]:
5 | let
6 | path = "tests/fileformats/ppm/feep." & $format & ".master.ppm"
7 | image = decodePpm(readFile(path))
8 | dimensions = decodePpmDimensions(readFile(path))
9 | writeFile("tests/fileformats/ppm/feep." & $format & ".ppm", encodePpm(image))
10 | doAssert image.width == dimensions.width
11 | doAssert image.height == dimensions.height
12 |
13 | block:
14 | let
15 | path = "tests/fileformats/ppm/feep.p3.hidepth.master.ppm"
16 | image = decodePpm(readFile(path))
17 | dimensions = decodePpmDimensions(readFile(path))
18 | writeFile("tests/fileformats/ppm/feep.p3.hidepth.ppm", encodePpm(image))
19 | doAssert image.width == dimensions.width
20 | doAssert image.height == dimensions.height
21 |
22 | # produced output should be identical to P6 master
23 | let p6Master = readFile("tests/fileformats/ppm/feep.p6.master.ppm")
24 | for image in @["p3", "p6", "p3.hidepth"]:
25 | doAssert readFile("tests/fileformats/ppm/feep." & $image & ".ppm") == p6Master
26 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2020 Andre von Houck and Ryan Oldenburg
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 |
7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
10 |
--------------------------------------------------------------------------------
/tests/bench_fonts.nim:
--------------------------------------------------------------------------------
1 | import benchy, pixie
2 |
3 | const text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis in quam in nulla bibendum luctus. Integer dui lectus, ultricies commodo enim quis, laoreet lacinia erat. Vivamus ultrices maximus risus, non aliquam quam sagittis quis. Ut nec diam vitae tortor interdum ullamcorper in aliquet velit. Ut sed lobortis mi. Nulla venenatis lectus varius justo lacinia, quis sollicitudin nunc ultrices. Donec a suscipit arcu, id egestas neque. Nullam commodo pharetra est. Nullam gravida nibh eget quam venenatis lacinia. Vestibulum et libero arcu. Sed dignissim enim eros. Nullam eleifend luctus erat sed luctus. Nunc tincidunt, mi nec tincidunt tristique, ex nulla lobortis sem, sit amet finibus purus justo non massa."
4 |
5 | var font = readFont("tests/fonts/Roboto-Regular_1.ttf")
6 | font.size = 16
7 |
8 | let image = newImage(500, 300)
9 |
10 | timeIt "typeset":
11 | discard font.typeset(text, bounds = vec2(image.width.float32, 0))
12 |
13 | timeIt "fill text":
14 | image.fill(rgba(255, 255, 255, 255))
15 | image.fillText(font, text, bounds = vec2(image.width.float32, 0))
16 |
--------------------------------------------------------------------------------
/tests/test_png.nim:
--------------------------------------------------------------------------------
1 | import pixie, pixie/fileformats/png, pngsuite, strformat
2 |
3 | for file in pngSuiteFiles:
4 | let
5 | original = readFile(&"tests/fileformats/png/pngsuite/{file}.png")
6 | decoded = decodePng(original)
7 | encoded = encodePng(decoded)
8 |
9 | block:
10 | for channels in 1 .. 4:
11 | var data: seq[uint8]
12 | for x in 0 ..< 16:
13 | for y in 0 ..< 16:
14 | var components = newSeq[uint8](channels)
15 | for i in 0 ..< channels:
16 | components[i] = (x * 16).uint8
17 | data.add(components)
18 | let encoded = encodePng(16, 16, channels, data[0].addr, data.len)
19 |
20 | for file in pngSuiteCorruptedFiles:
21 | try:
22 | discard decodePng(readFile(&"tests/fileformats/png/pngsuite/{file}.png"))
23 | doAssert false
24 | except PixieError:
25 | discard
26 |
27 | block:
28 | discard readImage("tests/fileformats/png/trailing_data.png")
29 |
30 | block:
31 | let dimensions =
32 | decodeImageDimensions(readFile("tests/fileformats/png/mandrill.png"))
33 | doAssert dimensions.width == 512
34 | doAssert dimensions.height == 512
35 |
--------------------------------------------------------------------------------
/tests/fileformats/svg/quad01.svg:
--------------------------------------------------------------------------------
1 |
2 |
28 |
29 |
--------------------------------------------------------------------------------
/tests/fileformats/svg/miterlimit.svg:
--------------------------------------------------------------------------------
1 |
25 |
--------------------------------------------------------------------------------
/pixie.nimble:
--------------------------------------------------------------------------------
1 | version = "5.1.0"
2 | author = "Andre von Houck and Ryan Oldenburg"
3 | description = "Full-featured 2d graphics library for Nim."
4 | license = "MIT"
5 |
6 | srcDir = "src"
7 |
8 | requires "nim >= 1.4.8"
9 | requires "vmath >= 1.1.4"
10 | requires "chroma >= 0.2.6"
11 | requires "zippy >= 0.10.3"
12 | requires "flatty >= 0.3.4"
13 | requires "nimsimd >= 1.2.4"
14 | requires "bumpy >= 1.1.3"
15 | requires "crunchy >= 0.1.0"
16 |
17 | task bindings, "Generate bindings":
18 |
19 | proc compile(libName: string, flags = "") =
20 | exec "nim c -f " & flags & " -d:release --app:lib --gc:arc --tlsEmulation:off --out:" & libName & " --outdir:bindings/generated bindings/bindings.nim"
21 |
22 | when defined(windows):
23 | compile "pixie.dll"
24 |
25 | elif defined(macosx):
26 | compile "libpixie.dylib.arm", "--cpu:arm64 -l:'-target arm64-apple-macos11' -t:'-target arm64-apple-macos11'"
27 | compile "libpixie.dylib.x64", "--cpu:amd64 -l:'-target x86_64-apple-macos10.12' -t:'-target x86_64-apple-macos10.12'"
28 | exec "lipo bindings/generated/libpixie.dylib.arm bindings/generated/libpixie.dylib.x64 -output bindings/generated/libpixie.dylib -create"
29 |
30 | else:
31 | compile "libpixie.so"
32 |
--------------------------------------------------------------------------------
/tests/bench_paints.nim:
--------------------------------------------------------------------------------
1 | import benchy, pixie
2 |
3 | let image = newImage(1000, 1000)
4 |
5 | timeIt "GradientLinear vertical":
6 | let paint = newPaint(LinearGradientPaint)
7 | paint.gradientHandlePositions = @[
8 | vec2(50, 0),
9 | vec2(50, 1000),
10 | ]
11 | paint.gradientStops = @[
12 | ColorStop(color: color(1, 0, 0, 1), position: 0),
13 | ColorStop(color: color(1, 0, 0, 0.15625), position: 1.0),
14 | ]
15 | image.fillGradient(paint)
16 |
17 | timeIt "GradientLinear horizontal":
18 | let paint = newPaint(LinearGradientPaint)
19 | paint.gradientHandlePositions = @[
20 | vec2(0, 50),
21 | vec2(1000, 50),
22 | ]
23 | paint.gradientStops = @[
24 | ColorStop(color: color(1, 0, 0, 1), position: 0),
25 | ColorStop(color: color(1, 0, 0, 0.15625), position: 1.0),
26 | ]
27 | image.fillGradient(paint)
28 |
29 | # timeIt "GradientLinear radial":
30 | # discard
31 |
32 | let image100 = newImage(100, 100)
33 |
34 | timeIt "GradientLinear angular":
35 | let paint = newPaint(AngularGradientPaint)
36 | paint.gradientHandlePositions = @[
37 | vec2(500, 500),
38 | vec2(1000, 500),
39 | vec2(500, 1000)
40 | ]
41 | paint.gradientStops = @[
42 | ColorStop(color: color(1, 0, 0, 1), position: 0),
43 | ColorStop(color: color(1, 0, 0, 0.15625), position: 1.0),
44 | ]
45 | image100.fillGradient(paint)
46 |
--------------------------------------------------------------------------------
/tests/validate_fonts.nim:
--------------------------------------------------------------------------------
1 | import pixie, stb_truetype, unicode
2 |
3 | let fontFiles = [
4 | # "tests/fonts/Roboto-Regular_1.ttf"
5 | # "tests/fonts/Aclonica-Regular_1.ttf"
6 | # "tests/fonts/Ubuntu-Regular_1.ttf"
7 | # "tests/fonts/IBMPlexSans-Regular_2.ttf"
8 | # "tests/fonts/NotoSans-Regular_4.ttf"
9 | "tests/fonts/Pacifico-Regular_4.ttf"
10 | ]
11 |
12 | for fontFile in fontFiles:
13 | let stbtt = initFont(readFile(fontFile))
14 | var font = readFont(fontFile)
15 |
16 | var ascent, descent, lineGap: cint
17 | stbtt.getFontVMetrics(ascent, descent, lineGap)
18 |
19 | doAssert font.typeface.ascent == ascent.float32
20 | doAssert font.typeface.descent == descent.float32
21 | doAssert font.typeface.lineGap == lineGap.float32
22 |
23 | for i in 32 .. 126:
24 | var advanceWidth, leftSideBearing: cint
25 | stbtt.getCodepointHMetrics(Rune(i), advanceWidth, leftSideBearing)
26 |
27 | doAssert font.typeface.getAdvance(Rune(i)) == advanceWidth.float32
28 |
29 | for i in 32 .. 126:
30 | for j in 32 .. 126:
31 | # echo i, ": ", $Rune(i), " ", j, ": ", $Rune(j)
32 | let
33 | a = stbtt.getCodepointKernAdvance(Rune(i), Rune(j)).float32
34 | b = font.typeface.getKerningAdjustment(Rune(i), Rune(j))
35 | if a != b:
36 | # echo fontFile
37 | echo i, ": ", $Rune(i), " ", j, ": ", $Rune(j)
38 | echo "DISAGREE: ", a, " != ", b, " <<<<<<<<<<<<<<<<<<<<<<<<<<<"
39 | # quit()
40 |
41 | # echo stbtt.getCodepointKernAdvance(Rune('r'), Rune('s')).float32
42 | # echo font.typeface.getKerningAdjustment(Rune('r'), Rune('s'))
43 |
--------------------------------------------------------------------------------
/tools/gen_readme.nim:
--------------------------------------------------------------------------------
1 | import os, osproc, strutils
2 |
3 | proc cutBetween(str, a, b: string): string =
4 | let
5 | cutA = str.find(a)
6 | cutB = str.find(b)
7 | if cutA == -1 or cutB == -1:
8 | return ""
9 | return str[cutA + a.len..