question: 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 ( ) ) ; } }
target:  Draws the specified label using the canvas.