idifferent line styles - 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 5dd00eaf46bd250099c368c7b4a66e0e4dfc4b6f /scm/gramscii/commit/5dd00eaf46bd250099c368c7b4a66e0e4dfc4b6f.gph bitreich.org 70 1parent 478c03adcdc7d76595a311a0dba682917ab97d62 /scm/gramscii/commit/478c03adcdc7d76595a311a0dba682917ab97d62.gph bitreich.org 70 hAuthor: KatolaZ URL:mailto:katolaz@freaknet.org bitreich.org 70 iDate: Thu, 18 Jul 2019 18:46:58 +0100 Err bitreich.org 70 i Err bitreich.org 70 idifferent line styles Err bitreich.org 70 i Err bitreich.org 70 iDiffstat: Err bitreich.org 70 i M TODO | 13 +++++++++---- Err bitreich.org 70 i M gramscii.c | 158 +++++++++++++++++-------------- Err bitreich.org 70 i Err bitreich.org 70 i2 files changed, 98 insertions(+), 73 deletions(-) Err bitreich.org 70 i--- Err bitreich.org 70 1diff --git a/TODO b/TODO /scm/gramscii/file/TODO.gph bitreich.org 70 i@@ -1,9 +1,14 @@ Err bitreich.org 70 i + optimize redraws (i.e., avoid to redraw if possible) Err bitreich.org 70 i-- change cursor shape according to action Err bitreich.org 70 i-+ implement box Err bitreich.org 70 i+- (?) change cursor shape according to action Err bitreich.org 70 i+- save to file Err bitreich.org 70 i - implement arrow Err bitreich.org 70 i-- set different box styles Err bitreich.org 70 i-+ add status bar Err bitreich.org 70 i+- manage special chars (DEL/CANC) during text insert Err bitreich.org 70 i+ (also do not print unmanaged chars!) Err bitreich.org 70 i+- load from file Err bitreich.org 70 i+- insert file at position Err bitreich.org 70 i - get screen geometry Err bitreich.org 70 i - allow scrolling (both vertical and horizontal) Err bitreich.org 70 i+* set different line styles (done for hl, vl, corner) Err bitreich.org 70 i+* add status bar Err bitreich.org 70 i+* implement box 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@@ -26,14 +26,12 @@ Err bitreich.org 70 i #define WIDTH 100 Err bitreich.org 70 i #define HEIGHT 25 Err bitreich.org 70 i Err bitreich.org 70 i+#define NOFIX 0x0 Err bitreich.org 70 i+#define FIX 0x1 Err bitreich.org 70 i+ Err bitreich.org 70 i #define BG ' ' Err bitreich.org 70 i #define PTR '+' Err bitreich.org 70 i #define UND '_' Err bitreich.org 70 i-#define LINE_H '-' Err bitreich.org 70 i-#define LINE_V '|' Err bitreich.org 70 i-#define DBLINE_H '=' Err bitreich.org 70 i-#define DBLINE_V 'u' Err bitreich.org 70 i-#define BLDLINE '#' Err bitreich.org 70 i #define ARR_L '<' Err bitreich.org 70 i #define ARR_R '>' Err bitreich.org 70 i #define ARR_U '^' Err bitreich.org 70 i@@ -52,10 +50,15 @@ int y; Err bitreich.org 70 i int step; Err bitreich.org 70 i char cursor; Err bitreich.org 70 i char corner; Err bitreich.org 70 i-char box_line_h; Err bitreich.org 70 i-char box_line_v; Err bitreich.org 70 i-char arrow_line_h; Err bitreich.org 70 i-char arrow_line_v; Err bitreich.org 70 i+char hlines[] = {"-~=#@._"}; Err bitreich.org 70 i+char vlines[] = {"|H#@:;i"}; Err bitreich.org 70 i+char corners[] = {"+'H#@.\""}; Err bitreich.org 70 i+int hlines_sz= sizeof(hlines); Err bitreich.org 70 i+int vlines_sz= sizeof(vlines); Err bitreich.org 70 i+int corners_sz = sizeof(corners); Err bitreich.org 70 i+int cur_hl, cur_vl, cur_corn; Err bitreich.org 70 i+char line_h; Err bitreich.org 70 i+char line_v; Err bitreich.org 70 i Err bitreich.org 70 i struct termios t1, t2; Err bitreich.org 70 i Err bitreich.org 70 i@@ -69,8 +72,6 @@ void cleanup(int s){ Err bitreich.org 70 i Err bitreich.org 70 i void show_cursor(){ Err bitreich.org 70 i printf("\033[%d;%df", y+1, x+1); Err bitreich.org 70 i- //putchar(screen[y][x]); Err bitreich.org 70 i- //printf("\033[%d;%df", y+1, x+2); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i void set(char c){ Err bitreich.org 70 i@@ -88,46 +89,46 @@ void draw_xy(int x, int y, char c){ Err bitreich.org 70 i putchar(c); Err bitreich.org 70 i } Err bitreich.org 70 i Err bitreich.org 70 i-void clear(){ Err bitreich.org 70 i- screen[y][x] = BG; Err bitreich.org 70 i-} Err bitreich.org 70 i- Err bitreich.org 70 i void init_screen(){ Err bitreich.org 70 i int i; Err bitreich.org 70 i for(i=0; i