iadd global movements (g, G. m) - gramscii - A simple editor for ASCII box-and-arrow charts Err bitreich.org 70 1Log /scm/gramscii/log.gph bitreich.org 70 1Files /scm/gramscii/files.gph bitreich.org 70 1Refs /scm/gramscii/refs.gph bitreich.org 70 1Tags /scm/gramscii/tag bitreich.org 70 1README /scm/gramscii/file/README.md.gph bitreich.org 70 1LICENSE /scm/gramscii/file/COPYING.gph bitreich.org 70 i--- Err bitreich.org 70 1commit c8512825e3baf1525af7117affa13d00ac6b0d1d /scm/gramscii/commit/c8512825e3baf1525af7117affa13d00ac6b0d1d.gph bitreich.org 70 1parent ad0b403caa61c3f1c07698ffe6952588861d98c2 /scm/gramscii/commit/ad0b403caa61c3f1c07698ffe6952588861d98c2.gph bitreich.org 70 hAuthor: KatolaZ URL:mailto:katolaz@freaknet.org bitreich.org 70 iDate: Sat, 20 Jul 2019 11:03:55 +0100 Err bitreich.org 70 i Err bitreich.org 70 iadd global movements (g, G. m) Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M gramscii.c | 64 ++++++++++++++++--------------- Err bitreich.org 70 i Err bitreich.org 70 i1 file changed, 33 insertions(+), 31 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/gramscii.c b/gramscii.c /scm/gramscii/file/gramscii.c.gph bitreich.org 70 i@@ -79,6 +79,8 @@ char mark_end; Err bitreich.org 70 i char modified; Err bitreich.org 70 i char fname[256]; Err bitreich.org 70 i Err bitreich.org 70 i+char visual; Err bitreich.org 70 i+ Err bitreich.org 70 i struct termios t1, t2, t3; Err bitreich.org 70 i Err bitreich.org 70 i Err bitreich.org 70 i@@ -227,6 +229,24 @@ void redraw(){ Err bitreich.org 70 i show_cursor(); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i+void go_to(int where){ Err bitreich.org 70 i+ switch(where){ Err bitreich.org 70 i+ case HOME: Err bitreich.org 70 i+ x = y = 0; Err bitreich.org 70 i+ break; Err bitreich.org 70 i+ case END: Err bitreich.org 70 i+ x = WIDTH-1; Err bitreich.org 70 i+ y = HEIGHT-1; Err bitreich.org 70 i+ break; Err bitreich.org 70 i+ case MIDDLE: Err bitreich.org 70 i+ x = WIDTH/2; Err bitreich.org 70 i+ y = HEIGHT/2; Err bitreich.org 70 i+ break; Err bitreich.org 70 i+ } Err bitreich.org 70 i+ check_bound(); Err bitreich.org 70 i+ show_cursor(); Err bitreich.org 70 i+} Err bitreich.org 70 i+ Err bitreich.org 70 i int move_around(char c){ Err bitreich.org 70 i Err bitreich.org 70 i switch(c){ Err bitreich.org 70 i@@ -250,28 +270,22 @@ int move_around(char c){ Err bitreich.org 70 i dir = DIR_R; Err bitreich.org 70 i x += step; Err bitreich.org 70 i break; Err bitreich.org 70 i- default: Err bitreich.org 70 i- return 0; Err bitreich.org 70 i- } Err bitreich.org 70 i- return 1; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i-void go_to(int where){ Err bitreich.org 70 i- switch(where){ Err bitreich.org 70 i- case HOME: Err bitreich.org 70 i- x = y = 0; Err bitreich.org 70 i+ case 'g': Err bitreich.org 70 i+ dir = DIR_N; Err bitreich.org 70 i+ go_to(HOME); Err bitreich.org 70 i break; Err bitreich.org 70 i- case END: Err bitreich.org 70 i- x = WIDTH-1; Err bitreich.org 70 i- y = HEIGHT-1; Err bitreich.org 70 i+ case 'G': Err bitreich.org 70 i+ dir = DIR_N; Err bitreich.org 70 i+ go_to(END); Err bitreich.org 70 i break; Err bitreich.org 70 i- case MIDDLE: Err bitreich.org 70 i- x = WIDTH/2; Err bitreich.org 70 i- y = HEIGHT/2; Err bitreich.org 70 i+ case 'm': Err bitreich.org 70 i+ dir = DIR_N; Err bitreich.org 70 i+ go_to(MIDDLE); Err bitreich.org 70 i break; Err bitreich.org 70 i+ default: Err bitreich.org 70 i+ return 0; Err bitreich.org 70 i } Err bitreich.org 70 i- check_bound(); Err bitreich.org 70 i- show_cursor(); Err bitreich.org 70 i+ return 1; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i int progr_x(int dir){ Err bitreich.org 70 i@@ -369,7 +383,6 @@ void get_text(){ Err bitreich.org 70 i state=MOVE; Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i- Err bitreich.org 70 i void draw_box(int x1, int y1, int fix){ Err bitreich.org 70 i Err bitreich.org 70 i int xmin, ymin, xmax, ymax; Err bitreich.org 70 i@@ -401,8 +414,6 @@ void draw_box(int x1, int y1, int fix){ Err bitreich.org 70 i show_cursor(); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i- Err bitreich.org 70 i- Err bitreich.org 70 i void get_box(){ Err bitreich.org 70 i char c; Err bitreich.org 70 i int orig_x=x, orig_y=y; Err bitreich.org 70 i@@ -535,8 +546,8 @@ void delete(){ Err bitreich.org 70 i while((c=getchar())!=EOF && c!=27 && c!= 'x'){ Err bitreich.org 70 i if (!move_around(c)) continue; Err bitreich.org 70 i check_bound(); Err bitreich.org 70 i- step = 1; Err bitreich.org 70 i do_delete(orig_x, orig_y); Err bitreich.org 70 i+ step = 1; Err bitreich.org 70 i modified = 1; Err bitreich.org 70 i orig_x = x; Err bitreich.org 70 i orig_y = y; Err bitreich.org 70 i@@ -650,15 +661,6 @@ void commands(){ Err bitreich.org 70 i case 'N': Err bitreich.org 70 i new_file(); Err bitreich.org 70 i break; Err bitreich.org 70 i- case 'g': Err bitreich.org 70 i- go_to(HOME); Err bitreich.org 70 i- break; Err bitreich.org 70 i- case 'G': Err bitreich.org 70 i- go_to(END); Err bitreich.org 70 i- break; Err bitreich.org 70 i- case 'm': Err bitreich.org 70 i- go_to(MIDDLE); Err bitreich.org 70 i- break; Err bitreich.org 70 i case 'x': Err bitreich.org 70 i state = DEL; Err bitreich.org 70 i delete(); Err bitreich.org 70 .