rrenkert@58: package de.intevation.mxd.reader; rrenkert@58: rrenkert@58: import java.io.IOException; rrenkert@58: rrenkert@58: import org.apache.log4j.Logger; rrenkert@58: rrenkert@58: import com.esri.arcgis.display.ISymbol; rrenkert@63: import com.esri.arcgis.display.IMarkerSymbol; rrenkert@58: import com.esri.arcgis.display.PictureMarkerSymbol; rrenkert@58: import com.esri.arcgis.display.IColor; rrenkert@58: import com.esri.arcgis.carto.PictureElement; rrenkert@58: rrenkert@58: import org.w3c.dom.Element; rrenkert@58: import de.intevation.mxd.utils.MapToXMLUtils; rrenkert@58: rrenkert@58: /** rrenkert@58: * Reads picture marker symbol information. rrenkert@58: * rrenkert@58: * @author Raimund Renkert rrenkert@58: */ rrenkert@80: public class PictureMarkerSymbolReader rrenkert@80: extends AbstractSymbolReader { rrenkert@58: rrenkert@58: /** rrenkert@58: * The logger. rrenkert@58: */ rrenkert@58: private static final Logger logger = rrenkert@58: Logger.getLogger(PictureMarkerSymbolReader.class); rrenkert@58: rrenkert@58: /** rrenkert@58: * Private member. rrenkert@58: */ rrenkert@58: private PictureMarkerSymbol symbol; rrenkert@58: rrenkert@58: public PictureMarkerSymbolReader(ISymbol symbol) rrenkert@58: throws Exception { rrenkert@58: logger.debug("contructor()"); rrenkert@58: if(symbol instanceof PictureMarkerSymbol) { rrenkert@58: this.symbol = (PictureMarkerSymbol)symbol; rrenkert@58: } rrenkert@58: else { rrenkert@58: throw new Exception("Not a PictureMarkerSymbol!"); rrenkert@58: } rrenkert@58: } rrenkert@58: rrenkert@63: public PictureMarkerSymbolReader(IMarkerSymbol symbol) rrenkert@63: throws Exception { rrenkert@63: logger.debug("contructor()"); rrenkert@63: if(symbol instanceof PictureMarkerSymbol) { rrenkert@63: this.symbol = (PictureMarkerSymbol)symbol; rrenkert@63: } rrenkert@63: else { rrenkert@63: throw new Exception("Not a PictureMarkerSymbol!"); rrenkert@63: } rrenkert@63: } rrenkert@63: rrenkert@58: /** rrenkert@58: * Reads the symbol attributes. rrenkert@58: * rrenkert@58: * @return The XML node. rrenkert@58: */ rrenkert@58: public Element read() rrenkert@74: throws Exception { rrenkert@58: logger.debug("read()"); rrenkert@80: Element symbolElement = util.addSymbol(parent); rrenkert@58: rrenkert@58: symbolElement.setAttribute( rrenkert@58: "angle", rrenkert@58: String.valueOf(symbol.getAngle())); rrenkert@58: symbolElement.setAttribute( rrenkert@58: "size", rrenkert@58: String.valueOf(symbol.getSize())); rrenkert@58: symbolElement.setAttribute( rrenkert@58: "x_offset", rrenkert@58: String.valueOf(symbol.getXOffset())); rrenkert@58: symbolElement.setAttribute( rrenkert@58: "y_offset", rrenkert@58: String.valueOf(symbol.getYOffset())); rrenkert@58: symbolElement.setAttribute( rrenkert@58: "name", rrenkert@58: symbol.getNameString()); rrenkert@58: PictureElement pElem = new PictureElement(); rrenkert@58: pElem.importPicture(symbol.getPicture()); rrenkert@58: symbolElement.setAttribute("style", "picture"); rrenkert@58: return symbolElement; rrenkert@58: } rrenkert@58: } rrenkert@58: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :