diff --git a/01_git/astime_x.c b/01_git/astime_x.c index fbca5673f486fd9e9ab0a19aad92dbfe7596320f..93e654607f1e02cf77adf460dd580ceae7a0a015 100644 --- a/01_git/astime_x.c +++ b/01_git/astime_x.c @@ -121,10 +121,8 @@ void draw_sunriset(Display *dpy, double start, end; GC gc; - assert(type == CIVIL_TWILIGHT - || type == NAUT_TWILIGHT - || type == ASTRO_TWILIGHT - || type == DARKNESS); + assert(type == CIVIL_TWILIGHT || type == NAUT_TWILIGHT + || type == ASTRO_TWILIGHT || type == DARKNESS); gc = XCreateGC(dpy, win, 0, NULL); XSetForeground(dpy, gc, color); x = center.x - (watch_size.x * size); @@ -132,19 +130,42 @@ void draw_sunriset(Display *dpy, width = watch_size.x * size * 2; height = watch_size.y * size * 2; if (CIVIL_TWILIGHT == type) { - printf("civil\n"); - civil_twilight(local_time->tm_year, local_time->tm_mon, + int ret; + ret = civil_twilight(local_time->tm_year, local_time->tm_mon, local_time->tm_mday, lat, lon, &start, &end); + if (1 == ret) { + XFillArc(dpy, win, gc, x, x, width, height, 0 * 64, 359 * 64); + XFreeGC(dpy, gc); + return; + } else if (-1 == ret) { + XFreeGC(dpy, gc); + return; + } } else if (NAUT_TWILIGHT == type) { - printf("nautical\n"); - nautical_twilight(local_time->tm_year, local_time->tm_mon, + int ret; + ret = nautical_twilight(local_time->tm_year, local_time->tm_mon, local_time->tm_mday, lat, lon, &start, &end); + if (1 == ret) { + XFillArc(dpy, win, gc, x, x, width, height, 0 * 64, 359 * 64); + XFreeGC(dpy, gc); + return; + } else if (-1 == ret) { + XFreeGC(dpy, gc); + return; + } } else if (ASTRO_TWILIGHT == type) { - printf("astronomical\n"); - astronomical_twilight(local_time->tm_year, local_time->tm_mon, + int ret; + ret = astronomical_twilight(local_time->tm_year, local_time->tm_mon, local_time->tm_mday, lat, lon, &start, &end); + if (1 == ret) { + XFillArc(dpy, win, gc, x, x, width, height, 0 * 64, 359 * 64); + XFreeGC(dpy, gc); + return; + } else if (-1 == ret) { + XFreeGC(dpy, gc); + return; + } } else if (DARKNESS == type) { - printf("darkness\n"); XFillArc(dpy, win, gc, x, x, width, height, 0 * 64, 359 * 64); XFreeGC(dpy, gc); return;