fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz#ifndef INKSCAPE_CANVAS_TEMPORARY_ITEM_LIST_H
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz#define INKSCAPE_CANVAS_TEMPORARY_ITEM_LIST_H
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz
36d9047104b5881ca587a71ade77b1f21d083bc4Jon A. Cruz/*
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz * Authors:
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz * Johan Engelen
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz *
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz * Copyright (C) Johan Engelen 2008 <j.b.c.engelen@utwente.nl>
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz *
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz * Released under GNU GPL, read the file 'COPYING' for more information
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz */
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz#include <list>
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz
0dc33d4ce43e0bb49c63aa53b826ec4a1ff68e28Jon A. Cruzstruct SPCanvasItem;
ce476a1fb346f635574c285a4815b8de8a6cdb68Jon A. Cruzclass SPDesktop;
0dc33d4ce43e0bb49c63aa53b826ec4a1ff68e28Jon A. Cruz
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruznamespace Inkscape {
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruznamespace Display {
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruzclass TemporaryItem;
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz
36d9047104b5881ca587a71ade77b1f21d083bc4Jon A. Cruz/**
7f18e8ab01ce21c98cc7b9f58ffe5e771ebbb64eLiam P. White * Provides a class that can contain active TemporaryItem[s] on a desktop.
36d9047104b5881ca587a71ade77b1f21d083bc4Jon A. Cruz */
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruzclass TemporaryItemList {
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruzpublic:
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz TemporaryItemList(SPDesktop *desktop);
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz virtual ~TemporaryItemList();
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz
7f18e8ab01ce21c98cc7b9f58ffe5e771ebbb64eLiam P. White TemporaryItem* add_item (SPCanvasItem *item, unsigned int lifetime);
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz void delete_item (TemporaryItem * tempitem);
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruzprotected:
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz SPDesktop *desktop; /** Desktop we are on. */
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz std::list<TemporaryItem *> itemlist; /** list of temp items */
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz void _item_timeout (TemporaryItem * tempitem);
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruzprivate:
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz TemporaryItemList(const TemporaryItemList&);
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz TemporaryItemList& operator=(const TemporaryItemList&);
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz};
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz} //namespace Display
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz} //namespace Inkscape
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz#endif
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz/*
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz Local Variables:
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz mode:c++
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz c-file-style:"stroustrup"
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz indent-tabs-mode:nil
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz fill-column:99
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz End:
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz*/
fac0962a18d1fb6d73726dbbe94d3204459484c7joncruz// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :