private int drawLabelStringValign(AndroidGraphics underlying,CodenameOneTextPaint nativeFont,String str,int x,int y,int textSpaceW,boolean isTickerRunning,int tickerShiftText,int textDecoration,boolean rtl,boolean endsWith3Points,int textWidth,int iconStringHGap,int iconHeight,int fontHeight,int valign,Bitmap textCache){
  if (str.length() == 0) {
    return 0;
  }
switch (valign) {
case Component.TOP:
    return drawLabelString(underlying,nativeFont,str,x,y,textSpaceW,isTickerRunning,tickerShiftText,textDecoration,rtl,endsWith3Points,textWidth,fontHeight,textCache);
case Component.CENTER:
  return drawLabelString(underlying,nativeFont,str,x,y + iconHeight / 2 - fontHeight / 2,textSpaceW,isTickerRunning,tickerShiftText,textDecoration,rtl,endsWith3Points,textWidth,fontHeight,textCache);
default :
return drawLabelString(underlying,nativeFont,str,x,y + iconStringHGap,textSpaceW,isTickerRunning,tickerShiftText,textDecoration,rtl,endsWith3Points,textWidth,fontHeight,textCache);
}
}

private int drawLabelStringValign ( AndroidGraphics underlying , CodenameOneTextPaint nativeFont , String str , int x , int y , int textSpaceW , boolean isTickerRunning , int tickerShiftText , int textDecoration , boolean rtl , boolean endsWith3Points , int textWidth , int iconStringHGap , int iconHeight , int fontHeight , int valign , Bitmap textCache ) { if ( str . length ( ) == 0 ) { return 0 ; } switch ( valign ) { case Component . TOP : return drawLabelString ( underlying , nativeFont , str , x , y , textSpaceW , isTickerRunning , tickerShiftText , textDecoration , rtl , endsWith3Points , textWidth , fontHeight , textCache ) ; case Component . CENTER : return drawLabelString ( underlying , nativeFont , str , x , y + iconHeight / 2 - fontHeight / 2 , textSpaceW , isTickerRunning , tickerShiftText , textDecoration , rtl , endsWith3Points , textWidth , fontHeight , textCache ) ; default : return drawLabelString ( underlying , nativeFont , str , x , y + iconStringHGap , textSpaceW , isTickerRunning , tickerShiftText , textDecoration , rtl , endsWith3Points , textWidth , fontHeight , textCache ) ; } }
implements the drawstring for the text component and adjust the valign assuming the icon is in one of the sides
