public void drawLabel(boolean isEdge,Map<String,Object> attrs){
  String label=mxUtils.getString(attrs,"label");
  if (label != null && label.length() > 0) {
    mxPoint offset=new mxPoint(mxUtils.getDouble(attrs,"dx"),mxUtils.getDouble(attrs,"dy"));
    mxRectangle vertexBounds=(!isEdge) ? new mxRectangle(mxUtils.getDouble(attrs,"x"),mxUtils.getDouble(attrs,"y"),mxUtils.getDouble(attrs,"width"),mxUtils.getDouble(attrs,"height")) : null;
    mxRectangle bounds=mxUtils.getLabelPaintBounds(label,attrs,mxUtils.isTrue(attrs,"html",false),offset,vertexBounds,scale);
    canvas.drawLabel(label,(int)Math.round(bounds.getX()),(int)Math.round(bounds.getY()),(int)Math.round(bounds.getWidth()),(int)Math.round(bounds.getHeight()),attrs,isHtmlLabels());
  }
}

public void drawLabel ( boolean isEdge , Map < String , Object > attrs ) { String label = mxUtils . getString ( attrs , "label" ) ; if ( label != null && label . length ( ) > 0 ) { mxPoint offset = new mxPoint ( mxUtils . getDouble ( attrs , "dx" ) , mxUtils . getDouble ( attrs , "dy" ) ) ; mxRectangle vertexBounds = ( ! isEdge ) ? new mxRectangle ( mxUtils . getDouble ( attrs , "x" ) , mxUtils . getDouble ( attrs , "y" ) , mxUtils . getDouble ( attrs , "width" ) , mxUtils . getDouble ( attrs , "height" ) ) : null ; mxRectangle bounds = mxUtils . getLabelPaintBounds ( label , attrs , mxUtils . isTrue ( attrs , "html" , false ) , offset , vertexBounds , scale ) ; canvas . drawLabel ( label , ( int ) Math . round ( bounds . getX ( ) ) , ( int ) Math . round ( bounds . getY ( ) ) , ( int ) Math . round ( bounds . getWidth ( ) ) , ( int ) Math . round ( bounds . getHeight ( ) ) , attrs , isHtmlLabels ( ) ) ; } }
draws the specified label using the canvas .
