diff options
| author | foswret <foswret@posteo.com> | 2025-11-18 14:59:54 -0600 |
|---|---|---|
| committer | foswret <foswret@posteo.com> | 2025-11-18 14:59:54 -0600 |
| commit | 36d72aed1800f3e2c514bf264164a6f2a6ba5f5e (patch) | |
| tree | 44aacb0804660a8363d1e7d2c1e1974bab569038 /include/draw.h | |
| parent | 8bb9c7ebf9d902774134bc6aa94b0886fbf82933 (diff) | |
removed /include, moved some stuff around
Diffstat (limited to 'include/draw.h')
| -rw-r--r-- | include/draw.h | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/include/draw.h b/include/draw.h deleted file mode 100644 index 503b9c5..0000000 --- a/include/draw.h +++ /dev/null @@ -1,94 +0,0 @@ -struct dimensions { - double pw; /* paper width */ - double ph; /* paper height */ - double mw; /* month width */ - double mh; /* month height */ - double bw; /* day box width */ - double bh; /* day box height */ - double r; /* rows */ - double c; /* columns */ - double m; /* margin */ -}; - - - -int draw_calendar(cairo_t *c, double x, double y, struct dimensions d) { - double x1, y1, x2, y2; - x1 = x; - y1 = y; - x2 = d.pw - x1; /* Set the line endpoint to right side of the page */ - - for (int i = 0; i < d.r + 1; i++) { /* Draw Horizontal Lines */ - cairo_move_to (c, x, y); - cairo_line_to (c, x2, y); - y = y + d.bh; - } - - x = x1; - y = y1; - y2 = y1 + d.mh; /* Set the line endpoint as the bottom of the month */ - for (int i = 0; i < d.c + 1; i++) { /* Draw Vertical Lines */ - cairo_move_to (c, x, y); - cairo_line_to (c, x, y2); - x = x + d.bw; - } - cairo_stroke(c); - return(0); -} - - - -int draw_numbers(cairo_t *c, double x, double y, struct dimensions d, int wd, int nd) { - char str[3]; - cairo_text_extents_t te; - cairo_font_extents_t fe; - - cairo_select_font_face (c, "sans-serif", - CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD); - cairo_set_font_size (c, d.bw / 2); - - int iterative = 0; - cairo_font_extents (c, &fe); - double yi = y; - double xi = x; - int current_weekday = wd; - x = d.m + (wd * d.bw); - for (int j = 0; j < d.r; j++) { - y = y + d.bh - ((d.bh - fe.ascent) / 2); - for (int k = current_weekday; k < d.c; k++) { - if (iterative < nd) { - sprintf(str, "%d", iterative + 1); - cairo_text_extents (c, str, &te); - double box_margins = (d.bw - te.width) / 2; - - cairo_move_to(c, x + box_margins - te.x_bearing, y); /* center the number within the box */ - cairo_show_text(c, str); - cairo_move_to(c, x, y); /* Sort of backtrack to realign with the spacing of the boxes */ - x = x + d.bw; - iterative++; - current_weekday++; - } - } - current_weekday = 0; - y = y - (d.bh - ((d.bh - fe.ascent) / 2)); - y = y + d.bh; - x = xi; - } - return(0); -} - - - -int draw_month_name(cairo_t *c, char *name, struct dimensions d) { - double x, y = d.m; - cairo_set_font_size(c, 1.0); - cairo_text_extents_t te; - cairo_font_extents_t fe; - cairo_text_extents(c, name, &te); - x = (d.pw / 2) - (te.width / 2); - y = 1.5; - cairo_move_to(c, x, y); - cairo_show_text(c, &name[0]); - return(0); -} - |
