summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FL/Fl.H6
-rw-r--r--documentation/functions.html22
-rw-r--r--src/Fl.cxx8
3 files changed, 19 insertions, 17 deletions
diff --git a/FL/Fl.H b/FL/Fl.H
index c5f7489af..74f1a9df5 100644
--- a/FL/Fl.H
+++ b/FL/Fl.H
@@ -1,5 +1,5 @@
//
-// "$Id: Fl.H,v 1.8.2.8 2000/06/20 05:47:32 bill Exp $"
+// "$Id: Fl.H,v 1.8.2.9 2000/06/21 17:36:33 bill Exp $"
//
// Main header file for the Fast Light Tool Kit (FLTK).
//
@@ -91,7 +91,7 @@ public:
static FL_EXPORT int run();
static FL_EXPORT Fl_Widget* readqueue();
static FL_EXPORT void add_timeout(double t, Fl_Timeout_Handler,void* = 0);
- static FL_EXPORT void add_interval_timeout(double t, Fl_Timeout_Handler,void* = 0);
+ static FL_EXPORT void repeat_timeout(double t, Fl_Timeout_Handler,void* = 0);
static FL_EXPORT int has_timeout(Fl_Timeout_Handler, void* = 0);
static FL_EXPORT void remove_timeout(Fl_Timeout_Handler, void* = 0);
static FL_EXPORT void add_fd(int fd, int when, void (*cb)(int,void*),void* =0);
@@ -214,5 +214,5 @@ public:
#endif
//
-// End of "$Id: Fl.H,v 1.8.2.8 2000/06/20 05:47:32 bill Exp $".
+// End of "$Id: Fl.H,v 1.8.2.9 2000/06/21 17:36:33 bill Exp $".
//
diff --git a/documentation/functions.html b/documentation/functions.html
index a79bdd1fd..d2a06357a 100644
--- a/documentation/functions.html
+++ b/documentation/functions.html
@@ -303,23 +303,25 @@ Add a one-shot timeout callback. The function will be called by
<tt>Fl::wait()</tt> at <i>t</i> seconds after this function is called.
The optional <tt>void*</tt> argument is passed to the callback.
-<h3><A name=add_interval_timeout>static void Fl::add_interval_timeout(float t, void (*cb)(void*),void*v=0)</A></h3>
+<h3><A name=repeat_timeout>static void Fl::repeat_timeout(float t, void (*cb)(void*),void*v=0)</A></h3>
-Add a one-shot timeout callback. The difference from <a
-href=#add_timeout>add_timeout</a> is that the time is measured from
-when the last timeout callback was called, rather than from the moment
-this function is called (if no timeout has been called recently the
-time is measured from the next call to Fl::wait). This is designed
-for making regularly-spaced timeouts at high speed (like for movie
-playback), it also has slightly less system-call overhead than
-add_timeout.
+Inside a timeout callback you can call this to add another timeout.
+Rather than the time being measured from "now", it is measured from
+when the system call elapsed that caused this timeout to be called. This
+will result in far more accurate spacing of the timeout callbacks, it
+also has slightly less system call overhead. (It will also use all
+your machine time if your timeout code and fltk's overhead take more
+than <i>t</i> seconds, as the real timeout will be reduced to zero).
+
+<p>It is undefined what this does if called from outside a timeout
+callback.
<P>This code will print &quot;TICK&quot; each second on stdout, with a
fair degree of accuracy:
<UL><PRE>void callback(void*) {
printf(&quot;TICK\n&quot;);
- Fl::add_interval_timeout(1.0,callback);
+ Fl::repeat_timeout(1.0,callback);
}
main() {
diff --git a/src/Fl.cxx b/src/Fl.cxx
index a6c17ae77..5ea46e793 100644
--- a/src/Fl.cxx
+++ b/src/Fl.cxx
@@ -1,5 +1,5 @@
//
-// "$Id: Fl.cxx,v 1.24.2.29 2000/06/20 15:20:34 carl Exp $"
+// "$Id: Fl.cxx,v 1.24.2.30 2000/06/21 17:36:36 bill Exp $"
//
// Main event handling code for the Fast Light Tool Kit (FLTK).
//
@@ -198,10 +198,10 @@ int Fl::ready() {
void Fl::add_timeout(double t, Fl_Timeout_Handler cb, void *v) {
elapse_timeouts();
- add_interval_timeout(t, cb, v);
+ repeat_timeout(t, cb, v);
}
-void Fl::add_interval_timeout(double t, Fl_Timeout_Handler cb, void *v) {
+void Fl::repeat_timeout(double t, Fl_Timeout_Handler cb, void *v) {
if (numtimeouts >= timeout_array_size) {
timeout_array_size = 2*timeout_array_size+1;
@@ -729,5 +729,5 @@ void Fl_Window::flush() {
}
//
-// End of "$Id: Fl.cxx,v 1.24.2.29 2000/06/20 15:20:34 carl Exp $".
+// End of "$Id: Fl.cxx,v 1.24.2.30 2000/06/21 17:36:36 bill Exp $".
//