public Element render ( SVGPlot svgp ) { Element tag = svgp . svgElement ( SVGConstants . SVG_G_TAG ) ; Element button = svgp . svgRect ( x , y , w , h ) ; if ( ! Double . isNaN ( r ) ) { SVGUtil . setAtt ( button , SVGConstants . SVG_RX_ATTRIBUTE , r ) ; SVGUtil . setAtt ( button , SVGConstants . SVG_RY_ATTRIBUTE , r ) ; } SVGUtil . setAtt ( button , SVGConstants . SVG_STYLE_ATTRIBUTE , butcss . inlineCSS ( ) ) ; tag . appendChild ( button ) ; // Add light effect: if ( svgp . getIdElement ( SVGEffects . LIGHT_GRADIENT_ID ) != null ) { Element light = svgp . svgRect ( x , y , w , h ) ; if ( ! Double . isNaN ( r ) ) { SVGUtil . setAtt ( light , SVGConstants . SVG_RX_ATTRIBUTE , r ) ; SVGUtil . setAtt ( light , SVGConstants . SVG_RY_ATTRIBUTE , r ) ; } SVGUtil . setAtt ( light , SVGConstants . SVG_STYLE_ATTRIBUTE , "fill:url(#" + SVGEffects . LIGHT_GRADIENT_ID + ");fill-opacity:.5" ) ; tag . appendChild ( light ) ; } // Add shadow effect: if ( svgp . getIdElement ( SVGEffects . SHADOW_ID ) != null ) { //Element shadow = svgp.svgRect(x + (w * .05), y + (h * .05), w, h); //SVGUtil.setAtt(button, SVGConstants.SVG_STYLE_ATTRIBUTE, SVGConstants.CSS_FILL_PROPERTY + ":" + SVGConstants.CSS_BLACK_VALUE); button . setAttribute ( SVGConstants . SVG_FILTER_ATTRIBUTE , "url(#" + SVGEffects . SHADOW_ID + ")" ) ; //tag.appendChild(shadow); } if ( title != null ) { Element label = svgp . svgText ( x + w * .5 , y + h * .7 , title ) ; label . setAttribute ( SVGConstants . SVG_STYLE_ATTRIBUTE , titlecss . inlineCSS ( ) ) ; tag . appendChild ( label ) ; } return tag ; }
Produce the actual SVG elements for the button .