aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFranklin Wei <franklin@rockbox.org>2020-01-01 22:23:08 -0500
committerFranklin Wei <franklin@rockbox.org>2020-01-01 22:23:08 -0500
commit06ed609b49cfe086c316839a3fe49c867e11f517 (patch)
tree683a62b24323276906cf6726b0ba7fb4238e3571
parentd7f81bc5fad06324e8afb1ff18c7ed4cc0b98f83 (diff)
downloadrastercarve-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-xrastercarve/__main__.py3
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