/*
 *    GeoTools - The Open Source Java GIS Toolkit
 *    http://geotools.org
 * 
 *    (C) 2002-2008, Open Source Geospatial Foundation (OSGeo)
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License as published by the Free Software Foundation;
 *    version 2.1 of the License.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 */
package org.geotools.styling;



/**
 * ImageOutline specifies how individual source rasters in a multi-raster set
 * (such as a set of satellite-image scenes) should be outlined to make the
 * individual-image locations visible.
 *
 *  <xsd:element name="ImageOutline">
 *      <xsd:annotation>
 *          <xsd:documentation>         "ImageOutline" specifies
 *              how individual source rasters in         a multi-raster set
 *              (such as a set of satellite-image scenes)         should be
 *              outlined to make the individual-image locations visible.       </xsd:documentation>
 *      </xsd:annotation>
 *      <xsd:complexType>
 *          <xsd:choice>
 *              <xsd:element ref="sld:LineSymbolizer"/>
 *              <xsd:element ref="sld:PolygonSymbolizer"/>
 *          </xsd:choice>
 *      </xsd:complexType>
 *  </xsd:element>
 *
 * @author Justin Deoliveira, The Open Planning Project
 *
 * @source $URL: http://svn.osgeo.org/geotools/tags/2.7-M3/modules/library/api/src/main/java/org/geotools/styling/ImageOutline.java $
 */
public interface ImageOutline {
    /**
     * Returns the symbolizer of the image outline.
     *
     * @return One of {@see PolygonSymbolizer},{@see LineSymbolizer}.
     */
    Symbolizer getSymbolizer();

    /**
     * Sets the symbolizer of the image outline.
     *
     * @param symbolizer The new symbolizer, one of {@see PolygonSymbolizer},{@see LineSymbolizer}.
     */
    void setSymbolizer(Symbolizer symbolizer);
    
    
    void accept(org.geotools.styling.StyleVisitor visitor);
}