You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by pb...@apache.org on 2004/02/25 23:02:25 UTC

cvs commit: xml-fop/src/java/org/apache/fop/area PageViewport.java

pbwest      2004/02/25 14:02:25

  Modified:    src/java/org/apache/fop/area Tag: FOP_0-20-0_Alt-Design
                        PageViewport.java
  Log:
  Added long pageId.
  Modified constructors to match.
  Removed getKey() method.
  Added constructor for self-synchronized tree root object.
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.2.2.2   +42 -23    xml-fop/src/java/org/apache/fop/area/PageViewport.java
  
  Index: PageViewport.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/area/PageViewport.java,v
  retrieving revision 1.2.2.1
  retrieving revision 1.2.2.2
  diff -u -r1.2.2.1 -r1.2.2.2
  --- PageViewport.java	24 Feb 2004 07:54:00 -0000	1.2.2.1
  +++ PageViewport.java	25 Feb 2004 22:02:25 -0000	1.2.2.2
  @@ -41,7 +41,8 @@
   public class PageViewport
   extends Area
   implements Viewport, Resolveable, Cloneable {
  -    
  +
  +    private long pageId = 0;
       private PageRefArea pageRefArea;
       private Rectangle2D viewArea;
       private boolean clip = false;
  @@ -66,22 +67,45 @@
       private Map markerLastAny = null;
   
       /**
  +     * Create a page viewport at the root of a tree, synchronized on itself,
  +     * with a given page reference area and viewport dimensions
  +     * @param pageId
  +     * @param p the page reference area for the contents of this page
  +     * @param bounds the dimensions of the viewport
  +     */
  +    public PageViewport(long pageId, PageRefArea p, Rectangle2D bounds) {
  +        super();
  +        this.pageId = pageId;
  +        pageRefArea = p;
  +        viewArea = bounds;
  +    }
  +
  +    /**
        * Create a page viewport.
  -     * @param p the page reference area that holds the contents
  -     * @param bounds the bounds of this viewport
  +     * @param parent node of this viewport
  +     * @param sync object on which teh Area is synchronized
  +     * @param pageId the unique identifier of this page
  +     * @param p the page reference area for the contents of this page
  +     * @param bounds the dimensions of the viewport
        */
       public PageViewport(
  -            Node parent, Object areaSync, PageRefArea p, Rectangle2D bounds) {
  -        super(parent, areaSync);
  +            Node parent, Object sync, long pageId,
  +            PageRefArea p, Rectangle2D bounds) {
  +        super(parent, sync);
  +        this.pageId = pageId;
           pageRefArea = p;
           viewArea = bounds;
       }
   
       /**
  -     * Create a page viewport.
  -     */
  -    public PageViewport(Node parent, Object areaSync) {
  -        super(parent, areaSync);
  +     * Create a page viewport with a given parent node, sync object and ID
  +     * @param parent
  +     * @param sync
  +     * @param pageId
  +     */
  +    public PageViewport(Node parent, Object sync, long pageId) {
  +        super(parent, sync);
  +        this.pageId = pageId;
           pageRefArea = null;
           viewArea = null;
       }
  @@ -127,17 +151,6 @@
       }
   
       /**
  -     * Get the key for this page viewport.
  -     * This is used so that a serializable key can be used to
  -     * lookup the page or some other reference.
  -     *
  -     * @return a unique page viewport key for this area tree
  -     */
  -    public String getKey() {
  -        return toString();
  -    }
  -
  -    /**
        * Add an unresolved id to this page.
        * All unresolved ids for the contents of this page are
        * added to this page. This is so that the resolvers can be
  @@ -363,9 +376,15 @@
        * @return a copy of this page and associated viewports
        */
       public Object clone() {
  -        PageRefArea p = (PageRefArea)pageRefArea.clone();
  -        PageViewport ret = new PageViewport(parent, sync, p, (Rectangle2D)viewArea.clone());
  -        return ret;
  +        PageViewport pv;
  +        try {
  +            pv = (PageViewport)(super.clone());
  +        } catch (CloneNotSupportedException e) {
  +            throw new RuntimeException(e);
  +        }
  +        pageId = 0;  // N.B. This invalidates the page id
  +        pv.pageRefArea = (PageRefArea)pageRefArea.clone();
  +        return pv;
       }
   
       /**
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org