@Override
	public void draw(Graphics2D gc, TreePanel panel, TreeRow row, int position, int top, int left, int width, boolean selected, boolean active) {
		left += HMARGIN;
		width -= HMARGIN + HMARGIN;
		StdImage icon = getIcon(row);
		if (icon != null) {
			gc.drawImage(icon, left, top + VMARGIN, null);
			int iconSize = icon.getWidth() + ICON_GAP;
			left += iconSize;
			width -= iconSize;
		}
		Font font = getFont(row);
		gc.setFont(font);
		String text = getPresentationText(row, font, width, false);
		int totalHeight = calculatePreferredHeight(font, text, icon);
		gc.setColor(getColor(panel, row, position, selected, active));
		TextDrawing.draw(gc, new Rectangle(left, top + VMARGIN, width, totalHeight), text, mAlignment, SwingConstants.TOP);
	}