shithub: eesp

Download patch

ref: 856542c51fbe7a4d55e292ad91714f58907d6869
parent: f664f9d3a8d305e088f259a23cb6e86e664a7b36
author: sirjofri <sirjofri@sirjofri.de>
date: Fri Sep 6 17:19:14 EDT 2024

removes old function

--- a/libenter.c
+++ b/libenter.c
@@ -107,236 +107,3 @@
 	p.cleanup = ecleanup;
 	return _genenter(ask, buf, len, &p);
 }
-
-#ifdef COMMENT
-int
-enter(char *ask, char *buf, int len, Mousectl *mc, Keyboardctl *kc, Screen *scr)
-{
-	int done, down, tick, n, h, w, l, i;
-	Image *b, *save, *backcol, *bordcol;
-	Point p, o, t;
-	Rectangle r, sc;
-	Alt a[3];
-	Mouse m;
-	Rune k;
-
-	o = screen->r.min;
-	backcol = allocimagemix(display, DPurpleblue, DWhite);
-	bordcol = allocimage(display, Rect(0,0,1,1), screen->chan, 1, DPurpleblue);
-	if(backcol == nil || bordcol == nil)
-		return -1;
-
-	sc = screen->clipr;
-	replclipr(screen, 0, screen->r);
-
-	n = 0;
-	if(kc){
-		while(nbrecv(kc->c, nil) == 1)
-			;
-		a[n].op = CHANRCV;
-		a[n].c = kc->c;
-		a[n].v = &k;
-		n++;
-	}
-	if(mc){
-		o = mc->xy;
-		a[n].op = CHANRCV;
-		a[n].c = mc->c;
-		a[n].v = &m;
-		n++;
-	}
-	a[n].op = CHANEND;
-	a[n].c = nil;
-	a[n].v = nil;
-
-	if(buf && len > 0)
-		n = strlen(buf);
-	else {
-		buf = nil;
-		len = 0;
-		n = 0;
-	}
-
-	k = -1;
-	b = nil;
-	tick = n;
-	save = nil;
-	done = down = 0;
-
-	p = stringsize(font, " ");
-	h = p.y;
-	w = p.x;
-
-	while(!done){
-		p = stringsize(font, buf ? buf : "");
-		if(ask && ask[0]){
-			if(buf) p.x += w;
-			p.x += stringwidth(font, ask);
-		}
-		r = rectaddpt(insetrect(Rpt(ZP, p), -4), o);
-		p.x = 0;
-		r = rectsubpt(r, p);
-
-		p = ZP;
-		if(r.min.x < screen->r.min.x)
-			p.x = screen->r.min.x - r.min.x;
-		if(r.min.y < screen->r.min.y)
-			p.y = screen->r.min.y - r.min.y;
-		r = rectaddpt(r, p);
-		p = ZP;
-		if(r.max.x > screen->r.max.x)
-			p.x = r.max.x - screen->r.max.x;
-		if(r.max.y > screen->r.max.y)
-			p.y = r.max.y - screen->r.max.y;
-		r = rectsubpt(r, p);
-
-		r = insetrect(r, -2);
-		if(scr){
-			if(b == nil)
-				b = allocwindow(scr, r, Refbackup, DWhite);
-			if(b == nil)
-				scr = nil;
-		}
-		if(scr == nil && save == nil){
-			if(b == nil)
-				b = screen;
-			save = allocimage(display, r, b->chan, 0, DNofill);
-			if(save == nil){
-				n = -1;
-				break;
-			}
-			draw(save, r, b, nil, r.min);
-		}
-		draw(b, r, backcol, nil, ZP);
-		border(b, r, 2, bordcol, ZP);
-		p = addpt(r.min, Pt(6, 6));
-		if(ask && ask[0]){
-			p = string(b, p, bordcol, ZP, font, ask);
-			if(buf) p.x += w;
-		}
-		if(buf){
-			t = p;
-			p = stringn(b, p, display->black, ZP, font, buf, utfnlen(buf, tick));
-			draw(b, Rect(p.x-1, p.y, p.x+2, p.y+3), display->black, nil, ZP);
-			draw(b, Rect(p.x, p.y, p.x+1, p.y+h), display->black, nil, ZP);
-			draw(b, Rect(p.x-1, p.y+h-3, p.x+2, p.y+h), display->black, nil, ZP);
-			p = string(b, p, display->black, ZP, font, buf+tick);
-		}
-		flushimage(display, 1);
-
-nodraw:
-		switch(alt(a)){
-		case -1:
-			done = 1;
-			n = -1;
-			break;
-		case 0:
-			if(buf == nil || k == Keof || k == '\n'){
-				done = 1;
-				break;
-			}
-			if(k == Knack || k == Kesc){
-				done = !n;
-				buf[n = tick = 0] = 0;
-				break;
-			}
-			if(k == Ksoh || k == Khome){
-				tick = 0;
-				continue;
-			}
-			if(k == Kenq || k == Kend){
-				tick = n;
-				continue;
-			}
-			if(k == Kright){
-				if(tick < n)
-					tick += chartorune(&k, buf+tick);
-				continue;
-			}
-			if(k == Kleft){
-				for(i = 0; i < n; i += l){
-					l = chartorune(&k, buf+i);
-					if(i+l >= tick){
-						tick = i;
-						break;
-					}
-				}
-				continue;
-			}
-			if(k == Ketb){
-				l = tick;
-				while(tick > 0){
-					tick--;
-					if(tick == 0 ||
-						strchr(" !\"#$%&'()*+,-./:;<=>?@`[\\]^{|}~", buf[tick-1]))
-						break;
-				}
-				memmove(buf+tick, buf+l, n-l);
-				buf[n -= l-tick] = 0;
-				break;
-			}
-			if(k == Kbs){
-				if(tick <= 0)
-					continue;
-				for(i = 0; i < n; i += l){
-					l = chartorune(&k, buf+i);
-					if(i+l >= tick){
-						memmove(buf+i, buf+i+l, n - (i+l));
-						buf[n -= l] = 0;
-						tick -= l;
-						break;
-					}
-				}
-				break;
-			}
-			if(k < 0x20 || k == Kdel || (k & 0xFF00) == KF || (k & 0xFF00) == Spec)
-				continue;
-			if((len-n) <= (l = runelen(k)))
-				continue;
-			memmove(buf+tick+l, buf+tick, n - tick);
-			runetochar(buf+tick, &k);
-			buf[n += l] = 0;
-			tick += l;
-			break;
-		case 1:
-			if(!ptinrect(m.xy, r)){
-				down = 0;
-				goto nodraw;
-			}
-			if(m.buttons & 7){
-				down = 1;
-				if(buf && m.xy.x >= (t.x - w)){
-					down = 0;
-					for(i = 0; i < n; i += l){
-						l = chartorune(&k, buf+i);
-						t.x += stringnwidth(font, buf+i, 1);
-						if(t.x > m.xy.x)
-							break;
-					}
-					tick = i;
-				}
-				continue;
-			}
-			done = down;
-			break;
-		}
-
-		if(b != screen) {
-			freeimage(b);
-			b = nil;
-		} else {
-			draw(b, save->r, save, nil, save->r.min);
-			freeimage(save);
-			save = nil;
-		}
-	}
-
-	replclipr(screen, 0, sc);
-
-	freeimage(backcol);
-	freeimage(bordcol);
-	flushimage(display, 1);
-
-	return n;
-}
-#endif