From 267299811df952d08324a39008f52c19641de9e0 Mon Sep 17 00:00:00 2001 From: Tavmjong Bah Date: Tue, 30 Jan 2018 09:33:01 +0100 Subject: Move classes derived from SPObject to own directory. A lot of header clean-up. --- src/sp-defs.cpp | 107 -------------------------------------------------------- 1 file changed, 107 deletions(-) delete mode 100644 src/sp-defs.cpp (limited to 'src/sp-defs.cpp') diff --git a/src/sp-defs.cpp b/src/sp-defs.cpp deleted file mode 100644 index 619a27c0f..000000000 --- a/src/sp-defs.cpp +++ /dev/null @@ -1,107 +0,0 @@ -/* - * SVG implementation - * - * Authors: - * Lauris Kaplinski - * Jon A. Cruz - * Abhishek Sharma - * - * Copyright (C) 2000-2002 authors - * - * Released under GNU GPL, read the file 'COPYING' for more information - */ - -/* - * fixme: We should really check childrens validity - currently everything - * flips in - */ - -#include "sp-defs.h" -#include "xml/repr.h" -#include "document.h" - -SPDefs::SPDefs() : SPObject() { -} - -SPDefs::~SPDefs() { -} - -void SPDefs::release() { - SPObject::release(); -} - -void SPDefs::update(SPCtx *ctx, guint flags) { - if (flags & SP_OBJECT_MODIFIED_FLAG) { - flags |= SP_OBJECT_PARENT_MODIFIED_FLAG; - } - - flags &= SP_OBJECT_MODIFIED_CASCADE; - std::vector l(this->childList(true)); - for(std::vector::const_iterator i=l.begin();i!=l.end();++i){ - SPObject *child = *i; - if (flags || (child->uflags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))) { - child->updateDisplay(ctx, flags); - } - sp_object_unref(child); - } -} - -void SPDefs::modified(unsigned int flags) { - if (flags & SP_OBJECT_MODIFIED_FLAG) { - flags |= SP_OBJECT_PARENT_MODIFIED_FLAG; - } - - flags &= SP_OBJECT_MODIFIED_CASCADE; - std::vector l; - for (auto& child: children) { - sp_object_ref(&child); - l.push_back(&child); - } - - for (auto child:l) { - if (flags || (child->mflags & (SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_CHILD_MODIFIED_FLAG))) { - child->emitModified(flags); - } - sp_object_unref(child); - } -} - -Inkscape::XML::Node* SPDefs::write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags) { - if (flags & SP_OBJECT_WRITE_BUILD) { - - if (!repr) { - repr = xml_doc->createElement("svg:defs"); - } - - std::vector l; - for (auto& child: children) { - Inkscape::XML::Node *crepr = child.updateRepr(xml_doc, NULL, flags); - if (crepr) { - l.push_back(crepr); - } - } - for (auto i=l.rbegin();i!=l.rend();++i) { - repr->addChild(*i, NULL); - Inkscape::GC::release(*i); - } - } else { - for (auto& child: children) { - child.updateRepr(flags); - } - } - - SPObject::write(xml_doc, repr, flags); - - return repr; -} - -/* - 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 : -- cgit v1.2.3