summaryrefslogtreecommitdiff
path: root/libs/canvas
diff options
context:
space:
mode:
Diffstat (limited to 'libs/canvas')
-rw-r--r--libs/canvas/canvas.cc12
-rw-r--r--libs/canvas/canvas/canvas.h2
2 files changed, 14 insertions, 0 deletions
diff --git a/libs/canvas/canvas.cc b/libs/canvas/canvas.cc
index a004d64ad3..47784626aa 100644
--- a/libs/canvas/canvas.cc
+++ b/libs/canvas/canvas.cc
@@ -163,6 +163,18 @@ Canvas::prepare_for_render (Rect const & area) const
}
}
+gint64
+Canvas::get_microseconds_since_render_start () const
+{
+ gint64 timestamp = g_get_monotonic_time();
+
+ if (_last_render_start_timestamp == 0 || timestamp <= _last_render_start_timestamp) {
+ return 0;
+ }
+
+ return timestamp - _last_render_start_timestamp;
+}
+
ostream&
operator<< (ostream& o, Canvas& c)
{
diff --git a/libs/canvas/canvas/canvas.h b/libs/canvas/canvas/canvas.h
index 70a44d2f80..3bcf58256d 100644
--- a/libs/canvas/canvas/canvas.h
+++ b/libs/canvas/canvas/canvas.h
@@ -91,6 +91,8 @@ public:
gint64 get_last_render_start_timestamp () const { return _last_render_start_timestamp; }
+ gint64 get_microseconds_since_render_start () const;
+
/** @return root group */
Item* root () {
return &_root;