pixie/docs/pixie/paths.html
2021-02-25 11:48:34 -06:00

672 lines
69 KiB
HTML

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- This file is generated by Nim. -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Favicon -->
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
<!-- Google fonts -->
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
<!-- CSS -->
<title>pixie/paths</title>
<link rel="stylesheet" type="text/css" href="../nimdoc.out.css">
<script type="text/javascript" src="../dochack.js"></script>
<script type="text/javascript">
function main() {
var pragmaDots = document.getElementsByClassName("pragmadots");
for (var i = 0; i < pragmaDots.length; i++) {
pragmaDots[i].onclick = function(event) {
// Hide tease
event.target.parentNode.style.display = "none";
// Show actual
event.target.parentNode.nextElementSibling.style.display = "inline";
}
}
const toggleSwitch = document.querySelector('.theme-switch input[type="checkbox"]');
function switchTheme(e) {
if (e.target.checked) {
document.documentElement.setAttribute('data-theme', 'dark');
localStorage.setItem('theme', 'dark');
} else {
document.documentElement.setAttribute('data-theme', 'light');
localStorage.setItem('theme', 'light');
}
}
toggleSwitch.addEventListener('change', switchTheme, false);
const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null;
if (currentTheme) {
document.documentElement.setAttribute('data-theme', currentTheme);
if (currentTheme === 'dark') {
toggleSwitch.checked = true;
}
}
}
</script>
</head>
<body onload="main()">
<div class="document" id="documentId">
<div class="container">
<h1 class="title">pixie/paths</h1>
<div class="row">
<div class="three columns">
<div class="theme-switch-wrapper">
<label class="theme-switch" for="checkbox">
<input type="checkbox" id="checkbox" />
<div class="slider round"></div>
</label>
&nbsp;&nbsp;&nbsp; <em>Dark Mode</em>
</div>
<div id="global-links">
<ul class="simple">
<li>
<a href="../theindex.html">Index</a>
</li>
</ul>
</div>
<div id="searchInputDiv">
Search: <input type="text" id="searchInput"
onkeyup="search()" />
</div>
<div>
Group by:
<select onchange="groupBy(this.value)">
<option value="section">Section</option>
<option value="type">Type</option>
</select>
</div>
<ul class="simple simple-toc" id="toc-list">
<li>
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
<ul class="simple simple-toc-section">
</ul>
</li>
<li>
<a class="reference reference-toplevel" href="#7" id="57">Types</a>
<ul class="simple simple-toc-section">
<li><a class="reference" href="#WindingRule"
title="WindingRule = enum
wrNonZero, wrEvenOdd">WindingRule</a></li>
<li><a class="reference" href="#LineCap"
title="LineCap = enum
lcButt, lcRound, lcSquare">LineCap</a></li>
<li><a class="reference" href="#LineJoin"
title="LineJoin = enum
ljMiter, ljRound, ljBevel">LineJoin</a></li>
<li><a class="reference" href="#PathCommandKind"
title="PathCommandKind = enum
Close, Move, Line, HLine, VLine, Cubic, SCubic, Quad, TQuad, Arc, RMove,
RLine, RHLine, RVLine, RCubic, RSCubic, RQuad, RTQuad, RArc">PathCommandKind</a></li>
<li><a class="reference" href="#PathCommand"
title="PathCommand = object
kind*: PathCommandKind
numbers*: seq[float32]">PathCommand</a></li>
<li><a class="reference" href="#Path"
title="Path = object
commands*: seq[PathCommand]
start, at: Vec2">Path</a></li>
<li><a class="reference" href="#SomePath"
title="SomePath = Path | string | seq[seq[Vec2]]">SomePath</a></li>
</ul>
</li>
<li>
<a class="reference reference-toplevel" href="#12" id="62">Procs</a>
<ul class="simple simple-toc-section">
<ul class="simple nested-toc-section">bezierCurveTo
<li><a class="reference" href="#bezierCurveTo%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"
title="bezierCurveTo(path: var Path; x1, y1, x2, y2, x3, y3: float32)">bezierCurveTo,<wbr>Path,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>float32</a></li>
<li><a class="reference" href="#bezierCurveTo%2CPath%2CVec2%2CVec2%2CVec2"
title="bezierCurveTo(path: var Path; ctrl1, ctrl2, to: Vec2)">bezierCurveTo,<wbr>Path,<wbr>Vec2,<wbr>Vec2,<wbr>Vec2</a></li>
</ul>
<ul class="simple nested-toc-section">transform
<li><a class="reference" href="#transform%2CPath%2CMat3"
title="transform(path: var Path; mat: Mat3)">transform,<wbr>Path,<wbr>Mat3</a></li>
</ul>
<ul class="simple nested-toc-section">addPath
<li><a class="reference" href="#addPath%2CPath%2CPath"
title="addPath(path: var Path; other: Path)">addPath,<wbr>Path,<wbr>Path</a></li>
</ul>
<ul class="simple nested-toc-section">$
<li><a class="reference" href="#%24%2CPath"
title="`$`(path: Path): string">$,<wbr>Path</a></li>
</ul>
<ul class="simple nested-toc-section">strokePath
<li><a class="reference" href="#strokePath%2CImage%2CSomePath%2CColorRGBA%2Cfloat"
title="strokePath(image: Image; path: SomePath; color: ColorRGBA; strokeWidth = 1.0;
lineCap = lcButt; lineJoin = ljMiter; blendMode = bmNormal)">strokePath,<wbr>Image,<wbr>SomePath,<wbr>ColorRGBA,<wbr>float</a></li>
<li><a class="reference" href="#strokePath%2CImage%2CSomePath%2CColorRGBA%2C%2Cfloat"
title="strokePath(image: Image; path: SomePath; color: ColorRGBA;
transform: Vec2 | Mat3; strokeWidth = 1.0; lineCap = lcButt;
lineJoin = ljMiter; blendMode = bmNormal)">strokePath,<wbr>Image,<wbr>SomePath,<wbr>ColorRGBA,<wbr>,<wbr>float</a></li>
<li><a class="reference" href="#strokePath%2CMask%2CSomePath%2Cfloat"
title="strokePath(mask: Mask; path: SomePath; strokeWidth = 1.0; lineCap = lcButt;
lineJoin = ljMiter)">strokePath,<wbr>Mask,<wbr>SomePath,<wbr>float</a></li>
<li><a class="reference" href="#strokePath%2CMask%2CSomePath%2C%2Cfloat"
title="strokePath(mask: Mask; path: SomePath; transform: Vec2 | Mat3;
strokeWidth = 1.0; lineCap = lcButt; lineJoin = ljMiter)">strokePath,<wbr>Mask,<wbr>SomePath,<wbr>,<wbr>float</a></li>
</ul>
<ul class="simple nested-toc-section">ellipticalArcTo
<li><a class="reference" href="#ellipticalArcTo%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cbool%2Cbool%2Cfloat32%2Cfloat32"
title="ellipticalArcTo(path: var Path; rx, ry: float32; xAxisRotation: float32;
largeArcFlag, sweepFlag: bool; x, y: float32)">ellipticalArcTo,<wbr>Path,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>bool,<wbr>bool,<wbr>float32,<wbr>float32</a></li>
</ul>
<ul class="simple nested-toc-section">roundedRect
<li><a class="reference" href="#roundedRect%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"
title="roundedRect(path: var Path; x, y, w, h, nw, ne, se, sw: float32;
clockwise = true)">roundedRect,<wbr>Path,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>float32</a></li>
<li><a class="reference" href="#roundedRect%2CPath%2CVec2%2CVec2%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"
title="roundedRect(path: var Path; pos, wh: Vec2; nw, ne, se, sw: float32;
clockwise = true)">roundedRect,<wbr>Path,<wbr>Vec2,<wbr>Vec2,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>float32</a></li>
<li><a class="reference" href="#roundedRect%2CPath%2CRect%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"
title="roundedRect(path: var Path; rect: Rect; nw, ne, se, sw: float32;
clockwise = true)">roundedRect,<wbr>Path,<wbr>Rect,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>float32</a></li>
</ul>
<ul class="simple nested-toc-section">ellipse
<li><a class="reference" href="#ellipse%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"
title="ellipse(path: var Path; cx, cy, rx, ry: float32)">ellipse,<wbr>Path,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>float32</a></li>
<li><a class="reference" href="#ellipse%2CPath%2CVec2%2Cfloat32%2Cfloat32"
title="ellipse(path: var Path; center: Vec2; rx, ry: float32)">ellipse,<wbr>Path,<wbr>Vec2,<wbr>float32,<wbr>float32</a></li>
</ul>
<ul class="simple nested-toc-section">quadraticCurveTo
<li><a class="reference" href="#quadraticCurveTo%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"
title="quadraticCurveTo(path: var Path; x1, y1, x2, y2: float32)">quadraticCurveTo,<wbr>Path,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>float32</a></li>
<li><a class="reference" href="#quadraticCurveTo%2CPath%2CVec2%2CVec2"
title="quadraticCurveTo(path: var Path; ctrl, to: Vec2)">quadraticCurveTo,<wbr>Path,<wbr>Vec2,<wbr>Vec2</a></li>
</ul>
<ul class="simple nested-toc-section">moveTo
<li><a class="reference" href="#moveTo%2CPath%2Cfloat32%2Cfloat32"
title="moveTo(path: var Path; x, y: float32)">moveTo,<wbr>Path,<wbr>float32,<wbr>float32</a></li>
<li><a class="reference" href="#moveTo%2CPath%2CVec2"
title="moveTo(path: var Path; v: Vec2)">moveTo,<wbr>Path,<wbr>Vec2</a></li>
</ul>
<ul class="simple nested-toc-section">closePath
<li><a class="reference" href="#closePath%2CPath"
title="closePath(path: var Path)">closePath,<wbr>Path</a></li>
</ul>
<ul class="simple nested-toc-section">parsePath
<li><a class="reference" href="#parsePath%2Cstring"
title="parsePath(path: string): Path">parsePath,<wbr>string</a></li>
</ul>
<ul class="simple nested-toc-section">arcTo
<li><a class="reference" href="#arcTo%2CPath%2CVec2%2CVec2%2Cfloat32"
title="arcTo(path: var Path; ctrl1, ctrl2: Vec2; radius: float32)">arcTo,<wbr>Path,<wbr>Vec2,<wbr>Vec2,<wbr>float32</a></li>
<li><a class="reference" href="#arcTo%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"
title="arcTo(path: var Path; x1, y1, x2, y2, radius: float32)">arcTo,<wbr>Path,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>float32</a></li>
</ul>
<ul class="simple nested-toc-section">commandsToShapes
<li><a class="reference" href="#commandsToShapes%2CPath%2Cfloat32"
title="commandsToShapes(path: Path; pixelScale: float32 = 1.0): seq[seq[Vec2]]">commandsToShapes,<wbr>Path,<wbr>float32</a></li>
</ul>
<ul class="simple nested-toc-section">rect
<li><a class="reference" href="#rect%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"
title="rect(path: var Path; x, y, w, h: float32; clockwise = true)">rect,<wbr>Path,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>float32</a></li>
<li><a class="reference" href="#rect%2CPath%2CVec2%2CVec2"
title="rect(path: var Path; pos: Vec2; wh: Vec2; clockwise = true)">rect,<wbr>Path,<wbr>Vec2,<wbr>Vec2</a></li>
<li><a class="reference" href="#rect%2CPath%2CRect"
title="rect(path: var Path; rect: Rect; clockwise = true)">rect,<wbr>Path,<wbr>Rect</a></li>
</ul>
<ul class="simple nested-toc-section">polygon
<li><a class="reference" href="#polygon%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cint"
title="polygon(path: var Path; x, y, size: float32; sides: int)">polygon,<wbr>Path,<wbr>float32,<wbr>float32,<wbr>float32,<wbr>int</a></li>
<li><a class="reference" href="#polygon%2CPath%2CVec2%2Cfloat32%2Cint"
title="polygon(path: var Path; pos: Vec2; size: float32; sides: int)">polygon,<wbr>Path,<wbr>Vec2,<wbr>float32,<wbr>int</a></li>
</ul>
<ul class="simple nested-toc-section">lineTo
<li><a class="reference" href="#lineTo%2CPath%2Cfloat32%2Cfloat32"
title="lineTo(path: var Path; x, y: float32)">lineTo,<wbr>Path,<wbr>float32,<wbr>float32</a></li>
<li><a class="reference" href="#lineTo%2CPath%2CVec2"
title="lineTo(path: var Path; v: Vec2)">lineTo,<wbr>Path,<wbr>Vec2</a></li>
</ul>
<ul class="simple nested-toc-section">fillPath
<li><a class="reference" href="#fillPath%2CImage%2CSomePath%2CColorRGBA"
title="fillPath(image: Image; path: SomePath; color: ColorRGBA;
windingRule = wrNonZero; blendMode = bmNormal)">fillPath,<wbr>Image,<wbr>SomePath,<wbr>ColorRGBA</a></li>
<li><a class="reference" href="#fillPath%2CImage%2CSomePath%2CColorRGBA%2C"
title="fillPath(image: Image; path: SomePath; color: ColorRGBA; transform: Vec2 | Mat3;
windingRule = wrNonZero; blendMode = bmNormal)">fillPath,<wbr>Image,<wbr>SomePath,<wbr>ColorRGBA,<wbr></a></li>
<li><a class="reference" href="#fillPath%2CMask%2CSomePath"
title="fillPath(mask: Mask; path: SomePath; windingRule = wrNonZero)">fillPath,<wbr>Mask,<wbr>SomePath</a></li>
<li><a class="reference" href="#fillPath%2CMask%2CSomePath%2C"
title="fillPath(mask: Mask; path: SomePath; transform: Vec2 | Mat3;
windingRule = wrNonZero)">fillPath,<wbr>Mask,<wbr>SomePath,<wbr></a></li>
<li><a class="reference" href="#fillPath%2CImage%2CSomePath%2CPaint"
title="fillPath(image: Image; path: SomePath; paint: Paint; windingRule = wrNonZero)">fillPath,<wbr>Image,<wbr>SomePath,<wbr>Paint</a></li>
</ul>
</ul>
</li>
<li>
<a class="reference reference-toplevel" href="#15" id="65">Iterators</a>
<ul class="simple simple-toc-section">
<li><a class="reference" href="#segments.i%2Cseq%5BVec2%5D"
title="segments(s: seq[Vec2]): Segment">segments</a></li>
</ul>
</li>
</ul>
</div>
<div class="nine columns" id="content">
<div id="tocRoot"></div>
<p class="module-desc"></p>
<div class="section" id="6">
<h1><a class="toc-backref" href="#6">Imports</a></h1>
<dl class="item">
<a class="reference external" href="blends.html">blends</a>, <a class="reference external" href="common.html">common</a>, <a class="reference external" href="images.html">images</a>, <a class="reference external" href="masks.html">masks</a>, <a class="reference external" href="paints.html">paints</a>
</dl></div>
<div class="section" id="7">
<h1><a class="toc-backref" href="#7">Types</a></h1>
<dl class="item">
<a id="WindingRule"></a>
<dt><pre><a href="paths.html#WindingRule"><span class="Identifier">WindingRule</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">wrNonZero</span><span class="Other">,</span> <span class="Identifier">wrEvenOdd</span></pre></dt>
<dd>
Winding rules.
</dd>
<a id="LineCap"></a>
<dt><pre><a href="paths.html#LineCap"><span class="Identifier">LineCap</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">lcButt</span><span class="Other">,</span> <span class="Identifier">lcRound</span><span class="Other">,</span> <span class="Identifier">lcSquare</span></pre></dt>
<dd>
Line cap type for strokes.
</dd>
<a id="LineJoin"></a>
<dt><pre><a href="paths.html#LineJoin"><span class="Identifier">LineJoin</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">ljMiter</span><span class="Other">,</span> <span class="Identifier">ljRound</span><span class="Other">,</span> <span class="Identifier">ljBevel</span></pre></dt>
<dd>
Line join type for strokes.
</dd>
<a id="PathCommandKind"></a>
<dt><pre><a href="paths.html#PathCommandKind"><span class="Identifier">PathCommandKind</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
<span class="Identifier">Close</span><span class="Other">,</span> <span class="Identifier">Move</span><span class="Other">,</span> <span class="Identifier">Line</span><span class="Other">,</span> <span class="Identifier">HLine</span><span class="Other">,</span> <span class="Identifier">VLine</span><span class="Other">,</span> <span class="Identifier">Cubic</span><span class="Other">,</span> <span class="Identifier">SCubic</span><span class="Other">,</span> <span class="Identifier">Quad</span><span class="Other">,</span> <span class="Identifier">TQuad</span><span class="Other">,</span> <span class="Identifier">Arc</span><span class="Other">,</span> <span class="Identifier">RMove</span><span class="Other">,</span>
<span class="Identifier">RLine</span><span class="Other">,</span> <span class="Identifier">RHLine</span><span class="Other">,</span> <span class="Identifier">RVLine</span><span class="Other">,</span> <span class="Identifier">RCubic</span><span class="Other">,</span> <span class="Identifier">RSCubic</span><span class="Other">,</span> <span class="Identifier">RQuad</span><span class="Other">,</span> <span class="Identifier">RTQuad</span><span class="Other">,</span> <span class="Identifier">RArc</span></pre></dt>
<dd>
Type of path commands
</dd>
<a id="PathCommand"></a>
<dt><pre><a href="paths.html#PathCommand"><span class="Identifier">PathCommand</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">kind</span><span class="Operator">*</span><span class="Other">:</span> <a href="paths.html#PathCommandKind"><span class="Identifier">PathCommandKind</span></a>
<span class="Identifier">numbers</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">float32</span><span class="Other">]</span>
</pre></dt>
<dd>
Binary version of an SVG command
</dd>
<a id="Path"></a>
<dt><pre><a href="paths.html#Path"><span class="Identifier">Path</span></a> <span class="Other">=</span> <span class="Keyword">object</span>
<span class="Identifier">commands</span><span class="Operator">*</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><a href="paths.html#PathCommand"><span class="Identifier">PathCommand</span></a><span class="Other">]</span>
<span class="Identifier">start</span><span class="Other">,</span> <span class="Identifier">at</span><span class="Other">:</span> <span class="Identifier">Vec2</span>
</pre></dt>
<dd>
Used to hold paths and create paths.
</dd>
<a id="SomePath"></a>
<dt><pre><a href="paths.html#SomePath"><span class="Identifier">SomePath</span></a> <span class="Other">=</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a> <span class="Operator">|</span> <span class="Identifier">string</span> <span class="Operator">|</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">Vec2</span><span class="Other">]</span><span class="Other">]</span></pre></dt>
<dd>
</dd>
</dl></div>
<div class="section" id="12">
<h1><a class="toc-backref" href="#12">Procs</a></h1>
<dl class="item">
<a id="$,Path"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#%24%2CPath"><span class="Identifier">`$`</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Turn path int into a string.
</dd>
<a id="parsePath,string"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#parsePath%2Cstring"><span class="Identifier">parsePath</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">)</span><span class="Other">:</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Converts a SVG style path string into seq of commands.
</dd>
<a id="transform,Path,Mat3"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#transform%2CPath%2CMat3"><span class="Identifier">transform</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">mat</span><span class="Other">:</span> <span class="Identifier">Mat3</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Apply a matrix transform to a path.
</dd>
<a id="addPath,Path,Path"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#addPath%2CPath%2CPath"><span class="Identifier">addPath</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">other</span><span class="Other">:</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Adds a path to the current path.
</dd>
<a id="closePath,Path"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#closePath%2CPath"><span class="Identifier">closePath</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Closes a path (draws a line to the start).
</dd>
<a id="moveTo,Path,float32,float32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#moveTo%2CPath%2Cfloat32%2Cfloat32"><span class="Identifier">moveTo</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">,</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Moves the current drawing pen to a new position and starts a new shape.
</dd>
<a id="moveTo,Path,Vec2"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#moveTo%2CPath%2CVec2"><span class="Identifier">moveTo</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">v</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Moves the current drawing pen to a new position and starts a new shape.
</dd>
<a id="lineTo,Path,float32,float32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#lineTo%2CPath%2Cfloat32%2Cfloat32"><span class="Identifier">lineTo</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">,</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Adds a line.
</dd>
<a id="lineTo,Path,Vec2"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#lineTo%2CPath%2CVec2"><span class="Identifier">lineTo</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">v</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Adds a line.
</dd>
<a id="bezierCurveTo,Path,float32,float32,float32,float32,float32,float32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#bezierCurveTo%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"><span class="Identifier">bezierCurveTo</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">x1</span><span class="Other">,</span> <span class="Identifier">y1</span><span class="Other">,</span> <span class="Identifier">x2</span><span class="Other">,</span> <span class="Identifier">y2</span><span class="Other">,</span> <span class="Identifier">x3</span><span class="Other">,</span> <span class="Identifier">y3</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Adds a cubic Bézier curve to the path. This requires three points. The first two points are control points and the third is the end point. The starting point is the last point in the current path, which can be changed using moveTo() before creating the curve.
</dd>
<a id="bezierCurveTo,Path,Vec2,Vec2,Vec2"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#bezierCurveTo%2CPath%2CVec2%2CVec2%2CVec2"><span class="Identifier">bezierCurveTo</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">ctrl1</span><span class="Other">,</span> <span class="Identifier">ctrl2</span><span class="Other">,</span> <span class="Identifier">to</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
</dd>
<a id="quadraticCurveTo,Path,float32,float32,float32,float32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#quadraticCurveTo%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"><span class="Identifier">quadraticCurveTo</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">x1</span><span class="Other">,</span> <span class="Identifier">y1</span><span class="Other">,</span> <span class="Identifier">x2</span><span class="Other">,</span> <span class="Identifier">y2</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Adds a quadratic Bézier curve to the path. This requires 2 points. The first point is the control point and the second is the end point. The starting point is the last point in the current path, which can be changed using moveTo() before creating the curve.
</dd>
<a id="quadraticCurveTo,Path,Vec2,Vec2"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#quadraticCurveTo%2CPath%2CVec2%2CVec2"><span class="Identifier">quadraticCurveTo</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">ctrl</span><span class="Other">,</span> <span class="Identifier">to</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Adds a quadratic Bézier curve to the path. This requires 2 points. The first point is the control point and the second is the end point. The starting point is the last point in the current path, which can be changed using moveTo() before creating the curve.
</dd>
<a id="arcTo,Path,Vec2,Vec2,float32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#arcTo%2CPath%2CVec2%2CVec2%2Cfloat32"><span class="Identifier">arcTo</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">ctrl1</span><span class="Other">,</span> <span class="Identifier">ctrl2</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">;</span> <span class="Identifier">radius</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span>
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Adds a circular arc to the current sub-path, using the given control points and radius.
</dd>
<a id="arcTo,Path,float32,float32,float32,float32,float32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#arcTo%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"><span class="Identifier">arcTo</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">x1</span><span class="Other">,</span> <span class="Identifier">y1</span><span class="Other">,</span> <span class="Identifier">x2</span><span class="Other">,</span> <span class="Identifier">y2</span><span class="Other">,</span> <span class="Identifier">radius</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span>
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Adds a circular arc to the current sub-path, using the given control points and radius.
</dd>
<a id="ellipticalArcTo,Path,float32,float32,float32,bool,bool,float32,float32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#ellipticalArcTo%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cbool%2Cbool%2Cfloat32%2Cfloat32"><span class="Identifier">ellipticalArcTo</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">rx</span><span class="Other">,</span> <span class="Identifier">ry</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span> <span class="Identifier">xAxisRotation</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span>
<span class="Identifier">largeArcFlag</span><span class="Other">,</span> <span class="Identifier">sweepFlag</span><span class="Other">:</span> <span class="Identifier">bool</span><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">,</span> <span class="Identifier">y</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Adds an elliptical arc to the current sub-path, using the given radius ratios, sweep flags, and end position.
</dd>
<a id="rect,Path,float32,float32,float32,float32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#rect%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"><span class="Identifier">rect</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">,</span> <span class="Identifier">y</span><span class="Other">,</span> <span class="Identifier">w</span><span class="Other">,</span> <span class="Identifier">h</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span> <span class="Identifier">clockwise</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Adds a rectangle. Clockwise param can be used to subtract a rect from a path when using even-odd winding rule.
</dd>
<a id="rect,Path,Vec2,Vec2"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#rect%2CPath%2CVec2%2CVec2"><span class="Identifier">rect</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">pos</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">;</span> <span class="Identifier">wh</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">;</span> <span class="Identifier">clockwise</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span>
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Adds a rectangle. Clockwise param can be used to subtract a rect from a path when using even-odd winding rule.
</dd>
<a id="rect,Path,Rect"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#rect%2CPath%2CRect"><span class="Identifier">rect</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Identifier">Rect</span><span class="Other">;</span> <span class="Identifier">clockwise</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Adds a rectangle. Clockwise param can be used to subtract a rect from a path when using even-odd winding rule.
</dd>
<a id="roundedRect,Path,float32,float32,float32,float32,float32,float32,float32,float32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#roundedRect%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"><span class="Identifier">roundedRect</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">,</span> <span class="Identifier">y</span><span class="Other">,</span> <span class="Identifier">w</span><span class="Other">,</span> <span class="Identifier">h</span><span class="Other">,</span> <span class="Identifier">nw</span><span class="Other">,</span> <span class="Identifier">ne</span><span class="Other">,</span> <span class="Identifier">se</span><span class="Other">,</span> <span class="Identifier">sw</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span>
<span class="Identifier">clockwise</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Adds a rounded rectangle. Clockwise param can be used to subtract a rect from a path when using even-odd winding rule.
</dd>
<a id="roundedRect,Path,Vec2,Vec2,float32,float32,float32,float32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#roundedRect%2CPath%2CVec2%2CVec2%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"><span class="Identifier">roundedRect</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">pos</span><span class="Other">,</span> <span class="Identifier">wh</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">;</span> <span class="Identifier">nw</span><span class="Other">,</span> <span class="Identifier">ne</span><span class="Other">,</span> <span class="Identifier">se</span><span class="Other">,</span> <span class="Identifier">sw</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span>
<span class="Identifier">clockwise</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Adds a rounded rectangle. Clockwise param can be used to subtract a rect from a path when using even-odd winding rule.
</dd>
<a id="roundedRect,Path,Rect,float32,float32,float32,float32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#roundedRect%2CPath%2CRect%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"><span class="Identifier">roundedRect</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">rect</span><span class="Other">:</span> <span class="Identifier">Rect</span><span class="Other">;</span> <span class="Identifier">nw</span><span class="Other">,</span> <span class="Identifier">ne</span><span class="Other">,</span> <span class="Identifier">se</span><span class="Other">,</span> <span class="Identifier">sw</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span>
<span class="Identifier">clockwise</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span> <span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Adds a rounded rectangle. Clockwise param can be used to subtract a rect from a path when using even-odd winding rule.
</dd>
<a id="ellipse,Path,float32,float32,float32,float32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#ellipse%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cfloat32"><span class="Identifier">ellipse</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">cx</span><span class="Other">,</span> <span class="Identifier">cy</span><span class="Other">,</span> <span class="Identifier">rx</span><span class="Other">,</span> <span class="Identifier">ry</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Adds a ellipse.
</dd>
<a id="ellipse,Path,Vec2,float32,float32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#ellipse%2CPath%2CVec2%2Cfloat32%2Cfloat32"><span class="Identifier">ellipse</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">center</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">;</span> <span class="Identifier">rx</span><span class="Other">,</span> <span class="Identifier">ry</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span>
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Adds a ellipse.
</dd>
<a id="polygon,Path,float32,float32,float32,int"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#polygon%2CPath%2Cfloat32%2Cfloat32%2Cfloat32%2Cint"><span class="Identifier">polygon</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">x</span><span class="Other">,</span> <span class="Identifier">y</span><span class="Other">,</span> <span class="Identifier">size</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span> <span class="Identifier">sides</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Draws an n-sided regular polygon at (x, y) with the parameter size.
</dd>
<a id="polygon,Path,Vec2,float32,int"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#polygon%2CPath%2CVec2%2Cfloat32%2Cint"><span class="Identifier">polygon</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <span class="Keyword">var</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">pos</span><span class="Other">:</span> <span class="Identifier">Vec2</span><span class="Other">;</span> <span class="Identifier">size</span><span class="Other">:</span> <span class="Identifier">float32</span><span class="Other">;</span> <span class="Identifier">sides</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span><span class="Other">,</span>
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Draws a n-sided regular polygon at (x, y) with the parameter size.
</dd>
<a id="commandsToShapes,Path,float32"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#commandsToShapes%2CPath%2Cfloat32"><span class="Identifier">commandsToShapes</span></a><span class="Other">(</span><span class="Identifier">path</span><span class="Other">:</span> <a href="paths.html#Path"><span class="Identifier">Path</span></a><span class="Other">;</span> <span class="Identifier">pixelScale</span><span class="Other">:</span> <span class="Identifier">float32</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">Vec2</span><span class="Other">]</span><span class="Other">]</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma">
<span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">PixieError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Converts SVG-like commands to line segments.
</dd>
<a id="fillPath,Image,SomePath,ColorRGBA"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#fillPath%2CImage%2CSomePath%2CColorRGBA"><span class="Identifier">fillPath</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <a href="paths.html#SomePath"><span class="Identifier">SomePath</span></a><span class="Other">;</span> <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">;</span>
<span class="Identifier">windingRule</span> <span class="Other">=</span> <span class="Identifier">wrNonZero</span><span class="Other">;</span> <span class="Identifier">blendMode</span> <span class="Other">=</span> <span class="Identifier">bmNormal</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Fills a path.
</dd>
<a id="fillPath,Image,SomePath,ColorRGBA,"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#fillPath%2CImage%2CSomePath%2CColorRGBA%2C"><span class="Identifier">fillPath</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <a href="paths.html#SomePath"><span class="Identifier">SomePath</span></a><span class="Other">;</span> <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">;</span>
<span class="Identifier">transform</span><span class="Other">:</span> <span class="Identifier">Vec2</span> <span class="Operator">|</span> <span class="Identifier">Mat3</span><span class="Other">;</span> <span class="Identifier">windingRule</span> <span class="Other">=</span> <span class="Identifier">wrNonZero</span><span class="Other">;</span>
<span class="Identifier">blendMode</span> <span class="Other">=</span> <span class="Identifier">bmNormal</span><span class="Other">)</span></pre></dt>
<dd>
Fills a path.
</dd>
<a id="fillPath,Mask,SomePath"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#fillPath%2CMask%2CSomePath"><span class="Identifier">fillPath</span></a><span class="Other">(</span><span class="Identifier">mask</span><span class="Other">:</span> <a href="masks.html#Mask"><span class="Identifier">Mask</span></a><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <a href="paths.html#SomePath"><span class="Identifier">SomePath</span></a><span class="Other">;</span> <span class="Identifier">windingRule</span> <span class="Other">=</span> <span class="Identifier">wrNonZero</span><span class="Other">)</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">inline</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Fills a path.
</dd>
<a id="fillPath,Mask,SomePath,"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#fillPath%2CMask%2CSomePath%2C"><span class="Identifier">fillPath</span></a><span class="Other">(</span><span class="Identifier">mask</span><span class="Other">:</span> <a href="masks.html#Mask"><span class="Identifier">Mask</span></a><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <a href="paths.html#SomePath"><span class="Identifier">SomePath</span></a><span class="Other">;</span> <span class="Identifier">transform</span><span class="Other">:</span> <span class="Identifier">Vec2</span> <span class="Operator">|</span> <span class="Identifier">Mat3</span><span class="Other">;</span>
<span class="Identifier">windingRule</span> <span class="Other">=</span> <span class="Identifier">wrNonZero</span><span class="Other">)</span></pre></dt>
<dd>
Fills a path.
</dd>
<a id="fillPath,Image,SomePath,Paint"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#fillPath%2CImage%2CSomePath%2CPaint"><span class="Identifier">fillPath</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <a href="paths.html#SomePath"><span class="Identifier">SomePath</span></a><span class="Other">;</span> <span class="Identifier">paint</span><span class="Other">:</span> <a href="paints.html#Paint"><span class="Identifier">Paint</span></a><span class="Other">;</span>
<span class="Identifier">windingRule</span> <span class="Other">=</span> <span class="Identifier">wrNonZero</span><span class="Other">)</span></pre></dt>
<dd>
Fills a path.
</dd>
<a id="strokePath,Image,SomePath,ColorRGBA,float"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strokePath%2CImage%2CSomePath%2CColorRGBA%2Cfloat"><span class="Identifier">strokePath</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <a href="paths.html#SomePath"><span class="Identifier">SomePath</span></a><span class="Other">;</span> <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">;</span>
<span class="Identifier">strokeWidth</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">;</span> <span class="Identifier">lineCap</span> <span class="Other">=</span> <span class="Identifier">lcButt</span><span class="Other">;</span> <span class="Identifier">lineJoin</span> <span class="Other">=</span> <span class="Identifier">ljMiter</span><span class="Other">;</span>
<span class="Identifier">blendMode</span> <span class="Other">=</span> <span class="Identifier">bmNormal</span><span class="Other">)</span></pre></dt>
<dd>
Strokes a path.
</dd>
<a id="strokePath,Image,SomePath,ColorRGBA,,float"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strokePath%2CImage%2CSomePath%2CColorRGBA%2C%2Cfloat"><span class="Identifier">strokePath</span></a><span class="Other">(</span><span class="Identifier">image</span><span class="Other">:</span> <a href="images.html#Image"><span class="Identifier">Image</span></a><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <a href="paths.html#SomePath"><span class="Identifier">SomePath</span></a><span class="Other">;</span> <span class="Identifier">color</span><span class="Other">:</span> <span class="Identifier">ColorRGBA</span><span class="Other">;</span>
<span class="Identifier">transform</span><span class="Other">:</span> <span class="Identifier">Vec2</span> <span class="Operator">|</span> <span class="Identifier">Mat3</span><span class="Other">;</span> <span class="Identifier">strokeWidth</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">;</span> <span class="Identifier">lineCap</span> <span class="Other">=</span> <span class="Identifier">lcButt</span><span class="Other">;</span>
<span class="Identifier">lineJoin</span> <span class="Other">=</span> <span class="Identifier">ljMiter</span><span class="Other">;</span> <span class="Identifier">blendMode</span> <span class="Other">=</span> <span class="Identifier">bmNormal</span><span class="Other">)</span></pre></dt>
<dd>
Strokes a path.
</dd>
<a id="strokePath,Mask,SomePath,float"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strokePath%2CMask%2CSomePath%2Cfloat"><span class="Identifier">strokePath</span></a><span class="Other">(</span><span class="Identifier">mask</span><span class="Other">:</span> <a href="masks.html#Mask"><span class="Identifier">Mask</span></a><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <a href="paths.html#SomePath"><span class="Identifier">SomePath</span></a><span class="Other">;</span> <span class="Identifier">strokeWidth</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">;</span> <span class="Identifier">lineCap</span> <span class="Other">=</span> <span class="Identifier">lcButt</span><span class="Other">;</span>
<span class="Identifier">lineJoin</span> <span class="Other">=</span> <span class="Identifier">ljMiter</span><span class="Other">)</span></pre></dt>
<dd>
Strokes a path.
</dd>
<a id="strokePath,Mask,SomePath,,float"></a>
<dt><pre><span class="Keyword">proc</span> <a href="#strokePath%2CMask%2CSomePath%2C%2Cfloat"><span class="Identifier">strokePath</span></a><span class="Other">(</span><span class="Identifier">mask</span><span class="Other">:</span> <a href="masks.html#Mask"><span class="Identifier">Mask</span></a><span class="Other">;</span> <span class="Identifier">path</span><span class="Other">:</span> <a href="paths.html#SomePath"><span class="Identifier">SomePath</span></a><span class="Other">;</span> <span class="Identifier">transform</span><span class="Other">:</span> <span class="Identifier">Vec2</span> <span class="Operator">|</span> <span class="Identifier">Mat3</span><span class="Other">;</span>
<span class="Identifier">strokeWidth</span> <span class="Other">=</span> <span class="FloatNumber">1.0</span><span class="Other">;</span> <span class="Identifier">lineCap</span> <span class="Other">=</span> <span class="Identifier">lcButt</span><span class="Other">;</span> <span class="Identifier">lineJoin</span> <span class="Other">=</span> <span class="Identifier">ljMiter</span><span class="Other">)</span></pre></dt>
<dd>
Strokes a path.
</dd>
</dl></div>
<div class="section" id="15">
<h1><a class="toc-backref" href="#15">Iterators</a></h1>
<dl class="item">
<a id="segments.i,seq[Vec2]"></a>
<dt><pre><span class="Keyword">iterator</span> <a href="#segments.i%2Cseq%5BVec2%5D"><span class="Identifier">segments</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <span class="Identifier">seq</span><span class="Other">[</span><span class="Identifier">Vec2</span><span class="Other">]</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">Segment</span> <span><span class="Other">{</span><span class="Other pragmadots">...</span><span class="Other">}</span></span><span class="pragmawrap"><span class="Other">{.</span><span class="pragma"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span><span class="Other">.}</span></span></pre></dt>
<dd>
Return elements in pairs: (1st, 2nd), (2nd, 3rd) ... (n - 1, last).
</dd>
</dl></div>
</div>
</div>
<div class="row">
<div class="twelve-columns footer">
<span class="nim-sprite"></span>
<br/>
<small style="color: var(--hint);">Made with Nim. Generated: 2021-02-25 17:48:09 UTC</small>
</div>
</div>
</div>
</div>
</body>
</html>