org.jfree.layouting.renderer.process

Class ComputeICMMetricsStep

public class ComputeICMMetricsStep extends IterateVisualProcessStep

This step performs the first layouting step. The ICM-step computes the preferred size of all elements (that is the minimum size the element would consume if there were infinite space available) and the minimum chunk size (that is the biggest unbreakable content in an element).

The preferred size is based on the box size (that means: No margins included!).

That step produces the preferred size for the nodes.

As long as paragraphs can be nested, we cannot assume anything here. A nested paragraph can have linebreaks all the time and thus it is dangerous to skip the ICM-Computation on such nodes. Maybe we can tweak something with a change counter or so.

Author: Thomas Morgner

Constructor Summary
ComputeICMMetricsStep()
Method Summary
voidcompute(LogicalPageBox root)
protected voidfinishBlockLevelBox(RenderBox box)
protected voidfinishInlineLevelBox(RenderBox box)
protected voidprocessBlockLevelNode(RenderNode node)
protected voidprocessInlineLevelNode(RenderNode node)
protected voidprocessParagraphChilds(ParagraphRenderBox box)
protected booleanstartBlockLevelBox(RenderBox box)
protected booleanstartInlineLevelBox(RenderBox box)

Constructor Detail

ComputeICMMetricsStep

public ComputeICMMetricsStep()

Method Detail

compute

public void compute(LogicalPageBox root)

finishBlockLevelBox

protected void finishBlockLevelBox(RenderBox box)

finishInlineLevelBox

protected void finishInlineLevelBox(RenderBox box)

processBlockLevelNode

protected void processBlockLevelNode(RenderNode node)

processInlineLevelNode

protected void processInlineLevelNode(RenderNode node)

processParagraphChilds

protected void processParagraphChilds(ParagraphRenderBox box)

startBlockLevelBox

protected boolean startBlockLevelBox(RenderBox box)

startInlineLevelBox

protected boolean startInlineLevelBox(RenderBox box)