org.jfree.layouting.renderer.process
Class ComputeICMMetricsStep

java.lang.Object
  extended by org.jfree.layouting.renderer.process.IterateVisualProcessStep
      extended by org.jfree.layouting.renderer.process.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
processBlockLevelChild, processBoxChilds, processFlow, processInlineLevelChild, processOtherLevelChild, startProcessing
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComputeICMMetricsStep

public ComputeICMMetricsStep()
Method Detail

compute

public void compute(LogicalPageBox root)

processParagraphChilds

protected void processParagraphChilds(ParagraphRenderBox box)
Specified by:
processParagraphChilds in class IterateVisualProcessStep

startBlockLevelBox

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

startInlineLevelBox

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

finishInlineLevelBox

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

finishBlockLevelBox

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

processInlineLevelNode

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

processBlockLevelNode

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