From 95824506fe2f410e1cd37e9d2bed58af6f558a0a Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Tue, 1 Mar 2016 00:54:21 +0000 Subject: 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 --- src/drivers/X11/Fl_X11_Screen_Driver.H | 5 +++++ src/drivers/X11/Fl_X11_Screen_Driver.cxx | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'src/drivers/X11') 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)) { -- cgit v1.2.3