]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
clone and serialize area traits
authorKeiron Liddle <keiron@apache.org>
Wed, 6 Nov 2002 15:07:04 +0000 (15:07 +0000)
committerKeiron Liddle <keiron@apache.org>
Wed, 6 Nov 2002 15:07:04 +0000 (15:07 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@195434 13f79535-47bb-0310-9956-ffa450edef68

src/org/apache/fop/area/Area.java
src/org/apache/fop/area/RegionViewport.java
src/org/apache/fop/area/inline/Viewport.java

index 5c381d2dbb3d0c7f9c9b256d306d96eb06a0bbc3..9c312f9881d8bb2c93c9edc9ca828b6ea5135a52 100644 (file)
@@ -105,7 +105,11 @@ public class Area implements Serializable {
 
     private int areaClass = CLASS_NORMAL;
     private int ipd;
-    private HashMap props = null;
+
+    /**
+     * Traits for this area stored in a HashMap
+     */
+    protected HashMap props = null;
 
     /**
      * Get the area class of this area.
index 0886b17feb017194969f0e4a3163187551603e14..f368d88826dfcfef6a29820b069750e3dbf5bfb3 100644 (file)
@@ -9,6 +9,7 @@ package org.apache.fop.area;
 
 import java.awt.geom.Rectangle2D;
 import java.io.IOException;
+import java.util.HashMap;
 
 /**
  * Region Viewport reference area.
@@ -72,6 +73,7 @@ public class RegionViewport extends Area implements Cloneable {
         out.writeFloat((float) viewArea.getWidth());
         out.writeFloat((float) viewArea.getHeight());
         out.writeBoolean(clip);
+        out.writeObject(props);
         out.writeObject(region);
     }
 
@@ -80,6 +82,7 @@ public class RegionViewport extends Area implements Cloneable {
         viewArea = new Rectangle2D.Float(in.readFloat(), in.readFloat(),
                                          in.readFloat(), in.readFloat());
         clip = in.readBoolean();
+        props = (HashMap)in.readObject();
         setRegion((RegionReference) in.readObject());
     }
 
@@ -92,6 +95,9 @@ public class RegionViewport extends Area implements Cloneable {
     public Object clone() {
         RegionViewport rv = new RegionViewport((Rectangle2D)viewArea.clone());
         rv.region = (RegionReference)region.clone();
+        if(props != null) {
+            rv.props = (HashMap)props.clone();
+        }
         return rv;
     }
 }
index d4a507890c1d1141fcca335080b855d0e6fef683..c3753e7fbd34c5239a86a02ad1a4823f7a3435ba 100644 (file)
@@ -12,6 +12,7 @@ import org.apache.fop.render.Renderer;
 
 import java.io.IOException;
 import java.awt.geom.Rectangle2D;
+import java.util.HashMap;
 
 /**
  * Inline viewport area.
@@ -100,6 +101,7 @@ public class Viewport extends InlineArea {
             out.writeFloat((float) contentPosition.getHeight());
         }
         out.writeBoolean(clip);
+        //out.writeObject(props);
         out.writeObject(content);
     }
 
@@ -112,6 +114,7 @@ public class Viewport extends InlineArea {
                                                     in.readFloat());
         }
         clip = in.readBoolean();
+        //props = (HashMap) in.readObject();
         content = (Area) in.readObject();
     }