Skip to content

Commit 445b09f

Browse files
authored
Merge pull request #34 from peter-l5/main
fix fill_triangle bug issue #33
2 parents 6e6bdd0 + 599db1b commit 445b09f

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

adafruit_gfx/gfx.py

+6-5
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,6 @@ def fill_triangle(self, x0, y0, x1, y1, x2, y2, *args, **kwargs):
249249
x0, x1 = x1, x0
250250
a = 0
251251
b = 0
252-
y = 0
253252
last = 0
254253
if y0 == y2:
255254
a = x0
@@ -278,18 +277,20 @@ def fill_triangle(self, x0, y0, x1, y1, x2, y2, *args, **kwargs):
278277
dy12 = 1
279278
sa = 0
280279
sb = 0
281-
if y1 == y2 or y0 == y1: # pylint: disable=consider-using-in
282-
last = y1
283-
else:
280+
y = y0
281+
if y0 == y1:
284282
last = y1 - 1
285-
for y in range(y0, last + 1):
283+
else:
284+
last = y1
285+
while y <= last:
286286
a = x0 + sa // dy01
287287
b = x0 + sb // dy02
288288
sa += dx01
289289
sb += dx02
290290
if a > b:
291291
a, b = b, a
292292
self.hline(a, y, b - a + 1, *args, **kwargs)
293+
y += 1
293294
sa = dx12 * (y - y1)
294295
sb = dx02 * (y - y0)
295296
while y <= y2:

0 commit comments

Comments
 (0)