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); int draw_numbers(cairo_t *c, double x, double y, struct dimensions d, int wd, int nd); int draw_month_name(cairo_t *c, char *name, struct dimensions d);