Index: trunk/src/org/openstreetmap/josm/gui/layer/ImageProcessor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/ImageProcessor.java	(revision 12781)
+++ 	(revision )
@@ -1,27 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.gui.layer;
-
-import java.awt.image.BufferedImage;
-
-/**
- * Processor that modifies images (sharpen, brightness, etc.).
- * This interface is used by {@link ImageryLayer}s to filter the
- * displayed images (implemented in plugins).
- *
- * @author Nipel-Crumple
- * @since  8625 (creation)
- * @since 10600 (functional interface)
- */
-@FunctionalInterface
-public interface ImageProcessor {
-
-    /**
-     * This method should process given image according to image processors
-     * which is contained in the {@link Layer}
-     *
-     * @param image that should be processed
-     *
-     * @return processed image
-     */
-    BufferedImage process(BufferedImage image);
-}
Index: trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java	(revision 12781)
+++ trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java	(revision 12782)
@@ -41,4 +41,5 @@
 import org.openstreetmap.josm.gui.layer.imagery.TileSourceDisplaySettings;
 import org.openstreetmap.josm.tools.GBC;
+import org.openstreetmap.josm.tools.ImageProcessor;
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.ImageProvider.ImageSizes;
Index: trunk/src/org/openstreetmap/josm/gui/layer/Layer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/Layer.java	(revision 12781)
+++ trunk/src/org/openstreetmap/josm/gui/layer/Layer.java	(revision 12782)
@@ -33,4 +33,5 @@
 import org.openstreetmap.josm.data.projection.ProjectionChangeListener;
 import org.openstreetmap.josm.tools.Destroyable;
+import org.openstreetmap.josm.tools.ImageProcessor;
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Utils;
Index: trunk/src/org/openstreetmap/josm/gui/layer/imagery/ColorfulImageProcessor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/imagery/ColorfulImageProcessor.java	(revision 12781)
+++ trunk/src/org/openstreetmap/josm/gui/layer/imagery/ColorfulImageProcessor.java	(revision 12782)
@@ -6,6 +6,6 @@
 import java.util.Map;
 
-import org.openstreetmap.josm.gui.layer.ImageProcessor;
 import org.openstreetmap.josm.io.session.SessionAwareReadApply;
+import org.openstreetmap.josm.tools.ImageProcessor;
 import org.openstreetmap.josm.tools.Logging;
 import org.openstreetmap.josm.tools.Utils;
Index: trunk/src/org/openstreetmap/josm/gui/layer/imagery/GammaImageProcessor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/imagery/GammaImageProcessor.java	(revision 12781)
+++ trunk/src/org/openstreetmap/josm/gui/layer/imagery/GammaImageProcessor.java	(revision 12782)
@@ -9,6 +9,6 @@
 import java.util.Map;
 
-import org.openstreetmap.josm.gui.layer.ImageProcessor;
 import org.openstreetmap.josm.io.session.SessionAwareReadApply;
+import org.openstreetmap.josm.tools.ImageProcessor;
 import org.openstreetmap.josm.tools.Logging;
 import org.openstreetmap.josm.tools.Utils;
Index: trunk/src/org/openstreetmap/josm/gui/layer/imagery/ImageryFilterSettings.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/imagery/ImageryFilterSettings.java	(revision 12781)
+++ trunk/src/org/openstreetmap/josm/gui/layer/imagery/ImageryFilterSettings.java	(revision 12782)
@@ -6,5 +6,5 @@
 import java.util.concurrent.CopyOnWriteArrayList;
 
-import org.openstreetmap.josm.gui.layer.ImageProcessor;
+import org.openstreetmap.josm.tools.ImageProcessor;
 
 /**
Index: trunk/src/org/openstreetmap/josm/gui/layer/imagery/SharpenImageProcessor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/imagery/SharpenImageProcessor.java	(revision 12781)
+++ trunk/src/org/openstreetmap/josm/gui/layer/imagery/SharpenImageProcessor.java	(revision 12782)
@@ -8,6 +8,6 @@
 import java.util.Map;
 
-import org.openstreetmap.josm.gui.layer.ImageProcessor;
 import org.openstreetmap.josm.io.session.SessionAwareReadApply;
+import org.openstreetmap.josm.tools.ImageProcessor;
 import org.openstreetmap.josm.tools.Logging;
 import org.openstreetmap.josm.tools.Utils;
Index: trunk/src/org/openstreetmap/josm/tools/ImageOverlay.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/ImageOverlay.java	(revision 12781)
+++ trunk/src/org/openstreetmap/josm/tools/ImageOverlay.java	(revision 12782)
@@ -6,6 +6,4 @@
 
 import javax.swing.ImageIcon;
-
-import org.openstreetmap.josm.gui.layer.ImageProcessor;
 
 /** class to describe how image overlay
Index: trunk/src/org/openstreetmap/josm/tools/ImageProcessor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/ImageProcessor.java	(revision 12782)
+++ trunk/src/org/openstreetmap/josm/tools/ImageProcessor.java	(revision 12782)
@@ -0,0 +1,28 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.tools;
+
+import java.awt.image.BufferedImage;
+
+/**
+ * Processor that modifies images (sharpen, brightness, etc.).
+ * This interface is used by imagery layers to filter the
+ * displayed images (implemented in plugins).
+ *
+ * @author Nipel-Crumple
+ * @since  8625 (creation)
+ * @since 10600 (functional interface)
+ * @since 12782 (moved from {@code gui.layer} package)
+ */
+@FunctionalInterface
+public interface ImageProcessor {
+
+    /**
+     * This method should process given image according to image processors
+     * which is contained in the layer
+     *
+     * @param image that should be processed
+     *
+     * @return processed image
+     */
+    BufferedImage process(BufferedImage image);
+}
