aboutsummaryrefslogtreecommitdiff
path: root/render.c
diff options
context:
space:
mode:
authorrodri <rgl@antares-labs.eu>2024-05-03 15:29:15 +0000
committerrodri <rgl@antares-labs.eu>2024-05-03 15:29:15 +0000
commitc1a0f17d5272255456af4be4e0aa5a7e697fcf11 (patch)
tree9d4d183e6c0c78c3bb6e869de2163e5e12e2d10e /render.c
parentafc811ce9e8b8a1a3d83b3855f4a9e63ba5a2c7b (diff)
downloadlibgraphics-c1a0f17d5272255456af4be4e0aa5a7e697fcf11.tar.gz
libgraphics-c1a0f17d5272255456af4be4e0aa5a7e697fcf11.tar.bz2
libgraphics-c1a0f17d5272255456af4be4e0aa5a7e697fcf11.zip
clip: fix rectclipline.
mixed up CLIP[TB] and the slope was being computed as an integer division, which caused artifacts.
Diffstat (limited to 'render.c')
-rw-r--r--render.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/render.c b/render.c
index 4a7fb41..f7714c7 100644
--- a/render.c
+++ b/render.c
@@ -205,7 +205,8 @@ rasterize(Rastertask *task)
p0 = Pt(prim.v[0].p.x, prim.v[0].p.y);
p1 = Pt(prim.v[1].p.x, prim.v[1].p.y);
/* clip it against our wr */
- rectclipline(task->wr, &p0, &p1);
+ if(rectclipline(task->wr, &p0, &p1) < 0)
+ break;
/* transpose the points */
if(abs(p0.x-p1.x) < abs(p0.y-p1.y)){