summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2007-10-30 19:30:20 +0000
committergouldtj <gouldtj@users.sourceforge.net>2007-10-30 19:30:20 +0000
commitc01e5c5381da6700af759f872bee5e08546d7267 (patch)
tree436414de586df35fa734e5831b9f2835614f63cf /src
parentr16894@shi: ted | 2007-10-30 09:26:42 -0700 (diff)
downloadinkscape-c01e5c5381da6700af759f872bee5e08546d7267.tar.gz
inkscape-c01e5c5381da6700af759f872bee5e08546d7267.zip
r16895@shi: ted | 2007-10-30 09:35:24 -0700
Adding in Chris' downsample patch. (bzr r3981)
Diffstat (limited to 'src')
-rw-r--r--src/extension/init.cpp2
-rw-r--r--src/extension/internal/Makefile_insert50
-rw-r--r--src/extension/internal/bitmap/sample.cpp55
-rw-r--r--src/extension/internal/bitmap/sample.h30
4 files changed, 113 insertions, 24 deletions
diff --git a/src/extension/init.cpp b/src/extension/init.cpp
index 8c2be3e28..3a9f1e9aa 100644
--- a/src/extension/init.cpp
+++ b/src/extension/init.cpp
@@ -85,6 +85,7 @@
#include "internal/bitmap/opacity.h"
#include "internal/bitmap/raise.h"
#include "internal/bitmap/reduceNoise.h"
+#include "internal/bitmap/sample.h"
#include "internal/bitmap/shade.h"
#include "internal/bitmap/sharpen.h"
#include "internal/bitmap/solarize.h"
@@ -214,6 +215,7 @@ init()
Internal::Bitmap::Opacity::init();
Internal::Bitmap::Raise::init();
Internal::Bitmap::ReduceNoise::init();
+ Internal::Bitmap::Sample::init();
Internal::Bitmap::Shade::init();
Internal::Bitmap::Sharpen::init();
Internal::Bitmap::Solarize::init();
diff --git a/src/extension/internal/Makefile_insert b/src/extension/internal/Makefile_insert
index dc2d9bbf3..87d76a3ec 100644
--- a/src/extension/internal/Makefile_insert
+++ b/src/extension/internal/Makefile_insert
@@ -6,17 +6,17 @@ extension/internal/clean:
rm -f extension/internal/libinternal.a $(extension_internal_libinternal_OBJECTS)
if USE_IMAGE_MAGICK
-extension_internal_image_magick_sources = \
+extension_internal_image_magick_sources = \
extension/internal/bitmap/imagemagick.cpp \
extension/internal/bitmap/imagemagick.h \
- extension/internal/bitmap/adaptiveThreshold.cpp \
- extension/internal/bitmap/adaptiveThreshold.h \
+ extension/internal/bitmap/adaptiveThreshold.cpp \
+ extension/internal/bitmap/adaptiveThreshold.h \
extension/internal/bitmap/addNoise.cpp \
extension/internal/bitmap/addNoise.h \
- extension/internal/bitmap/blur.cpp \
- extension/internal/bitmap/blur.h \
+ extension/internal/bitmap/blur.cpp \
+ extension/internal/bitmap/blur.h \
extension/internal/bitmap/channel.cpp \
- extension/internal/bitmap/channel.h \
+ extension/internal/bitmap/channel.h \
extension/internal/bitmap/charcoal.cpp \
extension/internal/bitmap/charcoal.h \
extension/internal/bitmap/colorize.cpp \
@@ -27,20 +27,20 @@ extension_internal_image_magick_sources = \
extension/internal/bitmap/cycleColormap.h \
extension/internal/bitmap/despeckle.cpp \
extension/internal/bitmap/despeckle.h \
- extension/internal/bitmap/edge.cpp \
- extension/internal/bitmap/edge.h \
+ extension/internal/bitmap/edge.cpp \
+ extension/internal/bitmap/edge.h \
extension/internal/bitmap/emboss.cpp \
- extension/internal/bitmap/emboss.h \
+ extension/internal/bitmap/emboss.h \
extension/internal/bitmap/enhance.cpp \
- extension/internal/bitmap/enhance.h \
+ extension/internal/bitmap/enhance.h \
extension/internal/bitmap/equalize.cpp \
extension/internal/bitmap/equalize.h \
extension/internal/bitmap/gaussianBlur.cpp \
extension/internal/bitmap/gaussianBlur.h \
extension/internal/bitmap/implode.cpp \
- extension/internal/bitmap/implode.h \
- extension/internal/bitmap/level.cpp \
- extension/internal/bitmap/level.h \
+ extension/internal/bitmap/implode.h \
+ extension/internal/bitmap/level.cpp \
+ extension/internal/bitmap/level.h \
extension/internal/bitmap/levelChannel.cpp \
extension/internal/bitmap/levelChannel.h \
extension/internal/bitmap/medianFilter.cpp \
@@ -48,32 +48,34 @@ extension_internal_image_magick_sources = \
extension/internal/bitmap/modulate.cpp \
extension/internal/bitmap/modulate.h \
extension/internal/bitmap/negate.cpp \
- extension/internal/bitmap/negate.h \
+ extension/internal/bitmap/negate.h \
extension/internal/bitmap/normalize.cpp \
extension/internal/bitmap/normalize.h \
extension/internal/bitmap/oilPaint.cpp \
extension/internal/bitmap/oilPaint.h \
extension/internal/bitmap/opacity.cpp \
- extension/internal/bitmap/opacity.h \
- extension/internal/bitmap/raise.cpp \
- extension/internal/bitmap/raise.h \
+ extension/internal/bitmap/opacity.h \
+ extension/internal/bitmap/raise.cpp \
+ extension/internal/bitmap/raise.h \
extension/internal/bitmap/reduceNoise.cpp \
extension/internal/bitmap/reduceNoise.h \
- extension/internal/bitmap/shade.cpp \
- extension/internal/bitmap/shade.h \
+ extension/internal/bitmap/sample.cpp \
+ extension/internal/bitmap/sample.h \
+ extension/internal/bitmap/shade.cpp \
+ extension/internal/bitmap/shade.h \
extension/internal/bitmap/sharpen.cpp \
- extension/internal/bitmap/sharpen.h \
+ extension/internal/bitmap/sharpen.h \
extension/internal/bitmap/solarize.cpp \
extension/internal/bitmap/solarize.h \
extension/internal/bitmap/spread.cpp \
- extension/internal/bitmap/spread.h \
- extension/internal/bitmap/swirl.cpp \
- extension/internal/bitmap/swirl.h \
+ extension/internal/bitmap/spread.h \
+ extension/internal/bitmap/swirl.cpp \
+ extension/internal/bitmap/swirl.h \
extension/internal/bitmap/threshold.cpp \
extension/internal/bitmap/threshold.h \
extension/internal/bitmap/unsharpmask.cpp \
extension/internal/bitmap/unsharpmask.h \
- extension/internal/bitmap/wave.cpp \
+ extension/internal/bitmap/wave.cpp \
extension/internal/bitmap/wave.h
endif
diff --git a/src/extension/internal/bitmap/sample.cpp b/src/extension/internal/bitmap/sample.cpp
new file mode 100644
index 000000000..9c245432a
--- /dev/null
+++ b/src/extension/internal/bitmap/sample.cpp
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2007 Authors:
+ * Christopher Brown <audiere@gmail.com>
+ * Ted Gould <ted@gould.cx>
+ *
+ * Released under GNU GPL, read the file 'COPYING' for more information
+ */
+
+#include "extension/effect.h"
+#include "extension/system.h"
+
+#include "sample.h"
+
+namespace Inkscape {
+namespace Extension {
+namespace Internal {
+namespace Bitmap {
+
+void
+Sample::applyEffect(Magick::Image* image) {
+ Magick::Geometry geometry(_width, _height, 0, 0);
+ image->sample(geometry);
+}
+
+void
+Sample::refreshParameters(Inkscape::Extension::Effect* module) {
+ _width = module->get_param_int("width");
+ _height = module->get_param_int("height");
+}
+
+#include "../clear-n_.h"
+
+void
+Sample::init(void)
+{
+ Inkscape::Extension::build_from_mem(
+ "<inkscape-extension>\n"
+ "<name>" N_("Sample") "</name>\n"
+ "<id>org.inkscape.effect.bitmap.sample</id>\n"
+ "<param name=\"width\" gui-text=\"" N_("Width") "\" type=\"int\" min=\"0\" max=\"6400\">100</param>\n"
+ "<param name=\"height\" gui-text=\"" N_("Height") "\" type=\"int\" min=\"0\" max=\"6400\">100</param>\n"
+ "<effect>\n"
+ "<object-type>all</object-type>\n"
+ "<effects-menu>\n"
+ "<submenu name=\"" N_("Raster") "\" />\n"
+ "</effects-menu>\n"
+ "<menu-tip>" N_("Alter the resolution of selected image by resizing it by given dimensions.") "</menu-tip>\n"
+ "</effect>\n"
+ "</inkscape-extension>\n", new Sample());
+}
+
+}; /* namespace Bitmap */
+}; /* namespace Internal */
+}; /* namespace Extension */
+}; /* namespace Inkscape */
diff --git a/src/extension/internal/bitmap/sample.h b/src/extension/internal/bitmap/sample.h
new file mode 100644
index 000000000..a378229d9
--- /dev/null
+++ b/src/extension/internal/bitmap/sample.h
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2007 Authors:
+ * Christopher Brown <audiere@gmail.com>
+ * Ted Gould <ted@gould.cx>
+ *
+ * Released under GNU GPL, read the file 'COPYING' for more information
+ */
+
+#include "imagemagick.h"
+
+namespace Inkscape {
+namespace Extension {
+namespace Internal {
+namespace Bitmap {
+
+class Sample : public ImageMagick
+{
+private:
+ int _width;
+ int _height;
+public:
+ void applyEffect(Magick::Image *image);
+ void refreshParameters(Inkscape::Extension::Effect *module);
+ static void init(void);
+};
+
+}; /* namespace Bitmap */
+}; /* namespace Internal */
+}; /* namespace Extension */
+}; /* namespace Inkscape */