/** * This specifies the level of translucency to use when rendering the stroke.<br> * The value is encoded as a floating-point value between 0.0 and 1.0 with 0.0 representing * totally transparent and 1.0 representing totally opaque. A linear scale of translucency is * used for intermediate values.<br> * For example, "0.65" would represent 65% opacity. The default value is 1.0 (opaque). * * @return The opacity of the stroke, where 0.0 is completely transparent and 1.0 is completely * opaque. */ public Expression getOpacity() { if (lineCap == null) { return Stroke.DEFAULT.getOpacity(); } return opacity; }
/** * Retrieve the opacity from a Stroke object. * * @param stroke the Stroke object. * @return double of the line stroke's opacity, or NaN if unavailable. */ public static double opacity(Stroke stroke) { if (stroke == null) { return Double.NaN; } return opacity(stroke.getOpacity()); }
private Composite getStrokeComposite(org.geotools.styling.Stroke stroke, Object feature) { if (stroke == null) { return null; } // get the opacity and prepare the composite float opacity = evalOpacity(stroke.getOpacity(), feature); Composite composite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, opacity); return composite; }
public void visit(Stroke stroke) { checkOpacity(stroke.getOpacity()); }
/** Computes and returns the contour style */ public java.awt.Composite getContourComposite() { Stroke stroke = ls.getStroke(); if (stroke == null) { return null; } float opacity = ((Float) stroke.getOpacity().evaluate(feature, Float.class)).floatValue(); Composite composite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, opacity); return composite; }
/** * Retrieves the point border opacity from a PointSymbolizer. * * <p>If you are using something fun like rules you will need to do your own thing. * * @param symbolizer Point symbolizer information. * @return double of the point's border opacity, or NaN if unavailable. */ public static double pointBorderOpacity(PointSymbolizer symbolizer) { if (symbolizer == null) { return Double.NaN; } Graphic graphic = symbolizer.getGraphic(); if (graphic == null) { return Double.NaN; } for (GraphicalSymbol gs : graphic.graphicalSymbols()) { if (gs != null && gs instanceof Mark) { Mark mark = (Mark) gs; Stroke stroke = mark.getStroke(); if (stroke != null) { Expression exp = stroke.getOpacity(); return Filters.asDouble(exp); } } } return Double.NaN; }
/** Reset stroke to default values. */ public StrokeBuilder reset() { color = Stroke.DEFAULT.getColor(); width = Stroke.DEFAULT.getWidth(); opacity = Stroke.DEFAULT.getOpacity(); lineCap = Stroke.DEFAULT.getLineCap(); lineJoin = Stroke.DEFAULT.getLineJoin(); dashArray = Stroke.DEFAULT.getDashArray(); dashArrayExpressions = Stroke.DEFAULT.dashArray(); dashOffset = Stroke.DEFAULT.getDashOffset(); graphicFill.unset(); graphicStroke.unset(); unset = false; return this; }
public void visit(Stroke stroke) { Stroke copy = sf.getDefaultStroke(); copy.setColor(copy(stroke.getColor())); copy.setDashArray(copyExpressions(stroke.dashArray())); copy.setDashOffset(copy(stroke.getDashOffset())); copy.setGraphicFill(copy(stroke.getGraphicFill())); copy.setGraphicStroke(copy(stroke.getGraphicStroke())); copy.setLineCap(copy(stroke.getLineCap())); copy.setLineJoin(copy(stroke.getLineJoin())); copy.setOpacity(copy(stroke.getOpacity())); copy.setWidth(copy(stroke.getWidth())); if (STRICT && !copy.equals(stroke)) { throw new IllegalStateException("Was unable to duplicate provided Stroke:" + stroke); } pages.push(copy); }
Style2D createLineStyle(Object feature, LineSymbolizer symbolizer, Range scaleRange) { // see if we have some information about the composite float opacity = 1f; if (symbolizer.getStroke() != null) { opacity = evalOpacity(symbolizer.getStroke().getOpacity(), feature); } Composite composite = getComposite(symbolizer.getOptions(), opacity); if (composite == null) { composite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, opacity); } LineStyle2D style = new LineStyle2D(); setScaleRange(style, scaleRange); style.setStroke(getStroke(symbolizer.getStroke(), feature)); style.setGraphicStroke( getGraphicStroke(symbolizer, symbolizer.getStroke(), feature, scaleRange)); style.setContour(getStrokePaint(symbolizer.getStroke(), feature)); style.setContourComposite(composite); style.setPerpendicularOffset( evalToDouble(symbolizer.getPerpendicularOffset(), feature, 0d)); return style; }
if (stroke.getOpacity() != null) { stroke.getOpacity().accept(this, null);
private Composite getStrokeComposite(org.geotools.styling.Stroke stroke, Object feature) { if (stroke == null) { return null; } // get the opacity and prepare the composite float opacity = evalOpacity(stroke.getOpacity(), feature); Composite composite = AlphaComposite.getInstance( AlphaComposite.SRC_OVER, opacity); return composite; }
public static double opacity(Stroke stroke) { if (stroke == null) { return Double.NaN; } return opacity( stroke.getOpacity() ); } public static double opacity(RasterSymbolizer rasterSymbolizer ){
private Composite getStrokeComposite(org.geotools.styling.Stroke stroke, Object feature) { if (stroke == null) { return null; } // get the opacity and prepare the composite float opacity = evalOpacity(stroke.getOpacity(),feature); Composite composite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, opacity); return composite; }
Stroke update(Stroke stroke) { Expression color = ff.literal(colour); Expression width = copy(stroke.getWidth()); Expression opacity = copy(stroke.getOpacity()); Expression lineJoin = copy(stroke.getLineJoin()); Expression lineCap = copy(stroke.getLineCap()); float[] dashArray = copy(stroke.getDashArray()); Expression dashOffset = copy(stroke.getDashOffset()); Graphic graphicStroke = copy(stroke.getGraphicStroke()); Graphic graphicFill = copy(stroke.getGraphicFill()); return sf.createStroke( color, width, opacity, lineJoin, lineCap, dashArray, dashOffset, graphicFill, graphicStroke); } };
/** * Increase stroke width. * * <p>Based on feedback we may need to change the dash array as well. * * <p> */ public void visit(org.geotools.styling.Stroke stroke) { Stroke copy = sf.getDefaultStroke(); copy.setColor(copy(stroke.getColor())); copy.setDashArray(rescaleDashArray(stroke.dashArray())); copy.setDashOffset(rescale(stroke.getDashOffset())); copy.setGraphicFill(copy(stroke.getGraphicFill())); copy.setGraphicStroke(copy(stroke.getGraphicStroke())); copy.setLineCap(copy(stroke.getLineCap())); copy.setLineJoin(copy(stroke.getLineJoin())); copy.setOpacity(copy(stroke.getOpacity())); copy.setWidth(rescale(stroke.getWidth())); pages.push(copy); }
/** * Computes and returns the contour style */ public java.awt.Composite getContourComposite() { Stroke stroke = ls.getStroke(); if (stroke == null) { return null; } float opacity = ((Float) stroke.getOpacity().evaluate(feature,Float.class)).floatValue(); Composite composite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, opacity); return composite; }
public void visit(Stroke stroke) { start("Stroke"); if (stroke.getGraphicFill() != null) { start("GraphicFill"); stroke.getGraphicFill().accept(this); end("GraphicFill"); } if (stroke.getGraphicStroke() != null) { start("GraphicStroke"); stroke.getGraphicStroke().accept(this); end("GraphicStroke"); } encodeCssParam("stroke", stroke.getColor(), Color.BLACK); encodeCssParam("stroke-linecap", stroke.getLineCap(), "butt"); encodeCssParam("stroke-linejoin", stroke.getLineJoin(), "miter"); encodeCssParam("stroke-opacity", stroke.getOpacity(), 1.0); encodeCssParam("stroke-width", stroke.getWidth(), 1.0); encodeCssParam("stroke-dashoffset", stroke.getDashOffset(), 0.0); encodeStrokeDasharray(stroke.dashArray()); end("Stroke"); }
@Override protected void encode(Stroke stroke) { putColor("stroke-color", stroke.getColor()); put("stroke-width", stroke.getWidth()); put("stroke-opacity", nullIf(stroke.getOpacity(), 1d)); put("stroke-linejoin", nullIf(stroke.getLineJoin(), "miter")); putName("stroke-linecap", nullIf(stroke.getLineCap(), "butt")); put("stroke-dasharray", toStringOrNull(stroke.getDashArray())); put("stroke-dashoffset", nullIf(stroke.getDashOffset(), 0)); if (stroke.getGraphicFill() != null) { push("stroke-graphic-fill").inline(new GraphicEncoder(stroke.getGraphicFill())); } if (stroke.getGraphicStroke() != null) { push("stroke-graphic").inline(new GraphicEncoder(stroke.getGraphicStroke())); } }
opacity = Stroke.DEFAULT.getOpacity();
/** @see org.geotools.styling.StyleVisitor#visit(org.geotools.styling.Stroke) */ public void visit(Stroke stroke) { handleColor(stroke.getColor()); if (stroke.getGraphicFill() != null) { stroke.getGraphicFill().accept(this); } if (stroke.getGraphicStroke() != null) { stroke.getGraphicStroke().accept(this); } handleOpacity(stroke.getOpacity()); }