return pixelX;
return pixelX + pixelWidth;
  public static final int drawTabbedText(Segment s, int x, int y, Graphics g,                                         TabExpander e, int startOffset)  {    // This buffers the chars to be drawn.    char[] buffer = s.array;    // The font metrics of the current selected font.    FontMetrics metrics = g.getFontMetrics();    int ascent = metrics.getAscent();    // The current x and y pixel coordinates.    int pixelX = x;    int pixelY = y - ascent;    int pixelWidth = 0;    int pos = s.offset;    int len = 0;    for (int offset = s.offset; offset < (s.offset + s.count); ++offset)      {        char c = buffer[offset];        if (c == '\t' || c == '\n')          {            if (len > 0) {              g.drawChars(buffer, pos, len, pixelX, pixelY + ascent);                          pixelX += pixelWidth;              pixelWidth = 0;            }            pos = offset+1;            len = 0;          }        	switch (c)	  {	  case '\t':	    // In case we have a tab, we just 'jump' over the tab.	    // When we have no tab expander we just use the width of ' '.	    if (e != null)	      pixelX = (int) e.nextTabStop((float) pixelX,					   startOffset + offset - s.offset);	    else	      pixelX += metrics.charWidth(' ');	    break;	  case '\n':	    // In case we have a newline, we must jump to the next line.	    pixelY += metrics.getHeight();	    pixelX = x;	    break;	  default:            ++len;	    pixelWidth += metrics.charWidth(buffer[offset]);	    break;	  }      }    if (len > 0)      g.drawChars(buffer, pos, len, pixelX, pixelY + ascent);                    return pixelX;  }