import org.apache.fop.fo.FObj;
import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FOTreeVisitor;
-import org.apache.fop.fo.properties.CommonBorderAndPadding;
-import org.apache.fop.fo.properties.CommonBackground;
import org.apache.fop.apps.FOPException;
import org.apache.fop.area.CTM;
-import org.apache.fop.area.RegionViewport;
import org.apache.fop.area.RegionReference;
-import org.apache.fop.layoutmgr.TraitSetter;
// SAX
import org.xml.sax.Attributes;
+ parent.getName());
}
this.wm = this.properties.get("writing-mode").getEnum();
- }
-
- /**
- * Creates a RegionViewport Area object for this pagination Region.
- * @param reldims relative dimensions
- * @param pageCTM page coordinate transformation matrix
- * @return the new region viewport
- */
- public RegionViewport makeRegionViewport(FODimension reldims, CTM pageCTM) {
- Rectangle2D relRegionRect = getViewportRectangle(reldims);
- Rectangle2D absRegionRect = pageCTM.transform(relRegionRect);
- // Get the region viewport rectangle in absolute coords by
- // transforming it using the page CTM
- RegionViewport rv = new RegionViewport(absRegionRect);
- setRegionViewportTraits(rv);
- return rv;
- }
-
- /**
- * Set the region viewport traits.
- * The viewport has the border, background and
- * clipping overflow traits.
- *
- * @param r the region viewport
- */
- protected void setRegionViewportTraits(RegionViewport r) {
- // Common Border, Padding, and Background Properties
- CommonBorderAndPadding bap = propMgr.getBorderAndPadding();
- CommonBackground bProps = propMgr.getBackgroundProps();
- TraitSetter.addBorders(r, bap);
- TraitSetter.addBackground(r, bProps);
// this.properties.get("clip");
// this.properties.get("display-align");
this.overflow = this.properties.get("overflow").getEnum();
}
- protected abstract Rectangle getViewportRectangle(FODimension pageRefRect);
+ public abstract Rectangle getViewportRectangle(FODimension pageRefRect);
/**
* Create the region reference area for this region master.
/**
* @see org.apache.fop.fo.pagination.Region#getViewportRectangle(FODimension)
*/
- protected Rectangle getViewportRectangle (FODimension reldims) {
+ public Rectangle getViewportRectangle (FODimension reldims) {
// Depends on extent, precedence ans writing mode
Rectangle vpRect;
if (this.wm == WritingMode.LR_TB || this.wm == WritingMode.RL_TB) {
/**
* @see org.apache.fop.fo.pagination.Region#getViewportRectangle(FODimension)
*/
- protected Rectangle getViewportRectangle (FODimension reldims) {
+ public Rectangle getViewportRectangle (FODimension reldims) {
// Depends on extent, precedence and writing mode
// This should return rectangle in writing-mode coordinates relative
// to the page-reference area rectangle
/**
* @see org.apache.fop.fo.pagination.Region#getViewportRectangle(FODimension)
*/
- protected Rectangle getViewportRectangle (FODimension reldims) {
+ public Rectangle getViewportRectangle (FODimension reldims) {
/*
* Use space-before and space-after which will use corresponding
* absolute margin properties if specified. For indents:
/**
* @see org.apache.fop.fo.pagination.Region#getViewportRectangle(FODimension)
*/
- protected Rectangle getViewportRectangle (FODimension reldims) {
+ public Rectangle getViewportRectangle (FODimension reldims) {
// Depends on extent, precedence and writing mode
Rectangle vpRect;
if (this.wm == WritingMode.LR_TB || this.wm == WritingMode.RL_TB) {
/**
* @see org.apache.fop.fo.pagination.Region#getViewportRectangle(FODimension)
*/
- protected Rectangle getViewportRectangle (FODimension reldims) {
+ public Rectangle getViewportRectangle (FODimension reldims) {
// Depends on extent, precedence and writing mode
// This is the rectangle relative to the page-reference area in
// writing-mode relative coordinates
import org.apache.fop.fo.pagination.SimplePageMaster;
import org.apache.fop.fo.pagination.StaticContent;
+import org.apache.fop.fo.properties.CommonBackground;
+import org.apache.fop.fo.properties.CommonBorderAndPadding;
import org.apache.fop.fo.properties.CommonMarginBlock;
import org.apache.fop.fo.properties.Constants;
import java.util.Map;
import java.awt.Rectangle;
import java.util.Iterator;
+import java.awt.geom.Rectangle2D;
/**
* LayoutManager for a PageSequence and its flow.
for (Iterator regenum = spm.getRegions().values().iterator();
regenum.hasNext();) {
Region r = (Region)regenum.next();
- RegionViewport rvp = r.makeRegionViewport(reldims, pageCTM);
+ RegionViewport rvp = makeRegionViewport(r, reldims, pageCTM);
rvp.setRegion(r.makeRegionReferenceArea(rvp.getViewArea()));
page.setRegion(r.getRegionAreaClass(), rvp);
if (r.getRegionAreaClass() == RegionReference.BODY) {
}
+ /**
+ * Creates a RegionViewport Area object for this pagination Region.
+ * @param reldims relative dimensions
+ * @param pageCTM page coordinate transformation matrix
+ * @return the new region viewport
+ */
+ public RegionViewport makeRegionViewport(Region r, FODimension reldims, CTM pageCTM) {
+ Rectangle2D relRegionRect = r. getViewportRectangle(reldims);
+ Rectangle2D absRegionRect = pageCTM.transform(relRegionRect);
+ // Get the region viewport rectangle in absolute coords by
+ // transforming it using the page CTM
+ RegionViewport rv = new RegionViewport(absRegionRect);
+ setRegionViewportTraits(r, rv);
+ return rv;
+ }
+
+ /**
+ * Set the region viewport traits.
+ * The viewport has the border, background and
+ * clipping overflow traits.
+ *
+ * @param r the region viewport
+ */
+ protected void setRegionViewportTraits(Region r, RegionViewport rv) {
+ // Common Border, Padding, and Background Properties
+ CommonBorderAndPadding bap = r.getPropertyManager().getBorderAndPadding();
+ CommonBackground bProps = r.getPropertyManager().getBackgroundProps();
+ TraitSetter.addBorders(rv, bap);
+ TraitSetter.addBackground(rv, bProps);
+ }
+
}