commit a4fc0017f5ba4c67cf067361a8bc26185d6f98da
parent 99e3c74d38ba3e85b623b73d4f16d8c9d6bf0506
Author: lumidify <nobody@lumidify.org>
Date: Sun, 7 Jun 2020 09:09:55 +0200
Somewhat fix parsing; improve test_anim.sh
Diffstat:
4 files changed, 22 insertions(+), 77 deletions(-)
diff --git a/README.md b/README.md
@@ -4,6 +4,8 @@ To test:
make
./ltk < test.gui
+./ltk < test_draw.gui
+./test_anim.sh | ./ltk
Note: you need to uncomment "COMPATOBJ = strtonum.c" in Makefile
if you're not using OpenBSD.
diff --git a/ltk.c b/ltk.c
@@ -223,9 +223,6 @@ static void
proc_cmds(ltk_window *window) {
if (!tokenize()) return;
if (!tokens_len) return;
- for (int i = 0; i < tokens_len; i++) {
- printf("%s\n", tokens[i]);
- }
if (strcmp(tokens[0], "grid") == 0) {
ltk_grid_cmd(window, tokens, tokens_len);
} else if (strcmp(tokens[0], "button") == 0) {
@@ -253,6 +250,12 @@ ltk_mainloop(ltk_window *window) {
tv.tv_sec = 0;
tv.tv_usec = 0;
+ tokens = malloc(10 * sizeof(char *));
+ cmd_input = malloc(200 * sizeof(char));
+ if (!tokens || !cmd_input) ltk_fatal("Out of memory.\n");
+ tokens_bufsize = 10;
+ cmd_bufsize = 200;
+
while (running) {
FD_ZERO(&rfds);
FD_SET(fd_in, &rfds);
diff --git a/test_anim.sh b/test_anim.sh
@@ -12,8 +12,18 @@ draw drw1 set-color #000
"
i=0
-while [[ $i -lt 300 ]]; do
- echo "draw drw1 line $i $i 5 5";
- sleep 0.05;
- i=$((i+5));
+while [[ $i -lt 400 ]]; do
+ j=0
+ while [[ $j -lt 20 ]]; do
+ echo "draw drw1 line $((i+j)) $j $((i+j+2)) $((j+2))";
+ sleep 0.05
+ j=$((j+2))
+ done
+ j=20
+ while [[ $j -gt 0 ]]; do
+ echo "draw drw1 line $((i+40-j)) $j $((i+42-j)) $((j-2))";
+ sleep 0.05
+ j=$((j-2))
+ done
+ i=$((i+40));
done
diff --git a/tmp.gui b/tmp.gui
@@ -1,70 +0,0 @@
-grid grd1 create 2 2
-grid grd1 set-row-weight 0 1
-grid grd1 set-row-weight 1 1
-grid grd1 set-column-weight 0 1
-grid grd1 set-column-weight 1 1
-set-root-widget grd1
-draw drw1 create 100 100 #fff
-grid grd1 add drw1 0 1 1 1 15
-draw drw1 set-color #000
-
-draw drw1 line 0 0 5 5
-draw drw1 line 5 5 5 5
-draw drw1 line 10 10 5 5
-draw drw1 line 15 15 5 5
-draw drw1 line 20 20 5 5
-draw drw1 line 25 25 5 5
-draw drw1 line 30 30 5 5
-draw drw1 line 35 35 5 5
-draw drw1 line 40 40 5 5
-draw drw1 line 45 45 5 5
-draw drw1 line 50 50 5 5
-draw drw1 line 55 55 5 5
-draw drw1 line 60 60 5 5
-draw drw1 line 65 65 5 5
-draw drw1 line 70 70 5 5
-draw drw1 line 75 75 5 5
-draw drw1 line 80 80 5 5
-draw drw1 line 85 85 5 5
-draw drw1 line 90 90 5 5
-draw drw1 line 95 95 5 5
-draw drw1 line 100 100 5 5
-draw drw1 line 105 105 5 5
-draw drw1 line 110 110 5 5
-draw drw1 line 115 115 5 5
-draw drw1 line 120 120 5 5
-draw drw1 line 125 125 5 5
-draw drw1 line 130 130 5 5
-draw drw1 line 135 135 5 5
-draw drw1 line 140 140 5 5
-draw drw1 line 145 145 5 5
-draw drw1 line 150 150 5 5
-draw drw1 line 155 155 5 5
-draw drw1 line 160 160 5 5
-draw drw1 line 165 165 5 5
-draw drw1 line 170 170 5 5
-draw drw1 line 175 175 5 5
-draw drw1 line 180 180 5 5
-draw drw1 line 185 185 5 5
-draw drw1 line 190 190 5 5
-draw drw1 line 195 195 5 5
-draw drw1 line 200 200 5 5
-draw drw1 line 205 205 5 5
-draw drw1 line 210 210 5 5
-draw drw1 line 215 215 5 5
-draw drw1 line 220 220 5 5
-draw drw1 line 225 225 5 5
-draw drw1 line 230 230 5 5
-draw drw1 line 235 235 5 5
-draw drw1 line 240 240 5 5
-draw drw1 line 245 245 5 5
-draw drw1 line 250 250 5 5
-draw drw1 line 255 255 5 5
-draw drw1 line 260 260 5 5
-draw drw1 line 265 265 5 5
-draw drw1 line 270 270 5 5
-draw drw1 line 275 275 5 5
-draw drw1 line 280 280 5 5
-draw drw1 line 285 285 5 5
-draw drw1 line 290 290 5 5
-draw drw1 line 295 295 5 5