summaryrefslogtreecommitdiff
path: root/src/drivers/X11
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2016-03-01 00:54:21 +0000
committerMatthias Melcher <fltk@matthiasm.com>2016-03-01 00:54:21 +0000
commit95824506fe2f410e1cd37e9d2bed58af6f558a0a (patch)
treef8c18f415bcdbb1e6e27ecf7c5c754768fc166bd /src/drivers/X11
parent6521bb2562c037dbb457bae42970989d1de5b089 (diff)
Moved timer code to screen drivers. Not sure if this should be in System Drivers instead.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11253 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers/X11')
-rw-r--r--src/drivers/X11/Fl_X11_Screen_Driver.H5
-rw-r--r--src/drivers/X11/Fl_X11_Screen_Driver.cxx8
2 files changed, 9 insertions, 4 deletions
diff --git a/src/drivers/X11/Fl_X11_Screen_Driver.H b/src/drivers/X11/Fl_X11_Screen_Driver.H
index fc9114c3c..4d107abd1 100644
--- a/src/drivers/X11/Fl_X11_Screen_Driver.H
+++ b/src/drivers/X11/Fl_X11_Screen_Driver.H
@@ -68,6 +68,11 @@ public:
virtual int parse_color(const char* p, uchar& r, uchar& g, uchar& b);
virtual void get_system_colors();
virtual const char *get_system_scheme();
+ // --- global timers
+ virtual void add_timeout(double time, Fl_Timeout_Handler cb, void *argp);
+ virtual void repeat_timeout(double time, Fl_Timeout_Handler cb, void *argp);
+ virtual int has_timeout(Fl_Timeout_Handler cb, void *argp);
+ virtual void remove_timeout(Fl_Timeout_Handler cb, void *argp);
};
diff --git a/src/drivers/X11/Fl_X11_Screen_Driver.cxx b/src/drivers/X11/Fl_X11_Screen_Driver.cxx
index 6cf07e380..e168031c2 100644
--- a/src/drivers/X11/Fl_X11_Screen_Driver.cxx
+++ b/src/drivers/X11/Fl_X11_Screen_Driver.cxx
@@ -554,12 +554,12 @@ const char *Fl_X11_Screen_Driver::get_system_scheme()
// X11 timers
//
-void Fl::add_timeout(double time, Fl_Timeout_Handler cb, void *argp) {
+void Fl_X11_Screen_Driver::add_timeout(double time, Fl_Timeout_Handler cb, void *argp) {
elapse_timeouts();
repeat_timeout(time, cb, argp);
}
-void Fl::repeat_timeout(double time, Fl_Timeout_Handler cb, void *argp) {
+void Fl_X11_Screen_Driver::repeat_timeout(double time, Fl_Timeout_Handler cb, void *argp) {
time += missed_timeout_by; if (time < -.05) time = 0;
Timeout* t = free_timeout;
if (t) {
@@ -580,7 +580,7 @@ void Fl::repeat_timeout(double time, Fl_Timeout_Handler cb, void *argp) {
/**
Returns true if the timeout exists and has not been called yet.
*/
-int Fl::has_timeout(Fl_Timeout_Handler cb, void *argp) {
+int Fl_X11_Screen_Driver::has_timeout(Fl_Timeout_Handler cb, void *argp) {
for (Timeout* t = first_timeout; t; t = t->next)
if (t->cb == cb && t->arg == argp) return 1;
return 0;
@@ -593,7 +593,7 @@ int Fl::has_timeout(Fl_Timeout_Handler cb, void *argp) {
\note This version removes all matching timeouts, not just the first one.
This may change in the future.
*/
-void Fl::remove_timeout(Fl_Timeout_Handler cb, void *argp) {
+void Fl_X11_Screen_Driver::remove_timeout(Fl_Timeout_Handler cb, void *argp) {
for (Timeout** p = &first_timeout; *p;) {
Timeout* t = *p;
if (t->cb == cb && (t->arg == argp || !argp)) {