X-Git-Url: http://pileus.org/git/?p=lackey;a=blobdiff_plain;f=src%2Fview%2Fweek.c;h=c2d3089fc11f5ecd94936633f8f589b943f0e0c9;hp=cc6e5d69582a81320785d9e280fcbea48282675e;hb=a5916a4d929af1ba7835c08966121cf2afa81668;hpb=84ab027f57e88c7eb73c7264c2fef4c7fb5d50cf diff --git a/src/view/week.c b/src/view/week.c index cc6e5d6..c2d3089 100644 --- a/src/view/week.c +++ b/src/view/week.c @@ -1,15 +1,55 @@ -/* week init */ -void week_init(void) +#include +#include + +#include "main.h" +#include "util.h" + +/* Static data */ +static WINDOW *win; + +/* Week init */ +void week_init(WINDOW *_win) { + win = _win; } -/* week draw */ +/* Week draw */ void week_draw(void) { + int x = 6; + int y = 3; + const float hstep = (float)(COLS-x)/5.0; + + /* Get start of week */ + year_t year = YEAR; + month_t month = MONTH; + day_t day = DAY; + int shift = day_of_week(year, month, day); + add_days(&year, &month, &day, -shift+MON); + + /* Print Header */ + mvwprintw(win, 1, 0, "%s", month_to_str(MONTH)); + for (int d = 0; d < 5; d++) { + // FIXME.. + const char *str = hstep >= 10 ? day_to_string(d+MON) : day_to_str(d+MON); + mvwprintw(win, 0, x+ROUND(d*hstep), "%02d/%02d", month, day); + mvwprintw(win, 1, x+ROUND(d*hstep), "%s", str); + add_days(&year, &month, &day, 1); + } + + /* Print times */ + int start = 8; + for (int h = 0; h < (LINES-6)/4+1; h++) + mvwprintw(win, 3+h*4, 0,"%02d:%02d", (start+h)%12, 0); + + /* Print lines */ + mvwhline(win, y-1, 0, ACS_HLINE, COLS); + for (int d = 0; d < 5; d++) + mvwvline(win, y, x+ROUND(d*hstep)-1, ACS_VLINE, LINES-y-2); } -/* week run */ -int week_run(int chr) +/* Week run */ +int week_run(int key, mmask_t btn, int row, int col) { return 0; }