public Element drawLine(List<mxPoint> pts,Map<String,Object> style){
  String strokeColor=mxUtils.getString(style,mxConstants.STYLE_STROKECOLOR);
  float strokeWidth=(float)(mxUtils.getFloat(style,mxConstants.STYLE_STROKEWIDTH,1) * scale);
  Element elem=document.createElement("v:shape");
  if (strokeColor != null && strokeWidth > 0) {
    mxPoint pt=pts.get(0);
    Rectangle r=new Rectangle(pt.getPoint());
    String d="m " + Math.round(pt.getX()) + " "+ Math.round(pt.getY());
    for (int i=1; i < pts.size(); i++) {
      pt=pts.get(i);
      d+=" l " + Math.round(pt.getX()) + " "+ Math.round(pt.getY());
      r=r.union(new Rectangle(pt.getPoint()));
    }
    elem.setAttribute("path",d);
    elem.setAttribute("filled","false");
    elem.setAttribute("strokecolor",strokeColor);
    elem.setAttribute("strokeweight",String.valueOf(strokeWidth) + "pt");
    String s="position:absolute;" + "left:" + String.valueOf(r.x) + "px;"+ "top:"+ String.valueOf(r.y)+ "px;"+ "width:"+ String.valueOf(r.width)+ "px;"+ "height:"+ String.valueOf(r.height)+ "px;";
    elem.setAttribute("style",s);
    elem.setAttribute("coordorigin",String.valueOf(r.x) + " " + String.valueOf(r.y));
    elem.setAttribute("coordsize",String.valueOf(r.width) + " " + String.valueOf(r.height));
  }
  appendVmlElement(elem);
  return elem;
}

public Element drawLine ( List < mxPoint > pts , Map < String , Object > style ) { String strokeColor = mxUtils . getString ( style , mxConstants . STYLE_STROKECOLOR ) ; float strokeWidth = ( float ) ( mxUtils . getFloat ( style , mxConstants . STYLE_STROKEWIDTH , 1 ) * scale ) ; Element elem = document . createElement ( "v:shape" ) ; if ( strokeColor != null && strokeWidth > 0 ) { mxPoint pt = pts . get ( 0 ) ; Rectangle r = new Rectangle ( pt . getPoint ( ) ) ; String d = "m " + Math . round ( pt . getX ( ) ) + " " + Math . round ( pt . getY ( ) ) ; for ( int i = 1 ; i < pts . size ( ) ; i ++ ) { pt = pts . get ( i ) ; d += " l " + Math . round ( pt . getX ( ) ) + " " + Math . round ( pt . getY ( ) ) ; r = r . union ( new Rectangle ( pt . getPoint ( ) ) ) ; } elem . setAttribute ( "path" , d ) ; elem . setAttribute ( "filled" , "false" ) ; elem . setAttribute ( "strokecolor" , strokeColor ) ; elem . setAttribute ( "strokeweight" , String . valueOf ( strokeWidth ) + "pt" ) ; String s = "position:absolute;" + "left:" + String . valueOf ( r . x ) + "px;" + "top:" + String . valueOf ( r . y ) + "px;" + "width:" + String . valueOf ( r . width ) + "px;" + "height:" + String . valueOf ( r . height ) + "px;" ; elem . setAttribute ( "style" , s ) ; elem . setAttribute ( "coordorigin" , String . valueOf ( r . x ) + " " + String . valueOf ( r . y ) ) ; elem . setAttribute ( "coordsize" , String . valueOf ( r . width ) + " " + String . valueOf ( r . height ) ) ; } appendVmlElement ( elem ) ; return elem ; }
draws the given lines as segments between all points of the given list of mxpoints .
