summaryrefslogtreecommitdiff
path: root/FL/platform_types.h
diff options
context:
space:
mode:
authorMatthias Melcher <github@matthiasm.com>2023-02-09 14:48:39 +0100
committerGitHub <noreply@github.com>2023-02-09 14:48:39 +0100
commitffadc23cab725828a3a38646d3efa10bd551f7b2 (patch)
tree404e9a3326bfde284960e16a0e8fd63f320c6c64 /FL/platform_types.h
parent880fc26857d068789119ac79acf58b57c7d94b9e (diff)
Expose elapsed time API (#670)
Diffstat (limited to 'FL/platform_types.h')
-rw-r--r--FL/platform_types.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/FL/platform_types.h b/FL/platform_types.h
index b55544d4c..421a0b7c6 100644
--- a/FL/platform_types.h
+++ b/FL/platform_types.h
@@ -12,6 +12,9 @@
* https://www.fltk.org/bugs.php
*/
+#ifndef Fl_Platform_Types_H
+#define Fl_Platform_Types_H
+
/** \file
Definitions of platform-dependent types.
The exact nature of these types varies with the platform.
@@ -62,6 +65,13 @@ typedef opaque FL_SOCKET; /**< socket or file descriptor */
*/
typedef struct opaque *GLContext;
+/**
+ Platform-specific point in time, used for delta time calculation.
+ \note This type may be a struct. sizeof(Fl_Timestamp) may be different on
+ different platforms. Fl_Timestamp may change with future ABI changes.
+ */
+typedef opaque Fl_Timestamp;
+
# define FL_COMMAND opaque /**< An alias for FL_CTRL on Windows and X11, or FL_META on MacOS X */
# define FL_CONTROL opaque /**< An alias for FL_META on Windows and X11, or FL_CTRL on MacOS X */
@@ -127,4 +137,15 @@ extern FL_EXPORT int fl_control_modifier();
#endif /* FL_PLATFORM_TYPES_H */
+// This is currently the same for all platforms, but may change in the future
+struct Fl_Timestamp_t {
+ long sec;
+ long usec;
+};
+
+typedef struct Fl_Timestamp_t Fl_Timestamp;
+
#endif /* FL_DOXYGEN */
+
+#endif /* Fl_Platform_Types_H */
+