*/
#include "pbd/compose.h"
-#include "pbd/stacktrace.h"
+#include "pbd/demangle.h"
#include "pbd/convert.h"
#include "ardour/utils.h"
}
void
-Item::add_child_bounding_boxes() const
+Item::add_child_bounding_boxes (bool include_hidden) const
{
boost::optional<Rect> self;
Rect bbox;
for (list<Item*>::const_iterator i = _items.begin(); i != _items.end(); ++i) {
- if (!(*i)->visible()) {
+ if (!(*i)->visible() && !include_hidden) {
continue;
}
_bounding_box_dirty = true;
}
+void
+Item::add_front (Item* i)
+{
+ /* XXX should really notify canvas about this */
+
+ _items.push_front (i);
+ i->reparent (this);
+ invalidate_lut ();
+ _bounding_box_dirty = true;
+}
+
void
Item::remove (Item* i)
{