~ubuntu-branches/debian/experimental/inkscape/experimental

« back to all changes in this revision

Viewing changes to src/extension/internal/bitmap/addNoise.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Thomas Viehmann
  • Date: 2008-09-09 23:29:02 UTC
  • mfrom: (1.1.7 upstream)
  • Revision ID: james.westby@ubuntu.com-20080909232902-c50iujhk1w79u8e7
Tags: 0.46-2.1
* Non-maintainer upload.
* Add upstream patch fixing a crash in the open dialog
  in the zh_CN.utf8 locale. Closes: #487623.
  Thanks to Luca Bruno for the patch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (C) 2007 Authors:
 
3
 *   Christopher Brown <audiere@gmail.com>
 
4
 *   Ted Gould <ted@gould.cx>
 
5
 *   
 
6
 * Released under GNU GPL, read the file 'COPYING' for more information
 
7
 */
 
8
 
 
9
#include "extension/effect.h"
 
10
#include "extension/system.h"
 
11
 
 
12
#include "addNoise.h"
 
13
 
 
14
namespace Inkscape {
 
15
namespace Extension {
 
16
namespace Internal {
 
17
namespace Bitmap {
 
18
        
 
19
void
 
20
AddNoise::applyEffect(Magick::Image *image) {
 
21
        Magick::NoiseType noiseType = Magick::UniformNoise;
 
22
        if (!strcmp(_noiseTypeName,      "Uniform Noise"))              noiseType = Magick::UniformNoise;
 
23
        else if (!strcmp(_noiseTypeName, "Gaussian Noise"))             noiseType = Magick::GaussianNoise;
 
24
        else if (!strcmp(_noiseTypeName, "Multiplicative Gaussian Noise"))      noiseType = Magick::MultiplicativeGaussianNoise;
 
25
        else if (!strcmp(_noiseTypeName, "Impulse Noise"))              noiseType = Magick::ImpulseNoise;
 
26
        else if (!strcmp(_noiseTypeName, "Laplacian Noise"))    noiseType = Magick::LaplacianNoise;
 
27
        else if (!strcmp(_noiseTypeName, "Poisson Noise"))              noiseType = Magick::PoissonNoise;       
 
28
        
 
29
        image->addNoise(noiseType);
 
30
}
 
31
 
 
32
void
 
33
AddNoise::refreshParameters(Inkscape::Extension::Effect *module) {      
 
34
        _noiseTypeName = module->get_param_enum("noiseType");
 
35
}
 
36
 
 
37
#include "../clear-n_.h"
 
38
 
 
39
void
 
40
AddNoise::init(void)
 
41
{
 
42
        Inkscape::Extension::build_from_mem(
 
43
                "<inkscape-extension>\n"
 
44
                        "<name>" N_("Add Noise") "</name>\n"
 
45
                        "<id>org.inkscape.effect.bitmap.addNoise</id>\n"
 
46
                        "<param name=\"noiseType\" gui-text=\"" N_("Type") "\" type=\"enum\" >\n"
 
47
                                "<_item value='Uniform Noise'>" N_("Uniform Noise") "</_item>\n"
 
48
                                "<_item value='Gaussian Noise'>" N_("Gaussian Noise") "</_item>\n"
 
49
                                "<_item value='Multiplicative Gaussian Noise'>" N_("Multiplicative Gaussian Noise") "</_item>\n"
 
50
                                "<_item value='Impulse Noise'>" N_("Impulse Noise") "</_item>\n"
 
51
                                "<_item value='Laplacian Noise'>" N_("Laplacian Noise") "</_item>\n"
 
52
                                "<_item value='Poisson Noise'>" N_("Poisson Noise") "</_item>\n"
 
53
                        "</param>\n"
 
54
                        "<effect>\n"
 
55
                                "<object-type>all</object-type>\n"
 
56
                                "<effects-menu>\n"
 
57
                                        "<submenu name=\"" N_("Raster") "\" />\n"
 
58
                                "</effects-menu>\n"
 
59
                                "<menu-tip>" N_("Add random noise to selected bitmap(s).") "</menu-tip>\n"
 
60
                        "</effect>\n"
 
61
                "</inkscape-extension>\n", new AddNoise());
 
62
}
 
63
 
 
64
}; /* namespace Bitmap */
 
65
}; /* namespace Internal */
 
66
}; /* namespace Extension */
 
67
}; /* namespace Inkscape */