]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Added very simple fo:wrapper implementation
authorKelly Campbell <kellyc@apache.org>
Sun, 4 Feb 2001 03:23:10 +0000 (03:23 +0000)
committerKelly Campbell <kellyc@apache.org>
Sun, 4 Feb 2001 03:23:10 +0000 (03:23 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194014 13f79535-47bb-0310-9956-ffa450edef68

src/org/apache/fop/fo/StandardElementMapping.java
src/org/apache/fop/fo/flow/Wrapper.java [new file with mode: 0644]

index ce5cc4eff98643dd7ed40127e55c8755dd54ab27..891c3d5ff338697db66f52b281f1443820e64aa5 100644 (file)
@@ -110,5 +110,6 @@ public class StandardElementMapping implements ElementMapping {
        builder.addMapping(uri, "character", org.apache.fop.fo.flow.Character.maker());
        builder.addMapping(uri, "footnote", Footnote.maker());
        builder.addMapping(uri, "footnote-body", FootnoteBody.maker());
+       builder.addMapping(uri, "wrapper", Wrapper.maker());
     }
 }
diff --git a/src/org/apache/fop/fo/flow/Wrapper.java b/src/org/apache/fop/fo/flow/Wrapper.java
new file mode 100644 (file)
index 0000000..47eb050
--- /dev/null
@@ -0,0 +1,107 @@
+/*
+ ============================================================================
+                   The Apache Software License, Version 1.1
+ ============================================================================
+
+    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without modifica-
+ tion, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of  source code must  retain the above copyright  notice,
+    this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright notice,
+    this list of conditions and the following disclaimer in the documentation
+    and/or other materials provided with the distribution.
+
+ 3. The end-user documentation included with the redistribution, if any, must
+    include  the following  acknowledgment:  "This product includes  software
+    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
+    Alternately, this  acknowledgment may  appear in the software itself,  if
+    and wherever such third-party acknowledgments normally appear.
+
+ 4. The names "FOP" and  "Apache Software Foundation"  must not be used to
+    endorse  or promote  products derived  from this  software without  prior
+    written permission. For written permission, please contact
+    apache@apache.org.
+
+ 5. Products  derived from this software may not  be called "Apache", nor may
+    "Apache" appear  in their name,  without prior written permission  of the
+    Apache Software Foundation.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
+ APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
+ INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
+ DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
+ ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
+ (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+ This software  consists of voluntary contributions made  by many individuals
+ on  behalf of the Apache Software  Foundation and was  originally created by
+ James Tauber <jtauber@jtauber.com>. For more  information on the Apache
+ Software Foundation, please see <http://www.apache.org/>.
+
+ */
+
+
+package org.apache.fop.fo.flow;
+
+// FOP
+import org.apache.fop.fo.*;
+import org.apache.fop.apps.FOPException;
+import org.apache.fop.fo.properties.*;
+import org.apache.fop.layout.*;
+
+/**
+ * Implementation for fo:wrapper formatting object. 
+ * The wrapper object serves as
+ * a property holder for it's children objects.
+ */
+
+public class Wrapper extends FObjMixed {
+    
+    public static class Maker extends FObj.Maker {
+       public FObj make(FObj parent, PropertyList propertyList)
+           throws FOPException 
+       {
+           return new Wrapper(parent, propertyList);
+       }
+    }
+    
+    public static FObj.Maker maker() {
+       return new Wrapper.Maker();
+    }
+
+    public Wrapper(FObj parent, PropertyList propertyList) 
+    {
+       super(parent, propertyList);
+       // check that this occurs inside an fo:flow
+    }
+    
+   
+    public Status layout(Area area) 
+       throws FOPException 
+    {
+
+       int numChildren = this.children.size();
+       for (int i=((marker != START)?marker:0) ; i < numChildren; i++) {
+           FONode child= (FONode)children.elementAt(i);
+           if ((child instanceof FObj))   {
+               Status status = ((FObj)child).layout(area);            
+               if (status.isIncomplete()) {
+                   this.marker = i;
+                   return status;
+               }
+           }
+       }
+       return new Status(Status.OK);
+       
+    }
+    
+    
+}