org.extex.typesetter.listMaker
Class VerticalListMaker

java.lang.Object
  extended by org.extex.typesetter.listMaker.AbstractListMaker
      extended by org.extex.typesetter.listMaker.InnerVerticalListMaker
          extended by org.extex.typesetter.listMaker.VerticalListMaker
All Implemented Interfaces:
ListMaker, TokenDelegateListMaker

public class VerticalListMaker
extends InnerVerticalListMaker

This class provides a maker for a vertical list.

Version:
$Revision: 6457 $
Author:
Gerd Neugebauer, Michael Niedermair

Constructor Summary
VerticalListMaker(ListManager manager, Locator locator)
          Creates a new object.
 
Method Summary
 void addAndAdjust(NodeList nodes, TypesetterOptions context)
          Add a node list to the current list maker and adjust the spacing between the elements of the list.
 Mode getMode()
          Getter for the current mode.
 
Methods inherited from class org.extex.typesetter.listMaker.InnerVerticalListMaker
add, add, addSpace, afterParagraph, complete, cr, getLastNode, getPrevDepth, letter, par, removeLastNode, setPrevDepth, showlist, toString
 
Methods inherited from class org.extex.typesetter.listMaker.AbstractListMaker
getLocalizer, getLocator, getManager, getMyLocalizer, getSpacefactor, leftBrace, mathShift, rightBrace, setSpacefactor, subscriptMark, superscriptMark, tab
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VerticalListMaker

public VerticalListMaker(ListManager manager,
                         Locator locator)
Creates a new object.

Parameters:
manager - the manager to ask for global changes
locator - the locator
Method Detail

addAndAdjust

public void addAndAdjust(NodeList nodes,
                         TypesetterOptions context)
                  throws TypesetterException,
                         ConfigurationException
Add a node list to the current list maker and adjust the spacing between the elements of the list.

679. When a box is being appended to the current vertical list, the baselineskip calculation is handled by the append_to_vlist routine.

   procedure append_to_vlist(b:pointer);
    var d: scaled;  {deficiency of space between baselines}
    p: pointer;  {a new glue specification}
 begin if prev_depth>ignore_depth then
    begin d ? width(baseline_skip)-prev_depth-height( b);
    if d<line_skip_limit then p ? new_param_glue(line_skip_code)
      else begin p ? new_skip_param(baseline_skip_code); width(temp_ptr) ? d;  {temp_ptr=glue_ptr(p)}
      end ;
    link(tail) ? p; tail ? p;
    end ;
 link(tail) ? b; tail ? b; prev_depth ? depth(b);
 end ;
  
 


 Add a node list to the current list maker and adjust the spacing between
 the elements of the list.

Specified by:
addAndAdjust in interface ListMaker
Overrides:
addAndAdjust in class InnerVerticalListMaker
Parameters:
nodes - the list
context - the options to use
Throws:
TypesetterException - in case of an error
ConfigurationException - in case of a configuration error
See Also:
ListMaker.addAndAdjust( org.extex.typesetter.type.NodeList, org.extex.typesetter.TypesetterOptions)

getMode

public Mode getMode()
Getter for the current mode.

Specified by:
getMode in interface ListMaker
Overrides:
getMode in class InnerVerticalListMaker
Returns:
the mode which is one of the values defined in Mode.
See Also:
InnerVerticalListMaker.getMode()