1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /** \file 3 * SVG merge filter effect 4 *//* 5 * Authors: 6 * Hugo Rodrigues <haa.rodrigues@gmail.com> 7 * 8 * Copyright (C) 2006 Hugo Rodrigues 9 * Released under GNU GPL v2+, read the file 'COPYING' for more information. 10 */ 11 #ifndef SP_FEMERGE_H_SEEN 12 #define SP_FEMERGE_H_SEEN 13 14 #include "sp-filter-primitive.h" 15 16 #define SP_FEMERGE(obj) (dynamic_cast<SPFeMerge*>((SPObject*)obj)) 17 #define SP_IS_FEMERGE(obj) (dynamic_cast<const SPFeMerge*>((SPObject*)obj) != NULL) 18 19 class SPFeMerge : public SPFilterPrimitive { 20 public: 21 SPFeMerge(); 22 ~SPFeMerge() override; 23 24 protected: 25 void build(SPDocument* doc, Inkscape::XML::Node* repr) override; 26 void release() override; 27 28 void set(SPAttr key, const gchar* value) override; 29 30 void update(SPCtx* ctx, unsigned int flags) override; 31 32 Inkscape::XML::Node* write(Inkscape::XML::Document* doc, Inkscape::XML::Node* repr, guint flags) override; 33 34 void build_renderer(Inkscape::Filters::Filter* filter) override; 35 }; 36 37 #endif /* !SP_FEMERGE_H_SEEN */ 38 39 /* 40 Local Variables: 41 mode:c++ 42 c-file-style:"stroustrup" 43 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +)) 44 indent-tabs-mode:nil 45 fill-column:99 46 End: 47 */ 48 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 : 49