gmazza      2004/06/17 21:13:54

  Modified:    src/java/org/apache/fop/apps Document.java Driver.java
               src/java/org/apache/fop/area AreaTree.java
               src/java/org/apache/fop/fo FOInputHandler.java
                        FOTreeHandler.java FObjMixed.java
                        PropertyManager.java
               src/java/org/apache/fop/fo/flow Leader.java PageNumber.java
                        PageNumberCitation.java
               src/java/org/apache/fop/fo/pagination PageSequence.java
                        Title.java
               src/java/org/apache/fop/layoutmgr BlockLayoutManager.java
               src/java/org/apache/fop/render/mif MIFHandler.java
               src/java/org/apache/fop/render/rtf RTFHandler.java
               src/java/org/apache/fop/tools AreaTreeBuilder.java
  Log:
  1. FOTreeBuilder modified to handle more of the renderer initialization.
  2. AreaTree now takes a Renderer as a constructor, handles RenderPagesModel 
initialization.
  3. FontInfo object moved from Driver/Document to fo.FOInputHandler.
  4. getFontState/getFontInfo now take a fontInfo object directly instead of a 
apps.Document.
  5. validity checking added to PageSequence.java
  
  Revision  Changes    Path
  1.23      +1 -15     xml-fop/src/java/org/apache/fop/apps/Document.java
  
  Index: Document.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/Document.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- Document.java     17 Jun 2004 07:02:13 -0000      1.22
  +++ Document.java     18 Jun 2004 04:13:53 -0000      1.23
  @@ -20,7 +20,6 @@
   
   // FOP
   import org.apache.fop.fo.FOInputHandler;
  -import org.apache.fop.fonts.FontInfo;
   import org.apache.fop.render.Renderer;
   
   // SAX
  @@ -35,9 +34,6 @@
       /** The parent Driver object */
       private Driver driver;
   
  -    /** The Font information relevant for this document */
  -    private FontInfo fontInfo;
  -    
       /** The Renderer being used for this document */
       protected Renderer renderer;
   
  @@ -53,15 +49,6 @@
        */
       public Document(Driver driver) {
           this.driver = driver;
  -        this.fontInfo = new FontInfo();
  -    }
  -
  -    /**
  -     * Retrieve the font information for this document
  -     * @return the FontInfo instance for this document
  -     */
  -    public FontInfo getFontInfo() {
  -        return this.fontInfo;
       }
   
       /**
  @@ -74,7 +61,6 @@
   
       /**
        * Get the renderer for this document
  -     *
        * @return the renderer for this document
        */
       public Renderer getRenderer() {
  
  
  
  1.68      +2 -14     xml-fop/src/java/org/apache/fop/apps/Driver.java
  
  Index: Driver.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/Driver.java,v
  retrieving revision 1.67
  retrieving revision 1.68
  diff -u -r1.67 -r1.68
  --- Driver.java       17 Jun 2004 07:02:13 -0000      1.67
  +++ Driver.java       18 Jun 2004 04:13:53 -0000      1.68
  @@ -488,19 +488,7 @@
               }
   
               currentDocument.renderer = renderer;
  -            foInputHandler = new FOTreeHandler(currentDocument, true);
  -
  -            try {
  -                renderer.setupFontInfo(currentDocument.getFontInfo());
  -                // check that the "any,normal,400" font exists
  -                if (!currentDocument.getFontInfo().isSetupValid()) {
  -                    throw new FOPException(
  -                            "No default font defined by OutputConverter");
  -                }
  -                renderer.startRenderer(stream);
  -            } catch (IOException e) {
  -                throw new FOPException(e);
  -            }
  +            foInputHandler = new FOTreeHandler(currentDocument, stream, true);
           }
           currentDocument.foInputHandler = foInputHandler;
   
  
  
  
  1.13      +4 -1      xml-fop/src/java/org/apache/fop/area/AreaTree.java
  
  Index: AreaTree.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/area/AreaTree.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- AreaTree.java     17 Jun 2004 04:46:08 -0000      1.12
  +++ AreaTree.java     18 Jun 2004 04:13:53 -0000      1.13
  @@ -21,6 +21,7 @@
   import org.apache.fop.area.extensions.BookmarkData;
   import org.apache.fop.fo.extensions.Outline;
   import org.apache.fop.fo.extensions.Bookmarks;
  +import org.apache.fop.render.Renderer;
   
   import java.util.ArrayList;
   import java.util.List;
  @@ -67,7 +68,9 @@
       /**
        * Constructor.
        */
  -    public AreaTree () {
  +    public AreaTree (Renderer renderer) {
  +        // this.atModel = new CachedRenderPagesModel(renderer);
  +        setTreeModel(new RenderPagesModel(renderer));
       }
   
   
  
  
  
  1.20      +16 -1     xml-fop/src/java/org/apache/fop/fo/FOInputHandler.java
  
  Index: FOInputHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FOInputHandler.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- FOInputHandler.java       17 Jun 2004 07:02:13 -0000      1.19
  +++ FOInputHandler.java       18 Jun 2004 04:13:53 -0000      1.20
  @@ -45,6 +45,7 @@
   import org.apache.fop.fo.flow.TableRow;
   import org.apache.fop.fo.pagination.Flow;
   import org.apache.fop.fo.pagination.PageSequence;
  +import org.apache.fop.fonts.FontInfo;
   import org.apache.commons.logging.Log;
   
   import org.xml.sax.SAXException;
  @@ -67,6 +68,11 @@
        */
       public Document doc = null;
   
  +    /** 
  +     * The Font information relevant for this document
  +     */
  +    protected FontInfo fontInfo;
  +
       /**
        * logging instance
        */
  @@ -85,6 +91,7 @@
        */
       public FOInputHandler(Document document) {
           doc = document;
  +        this.fontInfo = new FontInfo();
       }
   
       /**
  @@ -125,6 +132,14 @@
        */
       public Driver getDriver() {
           return doc.getDriver();
  +    }
  +
  +    /**
  +     * Retrieve the font information for this document
  +     * @return the FontInfo instance for this document
  +     */
  +    public FontInfo getFontInfo() {
  +        return this.fontInfo;
       }
   
       /**
  
  
  
  1.22      +18 -15    xml-fop/src/java/org/apache/fop/fo/FOTreeHandler.java
  
  Index: FOTreeHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FOTreeHandler.java,v
  retrieving revision 1.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- FOTreeHandler.java        17 Jun 2004 07:02:13 -0000      1.21
  +++ FOTreeHandler.java        18 Jun 2004 04:13:53 -0000      1.22
  @@ -20,6 +20,7 @@
   
   // Java
   import java.io.IOException;
  +import java.io.OutputStream;
   import java.util.HashSet;
   import java.util.Iterator;
   
  @@ -30,7 +31,6 @@
   import org.apache.fop.apps.Document;
   import org.apache.fop.apps.FOPException;
   import org.apache.fop.area.AreaTree;
  -import org.apache.fop.area.RenderPagesModel;
   import org.apache.fop.area.Title;
   import org.apache.fop.fo.extensions.Bookmarks;
   import org.apache.fop.fo.flow.BasicLink;
  @@ -104,15 +104,27 @@
        * Main constructor
        * @param document the apps.Document implementation that governs this
        * FO Tree
  +     * @param OutputStream stream to use to output results of renderer
  +     *              
        * @param store if true then use the store pages model and keep the
        *              area tree in memory
        */
  -    public FOTreeHandler(Document doc, boolean store) {
  +    public FOTreeHandler(Document doc, OutputStream stream, boolean store) throws 
FOPException {
           super(doc);
           
  -        areaTree = new AreaTree();
  -        // this.atModel = new CachedRenderPagesModel(renderer);
  -        areaTree.setTreeModel(new RenderPagesModel(doc.getRenderer()));
  +        areaTree = new AreaTree(doc.getRenderer());
  +
  +        try {
  +            doc.getRenderer().setupFontInfo(fontInfo);
  +            // check that the "any,normal,400" font exists
  +            if (!fontInfo.isSetupValid()) {
  +                throw new FOPException(
  +                        "No default font defined by OutputConverter");
  +            }
  +            doc.getRenderer().startRenderer(stream);
  +        } catch (IOException e) {
  +            throw new FOPException(e);
  +        }
           
           if (collectStatistics) {
               runtime = Runtime.getRuntime();
  @@ -480,15 +492,6 @@
        * @see org.apache.fop.fo.FOInputHandler#characters(char[], int, int)
        */
       public void characters(char[] data, int start, int length) {
  -    }
  -
  -    /**
  -     * Get the font information for the layout handler.
  -     *
  -     * @return the font information
  -     */
  -    public Document getFontInfo() {
  -        return doc;
       }
   
       /**
  
  
  
  1.26      +2 -2      xml-fop/src/java/org/apache/fop/fo/FObjMixed.java
  
  Index: FObjMixed.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FObjMixed.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- FObjMixed.java    16 Jun 2004 00:27:26 -0000      1.25
  +++ FObjMixed.java    18 Jun 2004 04:13:53 -0000      1.26
  @@ -46,8 +46,8 @@
           if (textInfo == null) {
               // Really only need one of these, but need to get fontInfo
               // stored in propMgr for later use.
  -            propMgr.setFontInfo(getFOInputHandler().getDocument());
  -            textInfo = 
propMgr.getTextLayoutProps(getFOInputHandler().getDocument());
  +            propMgr.setFontInfo(getFOInputHandler().getFontInfo());
  +            textInfo = 
propMgr.getTextLayoutProps(getFOInputHandler().getFontInfo());
           }
   
           FOText ft = new FOText(data, start, length, textInfo, this);
  
  
  
  1.30      +16 -18    xml-fop/src/java/org/apache/fop/fo/PropertyManager.java
  
  Index: PropertyManager.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/PropertyManager.java,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- PropertyManager.java      15 Jun 2004 06:26:55 -0000      1.29
  +++ PropertyManager.java      18 Jun 2004 04:13:53 -0000      1.30
  @@ -19,9 +19,9 @@
   package org.apache.fop.fo;
   
   // FOP
  -import org.apache.fop.apps.Document;
   import org.apache.fop.apps.FOPException;
   import org.apache.fop.fonts.Font;
  +import org.apache.fop.fonts.FontInfo;
   import org.apache.fop.fo.properties.Property;
   import org.apache.fop.fo.properties.CommonBorderAndPadding;
   import org.apache.fop.fo.properties.CommonMarginBlock;
  @@ -45,7 +45,7 @@
   public class PropertyManager implements Constants {
   
       private PropertyList propertyList;
  -    private Document document = null;
  +    private FontInfo fontInfo = null;
       private Font fontState = null;
       private CommonBorderAndPadding borderAndPadding = null;
       private CommonHyphenation hyphProps = null;
  @@ -71,13 +71,12 @@
       }
   
       /**
  -     * Sets the Document object telling the property manager which fonts are
  +     * Sets the FontInfo object telling the property manager which fonts are
        * available.
  -     * @param document apps.Document implementation containing font
  -     * information
  +     * @param fontInfo FontInfo object
        */
  -    public void setFontInfo(Document document) {
  -        this.document = document;
  +    public void setFontInfo(FontInfo fontInfo) {
  +        this.fontInfo = fontInfo;
       }
   
   
  @@ -88,12 +87,12 @@
        * information
        * @return a FontState object
        */
  -    public Font getFontState(Document document) {
  +    public Font getFontState(FontInfo fontInfo) {
           if (fontState == null) {
  -            if (document == null) {
  -                document = this.document;
  -            } else if (this.document == null) {
  -                this.document = document;
  +            if (fontInfo == null) {
  +                fontInfo = this.fontInfo;
  +            } else if (this.fontInfo == null) {
  +                this.fontInfo = fontInfo;
               }
               /[EMAIL PROTECTED] this is ugly. need to improve. */
   
  @@ -122,9 +121,9 @@
               // various kinds of keywords too
               int fontSize = propertyList.get(PR_FONT_SIZE).getLength().getValue();
               //int fontVariant = propertyList.get("font-variant").getEnum();
  -            String fname = document.getFontInfo().fontLookup(fontFamily, fontStyle,
  +            String fname = fontInfo.fontLookup(fontFamily, fontStyle,
                                                  fontWeight);
  -            FontMetrics metrics = document.getFontInfo().getMetricsFor(fname);
  +            FontMetrics metrics = fontInfo.getMetricsFor(fname);
               fontState = new Font(fname, metrics, fontSize);
           }
           return fontState;
  @@ -458,14 +457,13 @@
       /**
        * Constructs a TextInfo objects. If it was constructed before it is
        * reused.
  -     * @param document apps.Document implementation containing list of
  -     * available fonts
  +     * @param fontInfo FontInfo object containing list of available fonts
        * @return a TextInfo object
        */
  -    public TextInfo getTextLayoutProps(Document document) {
  +    public TextInfo getTextLayoutProps(FontInfo fontInfo) {
           if (textInfo == null) {
               textInfo = new TextInfo();
  -            textInfo.fs = getFontState(document);
  +            textInfo.fs = getFontState(fontInfo);
               textInfo.color = propertyList.get(PR_COLOR).getColorType();
   
               textInfo.verticalAlign =
  
  
  
  1.27      +1 -1      xml-fop/src/java/org/apache/fop/fo/flow/Leader.java
  
  Index: Leader.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/Leader.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- Leader.java       16 Jun 2004 00:27:26 -0000      1.26
  +++ Leader.java       18 Jun 2004 04:13:53 -0000      1.27
  @@ -66,7 +66,7 @@
           CommonBackground bProps = propMgr.getBackgroundProps();
   
           // Common Font Properties
  -        this.fontState = propMgr.getFontState(getFOInputHandler().getDocument());
  +        this.fontState = propMgr.getFontState(getFOInputHandler().getFontInfo());
   
           // Common Margin Properties-Inline
           CommonMarginInline mProps = propMgr.getMarginInlineProps();
  
  
  
  1.24      +1 -1      xml-fop/src/java/org/apache/fop/fo/flow/PageNumber.java
  
  Index: PageNumber.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/PageNumber.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- PageNumber.java   16 Jun 2004 00:27:26 -0000      1.23
  +++ PageNumber.java   18 Jun 2004 04:13:53 -0000      1.24
  @@ -77,7 +77,7 @@
           CommonBackground bProps = propMgr.getBackgroundProps();
   
           // Common Font Properties
  -        this.fontState = propMgr.getFontState(getFOInputHandler().getDocument());
  +        this.fontState = propMgr.getFontState(getFOInputHandler().getFontInfo());
   
           // Common Margin Properties-Inline
           CommonMarginInline mProps = propMgr.getMarginInlineProps();
  
  
  
  1.24      +1 -1      xml-fop/src/java/org/apache/fop/fo/flow/PageNumberCitation.java
  
  Index: PageNumberCitation.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/flow/PageNumberCitation.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- PageNumberCitation.java   16 Jun 2004 00:27:26 -0000      1.23
  +++ PageNumberCitation.java   18 Jun 2004 04:13:53 -0000      1.24
  @@ -82,7 +82,7 @@
           CommonBackground bProps = propMgr.getBackgroundProps();
   
           // Common Font Properties
  -        this.fontState = propMgr.getFontState(getFOInputHandler().getDocument());
  +        this.fontState = propMgr.getFontState(getFOInputHandler().getFontInfo());
   
           // Common Margin Properties-Inline
           CommonMarginInline mProps = propMgr.getMarginInlineProps();
  
  
  
  1.27      +99 -80    xml-fop/src/java/org/apache/fop/fo/pagination/PageSequence.java
  
  Index: PageSequence.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/PageSequence.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- PageSequence.java 16 Jun 2004 23:40:58 -0000      1.26
  +++ PageSequence.java 18 Jun 2004 04:13:53 -0000      1.27
  @@ -23,10 +23,12 @@
   
   // XML
   import org.xml.sax.Attributes;
  +import org.xml.sax.Locator;
   
   // FOP
   import org.apache.fop.fo.FONode;
   import org.apache.fop.fo.FObj;
  +import org.apache.fop.fo.FOElementMapping;
   import org.apache.fop.fo.FOTreeVisitor;
   import org.apache.fop.apps.FOPException;
   
  @@ -131,6 +133,103 @@
       }
   
       /**
  +     * @see org.apache.fop.fo.FONode#validateChildNode(Locator, String, String)
  +        XSL/FOP Content Model: (title?,static-content*,flow)
  +     */
  +    protected void validateChildNode(Locator loc, String nsURI, String localName) {
  +        if (nsURI == FOElementMapping.URI) {
  +            if (localName.equals("title")) {
  +                if (titleFO != null) {
  +                    tooManyNodesError(loc, "fo:title");
  +                } else if (flowMap.size() > 0) {
  +                    nodesOutOfOrderError(loc, "fo:title", "fo:static-content");
  +                } else if (mainFlow != null) {
  +                    nodesOutOfOrderError(loc, "fo:title", "fo:flow");
  +                }
  +            } else if (localName.equals("static-content")) {
  +                if (mainFlow != null) {
  +                    nodesOutOfOrderError(loc, "fo:static-content", "fo:flow");
  +                }                
  +            } else if (localName.equals("flow")) {
  +                if (mainFlow != null) {
  +                    tooManyNodesError(loc, "fo:flow");
  +                }
  +            } else {
  +                invalidChildError(loc, nsURI, localName);
  +            }
  +        } else {
  +            invalidChildError(loc, nsURI, localName);
  +        }
  +    }
  +
  +    /**
  +     * Signal end of this xml element.
  +     * This passes the end page sequence to the structure handler
  +     * so it can act upon that.
  +     */
  +    protected void end() {
  +        if (mainFlow == null) {
  +           missingChildElementError("(title?,static-content*,flow)");
  +        }
  +        try {
  +            getFOInputHandler().endPageSequence(this);
  +        } catch (FOPException fopex) {
  +            getLogger().error("Error in PageSequence.end(): "
  +              + fopex.getMessage(), fopex);
  +        }
  +    }
  +
  +    /**
  +     * Validate the child being added and initialize internal variables.
  +     * XSL content model for page-sequence:
  +     * <pre>(title?,static-content*,flow)</pre>
  +     *
  +     * @param child The flow object child to be added to the PageSequence.
  +     */
  +    public void addChild(FONode child) {
  +        try {
  +            String childName = child.getName();
  +            if (childName.equals("fo:title")) {
  +               this.titleFO = (Title)child;
  +            } else if (childName.equals("fo:flow")) {
  +                this.mainFlow = (Flow)child;
  +                String flowName = this.mainFlow.getFlowName();
  +                if (flowMap.containsKey(flowName)) {
  +                    throw new FOPException("flow-name "
  +                        + flowName
  +                        + " is not unique within an fo:page-sequence");
  +                }
  +                if (!this.layoutMasterSet.regionNameExists(flowName)) {
  +                    getLogger().error("region-name '"
  +                        + flowName
  +                        + "' doesn't exist in the layout-master-set.");
  +                }
  +                // Don't add main flow to the flow map
  +//              addFlow(mainFlow);
  +                startStructuredPageSequence();
  +                super.addChild(child); // For getChildren
  +            } else if (childName.equals("fo:static-content")) {
  +                String flowName = ((StaticContent)child).getFlowName();
  +                if (flowMap.containsKey(flowName)) {
  +                    throw new FOPException("flow-name " + flowName
  +                              + " is not unique within an fo:page-sequence");
  +                }
  +                if (!this.layoutMasterSet.regionNameExists(flowName)) {
  +                    throw new FOPException("region-name '" + flowName
  +                              + "' doesn't exist in the layout-master-set.");
  +                }
  +                flowMap.put(flowName, child);
  +//              addFlow((Flow)child);
  +                startStructuredPageSequence();
  +            } 
  +        } catch (FOPException fopex) {
  +            getLogger().error("Error in PageSequence.addChild(): "
  +                + fopex.getMessage(), fopex);
  +        }
  +    }
  +
  +
  +    /**
        * @see org.apache.fop.fo.FObj#addProperties
        */
       protected void addProperties(Attributes attlist) throws FOPException {
  @@ -221,73 +320,6 @@
   
   
       /**
  -     * Validate the child being added and initialize internal variables.
  -     * XSL content model for page-sequence:
  -     * <pre>(title?,static-content*,flow)</pre>
  -     *
  -     * @param child The flow object child to be added to the PageSequence.
  -     */
  -    public void addChild(FONode child) {
  -        try {
  -            String childName = child.getName();
  -            if (childName.equals("fo:title")) {
  -                if (this.flowMap.size() > 0) {
  -                    getLogger().warn("fo:title should be first in page-sequence");
  -                } else {
  -                    this.titleFO = (Title)child;
  -                }
  -            } else if (childName.equals("fo:flow")) {
  -                if (this.mainFlow != null) {
  -                    throw new FOPException("Only a single fo:flow permitted"
  -                                           + " per fo:page-sequence");
  -                } else {
  -                    this.mainFlow = (Flow)child;
  -                    String flowName = this.mainFlow.getFlowName();
  -                    if (flowMap.containsKey(flowName)) {
  -                        throw new FOPException("flow-name "
  -                                               + flowName
  -                                               + " is not unique within an 
fo:page-sequence");
  -                    }
  -                    if (!this.layoutMasterSet.regionNameExists(flowName)) {
  -                        getLogger().error("region-name '"
  -                                          + flowName
  -                                          + "' doesn't exist in the 
layout-master-set.");
  -                    }
  -                    // Don't add main flow to the flow map
  -//                    addFlow(mainFlow);
  -                    startStructuredPageSequence();
  -                    super.addChild(child); // For getChildren
  -                }
  -            } else if (childName.equals("fo:static-content")) {
  -                if (this.mainFlow != null) {
  -                  throw new FOPException(childName
  -                                         + " must precede fo:flow; ignoring");
  -                }
  -                String flowName = ((StaticContent)child).getFlowName();
  -                if (flowMap.containsKey(flowName)) {
  -                  throw new FOPException("flow-name " + flowName
  -                                         + " is not unique within an 
fo:page-sequence");
  -                }
  -                if (!this.layoutMasterSet.regionNameExists(flowName)) {
  -                    getLogger().error("region-name '" + flowName
  -                                      + "' doesn't exist in the 
layout-master-set.");
  -                }
  -                flowMap.put(flowName, child);
  -//                    addFlow((Flow)child);
  -                startStructuredPageSequence();
  -            } else {
  -                // Ignore it!
  -                getLogger().warn("FO '" + childName
  -                    + "' not a legal page-sequence child.");
  -                return;
  -            }
  -        } catch (FOPException fopex) {
  -            getLogger().error("Error in PageSequence.addChild(): "
  -                + fopex.getMessage(), fopex);
  -        }
  -    }
  -
  -    /**
        * Start the page-sequence logic in the Structured Handler
        */
       private void startStructuredPageSequence() {
  @@ -297,19 +329,6 @@
           }
       }
   
  -    /**
  -     * Signal end of this xml element.
  -     * This passes the end page sequence to the structure handler
  -     * so it can act upon that.
  -     */
  -    protected void end() {
  -        try {
  -            getFOInputHandler().endPageSequence(this);
  -        } catch (FOPException fopex) {
  -            getLogger().error("Error in PageSequence.end(): "
  -              + fopex.getMessage(), fopex);
  -        }
  -    }
   
       /**
        * Initialize the current page number for the start of the page sequence.
  
  
  
  1.19      +2 -2      xml-fop/src/java/org/apache/fop/fo/pagination/Title.java
  
  Index: Title.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/Title.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- Title.java        16 Jun 2004 00:27:26 -0000      1.18
  +++ Title.java        18 Jun 2004 04:13:53 -0000      1.19
  @@ -59,7 +59,7 @@
           CommonBackground bProps = propMgr.getBackgroundProps();
   
           // Common Font Properties
  -        Font fontState = propMgr.getFontState(getFOInputHandler().getDocument());
  +        Font fontState = propMgr.getFontState(getFOInputHandler().getFontInfo());
   
           // Common Margin Properties-Inline
           CommonMarginInline mProps = propMgr.getMarginInlineProps();
  
  
  
  1.23      +1 -1      
xml-fop/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java
  
  Index: BlockLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/BlockLayoutManager.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- BlockLayoutManager.java   16 Jun 2004 00:27:27 -0000      1.22
  +++ BlockLayoutManager.java   18 Jun 2004 04:13:53 -0000      1.23
  @@ -74,7 +74,7 @@
           childLMiter = new BlockLMiter(this, childLMiter);
           userAgent = inBlock.getUserAgent();
           setBlockTextInfo(inBlock.getPropertyManager().getTextLayoutProps(
  -            inBlock.getFOInputHandler().getDocument()));
  +            inBlock.getFOInputHandler().getFontInfo()));
       }
   
       private void setBlockTextInfo(TextInfo ti) {
  
  
  
  1.9       +2 -2      xml-fop/src/java/org/apache/fop/render/mif/MIFHandler.java
  
  Index: MIFHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/mif/MIFHandler.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- MIFHandler.java   22 Apr 2004 21:38:40 -0000      1.8
  +++ MIFHandler.java   18 Jun 2004 04:13:53 -0000      1.9
  @@ -75,7 +75,7 @@
       public MIFHandler(Document doc, OutputStream os) {
           super(doc);
           outStream = os;
  -        FontSetup.setup(doc.getFontInfo(), null);
  +        FontSetup.setup(fontInfo, null);
       }
   
       /**
  
  
  
  1.26      +2 -2      xml-fop/src/java/org/apache/fop/render/rtf/RTFHandler.java
  
  Index: RTFHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/render/rtf/RTFHandler.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- RTFHandler.java   22 May 2004 21:44:38 -0000      1.25
  +++ RTFHandler.java   18 Jun 2004 04:13:54 -0000      1.26
  @@ -131,7 +131,7 @@
           bDefer = false;
           bDeferredExecution = false;
           iNestCount=0;
  -        FontSetup.setup(doc.getFontInfo(), null);
  +        FontSetup.setup(fontInfo, null);
           log.warn(ALPHA_WARNING);
       }
   
  
  
  
  1.18      +13 -11    xml-fop/src/java/org/apache/fop/tools/AreaTreeBuilder.java
  
  Index: AreaTreeBuilder.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/tools/AreaTreeBuilder.java,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- AreaTreeBuilder.java      17 Jun 2004 04:46:08 -0000      1.17
  +++ AreaTreeBuilder.java      18 Jun 2004 04:13:54 -0000      1.18
  @@ -160,13 +160,13 @@
           }
   
           rend.setLogger(logger);
  -        org.apache.fop.apps.Document doc = new org.apache.fop.apps.Document(null);
  -        rend.setupFontInfo(doc.getFontInfo());
  +        FontInfo fontInfo = new FontInfo();
  +        rend.setupFontInfo(fontInfo);
           FOUserAgent ua = new FOUserAgent();
           rend.setUserAgent(ua);
   
           StorePagesModel sm = AreaTree.createStorePagesModel();
  -        TreeLoader tl = new TreeLoader(doc);
  +        TreeLoader tl = new TreeLoader(rend, fontInfo);
           tl.setLogger(logger);
           tl.setTreeModel(sm);
           try {
  @@ -238,12 +238,14 @@
   class TreeLoader {
       private AreaTree areaTree;
       private AreaTreeModel model;
  -    private org.apache.fop.apps.Document document;
  +    private Renderer renderer;
  +    private FontInfo fontInfo;
       private Font currentFontState;
       private Log logger = null;
   
  -    TreeLoader(org.apache.fop.apps.Document doc) {
  -        document = doc;
  +    TreeLoader(Renderer renderer, FontInfo fontInfo) {
  +        this.renderer = renderer;
  +        this.fontInfo = fontInfo;
       }
   
       /**
  @@ -271,7 +273,7 @@
           Element root = null;
           root = doc.getDocumentElement();
   
  -        areaTree = new AreaTree();
  +        areaTree = new AreaTree(renderer);
           areaTree.setTreeModel(model);
   
           readAreaTree(root);
  @@ -558,8 +560,8 @@
                   Character ch =
                     new Character(getString((Element) obj).charAt(0));
                   addTraits((Element) obj, ch);
  -                String fname = document.getFontInfo().fontLookup("sans-serif", 
"normal", Font.NORMAL);
  -                FontMetrics metrics = document.getFontInfo().getMetricsFor(fname);
  +                String fname = fontInfo.fontLookup("sans-serif", "normal", 
Font.NORMAL);
  +                FontMetrics metrics = fontInfo.getMetricsFor(fname);
                   currentFontState =
                       new Font(fname, metrics, 12000);
   
  @@ -583,8 +585,8 @@
                       list.add(leader);
                   }
               } else if (obj.getNodeName().equals("word")) {
  -                String fname = document.getFontInfo().fontLookup("sans-serif", 
"normal", Font.NORMAL);
  -                FontMetrics metrics = document.getFontInfo().getMetricsFor(fname);
  +                String fname = fontInfo.fontLookup("sans-serif", "normal", 
Font.NORMAL);
  +                FontMetrics metrics = fontInfo.getMetricsFor(fname);
                   currentFontState =
                       new Font(fname, metrics, 12000);
                   TextArea text = getText((Element) obj);
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to