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