/* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved. * This code is licensed under the GPL 2.0 license, availible at the root * application directory. */ package org.vfny.geoserver.wms; import java.awt.Color; import org.geotools.image.palette.InverseColorMapOp; import org.geotools.map.GraphicEnhancedMapContext; import org.geotools.map.MapLayer; import org.vfny.geoserver.wms.requests.GetMapRequest; /** * Extends DefaultMapContext to provide the whole set of request parameters a * WMS GetMap request can have. * * <p> * In particular, adds holding for the following parameter values: * * <ul> * <li> WIDTH </li> * <li> HEIGHT </li> * <li> BGCOLOR </li> * <li> TRANSPARENT </li> * </ul> * </p> * * @author Gabriel Roldan, Axios Engineering * @author Simone Giannecchini - GeoSolutions SAS * @version $Id$ */ public class WMSMapContext extends GraphicEnhancedMapContext { /** requested map image width in output units (pixels) */ private int mapWidth; /** requested map image height in output units (pixels) */ private int mapHeight; /** Requested BGCOLOR, defaults to white according to WMS spec */ private Color bgColor = Color.white; /** true if background transparency is requested */ private boolean transparent; /** * the rendering buffer used to avoid issues with tiled rendering and big * strokes that may cross tile boundaries */ private int buffer; /** * The {@link InverseColorMapOp} that actually does the color inversion. */ private InverseColorMapOp paletteInverter; private GetMapRequest request; // hold onto it so we can grab info from it // (request URL etc...) public WMSMapContext() { super(); } public WMSMapContext(GetMapRequest req) { super(); request = req; } /** * DOCUMENT ME! * * @param layers */ public WMSMapContext(MapLayer[] layers) { super(layers); } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public Color getBgColor() { return this.bgColor; } /** * DOCUMENT ME! * * @param bgColor * DOCUMENT ME! */ public void setBgColor(Color bgColor) { this.bgColor = bgColor; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public int getMapHeight() { return this.mapHeight; } /** * DOCUMENT ME! * * @param mapHeight * DOCUMENT ME! */ public void setMapHeight(int mapHeight) { this.mapHeight = mapHeight; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public int getMapWidth() { return this.mapWidth; } /** * DOCUMENT ME! * * @param mapWidth * DOCUMENT ME! */ public void setMapWidth(int mapWidth) { this.mapWidth = mapWidth; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public boolean isTransparent() { return this.transparent; } /** * DOCUMENT ME! * * @param transparent * DOCUMENT ME! */ public void setTransparent(boolean transparent) { this.transparent = transparent; } public GetMapRequest getRequest() { return request; } public void setRequest(GetMapRequest request) { this.request = request; } public int getBuffer() { return buffer; } public void setBuffer(int buffer) { this.buffer = buffer; } public InverseColorMapOp getPaletteInverter() { return paletteInverter; } public void setPaletteInverter(InverseColorMapOp paletteInverter) { this.paletteInverter = paletteInverter; } }