git: 9front

Download patch

ref: 1c0b2d238dc7e76735f240c1877afe7b6c991cf9
parent: 72a345c3b5aa94eae93a2d6dc210e3afb396228e
author: rodri <rgl@antares-labs.eu>
date: Wed Jan 28 12:34:26 EST 2026

libmemdraw: remove unused code frome line.c

--- a/sys/src/libmemdraw/line.c
+++ b/sys/src/libmemdraw/line.c
@@ -20,230 +20,6 @@
 	return b;
 }
 
-#ifdef NOTUSED
-
-static
-int
-lmin(int a, int b)
-{
-	if(a < b)
-		return a;
-	return b;
-}
-
-/*
- * Rather than line clip, we run the Bresenham loop over the full line,
- * and clip on each pixel.  This is more expensive but means that
- * lines look the same regardless of how the windowing has tiled them.
- * For speed, we check for clipping outside the loop and make the
- * test easy when possible.
- */
-
-static
-void
-horline1(Memimage *dst, Point p0, Point p1, int srcval, Rectangle clipr)
-{
-	int x, y, dy, deltay, deltax, maxx;
-	int dd, easy, e, bpp, m, m0;
-	uchar *d;
-
-	deltax = p1.x - p0.x;
-	deltay = p1.y - p0.y;
-	dd = dst->width*sizeof(ulong);
-	dy = 1;
-	if(deltay < 0){
-		dd = -dd;
-		deltay = -deltay;
-		dy = -1;
-	}
-	maxx = lmin(p1.x, clipr.max.x-1);
-	bpp = dst->depth;
-	m0 = 0xFF^(0xFF>>bpp);
-	m = m0 >> (p0.x&(7/dst->depth))*bpp;
-	easy = ptinrect(p0, clipr) && ptinrect(p1, clipr);
-	e = 2*deltay - deltax;
-	y = p0.y;
-	d = byteaddr(dst, p0);
-	deltay *= 2;
-	deltax = deltay - 2*deltax;
-	for(x=p0.x; x<=maxx; x++){
-		if(easy || (clipr.min.x<=x && clipr.min.y<=y && y<clipr.max.y))
-			*d ^= (*d^srcval) & m;
-		if(e > 0){
-			y += dy;
-			d += dd;
-			e += deltax;
-		}else
-			e += deltay;
-		d++;
-		m >>= bpp;
-		if(m == 0)
-			m = m0;
-	}
-}
-
-static
-void
-verline1(Memimage *dst, Point p0, Point p1, int srcval, Rectangle clipr)
-{
-	int x, y, deltay, deltax, maxy;
-	int easy, e, bpp, m, m0, dd;
-	uchar *d;
-
-	deltax = p1.x - p0.x;
-	deltay = p1.y - p0.y;
-	dd = 1;
-	if(deltax < 0){
-		dd = -1;
-		deltax = -deltax;
-	}
-	maxy = lmin(p1.y, clipr.max.y-1);
-	bpp = dst->depth;
-	m0 = 0xFF^(0xFF>>bpp);
-	m = m0 >> (p0.x&(7/dst->depth))*bpp;
-	easy = ptinrect(p0, clipr) && ptinrect(p1, clipr);
-	e = 2*deltax - deltay;
-	x = p0.x;
-	d = byteaddr(dst, p0);
-	deltax *= 2;
-	deltay = deltax - 2*deltay;
-	for(y=p0.y; y<=maxy; y++){
-		if(easy || (clipr.min.y<=y && clipr.min.x<=x && x<clipr.max.x))
-			*d ^= (*d^srcval) & m;
-		if(e > 0){
-			x += dd;
-			d += dd;
-			e += deltay;
-		}else
-			e += deltax;
-		d += dst->width*sizeof(ulong);
-		m >>= bpp;
-		if(m == 0)
-			m = m0;
-	}
-}
-
-static
-void
-horliner(Memimage *dst, Point p0, Point p1, Memimage *src, Point dsrc, Rectangle clipr)
-{
-	int x, y, sx, sy, deltay, deltax, minx, maxx;
-	int bpp, m, m0;
-	uchar *d, *s;
-
-	deltax = p1.x - p0.x;
-	deltay = p1.y - p0.y;
-	sx = drawreplxy(src->r.min.x, src->r.max.x, p0.x+dsrc.x);
-	minx = lmax(p0.x, clipr.min.x);
-	maxx = lmin(p1.x, clipr.max.x-1);
-	bpp = dst->depth;
-	m0 = 0xFF^(0xFF>>bpp);
-	m = m0 >> (minx&(7/dst->depth))*bpp;
-	for(x=minx; x<=maxx; x++){
-		y = p0.y + (deltay*(x-p0.x)+deltax/2)/deltax;
-		if(clipr.min.y<=y && y<clipr.max.y){
-			d = byteaddr(dst, Pt(x, y));
-			sy = drawreplxy(src->r.min.y, src->r.max.y, y+dsrc.y);
-			s = byteaddr(src, Pt(sx, sy));
-			*d ^= (*d^*s) & m;
-		}
-		if(++sx >= src->r.max.x)
-			sx = src->r.min.x;
-		m >>= bpp;
-		if(m == 0)
-			m = m0;
-	}
-}
-
-static
-void
-verliner(Memimage *dst, Point p0, Point p1, Memimage *src, Point dsrc, Rectangle clipr)
-{
-	int x, y, sx, sy, deltay, deltax, miny, maxy;
-	int bpp, m, m0;
-	uchar *d, *s;
-
-	deltax = p1.x - p0.x;
-	deltay = p1.y - p0.y;
-	sy = drawreplxy(src->r.min.y, src->r.max.y, p0.y+dsrc.y);
-	miny = lmax(p0.y, clipr.min.y);
-	maxy = lmin(p1.y, clipr.max.y-1);
-	bpp = dst->depth;
-	m0 = 0xFF^(0xFF>>bpp);
-	for(y=miny; y<=maxy; y++){
-		if(deltay == 0)	/* degenerate line */
-			x = p0.x;
-		else
-			x = p0.x + (deltax*(y-p0.y)+deltay/2)/deltay;
-		if(clipr.min.x<=x && x<clipr.max.x){
-			m = m0 >> (x&(7/dst->depth))*bpp;
-			d = byteaddr(dst, Pt(x, y));
-			sx = drawreplxy(src->r.min.x, src->r.max.x, x+dsrc.x);
-			s = byteaddr(src, Pt(sx, sy));
-			*d ^= (*d^*s) & m;
-		}
-		if(++sy >= src->r.max.y)
-			sy = src->r.min.y;
-	}
-}
-
-static
-void
-horline(Memimage *dst, Point p0, Point p1, Memimage *src, Point dsrc, Rectangle clipr)
-{
-	int x, y, deltay, deltax, minx, maxx;
-	int bpp, m, m0;
-	uchar *d, *s;
-
-	deltax = p1.x - p0.x;
-	deltay = p1.y - p0.y;
-	minx = lmax(p0.x, clipr.min.x);
-	maxx = lmin(p1.x, clipr.max.x-1);
-	bpp = dst->depth;
-	m0 = 0xFF^(0xFF>>bpp);
-	m = m0 >> (minx&(7/dst->depth))*bpp;
-	for(x=minx; x<=maxx; x++){
-		y = p0.y + (deltay*(x-p0.x)+deltay/2)/deltax;
-		if(clipr.min.y<=y && y<clipr.max.y){
-			d = byteaddr(dst, Pt(x, y));
-			s = byteaddr(src, addpt(dsrc, Pt(x, y)));
-			*d ^= (*d^*s) & m;
-		}
-		m >>= bpp;
-		if(m == 0)
-			m = m0;
-	}
-}
-
-static
-void
-verline(Memimage *dst, Point p0, Point p1, Memimage *src, Point dsrc, Rectangle clipr)
-{
-	int x, y, deltay, deltax, miny, maxy;
-	int bpp, m, m0;
-	uchar *d, *s;
-
-	deltax = p1.x - p0.x;
-	deltay = p1.y - p0.y;
-	miny = lmax(p0.y, clipr.min.y);
-	maxy = lmin(p1.y, clipr.max.y-1);
-	bpp = dst->depth;
-	m0 = 0xFF^(0xFF>>bpp);
-	for(y=miny; y<=maxy; y++){
-		if(deltay == 0)	/* degenerate line */
-			x = p0.x;
-		else
-			x = p0.x + deltax*(y-p0.y)/deltay;
-		if(clipr.min.x<=x && x<clipr.max.x){
-			m = m0 >> (x&(7/dst->depth))*bpp;
-			d = byteaddr(dst, Pt(x, y));
-			s = byteaddr(src, addpt(dsrc, Pt(x, y)));
-			*d ^= (*d^*s) & m;
-		}
-	}
-}
-#endif /* NOTUSED */
-
 static Memimage*
 membrush(int radius)
 {
--