diff options
| author | Franklin Wei <franklin@rockbox.org> | 2020-01-01 22:23:08 -0500 |
|---|---|---|
| committer | Franklin Wei <franklin@rockbox.org> | 2020-01-01 22:23:08 -0500 |
| commit | 06ed609b49cfe086c316839a3fe49c867e11f517 (patch) | |
| tree | 683a62b24323276906cf6726b0ba7fb4238e3571 | |
| parent | d7f81bc5fad06324e8afb1ff18c7ed4cc0b98f83 (diff) | |
| download | rastercarve-06ed609b49cfe086c316839a3fe49c867e11f517.zip rastercarve-06ed609b49cfe086c316839a3fe49c867e11f517.tar.gz rastercarve-06ed609b49cfe086c316839a3fe49c867e11f517.tar.bz2 rastercarve-06ed609b49cfe086c316839a3fe49c867e11f517.tar.xz | |
Fix regression with line angle of 0 degrees.
This was doing a divide-by-zero before.
| -rwxr-xr-x | rastercarve/__main__.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/rastercarve/__main__.py b/rastercarve/__main__.py index 302e940..42e950b 100755 --- a/rastercarve/__main__.py +++ b/rastercarve/__main__.py @@ -201,7 +201,8 @@ def engraveLine(img_interp, img_size, ppi, start, d, step): # engrave to the edge if not inBounds(img_size, v): v -= step * d - c = min(-v[1] / d[1], (img_size[0] - v[0]) / d[0]) if d[0] > 0 else \ + c = ((img_size[0] - v[0]) / d[0]) if (d[0] > 0 and d[1] == 0) else \ + min(-v[1] / d[1], (img_size[0] - v[0]) / d[0]) if (d[0] > 0 and d[1] != 0) else \ min(-v[0] / d[0], (img_size[1] - v[1]) / d[1]) v += c * d |