iup-center 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 7eb5b5f064f07bc50cafa1488961fa7be27dee22 /scm/gramscii/commit/7eb5b5f064f07bc50cafa1488961fa7be27dee22.gph bitreich.org 70
1parent e8c98a65cd161a5d2c0a76d41e39b352e083a9ab /scm/gramscii/commit/e8c98a65cd161a5d2c0a76d41e39b352e083a9ab.gph bitreich.org 70
hAuthor: KatolaZ <katolaz@freaknet.org> URL:mailto:katolaz@freaknet.org bitreich.org 70
iDate: Mon, 26 Aug 2019 17:30:40 +0100 Err bitreich.org 70
i Err bitreich.org 70
iup-center trapezium working Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M TODO | 3 +-- Err bitreich.org 70
i M draw.c | 48 +++++++++++++++++++++++++++++++ Err bitreich.org 70
i M gramscii.c | 4 ++++ Err bitreich.org 70
i M gramscii.h | 23 +++++++++++++---------- Err bitreich.org 70
i M screen.c | 2 ++ Err bitreich.org 70
i Err bitreich.org 70
i5 files changed, 68 insertions(+), 12 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/TODO b/TODO /scm/gramscii/file/TODO.gph bitreich.org 70
i@@ -1,7 +1,6 @@ Err bitreich.org 70
i + optimize redraws (redraw only the modified rectangle) Err bitreich.org 70
i - add screen geometry option (-g 25x80?) Err bitreich.org 70
i-- (?)maybe move "text" mode to "t" Err bitreich.org 70
i-- implement trapezium Err bitreich.org 70
i++ implement trapezium Err bitreich.org 70
i - implement ellipse Err bitreich.org 70
i - (?) filled box (B) Err bitreich.org 70
i - (?) manage filled box character (as for other styles) Err bitreich.org 70
1diff --git a/draw.c b/draw.c /scm/gramscii/file/draw.c.gph bitreich.org 70
i@@ -204,6 +204,54 @@ char flip_par_lean(char st){ Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i void draw_trapezium(int x1, int y1, char st, char fix){ Err bitreich.org 70
i+ int xmin, ymin, xmax, ymax; Err bitreich.org 70
i+ int dx, dy, ylong, yshort, xoff; 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+ 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+ dx = xmax - xmin; 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+ 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+ 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+ } 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+ 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+ f(xmin+xoff, yshort, corner); 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+ 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+ } Err bitreich.org 70
i+ Err bitreich.org 70
i+ 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
1diff --git a/gramscii.c b/gramscii.c /scm/gramscii/file/gramscii.c.gph bitreich.org 70
i@@ -134,6 +134,10 @@ void commands(FILE *fc){ Err bitreich.org 70
i case 'r': Err bitreich.org 70
i read_file_at(fc, x, y); Err bitreich.org 70
i break; Err bitreich.org 70
i+ case 't': Err bitreich.org 70
i+ mode = TRP; Err bitreich.org 70
i+ get_box(fc, BOX_TRAP_UC); Err bitreich.org 70
i+ break; Err bitreich.org 70
i case 'z': Err bitreich.org 70
i mode = PAR; Err bitreich.org 70
i get_box(fc, BOX_PARR); Err bitreich.org 70
1diff --git a/gramscii.h b/gramscii.h /scm/gramscii/file/gramscii.h.gph bitreich.org 70
i@@ -20,6 +20,7 @@ Err bitreich.org 70
i #define VIS 0x10 Err bitreich.org 70
i #define PAR 0x20 Err bitreich.org 70
i #define REM 0x40 Err bitreich.org 70
i+#define TRP 0x80 Err bitreich.org 70
i /**/ Err bitreich.org 70
i Err bitreich.org 70
i /* directions */ Err bitreich.org 70
i@@ -37,19 +38,21 @@ Err bitreich.org 70
i /* rectangular box */ Err bitreich.org 70
i #define BOX_RECT 0x00 Err bitreich.org 70
i /* parallelograms */ Err bitreich.org 70
i-#define BOX_PAR 0x04 Err bitreich.org 70
i+#define BOX_PAR 0x10 Err bitreich.org 70
i /* parallelogram (leaning right) */ Err bitreich.org 70
i-#define BOX_PARR 0x05 Err bitreich.org 70
i+#define BOX_PARR 0x11 Err bitreich.org 70
i /* parallelogram (leaning left) */ Err bitreich.org 70
i-#define BOX_PARL 0x06 Err bitreich.org 70
i+#define BOX_PARL 0x12 Err bitreich.org 70
i /* trapezium */ Err bitreich.org 70
i-#define BOX_TRAP 0x10 Err bitreich.org 70
i-#define BOX_TRAP_UR 0x11 Err bitreich.org 70
i-#define BOX_TRAP_UC 0x12 Err bitreich.org 70
i-#define BOX_TRAP_UL 0x13 Err bitreich.org 70
i-#define BOX_TRAP_DL 0x14 Err bitreich.org 70
i-#define BOX_TRAP_DC 0x15 Err bitreich.org 70
i-#define BOX_TRAP_DR 0x16 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_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 /**/ Err bitreich.org 70
i Err bitreich.org 70
i #define NOFIX 0x0 Err bitreich.org 70
1diff --git a/screen.c b/screen.c /scm/gramscii/file/screen.c.gph bitreich.org 70
i@@ -39,6 +39,8 @@ char* mode_str(){ Err bitreich.org 70
i return "par"; Err bitreich.org 70
i case REM: Err bitreich.org 70
i return "rem"; Err bitreich.org 70
i+ case TRP: Err bitreich.org 70
i+ return "trp"; Err bitreich.org 70
i default: Err bitreich.org 70
i return "ERR"; Err bitreich.org 70
i } Err bitreich.org 70
.
Response:
text/plain