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 kl...@apache.org on 2001/11/09 23:12:34 UTC

cvs commit: xml-fop/src/org/apache/fop/fo/pagination RegionBA.java RegionSE.java RegionBASE.java

klease      01/11/09 14:12:34

  Added:       src/org/apache/fop/fo/pagination RegionBA.java RegionSE.java
                        RegionBASE.java
  Log:
  Base classes for before/after, start/end Region
  
  Revision  Changes    Path
  1.1                  xml-fop/src/org/apache/fop/fo/pagination/RegionBA.java
  
  Index: RegionBA.java
  ===================================================================
  /*
   * $Id: RegionBA.java,v 1.1 2001/11/09 22:12:34 klease Exp $
   * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
   * For details on use and redistribution please refer to the
   * LICENSE file included with these sources.
   */
  
  package org.apache.fop.fo.pagination;
  
  // FOP
  import org.apache.fop.fo.*;
  import org.apache.fop.apps.FOPException;
  import org.apache.fop.fo.properties.Precedence;
  
  import java.awt.Rectangle;
  
  public abstract class RegionBA extends RegionBASE {
  
      private boolean bPrecedence;
  
      protected RegionBA(FONode parent) {
          super(parent);
      }
  
      boolean getPrecedence() {
          return bPrecedence;
      }
  
      public void end() {
          bPrecedence =
  	    (this.properties.get("precedence").getEnum()==Precedence.TRUE);
      }
  
      /**
       * Adjust the viewport reference rectangle for a region as a function
       * of precedence.
       * If precedence is false on a before or after region, its
       * inline-progression-dimension is limited by the extent of the start
       * and end regions if they are present.
       */
      protected void adjustIPD(Rectangle vpRect) {
  	int xoff = 0;
  	Region start = getSiblingRegion(Region.START);
  	if (start != null) {
  	    xoff = start.getExtent();
  	    vpRect.translate(xoff, 0);
  	}
  	Region end =getSiblingRegion(Region.END);
  	if (end != null) {
  	    xoff += end.getExtent();
  	}
  	if (xoff > 0) {
  	    vpRect.grow(-xoff,0);
  	}
      }
  }
  
  
  
  1.1                  xml-fop/src/org/apache/fop/fo/pagination/RegionSE.java
  
  Index: RegionSE.java
  ===================================================================
  /*
   * $Id: RegionSE.java,v 1.1 2001/11/09 22:12:34 klease Exp $
   * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
   * For details on use and redistribution please refer to the
   * LICENSE file included with these sources.
   */
  
  package org.apache.fop.fo.pagination;
  
  
  import org.apache.fop.fo.*;
  import org.apache.fop.apps.FOPException;
  
  import java.awt.Rectangle;
  
  public abstract class RegionSE extends RegionBASE {
  
      protected RegionSE(FONode parent) {
          super(parent);
      }
  
      /**
       * Adjust the viewport reference rectangle for a region as a function
       * of precedence.
       * If  before and after have precedence = true, the start and end
       * regions only go to the limits of their extents, otherwise
       * they extend in the BPD to the page reference rectangle
       * diminish by extend of start and end if present.
       */
      protected void adjustIPD(Rectangle refRect) {
  	int yoff = 0;
  	Region before = getSiblingRegion(Region.BEFORE);
  	if (before != null && before.getPrecedence()) {
  	    yoff = before.getExtent();
  	    refRect.translate(0, yoff);
  	}
  	Region after = getSiblingRegion(Region.AFTER);
  	if (after != null && after.getPrecedence()) {
  	    yoff += after.getExtent();
  	}
  	if (yoff > 0) {
  	    refRect.grow(0,-yoff);
  	}
      }
  }
  
  
  
  1.1                  xml-fop/src/org/apache/fop/fo/pagination/RegionBASE.java
  
  Index: RegionBASE.java
  ===================================================================
  /*
   * $Id: RegionBASE.java,v 1.1 2001/11/09 22:12:34 klease Exp $
   * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
   * For details on use and redistribution please refer to the
   * LICENSE file included with these sources.
   */
  
  package org.apache.fop.fo.pagination;
  
  // FOP
  import org.apache.fop.fo.FONode;
  import org.apache.fop.fo.PropertyList;
  import org.apache.fop.apps.FOPException;
  
  /**
   * Base class for Before, After, Start and End regions (BASE).
   */
  public abstract class RegionBASE extends Region {
  
      private int extent;
  
      protected RegionBASE(FONode parent) {
          super(parent);
      }
  
      public void end() {
  	// The problem with this is that it might not be known yet....
  	// Supposing extent is calculated in terms of percentage
          this.extent = this.properties.get("extent").getLength().mvalue();
      }
  
      int getExtent() {
  	return this.extent;
      }
  }
  
  
  

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