parent
6568f60ab8
commit
ee43155a4b
3
FL/Fl.H
3
FL/Fl.H
@ -50,6 +50,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <string.h> // FIXME: Fl::is_scheme(): strcmp needs string.h
|
#include <string.h> // FIXME: Fl::is_scheme(): strcmp needs string.h
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
class Fl_Widget;
|
class Fl_Widget;
|
||||||
class Fl_Window;
|
class Fl_Window;
|
||||||
@ -242,6 +243,8 @@ FL_EXPORT extern void repeat_timeout(double t, Fl_Timeout_Handler cb, void *data
|
|||||||
FL_EXPORT extern int has_timeout(Fl_Timeout_Handler cb, void *data = 0);
|
FL_EXPORT extern int has_timeout(Fl_Timeout_Handler cb, void *data = 0);
|
||||||
FL_EXPORT extern void remove_timeout(Fl_Timeout_Handler cb, void *data = 0);
|
FL_EXPORT extern void remove_timeout(Fl_Timeout_Handler cb, void *data = 0);
|
||||||
FL_EXPORT extern int remove_next_timeout(Fl_Timeout_Handler cb, void *data = 0, void **data_return = 0);
|
FL_EXPORT extern int remove_next_timeout(Fl_Timeout_Handler cb, void *data = 0, void **data_return = 0);
|
||||||
|
typedef struct { double t; Fl_Timeout_Handler cb; void *data; } TimeoutData;
|
||||||
|
FL_EXPORT extern std::vector<TimeoutData> timeout_list();
|
||||||
|
|
||||||
FL_EXPORT extern void add_check(Fl_Timeout_Handler, void* = 0);
|
FL_EXPORT extern void add_check(Fl_Timeout_Handler, void* = 0);
|
||||||
FL_EXPORT extern int has_check(Fl_Timeout_Handler, void* = 0);
|
FL_EXPORT extern int has_check(Fl_Timeout_Handler, void* = 0);
|
||||||
|
|||||||
@ -448,6 +448,14 @@ int Fl::remove_next_timeout(Fl_Timeout_Handler cb, void *data, void **data_retur
|
|||||||
return Fl_Timeout::remove_next_timeout(cb, data, data_return);
|
return Fl_Timeout::remove_next_timeout(cb, data, data_return);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Return a list of all currently running timeouts.
|
||||||
|
\return a vector with all relevant timeout data
|
||||||
|
*/
|
||||||
|
std::vector<Fl::TimeoutData> Fl::timeout_list() {
|
||||||
|
return Fl_Timeout::timeout_list();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////
|
||||||
// Checks are just stored in a list. They are called in the reverse
|
// Checks are just stored in a list. They are called in the reverse
|
||||||
|
|||||||
@ -344,6 +344,17 @@ int Fl_Timeout::remove_next_timeout(Fl_Timeout_Handler cb, void *data, void **da
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::vector<Fl::TimeoutData> Fl_Timeout::timeout_list() {
|
||||||
|
std::vector<Fl::TimeoutData> v;
|
||||||
|
const Fl_Timeout *t = first_timeout;
|
||||||
|
while (t) {
|
||||||
|
v.push_back( { t->time, t->callback, t->data } );
|
||||||
|
t = t->next;
|
||||||
|
}
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Remove the timeout from the active timer queue and push it onto
|
Remove the timeout from the active timer queue and push it onto
|
||||||
the stack of currently running callbacks.
|
the stack of currently running callbacks.
|
||||||
|
|||||||
@ -109,6 +109,7 @@ public:
|
|||||||
static void repeat_timeout(double time, Fl_Timeout_Handler cb, void *data);
|
static void repeat_timeout(double time, Fl_Timeout_Handler cb, void *data);
|
||||||
static void remove_timeout(Fl_Timeout_Handler cb, void *data);
|
static void remove_timeout(Fl_Timeout_Handler cb, void *data);
|
||||||
static int remove_next_timeout(Fl_Timeout_Handler cb, void *data = NULL, void **data_return = NULL);
|
static int remove_next_timeout(Fl_Timeout_Handler cb, void *data = NULL, void **data_return = NULL);
|
||||||
|
static std::vector<Fl::TimeoutData> timeout_list();
|
||||||
|
|
||||||
// Elapse timeouts, i.e. calculate new delay time of all timers.
|
// Elapse timeouts, i.e. calculate new delay time of all timers.
|
||||||
// This does not call the timer callbacks.
|
// This does not call the timer callbacks.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user