Skip to content

Commit

Permalink
Changed the name of the new function from "add_interval_timeout" to
Browse files Browse the repository at this point in the history
"repeat_timeout", which is shorter and more accurately describes what
it does.

GLUT_STROKE_*_ROMAN in glut.h are defined as 0,1 on WIN32 to match the
glut header files there.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.0@1232 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
  • Loading branch information
spitzak committed Jun 21, 2000
1 parent 23594d8 commit 1150141
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 17 deletions.
6 changes: 3 additions & 3 deletions 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).
//
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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 $".
//
22 changes: 12 additions & 10 deletions documentation/functions.html
Expand Up @@ -303,23 +303,25 @@ <h3><A name=add_timeout>static void Fl::add_timeout(float t, void (*cb)(void*),v
<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() {
Expand Down
8 changes: 4 additions & 4 deletions 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).
//
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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 $".
//

0 comments on commit 1150141

Please sign in to comment.