// The text node that is printed will overlap with the ellipse we need to print.
drawText(text, effectiveAreaX2);
}
}
final RenderBox parent = node.getParent();
if (parent != null)
{
final RenderBox textEllipseBox = parent.getTextEllipseBox();
if (textEllipseBox != null)
{
processBoxChilds(textEllipseBox);
}
}
return;
}
}
if (node.getNodeType() == LayoutNodeTypes.TYPE_NODE_TEXT)
{
final RenderableText textNode = (RenderableText) node;
if (isTextLineOverflow())
{
if (textNode.isNodeVisible(paragraphBounds, overflowX, overflowY) == false)
{
return;
}
final long ellipseSize = extractEllipseSize(node);
final long x1 = node.getX();
final long x2 = x1 + node.getWidth();
final long effectiveAreaX2 = (contentAreaX2 - ellipseSize);
if (x2 <= effectiveAreaX2)
{
// the text will be fully visible.
drawText(textNode, x2);
}
else if (x1 >= contentAreaX2)
{
// Skip, the node will not be visible.
}
else
{
// The text node that is printed will overlap with the ellipse we need to print.
drawText(textNode, effectiveAreaX2);
final RenderBox parent = node.getParent();
if (parent != null)
{
final RenderBox textEllipseBox = parent.getTextEllipseBox();
if (textEllipseBox != null)
{
processBoxChilds(textEllipseBox);
}
}