/* * Copyright (C) 2007 Authors: * Christopher Brown * Ted Gould * * Released under GNU GPL, read the file 'COPYING' for more information */ #include "extension/effect.h" #include "extension/system.h" #include "convolve.h" namespace Inkscape { namespace Extension { namespace Internal { namespace Bitmap { void Convolve::applyEffect(Magick::Image *image) { image->convolve(_order, _kernel); } void Convolve::refreshParameters(Inkscape::Extension::Effect *module) { _order = module->get_param_int("order"); if (_order % 2 == 0) _order--; _kernel = new double[_order]; int i = 0; char *arrayStr = g_strdup(module->get_param_string("kernel")); char *num = strtok(arrayStr, ","); while (num != NULL) { _kernel[i++] = atof(num); num = strtok(NULL, ","); } } #include "../clear-n_.h" void Convolve::init(void) { Inkscape::Extension::build_from_mem( "\n" // TRANSLATORS: see http://docs.gimp.org/en/gimp-tool-convolve.html "" N_("Convolve") "\n" "org.inkscape.effect.bitmap.convolve\n" "4\n" "1,1,0,0\n" "\n" "all\n" "\n" "\n" "\n" "" N_("Apply Convolve Effect") "\n" "\n" "\n", new Convolve()); } }; /* namespace Bitmap */ }; /* namespace Internal */ }; /* namespace Extension */ }; /* namespace Inkscape */