diff options
Diffstat (limited to 'src/object/sp-shape-reference.h')
-rw-r--r-- | src/object/sp-shape-reference.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/object/sp-shape-reference.h b/src/object/sp-shape-reference.h new file mode 100644 index 0000000..80fcb10 --- /dev/null +++ b/src/object/sp-shape-reference.h @@ -0,0 +1,56 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +#ifndef SEEN_SP_SHAPE_REFERENCE_H +#define SEEN_SP_SHAPE_REFERENCE_H + +/* + * Reference class for shapes (SVG 2 text). + * + * Author: + * Lauris Kaplinski <lauris@kaplinski.com> + * Jon A. Cruz <jon@joncruz.org> + * + * Copyright (C) 1999-2002 Lauris Kaplinski + * Copyright (C) 2000-2001 Ximian, Inc. + * Copyright (C) 2010 Authors + * + * Released under GNU GPL v2+, read the file 'COPYING' for more information. + */ + +#include "uri-references.h" + +#include "sp-object.h" +#include "sp-shape.h" + +class SPDocument; + +class SPShapeReference : public Inkscape::URIReference { +public: + ~SPShapeReference() override; + SPShapeReference(SPObject *obj); + SPShape *getObject() const { + return static_cast<SPShape *>(URIReference::getObject()); + } + +protected: + bool _acceptObject(SPObject *obj) const override { + return SP_IS_SHAPE(obj) && URIReference::_acceptObject(obj); + }; + + private: + void on_shape_modified(SPObject *, unsigned flags); + + sigc::connection _shape_modified_connection; + sigc::connection _owner_release_connection; +}; + +#endif // SEEN_SP_SHAPE_REFERENCE_H +/* + Local Variables: + mode:c++ + c-file-style:"stroustrup" + c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) + indent-tabs-mode:nil + fill-column:99 + End: +*/ +// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 : |