Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
nr-filter-blend.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
2#ifndef SEEN_NR_FILTER_BLEND_H
3#define SEEN_NR_FILTER_BLEND_H
4
5/*
6 * SVG feBlend renderer
7 *
8 * "This filter composites two objects together using commonly used
9 * imaging software blending modes. It performs a pixel-wise combination
10 * of two input images."
11 * http://www.w3.org/TR/SVG11/filters.html#feBlend
12 *
13 * Authors:
14 * Niko Kiirala <niko@kiirala.com>
15 *
16 * Copyright (C) 2007 authors
17 *
18 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
19 */
20#include <set>
21#include "style-enums.h"
23
24namespace Inkscape {
25namespace Filters {
26
28{
29public:
31 ~FilterBlend() override;
32
33 void render_cairo(FilterSlot &slot) const override;
34 bool can_handle_affine(Geom::Affine const &) const override;
35 double complexity(Geom::Affine const &ctm) const override;
36 bool uses_background() const override;
37
38 void set_input(int slot) override;
39 void set_input(int input, int slot) override;
41
42 Glib::ustring name() const override { return Glib::ustring("Blend"); }
43
44private:
45 static const std::set<SPBlendMode> _valid_modes;
48};
49
50
51} // namespace Filters
52} // namespace Inkscape
53
54#endif // SEEN_NR_FILTER_BLEND_H
55/*
56 Local Variables:
57 mode:c++
58 c-file-style:"stroustrup"
59 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
60 indent-tabs-mode:nil
61 fill-column:99
62 End:
63*/
64// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
3x3 matrix representing an affine transformation.
Definition affine.h:70
void set_mode(SPBlendMode mode)
double complexity(Geom::Affine const &ctm) const override
bool uses_background() const override
void set_input(int slot) override
Sets the input slot number 'slot' to be used as input in rendering filter primitive 'primitive' For f...
Glib::ustring name() const override
bool can_handle_affine(Geom::Affine const &) const override
Indicate whether the filter primitive can handle the given affine.
static const std::set< SPBlendMode > _valid_modes
void render_cairo(FilterSlot &slot) const override
Helper class to stream background task notifications as a series of messages.
int mode
SPStyle enums: named public enums that correspond to SVG property values.
SPBlendMode