diff options
author | Tim Mayberry <mojofunk@gmail.com> | 2017-03-28 15:52:28 +1000 |
---|---|---|
committer | Tim Mayberry <mojofunk@gmail.com> | 2017-06-26 08:40:47 +1000 |
commit | 4ddf97f5a2b505997935a1079f2fd9232c1f634e (patch) | |
tree | 41f9b9aa005f81d1e6344947ce94347ea57c4ff6 /libs/canvas | |
parent | ab13e87ec2f61489bbbb52ade6c3f9a1b67a0e1b (diff) |
Add Canvas::get_microseconds_since_render_start() method
Initial use is for the WaveView class to determine whether on not to draw the
waveform in the GUI thread.
Diffstat (limited to 'libs/canvas')
-rw-r--r-- | libs/canvas/canvas.cc | 12 | ||||
-rw-r--r-- | libs/canvas/canvas/canvas.h | 2 |
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; |