Path Bool library code cleanup (#2000)
* Remove log statements * Add feature gates to functions in path.rs * Fix infinite parsing loop and add new test * License tweaks * Remove trailing zero in whole number floats * Flatten visual-tests directory * Code review * Clean up printlines * Add error handling to path parsing --------- Co-authored-by: Keavon Chambers <keavon@keavon.com>
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg width="48" height="48" viewBox="0 0 48 48" version="1.1" id="svg1" xmlns="http://www.w3.org/2000/svg">
|
||||
<path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 7.736544032709,7.736544032709 A 23.000000000000 23.000000000000 0.000000000000 0 1 24.000000000000,1.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 1 40.263455967291,7.736544032709 L 48.000000000000,0.000000000000 L 0.000000000000,0.000000000000 L 7.736544032709,7.736544032709 M 24.000000000000,24.000000000000 L 15.172286706553,32.827713293447 A 12.484624000000 12.484624000000 0.000000000000 0 0 24.000000000000,36.484375000000 A 12.484624000000 12.484624000000 0.000000000000 0 0 32.827713293447,32.827713293447 L 24.000000000000,24.000000000000 M 7.736544032709,40.263455967291 L 0.000000000000,48.000000000000 L 48.000000000000,48.000000000000 L 40.263455967291,40.263455967291 A 23.000000000000 23.000000000000 0.000000000000 0 1 24.000000000000,47.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 1 7.736544032709,40.263455967291 M 15.172286706553,15.172286706553 L 24.000000000000,24.000000000000 L 32.827713293447,15.172286706553 A 12.484624000000 12.484624000000 0.000000000000 0 0 24.000000000000,11.515625000000 A 12.484624000000 12.484624000000 0.000000000000 0 0 15.172286706553,15.172286706553"/>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg width="48" height="48" viewBox="0 0 48 48" version="1.1" id="svg1" xmlns="http://www.w3.org/2000/svg">
|
||||
<path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 7.736544032709,7.736544032709 A 23.000000000000 23.000000000000 0.000000000000 0 1 24.000000000000,1.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 1 40.263455967291,7.736544032709 L 48.000000000000,0.000000000000 L 0.000000000000,0.000000000000 L 7.736544032709,7.736544032709"/><path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 7.736544032709,7.736544032709 L 15.172286706553,15.172286706553 A 12.484624000000 12.484624000000 0.000000000000 0 1 24.000000000000,11.515625000000 A 12.484624000000 12.484624000000 0.000000000000 0 1 32.827713293399,15.172286706504 L 40.263455967291,7.736544032709 A 23.000000000000 23.000000000000 0.000000000000 0 0 24.000000000000,1.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 0 7.736544032709,7.736544032709"/><path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 24.000000000000,24.000000000000 L 15.172286706553,32.827713293447 A 12.484624000000 12.484624000000 0.000000000000 0 0 24.000000000000,36.484375000000 A 12.484624000000 12.484624000000 0.000000000000 0 0 32.827713293447,32.827713293447 L 24.000000000000,24.000000000000"/><path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 15.172286706553,32.827713293447 L 7.736544032709,40.263455967291 A 23.000000000000 23.000000000000 0.000000000000 0 0 24.000000000000,47.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 0 40.263455967291,40.263455967291 L 32.827713293447,32.827713293447 A 12.484624000000 12.484624000000 0.000000000000 0 1 24.000000000000,36.484375000000 A 12.484624000000 12.484624000000 0.000000000000 0 1 15.172286706808,32.827713293703"/><path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 7.736544032709,40.263455967291 L 0.000000000000,48.000000000000 L 48.000000000000,48.000000000000 L 40.263455967291,40.263455967291 A 23.000000000000 23.000000000000 0.000000000000 0 1 24.000000000000,47.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 1 7.736544032709,40.263455967291"/><path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 15.172286706553,15.172286706553 L 24.000000000000,24.000000000000 L 32.827713293447,15.172286706553 A 12.484624000000 12.484624000000 0.000000000000 0 0 24.000000000000,11.515625000000 A 12.484624000000 12.484624000000 0.000000000000 0 0 15.172286706553,15.172286706553"/>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg width="48" height="48" viewBox="0 0 48 48" version="1.1" id="svg1" xmlns="http://www.w3.org/2000/svg">
|
||||
<path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 7.736544032709,7.736544032709 A 23.000000000000 23.000000000000 0.000000000000 0 1 24.000000000000,1.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 1 40.263455967291,7.736544032709 L 48.000000000000,0.000000000000 L 0.000000000000,0.000000000000 L 7.736544032709,7.736544032709 A 23.000000000000 23.000000000000 0.000000000000 0 0 1.000000000000,24.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 0 7.736544032709,40.263455967291 L 15.172286706553,32.827713293447 A 12.484624000000 12.484624000000 0.000000000000 0 1 11.515625000000,24.000000000000 A 12.484624000000 12.484624000000 0.000000000000 0 1 15.172286706553,15.172286706553 L 7.736544032709,7.736544032709 M 32.827713293399,15.172286706504 A 12.484624000000 12.484624000000 0.000000000000 0 1 36.484375000000,24.000000000000 A 12.484624000000 12.484624000000 0.000000000000 0 1 32.827713293447,32.827713293447 L 40.263455967291,40.263455967291 A 23.000000000000 23.000000000000 0.000000000000 0 0 47.000000000000,24.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 0 40.263455967291,7.736544032709 L 32.827713293447,15.172286706553 M 24.000000000000,24.000000000000 L 15.172286706553,32.827713293447 A 12.484624000000 12.484624000000 0.000000000000 0 0 24.000000000000,36.484375000000 A 12.484624000000 12.484624000000 0.000000000000 0 0 32.827713293447,32.827713293447 L 24.000000000000,24.000000000000 M 7.736544032709,40.263455967291 L 0.000000000000,48.000000000000 L 48.000000000000,48.000000000000 L 40.263455967291,40.263455967291 A 23.000000000000 23.000000000000 0.000000000000 0 1 24.000000000000,47.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 1 7.736544032709,40.263455967291 M 15.172286706553,15.172286706553 L 24.000000000000,24.000000000000 L 32.827713293447,15.172286706553 A 12.484624000000 12.484624000000 0.000000000000 0 0 24.000000000000,11.515625000000 A 12.484624000000 12.484624000000 0.000000000000 0 0 15.172286706553,15.172286706553"/>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg width="48" height="48" viewBox="0 0 48 48" version="1.1" id="svg1" xmlns="http://www.w3.org/2000/svg">
|
||||
<path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 7.736544032709,7.736544032709 A 23.000000000000 23.000000000000 0.000000000000 0 1 24.000000000000,1.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 1 40.263455967291,7.736544032709 L 48.000000000000,0.000000000000 L 0.000000000000,0.000000000000 L 7.736544032709,7.736544032709"/><path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 7.736544032709,7.736544032709 L 15.172286706553,15.172286706553 A 12.484624000000 12.484624000000 0.000000000000 0 1 24.000000000000,11.515625000000 A 12.484624000000 12.484624000000 0.000000000000 0 1 32.827713293399,15.172286706504 L 40.263455967291,7.736544032709 A 23.000000000000 23.000000000000 0.000000000000 0 0 24.000000000000,1.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 0 7.736544032709,7.736544032709"/><path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 7.736544032709,7.736544032709 A 23.000000000000 23.000000000000 0.000000000000 0 0 1.000000000000,24.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 0 7.736544032709,40.263455967291 L 15.172286706553,32.827713293447 A 12.484624000000 12.484624000000 0.000000000000 0 1 11.515625000000,24.000000000000 A 12.484624000000 12.484624000000 0.000000000000 0 1 15.172286706553,15.172286706553 L 7.736544032709,7.736544032709"/><path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 32.827713293399,15.172286706504 A 12.484624000000 12.484624000000 0.000000000000 0 1 36.484375000000,24.000000000000 A 12.484624000000 12.484624000000 0.000000000000 0 1 32.827713293447,32.827713293447 L 40.263455967291,40.263455967291 A 23.000000000000 23.000000000000 0.000000000000 0 0 47.000000000000,24.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 0 40.263455967291,7.736544032709 L 32.827713293447,15.172286706553"/><path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 24.000000000000,24.000000000000 L 15.172286706553,32.827713293447 A 12.484624000000 12.484624000000 0.000000000000 0 0 24.000000000000,36.484375000000 A 12.484624000000 12.484624000000 0.000000000000 0 0 32.827713293447,32.827713293447 L 24.000000000000,24.000000000000"/><path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 15.172286706553,32.827713293447 L 7.736544032709,40.263455967291 A 23.000000000000 23.000000000000 0.000000000000 0 0 24.000000000000,47.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 0 40.263455967291,40.263455967291 L 32.827713293447,32.827713293447 A 12.484624000000 12.484624000000 0.000000000000 0 1 24.000000000000,36.484375000000 A 12.484624000000 12.484624000000 0.000000000000 0 1 15.172286706808,32.827713293703"/><path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 7.736544032709,40.263455967291 L 0.000000000000,48.000000000000 L 48.000000000000,48.000000000000 L 40.263455967291,40.263455967291 A 23.000000000000 23.000000000000 0.000000000000 0 1 24.000000000000,47.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 1 7.736544032709,40.263455967291"/><path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 15.172286706553,15.172286706553 L 24.000000000000,24.000000000000 L 32.827713293447,15.172286706553 A 12.484624000000 12.484624000000 0.000000000000 0 0 24.000000000000,11.515625000000 A 12.484624000000 12.484624000000 0.000000000000 0 0 15.172286706553,15.172286706553"/>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.0 KiB |
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg width="48" height="48" viewBox="0 0 48 48" version="1.1" id="svg1" xmlns="http://www.w3.org/2000/svg">
|
||||
<path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 7.736544032709,7.736544032709 L 15.172286706553,15.172286706553 A 12.484624000000 12.484624000000 0.000000000000 0 1 24.000000000000,11.515625000000 A 12.484624000000 12.484624000000 0.000000000000 0 1 32.827713293399,15.172286706504 L 40.263455967291,7.736544032709 A 23.000000000000 23.000000000000 0.000000000000 0 0 24.000000000000,1.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 0 7.736544032709,7.736544032709 M 15.172286706553,32.827713293447 L 7.736544032709,40.263455967291 A 23.000000000000 23.000000000000 0.000000000000 0 0 24.000000000000,47.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 0 40.263455967291,40.263455967291 L 32.827713293447,32.827713293447 A 12.484624000000 12.484624000000 0.000000000000 0 1 24.000000000000,36.484375000000 A 12.484624000000 12.484624000000 0.000000000000 0 1 15.172286706808,32.827713293703"/>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 48 48"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
id="a"
|
||||
style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1"
|
||||
d="M 0,0 24,24 48,0 Z M 24,24 0,48 h 48 z"/>
|
||||
<path
|
||||
id="b"
|
||||
style="display:inline;fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1;fill-opacity:1"
|
||||
d="M 24 1 A 23 23 0 0 0 1 24 A 23 23 0 0 0 24 47 A 23 23 0 0 0 47 24 A 23 23 0 0 0 24 1 z M 24 11.515625 A 12.484624 12.484624 0 0 1 36.484375 24 A 12.484624 12.484624 0 0 1 24 36.484375 A 12.484624 12.484624 0 0 1 11.515625 24 A 12.484624 12.484624 0 0 1 24 11.515625 z "/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 954 B |
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg width="48" height="48" viewBox="0 0 48 48" version="1.1" id="svg1" xmlns="http://www.w3.org/2000/svg">
|
||||
<path style="fill:#ff0000;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill-opacity:1" d="M 40.263455967291,7.736544032709 L 48.000000000000,0.000000000000 L 0.000000000000,0.000000000000 L 7.736544032709,7.736544032709 A 23.000000000000 23.000000000000 0.000000000000 0 0 1.000000000000,24.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 0 7.736544032709,40.263455967291 L 0.000000000000,48.000000000000 L 48.000000000000,48.000000000000 L 40.263455967291,40.263455967291 A 23.000000000000 23.000000000000 0.000000000000 0 0 47.000000000000,24.000000000000 A 23.000000000000 23.000000000000 0.000000000000 0 0 40.263455967291,7.736544032709 M 15.172286706808,32.827713293703 A 12.484624000000 12.484624000000 0.000000000000 0 1 11.515625000000,24.000000000000 A 12.484624000000 12.484624000000 0.000000000000 0 1 15.172286706553,15.172286706553 L 24.000000000000,24.000000000000 L 32.827713293447,15.172286706553 A 12.484624000000 12.484624000000 0.000000000000 0 1 36.484375000000,24.000000000000 A 12.484624000000 12.484624000000 0.000000000000 0 1 32.827713293447,32.827713293447 L 24.000000000000,24.000000000000 L 15.172286706553,32.827713293447"/>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |