diff --git a/libs/canvas/canvas.cc b/libs/canvas/canvas.cc index 01f579b9b8..4e0a0de881 100644 --- a/libs/canvas/canvas.cc +++ b/libs/canvas/canvas.cc @@ -109,6 +109,9 @@ Canvas::zoomed () pick_current_item (0); // no current mouse position } +static bool debug_render = true; +#define CANVAS_DEBUG + /** Render an area of the canvas. * @param area Area in window coordinates. * @param context Cairo context to render to. @@ -121,7 +124,7 @@ Canvas::render (Rect const & area, Cairo::RefPtr const & context _last_render_start_timestamp = g_get_monotonic_time(); #ifdef CANVAS_DEBUG - if (DEBUG_ENABLED(PBD::DEBUG::CanvasRender)) { + if (debug_render || DEBUG_ENABLED(PBD::DEBUG::CanvasRender)) { cerr << this << " RENDER: " << area << endl; //cerr << "CANVAS @ " << this << endl; //dump (cerr); @@ -134,6 +137,7 @@ Canvas::render (Rect const & area, Cairo::RefPtr const & context Rect root_bbox = _root.bounding_box(); if (!root_bbox) { /* the root has no bounding box, so there's nothing to render */ + cerr << "no bbox\n"; return; } @@ -144,6 +148,7 @@ Canvas::render (Rect const & area, Cairo::RefPtr const & context area, so render it. */ + cerr << "root draw\n"; _root.render (draw, context); #if defined CANVAS_DEBUG && !PLATFORM_WINDOWS diff --git a/libs/canvas/item.cc b/libs/canvas/item.cc index 9deb82c517..8c39db1e4e 100644 --- a/libs/canvas/item.cc +++ b/libs/canvas/item.cc @@ -747,9 +747,14 @@ Item::covers (Duple const & point) const /* nesting/grouping API */ +static bool debug_render = true; +#define CANVAS_DEBUG 1 + void Item::render_children (Rect const & area, Cairo::RefPtr context) const { + cerr << "I::rc\n"; + if (_items.empty()) { return; } @@ -758,7 +763,7 @@ Item::render_children (Rect const & area, Cairo::RefPtr context) std::vector items = _lut->get (area); #ifdef CANVAS_DEBUG - if (DEBUG_ENABLED(PBD::DEBUG::CanvasRender)) { + if (debug_render || DEBUG_ENABLED(PBD::DEBUG::CanvasRender)) { cerr << string_compose ("%1%8 %2 @ %7 render %5 @ %6 %3 items out of %4\n", _canvas->render_indent(), (name.empty() ? string ("[unnamed]") : name), items.size(), _items.size(), area, _position, 0 /* this */, whatami()); @@ -771,7 +776,7 @@ Item::render_children (Rect const & area, Cairo::RefPtr context) if (!(*i)->visible ()) { #ifdef CANVAS_DEBUG - if (DEBUG_ENABLED(PBD::DEBUG::CanvasRender)) { + if (debug_render || DEBUG_ENABLED(PBD::DEBUG::CanvasRender)) { cerr << _canvas->render_indent() << "Item " << (*i)->whatami() << " [" << (*i)->name << "] invisible - skipped\n"; } #endif @@ -782,7 +787,7 @@ Item::render_children (Rect const & area, Cairo::RefPtr context) if (!item_bbox) { #ifdef CANVAS_DEBUG - if (DEBUG_ENABLED(PBD::DEBUG::CanvasRender)) { + if (debug_render || DEBUG_ENABLED(PBD::DEBUG::CanvasRender)) { cerr << _canvas->render_indent() << "Item " << (*i)->whatami() << " [" << (*i)->name << "] empty - skipped\n"; } #endif @@ -796,16 +801,13 @@ Item::render_children (Rect const & area, Cairo::RefPtr context) Rect draw = d; if (draw.width() && draw.height()) { #ifdef CANVAS_DEBUG - if (DEBUG_ENABLED(PBD::DEBUG::CanvasRender)) { + if (debug_render || DEBUG_ENABLED(PBD::DEBUG::CanvasRender)) { if (dynamic_cast(*i) == 0) { cerr << _canvas->render_indent() << "render " << ' ' << (*i) << ' ' - << (*i)->whatami() - << ' ' - - << (*i)->name + << (*i)->whoami() << " item " << item_bbox << " window = " @@ -826,7 +828,7 @@ Item::render_children (Rect const & area, Cairo::RefPtr context) } else { #ifdef CANVAS_DEBUG - if (DEBUG_ENABLED(PBD::DEBUG::CanvasRender)) { + if (debug_render || DEBUG_ENABLED(PBD::DEBUG::CanvasRender)) { cerr << string_compose ("%1skip render of %2 %3, no intersection between %4 and %5\n", _canvas->render_indent(), (*i)->whatami(), (*i)->name, item, area); } @@ -837,6 +839,7 @@ Item::render_children (Rect const & area, Cairo::RefPtr context) --render_depth; } +#undef CANVAS_DEBUG void Item::prepare_for_render_children (Rect const & area) const