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