Commit Diff


commit - 038aa0220a3333ee49b19dcca9d084499d5a75e6
commit + fa009f9d7217bd577248e53ff5aba2e8b1e0c4b2
blob - e734fd5f39da17bcebc49da293c89eb17bde31c5
blob + fbbe68e4f0c5630317c9995112e76298771fe66a
--- src/libdraw/mkfile
+++ src/libdraw/mkfile
@@ -42,6 +42,7 @@ OFILES=\
 	rectclip.$O\
 	replclipr.$O\
 	rgb.$O\
+	scroll.$O\
 	string.$O\
 	stringbg.$O\
 	stringsubfont.$O\
blob - /dev/null
blob + ea0aa25c72f9315466207f4fde78645ee8b47989 (mode 644)
--- /dev/null
+++ src/libdraw/scroll.c
@@ -0,0 +1,29 @@
+#include <u.h>
+#include <libc.h>
+#include <draw.h>
+
+int
+mousescrollsize(int maxlines)
+{
+	static int lines, pcnt;
+	char *mss;
+
+	if(lines == 0 && pcnt == 0){
+		mss = getenv("mousescrollsize");
+		if(mss){
+			if(strchr(mss, '%') != nil)
+				pcnt = atof(mss);
+			else
+				lines = atoi(mss);
+			free(mss);
+		}
+		if(lines == 0 && pcnt == 0)
+			lines = 1;
+		if(pcnt>=100)
+			pcnt = 100;
+	}
+
+	if(lines)
+		return lines;
+	return pcnt * maxlines/100.0;	
+}