SMOLNET PORTAL home about changes
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
Original URLgopher://bitreich.org/0/scm/gramscii/commit/257ec5d56fbe0...
Content-Typetext/plain; charset=utf-8