From dac25b8db9686f4a6dd03fcc2d616004b1c1dd44 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Mon, 13 Mar 2017 20:45:13 +1000 Subject: [PATCH] Add PreRender signal to the canvas Emitted by the canvas immediately before rendering. --- libs/canvas/canvas.cc | 2 ++ libs/canvas/canvas/canvas.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/libs/canvas/canvas.cc b/libs/canvas/canvas.cc index fb06b06b97..be61b6cb84 100644 --- a/libs/canvas/canvas.cc +++ b/libs/canvas/canvas.cc @@ -101,6 +101,8 @@ Canvas::zoomed () void Canvas::render (Rect const & area, Cairo::RefPtr const & context) const { + PreRender (); // emit signal + #ifdef CANVAS_DEBUG if (DEBUG_ENABLED(PBD::DEBUG::CanvasRender)) { cerr << this << " RENDER: " << area << endl; diff --git a/libs/canvas/canvas/canvas.h b/libs/canvas/canvas/canvas.h index 934f1fe08e..2f506fc3c0 100644 --- a/libs/canvas/canvas/canvas.h +++ b/libs/canvas/canvas/canvas.h @@ -135,6 +135,8 @@ public: */ sigc::signal MouseMotion; + sigc::signal PreRender; + /** Ensures that the position given by @param winpos (in window coordinates) is within the current window area, possibly reduced by @param border.