Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
nr-filter-convolve-matrix.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
2#ifndef SEEN_NR_FILTER_CONVOLVE_MATRIX_H
3#define SEEN_NR_FILTER_CONVOLVE_MATRIX_H
4
5/*
6 * feConvolveMatrix filter primitive renderer
7 *
8 * Authors:
9 * Felipe CorrĂȘa da Silva Sanches <juca@members.fsf.org>
10 *
11 * Copyright (C) 2007 authors
12 *
13 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
14 */
15
17#include <vector>
18
19namespace Inkscape {
20namespace Filters {
21
22class FilterSlot;
23
31
33{
34public:
37
38 void render_cairo(FilterSlot &slot) const override;
39 void area_enlarge(Geom::IntRect &area, Geom::Affine const &trans) const override;
40 double complexity(Geom::Affine const &ctm) const override;
41
42 void set_targetY(int coord);
43 void set_targetX(int coord);
44 void set_orderY(int coord);
45 void set_orderX(int coord);
46 void set_kernelMatrix(std::vector<gdouble> km);
47 void set_bias(double b);
48 void set_divisor(double d);
50 void set_preserveAlpha(bool pa);
51
52 Glib::ustring name() const override { return Glib::ustring("Convolve Matrix"); }
53
54private:
55 std::vector<double> kernelMatrix;
58 double divisor, bias;
61};
62
63} // namespace Filters
64} // namespace Inkscape
65
66#endif // SEEN_NR_FILTER_CONVOLVE_MATRIX_H
67/*
68 Local Variables:
69 mode:c++
70 c-file-style:"stroustrup"
71 c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
72 indent-tabs-mode:nil
73 fill-column:99
74 End:
75*/
76// 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
Axis aligned, non-empty, generic rectangle.
void render_cairo(FilterSlot &slot) const override
double complexity(Geom::Affine const &ctm) const override
void set_edgeMode(FilterConvolveMatrixEdgeMode mode)
void area_enlarge(Geom::IntRect &area, Geom::Affine const &trans) const override
Helper class to stream background task notifications as a series of messages.
int mode