SMOLNET PORTAL home about changes
iup and down (centred) trapezium working - 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 47a17a404c2faabc3db70df3a7a64a462a1a9d21	/scm/gramscii/commit/47a17a404c2faabc3db70df3a7a64a462a1a9d21.gph	bitreich.org	70
1parent 7eb5b5f064f07bc50cafa1488961fa7be27dee22	/scm/gramscii/commit/7eb5b5f064f07bc50cafa1488961fa7be27dee22.gph	bitreich.org	70
hAuthor: KatolaZ <katolaz@freaknet.org>	URL:mailto:katolaz@freaknet.org	bitreich.org	70
iDate:   Sat, 28 Sep 2019 21:48:38 +0100	Err	bitreich.org	70
i	Err	bitreich.org	70
iup and down (centred) trapezium working	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M draw.c                              |      37 ++++++++++++++++++++++++++-----	Err	bitreich.org	70
i  M gramscii.h                          |       6 +++---	Err	bitreich.org	70
i	Err	bitreich.org	70
i2 files changed, 35 insertions(+), 8 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@@ -209,7 +209,7 @@ void draw_trapezium(int x1, int y1, char st, char fix){	Err	bitreich.org	70
i         int xincr;	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+        char left_c, right_c;	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@@ -226,11 +226,27 @@ void draw_trapezium(int x1, int y1, char st, char fix){	Err	bitreich.org	70
i                 f = draw_xy;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         /* This is valid only for "upper" trapezoids */	Err	bitreich.org	70
i-        if (st & BOX_TRAP_U){	Err	bitreich.org	70
i+        if ((st & BOX_TRAP_U) == BOX_TRAP_U){	Err	bitreich.org	70
i+#ifdef DEBUG	Err	bitreich.org	70
i+                fprintf(stderr, "This is an 'upward' trapezium\n");	Err	bitreich.org	70
i+#endif	Err	bitreich.org	70
i                 ylong = ymax;	Err	bitreich.org	70
i                 yshort = ymin;	Err	bitreich.org	70
i                 xoff = dy;	Err	bitreich.org	70
i                 xincr = -1;	Err	bitreich.org	70
i+                left_c = '/';	Err	bitreich.org	70
i+                right_c = '\\';	Err	bitreich.org	70
i+        }	Err	bitreich.org	70
i+        else if ((st & BOX_TRAP_D) == BOX_TRAP_D){	Err	bitreich.org	70
i+#ifdef DEBUG	Err	bitreich.org	70
i+                fprintf(stderr, "This is a 'downward' trapezium\n");	Err	bitreich.org	70
i+#endif	Err	bitreich.org	70
i+                ylong = ymin;	Err	bitreich.org	70
i+                yshort = ymax;	Err	bitreich.org	70
i+                xoff = dy;	Err	bitreich.org	70
i+                xincr = +1;	Err	bitreich.org	70
i+                right_c = '/';	Err	bitreich.org	70
i+                left_c = '\\';	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i         for(i=xmin+1; i<=xmax; i++){	Err	bitreich.org	70
i                 f(i, ylong, line_h);	Err	bitreich.org	70
i@@ -243,9 +259,11 @@ void draw_trapezium(int x1, int y1, char st, char fix){	Err	bitreich.org	70
i         f(xmax-xoff, yshort, corner);	Err	bitreich.org	70
i         f(xmax, ylong, corner);	Err	bitreich.org	70
i         xoff --;	Err	bitreich.org	70
i+        if ((st & BOX_TRAP_D) == BOX_TRAP_D)	Err	bitreich.org	70
i+                xoff = 1;	Err	bitreich.org	70
i         for(i=ymin+1; i<ymax; i++, xoff += xincr){	Err	bitreich.org	70
i-                f(xmin + xoff, i, '/');	Err	bitreich.org	70
i-                f(xmax - xoff, i, '\\');	Err	bitreich.org	70
i+                f(xmin + xoff, i, left_c);	Err	bitreich.org	70
i+                f(xmax - xoff, i, right_c);	Err	bitreich.org	70
i         }        	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         	Err	bitreich.org	70
i@@ -272,6 +290,12 @@ void update_box(int x1, int y1, char st, char fix){	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i char toggle_trap_type(char st){	Err	bitreich.org	70
i+        if (st & BOX_TRAP){	Err	bitreich.org	70
i+                if (st < BOX_TRAP_DR)	Err	bitreich.org	70
i+                        st ++;	Err	bitreich.org	70
i+                else 	Err	bitreich.org	70
i+                        st = BOX_TRAP_UR;	Err	bitreich.org	70
i+        }	Err	bitreich.org	70
i         return st;	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -300,13 +324,16 @@ void get_box(FILE *fc, char st){	Err	bitreich.org	70
i                         st = flip_par_lean(st);	Err	bitreich.org	70
i                         redraw();	Err	bitreich.org	70
i #ifdef DEBUG	Err	bitreich.org	70
i-        fprintf(stderr, "new parallelogram style: %d\n", st);	Err	bitreich.org	70
i+                        fprintf(stderr, "new parallelogram style: %d\n", st);	Err	bitreich.org	70
i #endif	Err	bitreich.org	70
i                         update_box(orig_x, orig_y, st, NOFIX);	Err	bitreich.org	70
i                         continue;	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i                 else if (c == 'T' && (st & BOX_TRAP)){	Err	bitreich.org	70
i                         st = toggle_trap_type(st);	Err	bitreich.org	70
i+#ifdef DEBUG	Err	bitreich.org	70
i+                        fprintf(stderr, "new trapezium style: %d\n", st);	Err	bitreich.org	70
i+#endif	Err	bitreich.org	70
i                         redraw();	Err	bitreich.org	70
i                         update_box(orig_x, orig_y, st, NOFIX);	Err	bitreich.org	70
i                         continue;	Err	bitreich.org	70
1diff --git a/gramscii.h b/gramscii.h	/scm/gramscii/file/gramscii.h.gph	bitreich.org	70
i@@ -50,9 +50,9 @@	Err	bitreich.org	70
i #define BOX_TRAP_UR 0x25	Err	bitreich.org	70
i #define BOX_TRAP_UC 0x26	Err	bitreich.org	70
i #define BOX_TRAP_UL 0x27	Err	bitreich.org	70
i-#define BOX_TRAP_DL 0x28	Err	bitreich.org	70
i-#define BOX_TRAP_DC 0x29	Err	bitreich.org	70
i-#define BOX_TRAP_DR 0x2a	Err	bitreich.org	70
i+#define BOX_TRAP_DL 0x29	Err	bitreich.org	70
i+#define BOX_TRAP_DC 0x2a	Err	bitreich.org	70
i+#define BOX_TRAP_DR 0x2b	Err	bitreich.org	70
i /**/	Err	bitreich.org	70
i 	Err	bitreich.org	70
i #define NOFIX 0x0	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/gramscii/commit/47a17a404c2fa...
Content-Typetext/plain; charset=utf-8