SMOLNET PORTAL home about changes
ifix toggle trapezium type - 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 6dddf567f41d43335698598d310c161fb01462ac	/scm/gramscii/commit/6dddf567f41d43335698598d310c161fb01462ac.gph	bitreich.org	70
1parent 646c1c1cc7ecc0cef7f619ae01457659817e5d05	/scm/gramscii/commit/646c1c1cc7ecc0cef7f619ae01457659817e5d05.gph	bitreich.org	70
hAuthor: KatolaZ <katolaz@freaknet.org>	URL:mailto:katolaz@freaknet.org	bitreich.org	70
iDate:   Sun, 29 Sep 2019 05:58:54 +0100	Err	bitreich.org	70
i	Err	bitreich.org	70
ifix toggle trapezium type	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M draw.c                              |      70 +++++++++++++++++++++++++------	Err	bitreich.org	70
i  M gramscii.h                          |       4 ++++	Err	bitreich.org	70
i	Err	bitreich.org	70
i2 files changed, 61 insertions(+), 13 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@@ -226,7 +226,7 @@ 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) == BOX_TRAP_U){	Err	bitreich.org	70
i+        if (STYLE_IS(st, 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@@ -237,7 +237,7 @@ void draw_trapezium(int x1, int y1, char st, char fix){	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+        else if (STYLE_IS(st, 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@@ -248,25 +248,69 @@ void draw_trapezium(int x1, int y1, char st, char fix){	Err	bitreich.org	70
i                 right_c = '/';	Err	bitreich.org	70
i                 left_c = '\\';	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i+        /* Long side */	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         }	Err	bitreich.org	70
i-        if (st & 0x02){ /* Centred trapezium */	Err	bitreich.org	70
i-                for(i=xmin+xoff; i<=xmax-xoff; i++){	Err	bitreich.org	70
i+        /* short side */	Err	bitreich.org	70
i+        for(i=xmin+xoff; i<=xmax-xoff; i++){	Err	bitreich.org	70
i+                f(i, yshort, line_h);	Err	bitreich.org	70
i+        }	Err	bitreich.org	70
i+        	Err	bitreich.org	70
i+        if (STYLE_IS(st, BOX_TRAP_L)){	Err	bitreich.org	70
i+                left_c = '/';	Err	bitreich.org	70
i+                right_c = line_v;	Err	bitreich.org	70
i+                for(i=xmax-xoff;i<xmax; i++){	Err	bitreich.org	70
i                         f(i, yshort, line_h);	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i+                xoff = dy;	Err	bitreich.org	70
i+                if (STYLE_IS(st, BOX_TRAP_D)){	Err	bitreich.org	70
i+                        xoff = 0;	Err	bitreich.org	70
i+                        left_c = '\\';	Err	bitreich.org	70
i+                }	Err	bitreich.org	70
i+                for(i=ymin; i<ymax; i++, xoff += xincr){	Err	bitreich.org	70
i+                        f(xmin+xoff, i, left_c);	Err	bitreich.org	70
i+                        f(xmax, i, right_c);	Err	bitreich.org	70
i+                }	Err	bitreich.org	70
i+                xoff = dy;	Err	bitreich.org	70
i+                f(xmin+xoff, yshort, corner);	Err	bitreich.org	70
i+                f(xmax, yshort, corner);	Err	bitreich.org	70
i         }	Err	bitreich.org	70
i-        f(xmin+xoff, yshort, corner);	Err	bitreich.org	70
i+        else if (STYLE_IS(st, BOX_TRAP_R)){	Err	bitreich.org	70
i+                right_c = '\\';	Err	bitreich.org	70
i+                left_c = line_v;	Err	bitreich.org	70
i+                for(i=xmin; i<xmin+xoff; i++){	Err	bitreich.org	70
i+                        f(i, yshort, line_h);	Err	bitreich.org	70
i+                }	Err	bitreich.org	70
i+                xoff = dy-1;	Err	bitreich.org	70
i+                if (STYLE_IS(st, BOX_TRAP_D)){	Err	bitreich.org	70
i+                        xoff = 1;	Err	bitreich.org	70
i+                        right_c = '/';	Err	bitreich.org	70
i+                }	Err	bitreich.org	70
i+                for(i=ymin+1; i<ymax; i++, xoff += xincr){	Err	bitreich.org	70
i+                        f(xmin, i, left_c);	Err	bitreich.org	70
i+                        f(xmax-xoff, i, right_c);	Err	bitreich.org	70
i+                }	Err	bitreich.org	70
i+                xoff = dy;	Err	bitreich.org	70
i+                f(xmin, yshort, corner);	Err	bitreich.org	70
i+                f(xmax-xoff, yshort, corner);	Err	bitreich.org	70
i+        }	Err	bitreich.org	70
i+        else if (STYLE_IS(st, BOX_TRAP_C)){	Err	bitreich.org	70
i+                xoff = dy - 1;	Err	bitreich.org	70
i+                if (STYLE_IS(st, 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, left_c);	Err	bitreich.org	70
i+                        f(xmax - xoff, i, right_c);	Err	bitreich.org	70
i+                }	Err	bitreich.org	70
i+                xoff = dy;	Err	bitreich.org	70
i+                f(xmin+xoff, yshort, corner);	Err	bitreich.org	70
i+                f(xmax-xoff, yshort, corner);	Err	bitreich.org	70
i+        }	Err	bitreich.org	70
i+        	Err	bitreich.org	70
i+	Err	bitreich.org	70
i         f(xmin, ylong, corner);	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_DC) == BOX_TRAP_DC)	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, 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         if (fix == FIX)	Err	bitreich.org	70
1diff --git a/gramscii.h b/gramscii.h	/scm/gramscii/file/gramscii.h.gph	bitreich.org	70
i@@ -47,12 +47,16 @@	Err	bitreich.org	70
i #define BOX_TRAP    0x20	Err	bitreich.org	70
i #define BOX_TRAP_U  0x24	Err	bitreich.org	70
i #define BOX_TRAP_D  0x28	Err	bitreich.org	70
i+#define BOX_TRAP_R  0x21	Err	bitreich.org	70
i+#define BOX_TRAP_C  0x22	Err	bitreich.org	70
i+#define BOX_TRAP_L  0x23	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 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+#define STYLE_IS(x, y) (((x) & (y) ) == y)	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/6dddf567f41d4...
Content-Typetext/plain; charset=utf-8