private int drawLabelString(AndroidGraphics underlying,CodenameOneTextPaint nativeFont,String text,int x,int y,int textSpaceW,boolean isTickerRunning,int tickerShiftText,int textDecoration,boolean rtl,boolean endsWith3Points,int textWidth,int fontHeight,Bitmap textCache){
  if (text.length() == 0) {
    return 0;
  }
  int cx=underlying.getClipX();
  int cy=underlying.getClipY();
  int cw=underlying.getClipWidth();
  int ch=underlying.getClipHeight();
  underlying.clipRect(x,cy,textSpaceW,ch);
  int drawnW=drawLabelText(underlying,textDecoration,rtl,isTickerRunning,endsWith3Points,nativeFont,textWidth,textSpaceW,tickerShiftText,text,x,y,fontHeight,textCache);
  underlying.setClip(cx,cy,cw,ch);
  return drawnW;
}

private int drawLabelString ( AndroidGraphics underlying , CodenameOneTextPaint nativeFont , String text , int x , int y , int textSpaceW , boolean isTickerRunning , int tickerShiftText , int textDecoration , boolean rtl , boolean endsWith3Points , int textWidth , int fontHeight , Bitmap textCache ) { if ( text . length ( ) == 0 ) { return 0 ; } int cx = underlying . getClipX ( ) ; int cy = underlying . getClipY ( ) ; int cw = underlying . getClipWidth ( ) ; int ch = underlying . getClipHeight ( ) ; underlying . clipRect ( x , cy , textSpaceW , ch ) ; int drawnW = drawLabelText ( underlying , textDecoration , rtl , isTickerRunning , endsWith3Points , nativeFont , textWidth , textSpaceW , tickerShiftText , text , x , y , fontHeight , textCache ) ; underlying . setClip ( cx , cy , cw , ch ) ; return drawnW ; }
implements the drawstring for the text component and adjust the valign assuming the icon is in one of the sides
