summaryrefslogtreecommitdiff
path: root/libs/canvas
diff options
context:
space:
mode:
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)
{