ref: c33c843b142c1170c97d6dceb9abac91b01fe188
parent: 1aaf87f43df20681e0ae3fca09cd9f0d168b2fef
author: rodri <rgl@antares-labs.eu>
date: Sat Feb 14 20:12:22 EST 2026
render: simplify cliprect construction
--- a/render.c
+++ b/render.c
@@ -208,13 +208,8 @@
else
pixel(cr, p, c, ropts & ROBlend);
- if(task->clipr->min.x < 0){- task->clipr->min = p;
- task->clipr->max = addpt(p, (Point){1,1});- }else{- task->clipr->min = minpt(task->clipr->min, p);
- task->clipr->max = maxpt(task->clipr->max, addpt(p, (Point){1,1}));- }
+ task->clipr->min = minpt(task->clipr->min, p);
+ task->clipr->max = maxpt(task->clipr->max, addpt(p, (Point){1,1}));}
static void
@@ -297,13 +292,8 @@
else
pixel(cr, p, c, ropts & ROBlend);
- if(task->clipr->min.x < 0){- task->clipr->min = p;
- task->clipr->max = addpt(p, (Point){1,1});- }else{- task->clipr->min = minpt(task->clipr->min, p);
- task->clipr->max = maxpt(task->clipr->max, addpt(p, (Point){1,1}));- }
+ task->clipr->min = minpt(task->clipr->min, p);
+ task->clipr->max = maxpt(task->clipr->max, addpt(p, (Point){1,1}));discard:
if(steep) SWAP(int, &p.x, &p.y);
@@ -438,13 +428,8 @@
else
pixel(cr, p, c, ropts & ROBlend);
- if(task->clipr->min.x < 0){- task->clipr->min = p;
- task->clipr->max = addpt(p, (Point){1,1});- }else{- task->clipr->min = minpt(task->clipr->min, p);
- task->clipr->max = maxpt(task->clipr->max, addpt(p, (Point){1,1}));- }
+ task->clipr->min = minpt(task->clipr->min, p);
+ task->clipr->max = maxpt(task->clipr->max, addpt(p, (Point){1,1}));discard:
bc = addpt3(bc, ∇bc.dx);
// _addvertex(sp->v, &∇v.dx);
@@ -500,14 +485,8 @@
if(decref(job) < 1){/* set the clipr to the union of bboxes from the rasterizers */
for(i = 1; i < job->ncliprects; i++){- if(job->cliprects[i].min.x < 0)
- continue;
- job->cliprects[0].min = job->cliprects[0].min.x < 0?
- job->cliprects[i].min:
- minpt(job->cliprects[0].min, job->cliprects[i].min);
- job->cliprects[0].max = job->cliprects[0].max.x < 0?
- job->cliprects[i].max:
- maxpt(job->cliprects[0].max, job->cliprects[i].max);
+ job->cliprects[0].min = minpt(job->cliprects[0].min, job->cliprects[i].min);
+ job->cliprects[0].max = maxpt(job->cliprects[0].max, job->cliprects[i].max);
}
job->fb->clipr = job->cliprects[0];
@@ -828,8 +807,8 @@
task.job->cliprects = _emalloc(nproc*sizeof(Rectangle));
task.job->ncliprects = nproc;
for(i = 0; i < nproc; i++){- task.job->cliprects[i].min = (Point){-1,-1};- task.job->cliprects[i].max = (Point){-1,-1};+ task.job->cliprects[i].min = (Point){ 1000000, 1000000};+ task.job->cliprects[i].max = (Point){-1000000,-1000000};}
}
--
⑨