protected void handle_keyboard (int key, int state, int x, int y) {
    switch (key) {
    case 'd': day = (day + 10) % 360; break;
    case 'D': day = (day - 10) % 360; break;
    case 'y': year = (year + 5) % 360; break;
    case 'Y': year = (year - 5) % 360; break;
    default: return;
    }

    mark_window_dirty ();
  }