public void drawString(String str,int x,int y,int textDecoration){
  if (str.length() == 0 || (str.length() == 1 && str.charAt(0) == ' ')) {
    return;
  }
  Object nativeFont=null;
  if (current != null) {
    nativeFont=current.getNativeFont();
  }
  if (current instanceof CustomFont) {
    current.drawString(this,str,x,y);
  }
 else {
    impl.drawString(nativeGraphics,nativeFont,str,x + xTranslate,y + yTranslate,textDecoration);
  }
}

public void drawString ( String str , int x , int y , int textDecoration ) { if ( str . length ( ) == 0 || ( str . length ( ) == 1 && str . charAt ( 0 ) == ' ' ) ) { return ; } Object nativeFont = null ; if ( current != null ) { nativeFont = current . getNativeFont ( ) ; } if ( current instanceof CustomFont ) { current . drawString ( this , str , x , y ) ; } else { impl . drawString ( nativeGraphics , nativeFont , str , x + xTranslate , y + yTranslate , textDecoration ) ; } }
draw a string using the current font and color in the x , y coordinates . the font is drawn from the top position and not the baseline .
