itowards parallelograms - 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 257ec5d56fbe0ac65b04ae10bf36dd14e86c95a5 /scm/gramscii/commit/257ec5d56fbe0ac65b04ae10bf36dd14e86c95a5.gph bitreich.org 70
1parent 39ec615b54c0cc2734ac29ba4caac574c21503a4 /scm/gramscii/commit/39ec615b54c0cc2734ac29ba4caac574c21503a4.gph bitreich.org 70
hAuthor: KatolaZ <katolaz@freaknet.org> URL:mailto:katolaz@freaknet.org bitreich.org 70
iDate: Tue, 13 Aug 2019 16:20:49 +0100 Err bitreich.org 70
i Err bitreich.org 70
itowards parallelograms Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M draw.c | 59 +++++++++++++++++++++++++++++-- Err bitreich.org 70
i Err bitreich.org 70
i1 file changed, 56 insertions(+), 3 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/draw.c b/draw.c /scm/gramscii/file/draw.c.gph bitreich.org 70
i@@ -141,7 +141,48 @@ 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-void get_box(FILE *fc){ Err bitreich.org 70
i+void draw_parallelogram(int x1, int y1, char st, char fix){ Err bitreich.org 70
i+ int xmin, ymin, xmax, ymax; Err bitreich.org 70
i+ int dy; Err bitreich.org 70
i+ int i; Err bitreich.org 70
i+ void (*f)(int, int, char); Err bitreich.org 70
i+ Err bitreich.org 70
i+ Err bitreich.org 70
i+ xmin = MIN(x, x1); Err bitreich.org 70
i+ xmax = MAX(x, x1); Err bitreich.org 70
i+ ymin = MIN(y, y1); Err bitreich.org 70
i+ ymax = MAX(y, y1); Err bitreich.org 70
i+ dy = ymax - ymin; Err bitreich.org 70
i+ Err bitreich.org 70
i+ if (fix == FIX){ Err bitreich.org 70
i+ f = set_xy; Err bitreich.org 70
i+ copy_lines_to_ring(ymin, ymax, PRV_STATE); Err bitreich.org 70
i+ } Err bitreich.org 70
i+ else Err bitreich.org 70
i+ f = draw_xy; Err bitreich.org 70
i+ /*FIXME: INCOMPLETE -- CONTINUE HERE */ Err bitreich.org 70
i+ for(i=xmin+1; i<=xmax; i++){ Err bitreich.org 70
i+ f(i, ymin, line_h); Err bitreich.org 70
i+ f(i, ymax, line_h); Err bitreich.org 70
i+ } Err bitreich.org 70
i+ for(i=ymin+1; i<=ymax; i++){ Err bitreich.org 70
i+ f(xmin, i, line_v); Err bitreich.org 70
i+ f(xmax, i, line_v); Err bitreich.org 70
i+ } Err bitreich.org 70
i+ f(xmin, ymin, corner); Err bitreich.org 70
i+ f(xmin, ymax, corner); Err bitreich.org 70
i+ f(xmax, ymin, corner); Err bitreich.org 70
i+ f(xmax, ymax, corner); Err bitreich.org 70
i+ if (fix == FIX) Err bitreich.org 70
i+ copy_lines_to_ring(ymin, ymax, NEW_STATE); 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+ Err bitreich.org 70
i+ Err bitreich.org 70
i+void get_box(FILE *fc, char st){ Err bitreich.org 70
i char c; Err bitreich.org 70
i int orig_x=x, orig_y=y; Err bitreich.org 70
i redraw(); Err bitreich.org 70
i@@ -156,14 +197,21 @@ void get_box(FILE *fc){ Err bitreich.org 70
i redraw(); Err bitreich.org 70
i step = 1; Err bitreich.org 70
i update_box: Err bitreich.org 70
i- draw_box(orig_x, orig_y, NOFIX); Err bitreich.org 70
i+ if (st == BOX_RECT) Err bitreich.org 70
i+ draw_box(orig_x, orig_y, NOFIX); Err bitreich.org 70
i+ else Err bitreich.org 70
i+ draw_parallelogram(orig_x, orig_y, st, NOFIX); Err bitreich.org 70
i status_bar(); Err bitreich.org 70
i show_cursor(); Err bitreich.org 70
i } Err bitreich.org 70
i- if (c == 'b' || c == '\n'){ Err bitreich.org 70
i+ if (st == BOX_RECT && (c == 'b' || c == '\n')){ Err bitreich.org 70
i draw_box(orig_x, orig_y, FIX); Err bitreich.org 70
i modified = 1; Err bitreich.org 70
i } Err bitreich.org 70
i+ else if ((st & (BOX_PAR1 | BOX_PAR2)) && (c == 'z' || c == 'Z' || c == '\n')){ Err bitreich.org 70
i+ draw_parallelogram(orig_x, orig_y, FIX); Err bitreich.org 70
i+ modified = 1; Err bitreich.org 70
i+ } Err bitreich.org 70
i redraw(); Err bitreich.org 70
i mode = MOVE; Err bitreich.org 70
i } Err bitreich.org 70
i@@ -331,6 +379,9 @@ void erase(FILE *fc){ 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+ Err bitreich.org 70
i+ Err bitreich.org 70
i /*** Visual ***/ Err bitreich.org 70
i Err bitreich.org 70
i Err bitreich.org 70
i@@ -385,6 +436,8 @@ vis_exit: Err bitreich.org 70
i mode = MOVE; Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i+/*** yank/paste/undo ***/ Err bitreich.org 70
i+ Err bitreich.org 70
i void paste(){ Err bitreich.org 70
i int y2; Err bitreich.org 70
i Err bitreich.org 70
.
Response:
text/plain