From cae2409c94b11d17643f7c19829e2653d759ff8e Mon Sep 17 00:00:00 2001 From: Maximilian Albert Date: Thu, 13 Dec 2007 09:45:27 +0000 Subject: Fundamentally reworked version of the 3D box tool (among many other things, this fixes bugs #168900 and #168868). See mailing list for details. Sorry for this single large commit but it was unfeasible to keep the history. (bzr r4224) --- src/persp3d-reference.h | 66 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 src/persp3d-reference.h (limited to 'src/persp3d-reference.h') diff --git a/src/persp3d-reference.h b/src/persp3d-reference.h new file mode 100644 index 000000000..43b0e82b1 --- /dev/null +++ b/src/persp3d-reference.h @@ -0,0 +1,66 @@ +#ifndef SEEN_PERSP3D_REFERENCE_H +#define SEEN_PERSP3D_REFERENCE_H + +/* + * The reference corresponding to the inkscape:perspectiveID attribute + * + * Copyright (C) 2007 Johan Engelen + * Copyright (C) 2007 Maximilian Albert + * + * Released under GNU GPL, read the file 'COPYING' for more information. + */ + +#include "uri-references.h" +#include + +class SPObject; +class Persp3D; + +namespace Inkscape { +namespace XML { +struct Node; +} +} + +class Persp3DReference : public Inkscape::URIReference { +public: + Persp3DReference(SPObject *obj); + ~Persp3DReference(); + + Persp3D *getObject() const { + return (Persp3D *)URIReference::getObject(); + } + + SPObject *owner; + + // concerning the Persp3D (we only use SPBox3D) that is refered to: + gchar *persp_href; + Inkscape::XML::Node *persp_repr; + Persp3D *persp; + + sigc::connection _changed_connection; + sigc::connection _modified_connection; + sigc::connection _delete_connection; + + void link(char* to); + void unlink(void); + void start_listening(Persp3D* to); + void quit_listening(void); + +protected: + virtual bool _acceptObject(SPObject *obj) const; +}; + + +#endif /* !SEEN_PERSP3D_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:encoding=utf-8:textwidth=99 : -- cgit v1.2.3