void (*twIdleFunction) (void); // the current idle function void twIdleFunc(void (*func) (void)) { twIdleFunction = func; glutIdleFunc(func); } void twNextFrame() { if(twIdleFunction != NULL) twIdleFunction(); // invoke the idle function once }