isetup the horizontal axis - ploot - simple plotting tools Err bitreich.org 70
hgit clone git://bitreich.org/ploot git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ploot URL:git://bitreich.org/ploot git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ploot bitreich.org 70
1Log /scm/ploot/log.gph bitreich.org 70
1Files /scm/ploot/files.gph bitreich.org 70
1Refs /scm/ploot/refs.gph bitreich.org 70
1Tags /scm/ploot/tag bitreich.org 70
1README /scm/ploot/file/README.md.gph bitreich.org 70
1LICENSE /scm/ploot/file/LICENSE.gph bitreich.org 70
i--- Err bitreich.org 70
1commit 980b7ae7316438998c953a8e098d894aec001c57 /scm/ploot/commit/980b7ae7316438998c953a8e098d894aec001c57.gph bitreich.org 70
1parent eb743275f407b73af41d4c5559f173e3e54d7cbd /scm/ploot/commit/eb743275f407b73af41d4c5559f173e3e54d7cbd.gph bitreich.org 70
hAuthor: Josuah Demangeon <mail@josuah.net> URL:mailto:mail@josuah.net bitreich.org 70
iDate: Mon, 30 Apr 2018 21:05:38 +0200 Err bitreich.org 70
i Err bitreich.org 70
isetup the horizontal axis Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M main.c | 64 ++++++++++++++++--------------- Err bitreich.org 70
i Err bitreich.org 70
i1 file changed, 33 insertions(+), 31 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/main.c b/main.c /scm/ploot/file/main.c.gph bitreich.org 70
i@@ -7,12 +7,13 @@ Err bitreich.org 70
i #include "ffdraw.h" Err bitreich.org 70
i #include "font_14x7.h" Err bitreich.org 70
i Err bitreich.org 70
i-/* as you see, no css skills needed */ Err bitreich.org 70
i- Err bitreich.org 70
i-#define MARGIN 5 Err bitreich.org 70
i #define FONT_H 14 Err bitreich.org 70
i #define FONT_W 7 Err bitreich.org 70
i Err bitreich.org 70
i+/* as you see, no css skills needed */ Err bitreich.org 70
i+ Err bitreich.org 70
i+#define MARGIN 2 Err bitreich.org 70
i+ Err bitreich.org 70
i /* height */ Err bitreich.org 70
i Err bitreich.org 70
i #define TITLE_H (MARGIN + FONT_H + MARGIN) Err bitreich.org 70
i@@ -21,27 +22,27 @@ Err bitreich.org 70
i Err bitreich.org 70
i #define IMAGE_H (TITLE_H + PLOT_H + XLABEL_H) Err bitreich.org 70
i Err bitreich.org 70
i-#define TITLE_B (0) Err bitreich.org 70
i-#define TITLE_E (TITLE_H) Err bitreich.org 70
i-#define PLOT_X_B (TITLE_H) Err bitreich.org 70
i-#define PLOT_X_E (IMAGE_H - XLABEL_H) Err bitreich.org 70
i-#define XLABEL_B (IMAGE_H - XLABEL_H) Err bitreich.org 70
i-#define XLABEL_E (IMAGE_H) Err bitreich.org 70
i+#define TITLE_MAX (IMAGE_H) Err bitreich.org 70
i+#define TITLE_MIN (IMAGE_H - TITLE_H) Err bitreich.org 70
i+#define PLOT_X_MAX (IMAGE_H - TITLE_H) Err bitreich.org 70
i+#define PLOT_X_MIN (XLABEL_H) Err bitreich.org 70
i+#define XLABEL_MAX (XLABEL_H) Err bitreich.org 70
i+#define XLABEL_MIN (0) Err bitreich.org 70
i Err bitreich.org 70
i /* width */ Err bitreich.org 70
i Err bitreich.org 70
i-#define YLABEL_W (MARGIN + 50 + MARGIN) Err bitreich.org 70
i+#define YLABEL_W (MARGIN + 20 + MARGIN) Err bitreich.org 70
i #define PLOT_W 500 Err bitreich.org 70
i #define LEGEND_W (MARGIN + 70 + MARGIN) Err bitreich.org 70
i Err bitreich.org 70
i #define IMAGE_W (YLABEL_W + PLOT_W + LEGEND_W) Err bitreich.org 70
i Err bitreich.org 70
i-#define YLABEL_B (0) Err bitreich.org 70
i-#define YLABEL_E (YLABEL_W) Err bitreich.org 70
i-#define PLOT_Y_B (YLABEL_W) Err bitreich.org 70
i-#define PLOT_Y_E (IMAGE_W - LEGEND_W) Err bitreich.org 70
i-#define LEGEND_B (IMAGE_W - LEGEND_W) Err bitreich.org 70
i-#define LEGEND_E (IMAGE_W) Err bitreich.org 70
i+#define LEGEND_MAX (IMAGE_W) Err bitreich.org 70
i+#define LEGEND_MIN (IMAGE_W - LEGEND_W) Err bitreich.org 70
i+#define PLOT_Y_MAX (IMAGE_W - LEGEND_W) Err bitreich.org 70
i+#define PLOT_Y_MIN (YLABEL_W) Err bitreich.org 70
i+#define YLABEL_MAX (YLABEL_W) Err bitreich.org 70
i+#define YLABEL_MIN (0) Err bitreich.org 70
i Err bitreich.org 70
i #define MID(x, y) ((x - y) / 2) Err bitreich.org 70
i Err bitreich.org 70
i@@ -51,30 +52,30 @@ Color c_axis = { 0xffff, 0xffff, 0xffff, 0xfff }; Err bitreich.org 70
i Font *font = &font_14x7; Err bitreich.org 70
i Err bitreich.org 70
i void Err bitreich.org 70
i-ffplot_xaxis(Canvas *can, Color col, time_t tmax, time_t tstep) Err bitreich.org 70
i+ffplot_xaxis(Canvas *can, Color label, Color grid, time_t tmax, time_t tstep) Err bitreich.org 70
i { Err bitreich.org 70
i time_t t; Err bitreich.org 70
i- int x, y, ystep, width; Err bitreich.org 70
i+ int y, ystep; Err bitreich.org 70
i char str[sizeof("YYYY/MM/DD")], *fmt; Err bitreich.org 70
i Err bitreich.org 70
i if (tstep < 3600) { Err bitreich.org 70
i- fmt = "%H:%M:%S"; Err bitreich.org 70
i- width = sizeof("HH:MM:SS"); Err bitreich.org 70
i+ fmt = " %H:%M:%S "; Err bitreich.org 70
i+ ystep = sizeof(" HH:MM:SS ") * FONT_W; Err bitreich.org 70
i } else { Err bitreich.org 70
i- fmt = "%Y/%m/%d"; Err bitreich.org 70
i- width = sizeof("YYYY/MM/DD"); Err bitreich.org 70
i+ fmt = " %Y/%m/%d "; Err bitreich.org 70
i+ ystep = sizeof(" YYYY/MM/DD ") * FONT_W; Err bitreich.org 70
i } Err bitreich.org 70
i Err bitreich.org 70
i- ystep = MARGIN + FONT_W * width + MARGIN; Err bitreich.org 70
i- Err bitreich.org 70
i t = tmax % tstep; Err bitreich.org 70
i- x = XLABEL_B + FONT_H / 2; Err bitreich.org 70
i- y = PLOT_Y_B + PLOT_W % ystep - width / 2; Err bitreich.org 70
i+ y = PLOT_Y_MAX + PLOT_W % ystep - ystep; Err bitreich.org 70
i Err bitreich.org 70
i- while (y > PLOT_Y_B) { Err bitreich.org 70
i+ while (y > PLOT_Y_MIN) { Err bitreich.org 70
i strftime(str, sizeof(str), fmt, localtime(&t)); Err bitreich.org 70
i- ffdraw_str(can, col, str, font, x, y); Err bitreich.org 70
i- Err bitreich.org 70
i+ ffdraw_str(can, label, str, font, Err bitreich.org 70
i+ XLABEL_MIN + XLABEL_H / 2, y - ystep / 2 + FONT_W); Err bitreich.org 70
i+ ffdraw_line(can, grid, Err bitreich.org 70
i+ PLOT_X_MIN, y, Err bitreich.org 70
i+ PLOT_X_MAX, y); Err bitreich.org 70
i y -= ystep; Err bitreich.org 70
i t -= tstep; Err bitreich.org 70
i } Err bitreich.org 70
i@@ -102,10 +103,11 @@ static void Err bitreich.org 70
i ffdraw(Canvas *can) Err bitreich.org 70
i { Err bitreich.org 70
i Color col1 = { 0x2222, 0x2222, 0x2222, 0xffff }; Err bitreich.org 70
i- Color col2 = { 0x3333, 0xffff, 0x8888, 0xffff }; Err bitreich.org 70
i+ Color label = { 0x3333, 0xffff, 0x8888, 0xffff }; Err bitreich.org 70
i+ Color grid = { 0x4444, 0x4444, 0x4444, 0xffff }; Err bitreich.org 70
i Err bitreich.org 70
i ffdraw_fill(can, col1); Err bitreich.org 70
i- ffplot_xaxis(can, col2, 3600 * 24 * 30, 360); Err bitreich.org 70
i+ ffplot_xaxis(can, label, grid, 3600 * 24 * 30, 360); Err bitreich.org 70
i /* Err bitreich.org 70
i ffdraw_line(can, col2, 49,1,9,79); Err bitreich.org 70
i ffdraw_str(can, col2, "R\\S`T'UaVbWcYdZe\nfghb\tjoi\rklmnopqrstuvwxyz{|}", font, 44, 10); Err bitreich.org 70
.
Response:
text/plain