Code

cd4bcfe995ff04d9f28fea2b17125b194588868f
[inkscape.git] / src / display / canvas-temporary-item-list.h
1 #ifndef INKSCAPE_CANVAS_TEMPORARY_ITEM_LIST_H\r
2 #define INKSCAPE_CANVAS_TEMPORARY_ITEM_LIST_H\r
3 \r
4 /** \file\r
5  * Provides a class that can contain active TemporaryItem's on a desktop\r
6  *\r
7  * Authors:\r
8  *   Johan Engelen\r
9  *\r
10  * Copyright (C) Johan Engelen 2008 <j.b.c.engelen@utwente.nl>\r
11  *\r
12  * Released under GNU GPL, read the file 'COPYING' for more information\r
13  */\r
14 \r
15 #include "forward.h"\r
16 #include "display/display-forward.h"\r
17 #include <list>\r
18 \r
19 namespace Inkscape {\r
20 namespace Display {\r
21 \r
22 class TemporaryItem;\r
23 \r
24 class TemporaryItemList  {\r
25 public:\r
26     TemporaryItemList(SPDesktop *desktop);\r
27     virtual ~TemporaryItemList();\r
28 \r
29     TemporaryItem* add_item (SPCanvasItem *item, guint lifetime);\r
30     void           delete_item (TemporaryItem * tempitem);\r
31 \r
32 protected:\r
33     SPDesktop *desktop;   /** Desktop we are on. */\r
34 \r
35     std::list<TemporaryItem *> itemlist; /** list of temp items */ \r
36 \r
37     void _item_timeout (TemporaryItem * tempitem);\r
38 \r
39 private:\r
40     TemporaryItemList(const TemporaryItemList&);\r
41     TemporaryItemList& operator=(const TemporaryItemList&);\r
42 };\r
43 \r
44 } //namespace Display\r
45 } //namespace Inkscape\r
46 \r
47 #endif\r
48 \r
49 /*\r
50   Local Variables:\r
51   mode:c++\r
52   c-file-style:"stroustrup"\r
53   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))\r
54   indent-tabs-mode:nil\r
55   fill-column:99\r
56   End:\r
57 */\r
58 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :\r