From 83706a24298f997791d3540d1316c9c8a17dc8c3 Mon Sep 17 00:00:00 2001 From: Ryan Oldenburg Date: Wed, 24 Nov 2021 23:02:24 -0600 Subject: [PATCH 1/3] update --- tests/test_masks.nim | 34 +++++++++++++++++----------------- tests/test_svg.nim | 4 ++-- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/tests/test_masks.nim b/tests/test_masks.nim index 6f9bccc..f0ae841 100644 --- a/tests/test_masks.nim +++ b/tests/test_masks.nim @@ -1,4 +1,4 @@ -import pixie, pixie/fileformats/png +import pixie block: let mask = newMask(100, 100) @@ -34,7 +34,7 @@ block: doAssert minified.width == 50 and minified.height == 50 - writeFile("tests/masks/maskMinified.png", minified.encodePng()) + minified.writeFile("tests/masks/maskMinified.png") block: let @@ -66,7 +66,7 @@ block: b.fillPath(path) a.draw(b) - writeFile("tests/masks/maskedMask.png", a.encodePng()) + a.writeFile("tests/masks/maskedMask.png") block: let a = newMask(100, 100) @@ -79,7 +79,7 @@ block: b.fillPath(path, rgba(0, 0, 0, 255)) a.draw(b) - writeFile("tests/masks/imageMaskedMask.png", a.encodePng()) + a.writeFile("tests/masks/imageMaskedMask.png") block: let path = newPath() @@ -90,7 +90,7 @@ block: a.spread(10) - writeFile("tests/masks/spread.png", a.encodePng()) + a.writeFile("tests/masks/spread.png") block: let mask = newMask(100, 100) @@ -101,7 +101,7 @@ block: mask.fillPath(path) mask.ceil() - writeFile("tests/masks/circleMaskSharpened.png", mask.encodePng()) + mask.writeFile("tests/masks/circleMaskSharpened.png") block: let path = newPath() @@ -109,7 +109,7 @@ block: let mask = newMask(100, 100) mask.fillPath(path) - writeFile("tests/masks/drawRect.png", mask.encodePng()) + mask.writeFile("tests/masks/drawRect.png") block: let path = newPath() @@ -117,7 +117,7 @@ block: let mask = newMask(100, 100) mask.strokePath(path, strokeWidth = 10) - writeFile("tests/masks/strokeRect.png", mask.encodePng()) + mask.writeFile("tests/masks/strokeRect.png") block: let path = newPath() @@ -125,14 +125,14 @@ block: let mask = newMask(100, 100) mask.fillPath(path) - writeFile("tests/masks/drawRoundedRect.png", mask.encodePng()) + mask.writeFile("tests/masks/drawRoundedRect.png") block: let path = newPath() path.roundedRect(rect(vec2(10, 10), vec2(30, 30)), 10, 10, 10, 10) let mask = newMask(100, 100) mask.strokePath(path, strokeWidth = 10) - writeFile("tests/masks/strokeRoundedRect.png", mask.encodePng()) + mask.writeFile("tests/masks/strokeRoundedRect.png") block: let path = newPath() @@ -141,7 +141,7 @@ block: let mask = newMask(100, 100) mask.strokePath(path, strokeWidth = 10) - writeFile("tests/masks/drawSegment.png", mask.encodePng()) + mask.writeFile("tests/masks/drawSegment.png") block: let path = newPath() @@ -149,7 +149,7 @@ block: let mask = newMask(100, 100) mask.fillPath(path) - writeFile("tests/masks/drawEllipse.png", mask.encodePng()) + mask.writeFile("tests/masks/drawEllipse.png") block: let path = newPath() @@ -157,7 +157,7 @@ block: let mask = newMask(100, 100) mask.strokePath(path, strokeWidth = 10) - writeFile("tests/masks/strokeEllipse.png", mask.encodePng()) + mask.writeFile("tests/masks/strokeEllipse.png") block: let path = newPath() @@ -165,7 +165,7 @@ block: let mask = newMask(100, 100) mask.fillPath(path) - writeFile("tests/masks/drawPolygon.png", mask.encodePng()) + mask.writeFile("tests/masks/drawPolygon.png") block: let path = newPath() @@ -173,7 +173,7 @@ block: let mask = newMask(100, 100) mask.strokepath(path, strokeWidth = 10) - writeFile("tests/masks/strokePolygon.png", mask.encodePng()) + mask.writeFile("tests/masks/strokePolygon.png") block: let path = newPath() @@ -182,7 +182,7 @@ block: let mask = newMask(100, 100) mask.fillpath(path) mask.blur(20) - writeFile("tests/images/maskblur20.png", mask.encodePng()) + mask.writeFile("tests/images/maskblur20.png") block: let path = newPath() @@ -193,4 +193,4 @@ block: mask.blur(25) let minified = mask.minifyBy2() - writeFile("tests/masks/minifiedBlur.png", minified.encodePng()) + minified.writeFile("tests/masks/minifiedBlur.png") diff --git a/tests/test_svg.nim b/tests/test_svg.nim index 5d09d79..cba3332 100644 --- a/tests/test_svg.nim +++ b/tests/test_svg.nim @@ -1,4 +1,4 @@ -import pixie, pixie/fileformats/svg, strformat +import pixie, strformat const files = [ "line01", @@ -25,4 +25,4 @@ proc doDiff(rendered: Image, name: string) = diffImage.writeFile(&"tests/fileformats/svg/diffs/{name}.png") for file in files: - doDiff(decodeSvg(readFile(&"tests/fileformats/svg/{file}.svg")), file) + doDiff(decodeImage(readFile(&"tests/fileformats/svg/{file}.svg")), file) From d0014270dc4c4c4482812b395ec217344a97a28f Mon Sep 17 00:00:00 2001 From: Ryan Oldenburg Date: Thu, 25 Nov 2021 01:09:01 -0600 Subject: [PATCH 2/3] adding segs to +1 too many partitions, fix --- src/pixie/paths.nim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pixie/paths.nim b/src/pixie/paths.nim index 1b7b709..eac73a5 100644 --- a/src/pixie/paths.nim +++ b/src/pixie/paths.nim @@ -1114,7 +1114,7 @@ proc partitionSegments( else: var atPartition = max(0, segment.at.y - result.startY.float32).uint32 - toPartition = max(0, ceil(segment.to.y - result.startY.float32)).uint32 + toPartition = max(0, segment.to.y - result.startY.float32).uint32 atPartition = atPartition div result.partitionHeight toPartition = toPartition div result.partitionHeight atPartition = clamp(atPartition, 0, result.partitions.high.uint32) From 9320beecc3e3c52788cb4c2c99abbdd831d98555 Mon Sep 17 00:00:00 2001 From: Ryan Oldenburg Date: Thu, 25 Nov 2021 01:14:02 -0600 Subject: [PATCH 3/3] f --- tests/paths/gradientAngular.png | Bin 4424 -> 4386 bytes tests/paths/gradientAngularOpacity.png | Bin 4016 -> 4023 bytes tests/test_svg.nim | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/paths/gradientAngular.png b/tests/paths/gradientAngular.png index 1054f2f6bcd629353778d79937ae9197d2df3fd8..354e64bada565489779fd78ad14abcaf990f57a4 100644 GIT binary patch literal 4386 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 literal 4424 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 diff --git a/tests/paths/gradientAngularOpacity.png b/tests/paths/gradientAngularOpacity.png index 93684c7d6c50c88f1686b664fc2391e4ab784e96..acef31aff51f8c688700c8af2d80a1155052ce54 100644 GIT binary patch literal 4023 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 delta 3985 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 IntCVy7n!kjYybcN diff --git a/tests/test_svg.nim b/tests/test_svg.nim index cba3332..5d09d79 100644 --- a/tests/test_svg.nim +++ b/tests/test_svg.nim @@ -1,4 +1,4 @@ -import pixie, strformat +import pixie, pixie/fileformats/svg, strformat const files = [ "line01", @@ -25,4 +25,4 @@ proc doDiff(rendered: Image, name: string) = diffImage.writeFile(&"tests/fileformats/svg/diffs/{name}.png") for file in files: - doDiff(decodeImage(readFile(&"tests/fileformats/svg/{file}.svg")), file) + doDiff(decodeSvg(readFile(&"tests/fileformats/svg/{file}.svg")), file)