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

void
compute(LogicalPageBox root)
protected void
finishBlockLevelBox(RenderBox box)
protected void
finishInlineLevelBox(RenderBox box)
protected void
processBlockLevelNode(RenderNode node)
protected void
processInlineLevelNode(RenderNode node)
protected void
processParagraphChilds(ParagraphRenderBox box)
protected boolean
startBlockLevelBox(RenderBox box)
protected boolean
startInlineLevelBox(RenderBox box)

Methods inherited from class org.jfree.layouting.renderer.process.IterateVisualProcessStep

finishBlockLevelBox, finishInlineLevelBox, processBlockLevelChild, processBlockLevelNode, processBoxChilds, processFlow, processInlineLevelChild, processInlineLevelNode, processOtherLevelChild, processParagraphChilds, startBlockLevelBox, startInlineLevelBox, startProcessing

Constructor Details

ComputeICMMetricsStep

public ComputeICMMetricsStep()

Method Details

compute

public void compute(LogicalPageBox root)

finishBlockLevelBox

protected void finishBlockLevelBox(RenderBox box)
Overrides:
finishBlockLevelBox in interface IterateVisualProcessStep

finishInlineLevelBox

protected void finishInlineLevelBox(RenderBox box)
Overrides:
finishInlineLevelBox in interface IterateVisualProcessStep

processBlockLevelNode

protected void processBlockLevelNode(RenderNode node)
Overrides:
processBlockLevelNode in interface IterateVisualProcessStep

processInlineLevelNode

protected void processInlineLevelNode(RenderNode node)
Overrides:
processInlineLevelNode in interface IterateVisualProcessStep

processParagraphChilds

protected void processParagraphChilds(ParagraphRenderBox box)
Overrides:
processParagraphChilds in interface IterateVisualProcessStep

startBlockLevelBox

protected boolean startBlockLevelBox(RenderBox box)
Overrides:
startBlockLevelBox in interface IterateVisualProcessStep

startInlineLevelBox

protected boolean startInlineLevelBox(RenderBox box)
Overrides:
startInlineLevelBox in interface IterateVisualProcessStep