13 /* Helper functions */
14 static void print_month(month_t month, int y, int x)
16 const char *name = month_to_string(month);
17 const int start = start_of_month(YEAR, month);
18 const char days = days_in_month(YEAR, month);
19 mvwprintw(win, y, x+MW/2-strlen(name)/2, "%s", name);
21 for (int d = 0; d < 7; d++)
22 wprintw(win, "%-3s", day_to_st(d));
23 for (int d = 0; d < days; d++) {
24 int row = (start + d) / 7;
25 int col = (start + d) % 7;
26 mvwprintw(win, y+2+row, x+col*3, "%d", d+1);
31 void year_init(WINDOW *_win)
44 /* Determine heights */
45 for (int m = 0; m < 12; m++) {
46 int weeks = weeks_in_month(YEAR, m);
47 h[m/3] = MAX(h[m/3], weeks+2);
49 int sum = h[0]+h[1]+h[2]+h[3];
52 mvwprintw(win, y++, COLS/2-2, "%d", YEAR);
55 for (int m = 0; m < 12; m++) {
67 mvwvline(win, y, x+(MW+3)*1-2, ACS_VLINE, sum+3);
68 mvwvline(win, y, x+(MW+3)*2-2, ACS_VLINE, sum+3);
69 for (int i = 0; i < 3; i++) {
71 mvwhline(win, y, x, ACS_HLINE, w);
72 mvwaddch(win, y, x+(MW+3)*1-2, ACS_PLUS);
73 mvwaddch(win, y, x+(MW+3)*2-2, ACS_PLUS);
79 int year_run(int key, mmask_t btn, int row, int col)