+
+ case ' ':
+ if(anim_stop_time > 0) {
+ start_time += glutGet(GLUT_ELAPSED_TIME) - anim_stop_time;
+ anim_stop_time = 0;
+ } else {
+ anim_stop_time = glutGet(GLUT_ELAPSED_TIME);
+ }
+ break;
+
+ case '=':
+ start_time += calc_timeshift(anim_speed, anim_speed + ANIM_DELTA);
+ anim_speed += ANIM_DELTA;
+ break;
+
+ case '-':
+ prev_anim_speed = anim_speed;
+ anim_speed -= ANIM_DELTA;
+ if(anim_speed < 0)
+ anim_speed = 0;
+ start_time += calc_timeshift(prev_anim_speed, anim_speed);
+ break;