aboutsummaryrefslogtreecommitdiffstats
path: root/surfaces/vega.h
diff options
context:
space:
mode:
Diffstat (limited to 'surfaces/vega.h')
-rw-r--r--surfaces/vega.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/surfaces/vega.h b/surfaces/vega.h
index ff880c5..0ab87dd 100644
--- a/surfaces/vega.h
+++ b/surfaces/vega.h
@@ -43,12 +43,16 @@ void vega_screen(VegaScreen *, const PureModule *);
/* The wall-clock time events see on a live surface: milliseconds since 1970
* (UTC). Scripts set their own (time MS). */
double vega_now(void);
-/* When each timer input ticks next. run ticks every one due at now (a tick
- * sees now) and gives the milliseconds until the next, or -1 without timers;
- * ticked says whether any did. Missed ticks are not made up. */
+/* A clock that only goes on (milliseconds, from boot): when timers are due,
+ * which setting the wall clock back must not hold up. */
+double vega_clock(void);
+/* When each timer input ticks next, on vega_clock. run ticks every one due
+ * at clock (a tick sees the wall clock, vega_now) and gives the
+ * milliseconds until the next, or -1 without timers; ticked says whether
+ * any did. Missed ticks are not made up. */
typedef struct { double next[PURE_MODULE_INPUTS]; } VegaTimers;
-void vega_timers_start(VegaTimers *, const PureModule *, double now);
-long vega_timers_run(VegaTimers *, PureApp *, double now, bool *ticked);
+void vega_timers_start(VegaTimers *, const PureModule *, double clock);
+long vega_timers_run(VegaTimers *, PureApp *, double clock, bool *ticked);
/* What a module seems to mean but does not meet: a list label that is not
* text, a _focus view without its table, a column a list never shows, a
* second text input. Each finding names the view or input it is about;