- Timestamp:
- 04/01/11 06:46:59 (14 months ago)
- Location:
- print/trunk/src/main/java/org/mapfish/print/map/renderers/vector
- Files:
-
- 1 added
- 2 modified
-
GeometriesRenderer.java (modified) (2 diffs)
-
LabelRenderer.java (added)
-
PointRenderer.java (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
print/trunk/src/main/java/org/mapfish/print/map/renderers/vector/GeometriesRenderer.java
r3397 r3758 20 20 package org.mapfish.print.map.renderers.vector; 21 21 22 import com.vividsolutions.jts.geom.*; 22 import java.util.HashMap; 23 import java.util.Map; 24 25 import org.mapfish.print.RenderingContext; 26 import org.mapfish.print.utils.PJsonObject; 27 23 28 import com.lowagie.text.pdf.PdfContentByte; 24 25 import java.util.Map; 26 import java.util.HashMap; 27 import java.awt.geom.AffineTransform; 28 import java.awt.geom.Point2D; 29 30 import org.mapfish.print.utils.PJsonObject; 31 import org.mapfish.print.RenderingContext; 29 import com.vividsolutions.jts.geom.Geometry; 30 import com.vividsolutions.jts.geom.GeometryCollection; 31 import com.vividsolutions.jts.geom.LineString; 32 import com.vividsolutions.jts.geom.LinearRing; 33 import com.vividsolutions.jts.geom.MultiLineString; 34 import com.vividsolutions.jts.geom.MultiPoint; 35 import com.vividsolutions.jts.geom.MultiPolygon; 36 import com.vividsolutions.jts.geom.Point; 37 import com.vividsolutions.jts.geom.Polygon; 32 38 33 39 /** … … 58 64 try { 59 65 renderer.renderImpl(context, dc, style, geometry); 66 LabelRenderer.applyStyle(context, dc, style, geometry); 60 67 } finally { 61 68 dc.restoreState(); -
print/trunk/src/main/java/org/mapfish/print/map/renderers/vector/PointRenderer.java
r3433 r3758 20 20 package org.mapfish.print.map.renderers.vector; 21 21 22 import com.vividsolutions.jts.geom.Point; 23 import com.vividsolutions.jts.geom.Coordinate; 24 import com.lowagie.text.pdf.BaseFont; 22 import java.net.URI; 23 import java.net.URISyntaxException; 24 import java.util.HashMap; 25 import java.util.Map; 26 27 import org.mapfish.print.InvalidValueException; 28 import org.mapfish.print.PDFUtils; 29 import org.mapfish.print.RenderingContext; 30 import org.mapfish.print.utils.PJsonObject; 31 32 import com.lowagie.text.BadElementException; 33 import com.lowagie.text.DocumentException; 34 import com.lowagie.text.Image; 25 35 import com.lowagie.text.pdf.PdfContentByte; 26 36 import com.lowagie.text.pdf.PdfGState; 27 import com.lowagie.text.BadElementException; 28 import com.lowagie.text.Image; 29 import com.lowagie.text.DocumentException; 30 import org.mapfish.print.RenderingContext; 31 import org.mapfish.print.PDFUtils; 32 import org.mapfish.print.InvalidValueException; 33 import org.mapfish.print.config.ColorWrapper; 34 import org.mapfish.print.utils.PJsonObject; 35 36 import java.net.URI; 37 import java.net.URISyntaxException; 38 import java.util.Map; 39 import java.util.HashMap; 37 import com.vividsolutions.jts.geom.Coordinate; 38 import com.vividsolutions.jts.geom.Point; 40 39 41 40 /** … … 92 91 float offsetX = style.optFloat("graphicXOffset", -width / 2.0f); 93 92 float offsetY = style.optFloat("graphicYOffset", -height / 2.0f); 94 // See Feature/Vector.js for more information about labels95 String label = style.optString("label");96 String labelAlign = style.optString("labelAlign", "lb");97 /*98 * Valid values for horizontal alignment: "l"=left, "c"=center, "r"=right.99 * Valid values for vertical alignment: "t"=top, "m"=middle, "b"=bottom.100 */101 float labelXOffset = style.optFloat("labelXOffset", (float) 0.0);102 float labelYOffset = style.optFloat("labelYOffset", (float) 0.0);103 String fontColor = style.optString("fontColor", "#000000");104 /* Supported itext fonts: COURIER, HELVETICA, TIMES_ROMAN */105 String fontFamily = style.optString("fontFamily", "HELVETICA");106 String fontSize = style.optString("fontSize", "12");107 String fontWeight = style.optString("fontWeight", "normal");108 93 109 94 if (style.optString("externalGraphic") != null) { … … 124 109 } 125 110 126 } else 127 if (graphicName != null && !graphicName.equalsIgnoreCase("circle")) { 111 } else if (graphicName != null && !graphicName.equalsIgnoreCase("circle")) { 128 112 PolygonRenderer.applyStyle(context, dc, style, state); 129 113 float[] symbol = SYMBOLS.get(graphicName); … … 135 119 for (int i = 2; i < symbol.length - 2; i += 2) { 136 120 dc.lineTo((float) coordinate.x + symbol[i] * width * f + offsetX * f, (float) coordinate.y + symbol[i + 1] * height * f + offsetY * f); 137 138 121 } 139 122 dc.closePath(); 140 123 dc.fillStroke(); 141 124 142 } else if (label != null && label.length() > 0) {143 BaseFont bf = PDFUtils.getBaseFont(fontFamily, fontSize, fontWeight);144 float fontHeight = (float) Double.parseDouble(fontSize.toLowerCase().replaceAll("px", "")) * f;145 dc.setFontAndSize(bf, fontHeight);146 dc.setColorFill(ColorWrapper.convertColor(fontColor));147 state.setFillOpacity((float) 1.0);148 dc.setGState(state);149 dc.beginText();150 dc.setTextMatrix((float) coordinate.x + labelXOffset * f, (float) coordinate.y + labelYOffset * f);151 dc.setGState(state);152 dc.showTextAligned(PDFUtils.getHorizontalAlignment(labelAlign), label, (float) coordinate.x + labelXOffset * f, (float) coordinate.y + labelYOffset * f - PDFUtils.getVerticalOffset(labelAlign, fontHeight), 0);153 dc.endText();154 125 } else { 155 126 PolygonRenderer.applyStyle(context, dc, style, state);
