Code

NEW: temporary on-canvas indicators
[inkscape.git] / src / display / canvas-temporary-item-list.h
diff --git a/src/display/canvas-temporary-item-list.h b/src/display/canvas-temporary-item-list.h
new file mode 100644 (file)
index 0000000..cd4bcfe
--- /dev/null
@@ -0,0 +1,58 @@
+#ifndef INKSCAPE_CANVAS_TEMPORARY_ITEM_LIST_H\r
+#define INKSCAPE_CANVAS_TEMPORARY_ITEM_LIST_H\r
+\r
+/** \file\r
+ * Provides a class that can contain active TemporaryItem's on a desktop\r
+ *\r
+ * Authors:\r
+ *   Johan Engelen\r
+ *\r
+ * Copyright (C) Johan Engelen 2008 <j.b.c.engelen@utwente.nl>\r
+ *\r
+ * Released under GNU GPL, read the file 'COPYING' for more information\r
+ */\r
+\r
+#include "forward.h"\r
+#include "display/display-forward.h"\r
+#include <list>\r
+\r
+namespace Inkscape {\r
+namespace Display {\r
+\r
+class TemporaryItem;\r
+\r
+class TemporaryItemList  {\r
+public:\r
+    TemporaryItemList(SPDesktop *desktop);\r
+    virtual ~TemporaryItemList();\r
+\r
+    TemporaryItem* add_item (SPCanvasItem *item, guint lifetime);\r
+    void           delete_item (TemporaryItem * tempitem);\r
+\r
+protected:\r
+    SPDesktop *desktop;   /** Desktop we are on. */\r
+\r
+    std::list<TemporaryItem *> itemlist; /** list of temp items */ \r
+\r
+    void _item_timeout (TemporaryItem * tempitem);\r
+\r
+private:\r
+    TemporaryItemList(const TemporaryItemList&);\r
+    TemporaryItemList& operator=(const TemporaryItemList&);\r
+};\r
+\r
+} //namespace Display\r
+} //namespace Inkscape\r
+\r
+#endif\r
+\r
+/*\r
+  Local Variables:\r
+  mode:c++\r
+  c-file-style:"stroustrup"\r
+  c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))\r
+  indent-tabs-mode:nil\r
+  fill-column:99\r
+  End:\r
+*/\r
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :\r