From b4edd635d5265d487038f23b4eca21dc081076ab Mon Sep 17 00:00:00 2001 From: Ryan Oldenburg Date: Fri, 19 Feb 2021 01:36:57 -0600 Subject: [PATCH] support rect rx and ry for svg --- src/pixie/fileformats/svg.nim | 26 +++++++++++++++++++++++++- src/pixie/paths.nim | 15 +++++++++++++++ tests/images/svg/rect02.png | Bin 27654 -> 27528 bytes 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/pixie/fileformats/svg.nim b/src/pixie/fileformats/svg.nim index ef66800..683fe68 100644 --- a/src/pixie/fileformats/svg.nim +++ b/src/pixie/fileformats/svg.nim @@ -169,8 +169,32 @@ proc draw( width = parseFloat(node.attr("width")) height = parseFloat(node.attr("height")) + var rx, ry: float32 + if node.attr("rx").len > 0: + rx = max(parseFloat(node.attr("rx")), 0) + if node.attr("ry").len > 0: + ry = max(parseFloat(node.attr("ry")), 0) + var path: Path - path.rect(x, y, width, height) + if rx > 0 or ry > 0: + if rx == 0: + rx = ry + elif ry == 0: + ry = rx + rx = min(rx, width / 2) + ry = min(ry, height / 2) + + path.moveTo(x + rx, y) + path.lineTo(x + width - rx, y) + path.ellipticalArcTo(rx, ry, 0, false, true, x + width, y + ry) + path.lineTo(x + width, y + height - ry) + path.ellipticalArcTo(rx, ry, 0, false, true, x + width - rx, y + height) + path.lineTo(x + rx, y + height) + path.ellipticalArcTo(rx, ry, 0, false, true, x, y + height - ry) + path.lineTo(x, y + ry) + path.ellipticalArcTo(rx, ry, 0, false, true, x + rx, y) + else: + path.rect(x, y, width, height) if ctx.fill != ColorRGBA(): img.fillPath(path, ctx.fill, ctx.transform) diff --git a/src/pixie/paths.nim b/src/pixie/paths.nim index e5ae49f..48cf6d1 100644 --- a/src/pixie/paths.nim +++ b/src/pixie/paths.nim @@ -353,6 +353,21 @@ proc arcTo*(path: var Path, ctrl1, ctrl2: Vec2, radius: float32) {.inline.} = proc arcTo*(path: var Path, x1, y1, x2, y2, radius: float32) = path.arcTo(vec2(x1, y1), vec2(x2, y2), radius) +proc ellipticalArcTo*( + path: var Path, + rx, ry: float32, + xAxisRotation: float32, + largeArcFlag, sweepFlag: bool, + x, y: float32 +) = + path.commands.add(PathCommand( + kind: Arc, + numbers: @[ + rx, ry, xAxisRotation, largeArcFlag.float32, sweepFlag.float32, x, y + ] + )) + path.at = vec2(x, y) + proc rect*(path: var Path, x, y, w, h: float32, clockwise = true) = if clockwise: path.moveTo(x, y) diff --git a/tests/images/svg/rect02.png b/tests/images/svg/rect02.png index 19eb5db1a8eb69c3ddcc411f4fb0d0d0033f3eaa..089b562642e46be0b776fafa0bd0c364d66e6768 100644 GIT binary patch literal 27528 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 literal 27654 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