summaryrefslogtreecommitdiff
path: root/libs/canvas
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-09-25 14:43:57 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2016-09-27 14:59:32 -0500
commit5672419fffadcb41c5f402f4031fdf26a064ecc5 (patch)
treedb94ec72d3c1521e13357cc79e113cb5163345ef /libs/canvas
parent095bdb7d402da5417ed5147bdc8e35efbcf2b876 (diff)
add Item::add_front()
Diffstat (limited to 'libs/canvas')
-rw-r--r--libs/canvas/canvas/item.h1
-rw-r--r--libs/canvas/item.cc11
2 files changed, 12 insertions, 0 deletions
diff --git a/libs/canvas/canvas/item.h b/libs/canvas/canvas/item.h
index c7f8a0e043..2d28fcdf2a 100644
--- a/libs/canvas/canvas/item.h
+++ b/libs/canvas/canvas/item.h
@@ -192,6 +192,7 @@ public:
/* nested item ("grouping") API */
void add (Item *);
+ void add_front (Item *);
void remove (Item *);
void clear (bool with_delete = false);
std::list<Item*> const & items () const {
diff --git a/libs/canvas/item.cc b/libs/canvas/item.cc
index dc82245ecb..711743d9f1 100644
--- a/libs/canvas/item.cc
+++ b/libs/canvas/item.cc
@@ -868,6 +868,17 @@ Item::add (Item* i)
}
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)
{