]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Methods in FObjects made static
authorPeter Bernard West <pbwest@apache.org>
Sat, 8 May 2004 13:01:40 +0000 (13:01 +0000)
committerPeter Bernard West <pbwest@apache.org>
Sat, 8 May 2004 13:01:40 +0000 (13:01 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/FOP_0-20-0_Alt-Design@197566 13f79535-47bb-0310-9956-ffa450edef68

20 files changed:
src/java/org/apache/fop/fo/flow/FoBasicLink.java
src/java/org/apache/fop/fo/flow/FoBidiOverride.java
src/java/org/apache/fop/fo/flow/FoBlock.java
src/java/org/apache/fop/fo/flow/FoBlockContainer.java
src/java/org/apache/fop/fo/flow/FoFloat.java
src/java/org/apache/fop/fo/flow/FoFlow.java
src/java/org/apache/fop/fo/flow/FoFootnoteBody.java
src/java/org/apache/fop/fo/flow/FoInline.java
src/java/org/apache/fop/fo/flow/FoInlineContainer.java
src/java/org/apache/fop/fo/flow/FoLeader.java
src/java/org/apache/fop/fo/flow/FoListItemBody.java
src/java/org/apache/fop/fo/flow/FoListItemLabel.java
src/java/org/apache/fop/fo/flow/FoMultiCase.java
src/java/org/apache/fop/fo/flow/FoMultiToggle.java
src/java/org/apache/fop/fo/flow/FoPageSequence.java
src/java/org/apache/fop/fo/flow/FoStaticContent.java
src/java/org/apache/fop/fo/flow/FoTableCaption.java
src/java/org/apache/fop/fo/flow/FoTableCell.java
src/java/org/apache/fop/fo/flow/FoTitle.java
src/java/org/apache/fop/fo/flow/FoWrapper.java

index 3ffc9e49d3eae31d06e83d9152caaa4585184e7b..bd6cc732b9447db80654018833e3e9e72b40659d 100644 (file)
@@ -136,7 +136,7 @@ public class FoBasicLink extends FOPageSeqNode {
                     ev = xmlevents.expectOutOfLinePcdataOrInlineOrBlock();
                 if (ev != null) {
                     // Generate the flow object
-                    FObjects.fobjects.makePageSeqFOChild(
+                    FObjects.makePageSeqFOChild(
                             foTree, pageSequence, this, ev, stateFlags);
                     if (ev.getType() != XmlEvent.CHARACTERS)
                         ev = xmlevents.getEndElement(
index 92d0fda332262441171a6200f7ddb88a5eeed407..54399b840c704a43076441ea6bbec2c160294be6 100644 (file)
@@ -123,7 +123,7 @@ public class FoBidiOverride extends FOPageSeqNode {
                     ev = xmlevents.expectOutOfLinePcdataOrInlineOrBlock();
                 if (ev != null) {
                     // Generate the flow object
-                    FObjects.fobjects.makePageSeqFOChild(
+                    FObjects.makePageSeqFOChild(
                             foTree, pageSequence, this, ev, stateFlags);
                     if (ev.getType() != XmlEvent.CHARACTERS)
                         ev = xmlevents.getEndElement(
index 12aa3d4658e039f5f05aabe7eb3fdc9269c3e554..770615f0ee52180c9d88836688bf95d85ac46cb2 100644 (file)
@@ -147,7 +147,7 @@ public class FoBlock extends FOPageSeqNode {
                     ev = xmlevents.expectOutOfLinePcdataOrInlineOrBlock();
                 if (ev != null) {
                     // Generate the flow object
-                    FObjects.fobjects.makePageSeqFOChild(
+                    FObjects.makePageSeqFOChild(
                             foTree, pageSequence, this, ev, stateFlags);
                     if (ev.getType() != XmlEvent.CHARACTERS) {
                         ev = xmlevents.getEndElement(
index a262254bdc7a4e9da6f99fa5b4a2bda52b36b733..a3073492b5777f3d26cee566257a35ee44feb2ee 100644 (file)
@@ -142,7 +142,7 @@ public class FoBlockContainer extends FOPageSeqNode {
                 throw new FOPException
                         ("%block; not found in fo:block-container");
             // Generate the flow object
-            FObjects.fobjects.makePageSeqFOChild(
+            FObjects.makePageSeqFOChild(
                     foTree, pageSequence, this, (FoXmlEvent)ev, stateFlags);
             // Clear the blockage
             ev = xmlevents.getEndElement(XmlEventReader.DISCARD_EV, ev);
@@ -155,7 +155,7 @@ public class FoBlockContainer extends FOPageSeqNode {
                     ev = xmlevents.expectOutOfLineBlock();
                 if (ev != null) {
                     // Generate the flow object
-                    FObjects.fobjects.makePageSeqFOChild(
+                    FObjects.makePageSeqFOChild(
                             foTree, pageSequence, this, (FoXmlEvent)ev,
                             stateFlags);
                     ev = xmlevents.getEndElement(
index 9d830c6600917f125d070363cb18d46c32c55328..38d423df6e0cb8af430306d6fd46b389728368ba 100644 (file)
@@ -117,7 +117,7 @@ public class FoFloat extends FOPageSeqNode {
                 throw new FOPException
                         ("%block; not found in fo:float");
             // Generate the flow object
-            FObjects.fobjects.makePageSeqFOChild(
+            FObjects.makePageSeqFOChild(
                     foTree, pageSequence, this, (FoXmlEvent)ev,
                     stateFlags | FONode.MC_FLOAT);
             // Clear the blockage
@@ -131,7 +131,7 @@ public class FoFloat extends FOPageSeqNode {
                     ev = xmlevents.expectOutOfLineBlock();
                 if (ev != null) {
                     // Generate the flow object
-                    FObjects.fobjects.makePageSeqFOChild(
+                    FObjects.makePageSeqFOChild(
                             foTree, pageSequence, this, (FoXmlEvent)ev,
                             stateFlags | FONode.MC_FLOAT);
                     ev = xmlevents.getEndElement(
index 68ba788bb2b40a4b2df7a3b3eebbb73f759fff5c..947a1131eeaba28cdd23144e97c9bb8e91951c95 100644 (file)
@@ -28,6 +28,7 @@ import java.util.Arrays;
 import java.util.BitSet;
 
 import org.apache.fop.apps.FOPException;
+import org.apache.fop.area.Area;
 import org.apache.fop.datastructs.TreeException;
 import org.apache.fop.fo.FONode;
 import org.apache.fop.fo.FOPageSeqNode;
@@ -98,7 +99,7 @@ public class FoFlow extends FOPageSeqNode {
             if ((ev = xmlevents.expectBlock()) == null)
                 throw new FOPException("%block; not found in fo:flow");
             // Generate the flow object
-            FObjects.fobjects.makePageSeqFOChild(
+            FObjects.makePageSeqFOChild(
                     foTree, pageSequence, this, (FoXmlEvent)ev,
                     FONode.FLOW_SET);
             // Clear the blockage
@@ -109,7 +110,7 @@ public class FoFlow extends FOPageSeqNode {
                 ev = xmlevents.expectBlock();
                 if (ev != null) {
                     // Generate the flow object
-                    FObjects.fobjects.makePageSeqFOChild(
+                    FObjects.makePageSeqFOChild(
                             foTree, parent, this, (FoXmlEvent)ev,
                             FONode.FLOW_SET);
                     ev = xmlevents.getEndElement(
@@ -124,4 +125,19 @@ public class FoFlow extends FOPageSeqNode {
         makeSparsePropsSet();
     }
 
+    public Area getReferenceRectangle() throws FOPException {
+        // TODO Reference rectangle is assumed to be the content rectangle of
+        // the first region into which the content is flowed.  For region-body
+        // it is normal-flow reference-area; for other regions it is the
+        // region-reference-area.  See
+        // 7.3 Reference Rectangle for Percentage Computations
+        throw new FOPException("Called from FoFlow");
+    }
+
+    public Area getLayoutContext() {
+        // The layout context for fo:flow is is the region-body-reference-area.
+        // TODO - the real version
+        Area context = null;
+        return context;
+    }
 }
index 0c6eb18c0e0a2718446118dcce56b0342de8dd4a..bb17f681703fa7e1890f8e54360c2f552363793d 100644 (file)
@@ -115,7 +115,7 @@ public class FoFootnoteBody extends FOPageSeqNode {
                 throw new FOPException
                         ("%block; not found in fo:footnote-body");
             // Generate the flow object
-            FObjects.fobjects.makePageSeqFOChild(
+            FObjects.makePageSeqFOChild(
                     foTree, pageSequence, this, (FoXmlEvent)ev, stateFlags);
             // Clear the blockage
             ev = xmlevents.getEndElement(XmlEventReader.DISCARD_EV, ev);
@@ -128,7 +128,7 @@ public class FoFootnoteBody extends FOPageSeqNode {
                     ev = xmlevents.expectOutOfLineBlock();
                 if (ev != null) {
                     // Generate the flow object
-                    FObjects.fobjects.makePageSeqFOChild(
+                    FObjects.makePageSeqFOChild(
                             foTree, pageSequence, this,
                             (FoXmlEvent)ev, stateFlags);
                     ev = xmlevents.getEndElement(
index 1bbf50969656d1375c601b12bbc0935941df0abf..4d386bf33a49e9b3870050423726a7930060d0a7 100644 (file)
@@ -138,7 +138,7 @@ public class FoInline extends FOPageSeqNode {
                 if (ev != null) {
                     // Generate the flow object
                     //System.out.println("Generating flow object for " + ev);
-                    FObjects.fobjects.makePageSeqFOChild(
+                    FObjects.makePageSeqFOChild(
                             foTree, pageSequence, this, ev, stateFlags);
                     if (ev.getType() != XmlEvent.CHARACTERS) {
                         ev = xmlevents.getEndElement(
index e17363a0d119848e8c95987329997b57c57b254a..9d7861132071c50225d12c04b617337410e5d089 100644 (file)
@@ -138,7 +138,7 @@ public class FoInlineContainer extends FOPageSeqNode {
                 throw new FOPException
                         ("%block; not found in fo:inline-container");
             // Generate the flow object
-            FObjects.fobjects.makePageSeqFOChild(
+            FObjects.makePageSeqFOChild(
                     foTree, pageSequence, this, (FoXmlEvent)ev, stateFlags);
             // Clear the blockage
             ev = xmlevents.getEndElement(
@@ -152,7 +152,7 @@ public class FoInlineContainer extends FOPageSeqNode {
                     ev = xmlevents.expectOutOfLineBlock();
                 if (ev != null) {
                     // Generate the flow object
-                    FObjects.fobjects.makePageSeqFOChild(
+                    FObjects.makePageSeqFOChild(
                             foTree, pageSequence, this,
                             (FoXmlEvent)ev, stateFlags);
                     ev = xmlevents.getEndElement(
index 4f303d6d99c93b11863d1f983012eda1a503eb29..adc96af2e2a292fe6447aedf4f49a040dcba47a2 100644 (file)
@@ -147,7 +147,7 @@ public class FoLeader extends FOPageSeqNode {
                     ev = xmlevents.expectOutOfLinePcdataOrInline();
                 if (ev != null) {
                     // Generate the flow object
-                    FObjects.fobjects.makePageSeqFOChild(
+                    FObjects.makePageSeqFOChild(
                             foTree, pageSequence, this,
                             ev, stateFlags | FONode.MC_LEADER);
                     if (ev.getType() != XmlEvent.CHARACTERS) {
index e3cae3bafbfb0884adab723172d6fc2305f22632..d4161936f04e7da2e897ae03ef4a6492390f6c66 100644 (file)
@@ -118,7 +118,7 @@ public class FoListItemBody extends FOPageSeqNode {
                 throw new FOPException
                         ("%block; not found in fo:list-item-body");
             // Generate the flow object
-            FObjects.fobjects.makePageSeqFOChild(
+            FObjects.makePageSeqFOChild(
                     foTree, pageSequence, this, (FoXmlEvent)ev, stateFlags);
             // Clear the blockage
             ev = xmlevents.getEndElement(XmlEventReader.DISCARD_EV, ev);
@@ -131,7 +131,7 @@ public class FoListItemBody extends FOPageSeqNode {
                     ev = xmlevents.expectOutOfLineBlock();
                 if (ev != null) {
                     // Generate the flow object
-                    FObjects.fobjects.makePageSeqFOChild(
+                    FObjects.makePageSeqFOChild(
                             foTree, pageSequence, this,
                             (FoXmlEvent)ev, stateFlags);
                     ev = xmlevents.getEndElement(XmlEventReader.DISCARD_EV, ev);
index cbc20ea3e617e90910444e38cbe7398cbeb6eb57..d700e9ae3f48d5a9f263aa2ec751f8d0abbf58be 100644 (file)
@@ -117,7 +117,7 @@ public class FoListItemLabel extends FOPageSeqNode {
                 throw new FOPException
                         ("%block; not found in fo:list-item-label");
             // Generate the flow object
-            FObjects.fobjects.makePageSeqFOChild(
+            FObjects.makePageSeqFOChild(
                     foTree, pageSequence, this, (FoXmlEvent)ev, stateFlags);
             // Clear the blockage
             ev = xmlevents.getEndElement(XmlEventReader.DISCARD_EV, ev);
@@ -130,7 +130,7 @@ public class FoListItemLabel extends FOPageSeqNode {
                     ev = xmlevents.expectOutOfLineBlock();
                 if (ev != null) {
                     // Generate the flow object
-                    FObjects.fobjects.makePageSeqFOChild(
+                    FObjects.makePageSeqFOChild(
                             foTree, pageSequence, this, (FoXmlEvent)ev, stateFlags);
                     ev = xmlevents.getEndElement(XmlEventReader.DISCARD_EV, ev);
                     namespaces.relinquishEvent(ev);
index 152920661cbf3c34b2797d52969451cc8bccbac7..8fb08fe9e23953f7739d3480ee9fce9f27ccc1f8 100644 (file)
@@ -124,7 +124,7 @@ public class FoMultiCase extends FOPageSeqNode {
                 if (ev != null) {
                     // Generate the flow object
                     //System.out.println("Generating flow object for " + ev);
-                    FObjects.fobjects.makePageSeqFOChild(
+                    FObjects.makePageSeqFOChild(
                                 foTree, pageSequence, this, ev, stateFlags);
                     if (ev.getType() != XmlEvent.CHARACTERS) {
                         ev = xmlevents.getEndElement(
index 8333f76d9cd7920575cf2dd00313e79cdd78f6e6..9a34e610f8cca8813390b0873bbd6f5558eb261e 100644 (file)
@@ -116,7 +116,7 @@ public class FoMultiToggle extends FOPageSeqNode {
                         ev = xmlevents.expectOutOfLinePcdataOrInlineOrBlock();
                     if (ev != null) {
                         // Generate the flow object
-                        FObjects.fobjects.makePageSeqFOChild(
+                        FObjects.makePageSeqFOChild(
                                 foTree, pageSequence, this, ev, stateFlags);
                         if (ev.getType() != XmlEvent.CHARACTERS) {
                             ev = xmlevents.getEndElement(
index 86069b60d2ed77171dcc761a4fd3ca24ce2ec84f..a7c75fb6e17bbffab05afc0f7034c818b5756aca 100644 (file)
@@ -33,6 +33,7 @@ import java.util.NoSuchElementException;
 import java.util.Set;
 
 import org.apache.fop.apps.FOPException;
+import org.apache.fop.area.Area;
 import org.apache.fop.area.Page;
 import org.apache.fop.datastructs.TreeException;
 import org.apache.fop.fo.FONode;
@@ -121,6 +122,15 @@ public class FoPageSequence extends FONode {
     public Map staticContents = null;
     /** Child index of fo:flow child. */
     private int flowChild = -1;
+    /** The page currently being processed by this page-sequence */
+    private Page page = null;
+    /**
+     * Gets the current page of this page-sequence
+     * @return the page
+     */
+    public Page getPage() {
+        return page;
+    }
 
     /**
      * @param foTree the FO tree being built
@@ -137,6 +147,7 @@ public class FoPageSequence extends FONode {
               FONode.PAGESEQ_SET, sparsePropsMap, sparseIndices);
         XmlEvent ev;
         // Look for optional title
+        log.finer("page-sequence title");
         String nowProcessing = "title";
         try {
             ev = xmlevents.expectStartElement
@@ -150,6 +161,7 @@ public class FoPageSequence extends FONode {
             } // else ignore
 
             // Look for zero or more static-content subtrees
+            log.finer("static-content");
             nowProcessing = "static-content";
             while ((ev = xmlevents.expectStartElement
                     (FObjectNames.STATIC_CONTENT, XmlEvent.DISCARD_W_SPACE))
@@ -192,12 +204,13 @@ public class FoPageSequence extends FONode {
                 staticContents = Collections.unmodifiableMap(staticSubtrees);
             }
             // Generate a null page for the flow(s)
-            Page page = Page.setupNullPage(this, foTree.getNextPageId());
+            page = Page.setupNullPage(this, foTree.getNextPageId());
 
             // Look for one or more fo:flow
             // must have at least one: N.B. in 1.0, only one is allowed,
             // but in 1.1. multiple flows are allowed with different 
             // flow maps
+            log.finer("flow");
             nowProcessing = "flow";
             ev = xmlevents.expectStartElement
                         (FObjectNames.FLOW, XmlEvent.DISCARD_W_SPACE);
@@ -227,4 +240,15 @@ public class FoPageSequence extends FONode {
         makeSparsePropsSet();
     }
 
+    public Area getReferenceRectangle() throws FOPException {
+        // TODO Reference rectangle is assumed to be equivalent to the
+        // "auto" value on "page-height" and "page-width".  The
+        // inline-progression-dimension and block-progression-dimension are
+        // calculated according to the computed values of the
+        // reference-orientation and writing-mode of the FO for which the
+        // percentage is calculated.  See
+        // 7.3 Reference Rectangle for Percentage Computations
+        throw new FOPException("Called from FoPageSequence");
+    }
+
 }
index f51fa5d65437a620b77c42300e8d1af9957f2f2c..03145876ef3929e7dd55bc96dca91508373f93fe 100644 (file)
@@ -28,6 +28,7 @@ import java.util.Arrays;
 import java.util.BitSet;
 
 import org.apache.fop.apps.FOPException;
+import org.apache.fop.area.Area;
 import org.apache.fop.datastructs.TreeException;
 import org.apache.fop.datatypes.NCName;
 import org.apache.fop.fo.FONode;
@@ -151,5 +152,14 @@ public class FoStaticContent extends FOPageSeqNode {
     public String getFlowName() {
         return flowName;
     }
+
+    public Area getReferenceRectangle() throws FOPException {
+        // TODO Reference rectangle is assumed to be the content rectangle of
+        // the first region into which the content is flowed.  For region-body
+        // it is normal-flow reference-area; for other regions it is the
+        // region-reference-area.  See
+        // 7.3 Reference Rectangle for Percentage Computations
+        throw new FOPException("Called from FoStaticContent");
+    }
     
 }
index 0e3d9858ddeda06502ec0c099e7dee544f043b3b..e3f687a827c79cbabb3caf1ee5a848e9e6ebdca9 100644 (file)
@@ -128,7 +128,7 @@ public class FoTableCaption extends FOPageSeqNode {
                 throw new FOPException
                         ("%block; not found in fo:table-caption");
             // Generate the flow object
-            FObjects.fobjects.makePageSeqFOChild(
+            FObjects.makePageSeqFOChild(
                     foTree, pageSequence, this, (FoXmlEvent)ev, stateFlags);
             // Clear the blockage
             ev = xmlevents.getEndElement(XmlEventReader.DISCARD_EV, ev);
@@ -141,7 +141,7 @@ public class FoTableCaption extends FOPageSeqNode {
                     ev = xmlevents.expectOutOfLineBlock();
                 if (ev != null) {
                     // Generate the flow object
-                    FObjects.fobjects.makePageSeqFOChild(
+                    FObjects.makePageSeqFOChild(
                             foTree, pageSequence, this,
                             (FoXmlEvent)ev, stateFlags);
                     ev = xmlevents.getEndElement(
index fe3e4badd2903a9cbfb3af95f43f761b77f94922..8a8f9c27a75b5a4c3d90fc06799a82c69f6266e2 100644 (file)
@@ -137,7 +137,7 @@ public class FoTableCell extends FOPageSeqNode {
                 throw new FOPException
                         ("%block; not found in fo:table-cell");
             // Generate the flow object
-            FObjects.fobjects.makePageSeqFOChild(
+            FObjects.makePageSeqFOChild(
                     foTree, pageSequence, this,
                     (FoXmlEvent)ev, stateFlags);
             // Clear the blockage
@@ -151,7 +151,7 @@ public class FoTableCell extends FOPageSeqNode {
                     ev = xmlevents.expectOutOfLineBlock();
                 if (ev != null) {
                     // Generate the flow object
-                    FObjects.fobjects.makePageSeqFOChild(
+                    FObjects.makePageSeqFOChild(
                             foTree, pageSequence, this,
                             (FoXmlEvent)ev, stateFlags);
                     ev = xmlevents.getEndElement(XmlEventReader.DISCARD_EV, ev);
index 518374b65b18e7eb0fb51086bbb010a906c34eef..0ae99af36eb8040820128177ae610d4f960ef89b 100644 (file)
@@ -27,6 +27,7 @@ package org.apache.fop.fo.flow;
 import java.util.Arrays;
 import java.util.BitSet;
 import org.apache.fop.apps.FOPException;
+import org.apache.fop.area.Area;
 import org.apache.fop.datastructs.TreeException;
 import org.apache.fop.fo.FONode;
 import org.apache.fop.fo.FOPageSeqNode;
@@ -119,7 +120,7 @@ public class FoTitle extends FOPageSeqNode {
                 ev = xmlevents.expectOutOfLinePcdataOrInline();
                 if (ev != null) {
                     // Generate the flow object
-                    FObjects.fobjects.makePageSeqFOChild(
+                    FObjects.makePageSeqFOChild(
                             foTree, parent, this, ev, FONode.TITLE_SET);
                     if (ev.getType() != XmlEvent.CHARACTERS)
                         ev = xmlevents.getEndElement(
@@ -140,4 +141,18 @@ public class FoTitle extends FOPageSeqNode {
         makeSparsePropsSet();
     }
 
+    public Area getReferenceRectangle() throws FOPException {
+        // TODO Reference rectangle is assumed to be equivalent to the
+        // "auto" value on "page-height" and "page-width".  The
+        // inline-progression-dimension and block-progression-dimension are
+        // calculated according to the computed values of the
+        // reference-orientation and writing-mode of the FO for which the
+        // percentage is calculated.  See
+        // 7.3 Reference Rectangle for Percentage Computations
+        // This applies to all descendants of fo:title, except that for
+        // descendants, the relevant reference-orientation and writing-mode are
+        // those applying to fo:title.
+        throw new FOPException("Called from FoTitle");
+    }
+
 }
index 23054b586a1e7dd4cab6f9fda488bc75aef57e59..924742a27aecdca9f737155123f4111348647774 100644 (file)
@@ -102,7 +102,7 @@ public class FoWrapper extends FOPageSeqNode {
                     ev = xmlevents.expectOutOfLinePcdataOrInlineOrBlock();
                 if (ev != null) {
                     // Generate the flow object
-                    FObjects.fobjects.makePageSeqFOChild(
+                    FObjects.makePageSeqFOChild(
                             foTree, pageSequence, this, ev, stateFlags);
                     if (ev.getType() != XmlEvent.CHARACTERS)
                         ev = xmlevents.getEndElement(