@Override
	public void drawCell(Outline outline, Graphics gc, Rectangle bounds, Row row, Column column, boolean selected, boolean active) {
		if (row != null) {
			StdImage image = getIcon(row, column, selected, active);

			if (image != null) {
				int x = bounds.x;
				int y = bounds.y;

				if (mHAlignment != SwingConstants.LEFT) {
					int hDelta = bounds.width - image.getWidth();

					if (mHAlignment == SwingConstants.CENTER) {
						hDelta /= 2;
					}
					x += hDelta;
				}

				if (mVAlignment != SwingConstants.TOP) {
					int vDelta = bounds.height - image.getHeight();

					if (mVAlignment == SwingConstants.CENTER) {
						vDelta /= 2;
					}
					y += vDelta;
				}

				gc.drawImage(image, x, y, null);
			}
		}
	}