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