1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  * Copyright (C) 2007 Authors:
4  *   Christopher Brown <audiere@gmail.com>
5  *   Ted Gould <ted@gould.cx>
6  *
7  * Released under GNU GPL v2+, read the file 'COPYING' for more information.
8  */
9 
10 #include "extension/effect.h"
11 #include "extension/system.h"
12 
13 #include "spread.h"
14 #include <Magick++.h>
15 
16 namespace Inkscape {
17 namespace Extension {
18 namespace Internal {
19 namespace Bitmap {
20 
21 void
applyEffect(Magick::Image * image)22 Spread::applyEffect(Magick::Image* image) {
23 	image->spread(_amount);
24 }
25 
26 void
refreshParameters(Inkscape::Extension::Effect * module)27 Spread::refreshParameters(Inkscape::Extension::Effect* module) {
28 	_amount = module->get_param_int("amount");
29 }
30 
31 #include "../clear-n_.h"
32 
33 void
init()34 Spread::init()
35 {
36     // clang-format off
37     Inkscape::Extension::build_from_mem(
38         "<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
39             "<name>" N_("Dither") "</name>\n"
40             "<id>org.inkscape.effect.bitmap.spread</id>\n"
41             "<param name=\"amount\" gui-text=\"" N_("Amount:") "\" type=\"int\" min=\"0\" max=\"100\">3</param>\n"
42             "<effect>\n"
43                 "<object-type>all</object-type>\n"
44                 "<effects-menu>\n"
45                     "<submenu name=\"" N_("Raster") "\" />\n"
46                 "</effects-menu>\n"
47                 "<menu-tip>" N_("Randomly scatter pixels in selected bitmap(s), within the given radius of the original position") "</menu-tip>\n"
48             "</effect>\n"
49         "</inkscape-extension>\n", new Spread());
50     // clang-format on
51 }
52 
53 }; /* namespace Bitmap */
54 }; /* namespace Internal */
55 }; /* namespace Extension */
56 }; /* namespace Inkscape */
57