summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2017-03-07 16:58:13 +0000
committerManolo Gouy <Manolo>2017-03-07 16:58:13 +0000
commitc37744cde9ff9a4e9e476a9a4acebfee87650f29 (patch)
tree69d6c215ddd231e4350371d810de04422ee16b32 /src
parent3c375f39775cc450e05437d09543f179ff4ccc93 (diff)
Add to Fl_System_Driver support for measuring time with split second resolution.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12187 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
-rw-r--r--src/drivers/Posix/Fl_Posix_System_Driver.H3
-rw-r--r--src/drivers/Posix/Fl_Posix_System_Driver.cxx11
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_System_Driver.H3
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx10
4 files changed, 23 insertions, 4 deletions
diff --git a/src/drivers/Posix/Fl_Posix_System_Driver.H b/src/drivers/Posix/Fl_Posix_System_Driver.H
index fb33d9e9e..5b2060283 100644
--- a/src/drivers/Posix/Fl_Posix_System_Driver.H
+++ b/src/drivers/Posix/Fl_Posix_System_Driver.H
@@ -4,7 +4,7 @@
// Definition of Posix system driver
// for the Fast Light Tool Kit (FLTK).
//
-// Copyright 2010-2016 by Bill Spitzak and others.
+// Copyright 2010-2017 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file. If this
@@ -74,6 +74,7 @@ public:
virtual int file_type(const char *filename);
virtual const char *home_directory_name() { return ::getenv("HOME"); }
virtual int dot_file_hidden() {return 1;}
+ virtual void gettime(time_t *sec, int *usec);
};
#endif // FL_POSIX_SYSTEM_DRIVER_H
diff --git a/src/drivers/Posix/Fl_Posix_System_Driver.cxx b/src/drivers/Posix/Fl_Posix_System_Driver.cxx
index 9fb0fc5cd..c2576b268 100644
--- a/src/drivers/Posix/Fl_Posix_System_Driver.cxx
+++ b/src/drivers/Posix/Fl_Posix_System_Driver.cxx
@@ -3,7 +3,7 @@
//
// Definition of Apple Darwin system driver.
//
-// Copyright 1998-2016 by Bill Spitzak and others.
+// Copyright 1998-2017 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file. If this
@@ -30,6 +30,7 @@
#endif
#include <sys/types.h>
#include <sys/stat.h>
+#include <sys/time.h>
#include <pwd.h>
#include <unistd.h>
#include <time.h>
@@ -90,6 +91,14 @@ const char *Fl_Posix_System_Driver::getpwnam(const char *login) {
return pwd ? pwd->pw_dir : NULL;
}
+
+void Fl_Posix_System_Driver::gettime(time_t *sec, int *usec) {
+ struct timeval tv;
+ gettimeofday(&tv, NULL);
+ *sec = tv.tv_sec;
+ *usec = tv.tv_usec;
+}
+
//
// End of "$Id$".
//
diff --git a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H
index 759a39d0c..43e0f54e2 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H
+++ b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.H
@@ -4,7 +4,7 @@
// Definition of MSWindows system driver
// for the Fast Light Tool Kit (FLTK).
//
-// Copyright 2010-2016 by Bill Spitzak and others.
+// Copyright 2010-2017 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file. If this
@@ -116,6 +116,7 @@ public:
virtual void add_fd(int fd, Fl_FD_Handler cb, void* = 0);
virtual void remove_fd(int, int when);
virtual void remove_fd(int);
+ virtual void gettime(time_t *sec, int *usec);
};
#endif // FL_WINAPI_SYSTEM_DRIVER_H
diff --git a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx
index 43141ffae..007f73d0e 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx
+++ b/src/drivers/WinAPI/Fl_WinAPI_System_Driver.cxx
@@ -3,7 +3,7 @@
//
// Definition of Apple Darwin system driver.
//
-// Copyright 1998-2016 by Bill Spitzak and others.
+// Copyright 1998-2017 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file. If this
@@ -31,6 +31,7 @@
#include <rpc.h>
#include <sys/types.h>
#include <sys/stat.h>
+#include <sys/timeb.h>
// function pointer for the UuidCreate Function
// RPC_STATUS RPC_ENTRY UuidCreate(UUID __RPC_FAR *Uuid);
typedef RPC_STATUS (WINAPI* uuid_func)(UUID __RPC_FAR *Uuid);
@@ -902,6 +903,13 @@ const char *Fl_WinAPI_System_Driver::home_directory_name()
return h;
}
+void Fl_WinAPI_System_Driver::gettime(time_t *sec, int *usec) {
+ struct _timeb t;
+ _ftime(&t);
+ *sec = t.time;
+ *usec = t.millitm * 1000;
+}
+
//
// End of "$Id$".
//