question: private static void extractCircleItem ( SvgTree avg , SvgLeafNode child , Node currentGroupNode ) { logger . log ( Level . FINE , "circle found" + currentGroupNode . getTextContent ( ) ) ; if ( currentGroupNode . getNodeType ( ) == Node . ELEMENT_NODE ) { float cx = 0 ; float cy = 0 ; float radius = 0 ; NamedNodeMap a = currentGroupNode . getAttributes ( ) ; int len = a . getLength ( ) ; boolean pureTransparent = false ; for ( int j = 0 ; j < len ; j ++ ) { Node n = a . item ( j ) ; String name = n . getNodeName ( ) ; String value = n . getNodeValue ( ) ; if ( name . equals ( SVG_STYLE ) ) { addStyleToPath ( child , value ) ; if ( value . contains ( "opacity:0;" ) ) { pureTransparent = true ; } } else if ( presentationMap . containsKey ( name ) ) { child . fillPresentationAttributes ( name , value ) ; } else if ( name . equals ( "clip-path" ) && value . startsWith ( "url(#SVGID_" ) ) { } else if ( name . equals ( "cx" ) ) { cx = Float . parseFloat ( value ) ; } else if ( name . equals ( "cy" ) ) { cy = Float . parseFloat ( value ) ; } else if ( name . equals ( "r" ) ) { radius = Float . parseFloat ( value ) ; } } if ( ! pureTransparent && avg != null && ! Float . isNaN ( cx ) && ! Float . isNaN ( cy ) ) { PathBuilder builder = new PathBuilder ( ) ; builder . absoluteMoveTo ( cx , cy ) ; builder . relativeMoveTo ( - radius , 0 ) ; builder . relativeArcTo ( radius , radius , false , true , true , 2 * radius , 0 ) ; builder . relativeArcTo ( radius , radius , false , true , true , - 2 * radius , 0 ) ; child . setPathData ( builder . toString ( ) ) ; } } }
target:  Convert circle element into a path.