001// License: GPL. For details, see LICENSE file.
002package org.openstreetmap.josm.gui.layer;
003
004import java.awt.image.BufferedImage;
005
006/**
007 * Processor that modifies images (sharpen, brightness, etc.).
008 * This interface is used by {@link ImageryLayer}s to filter the
009 * displayed images (implemented in plugins).
010 *
011 * @author Nipel-Crumple
012 * @since  8625 (creation)
013 * @since 10600 (functional interface)
014 */
015@FunctionalInterface
016public interface ImageProcessor {
017
018    /**
019     * This method should process given image according to image processors
020     * which is contained in the {@link Layer}
021     *
022     * @param image that should be processed
023     *
024     * @return processed image
025     */
026    BufferedImage process(BufferedImage image);
027}