Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
blend.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
/*
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"
19
20class SPFeBlend final
21 : public SPFilterPrimitive
22{
23public:
25 int get_in2() const { return in2_slot; }
26 int tag() const override { return tag_of<decltype(*this)>; }
27
28protected:
29 void build(SPDocument *doc, Inkscape::XML::Node *repr) override;
30 void set(SPAttr key, char const *value) override;
32
33 void resolve_slots(SlotResolver &) override;
34 std::unique_ptr<Inkscape::Filters::FilterPrimitive> build_renderer(Inkscape::DrawingItem *item) const override;
35
36private:
38
39 std::optional<std::string> in2_name;
41};
42
43#endif // SP_FEBLEND_H_SEEN
44
45/*
46 Local Variables:
47 mode:c++
48 c-file-style:"stroustrup"
49 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
50 indent-tabs-mode:nil
51 fill-column:99
52 End:
53*/
54// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
SPAttr
Definition attributes.h:27
constexpr int tag_of
Convenience function to retrieve the tag (class id) of a given type.
Definition cast.h:26
SVG drawing item for display.
Interface for refcounted XML nodes.
Definition node.h:80
Typed SVG document implementation.
Definition document.h:101
void build(SPDocument *doc, Inkscape::XML::Node *repr) override
Definition blend.cpp:39
int get_in2() const
Definition blend.h:25
std::optional< std::string > in2_name
Definition blend.h:39
void resolve_slots(SlotResolver &) override
Definition blend.cpp:185
SPBlendMode blend_mode
Definition blend.h:37
int in2_slot
Definition blend.h:40
Inkscape::XML::Node * write(Inkscape::XML::Document *doc, Inkscape::XML::Node *repr, unsigned flags) override
Definition blend.cpp:134
SPBlendMode get_blend_mode() const
Definition blend.h:24
int tag() const override
Definition blend.h:26
std::unique_ptr< Inkscape::Filters::FilterPrimitive > build_renderer(Inkscape::DrawingItem *item) const override
Definition blend.cpp:191
Inkscape::XML::Node * repr
Definition sp-object.h:193
SPItem * item
static cairo_user_data_key_t key
Document level base class for all SVG filter primitives.
Interface for XML documents.
Definition document.h:43
SPBlendMode
@ SP_CSS_BLEND_NORMAL