/**
* The currentSimplePageMaster is either the page master for the
* whole page sequence if master-reference refers to a simple-page-master,
- * or the simple page master produced by the page sequence mster otherwise.
+ * or the simple page master produced by the page sequence master otherwise.
* The pageSequenceMaster is null if master-reference refers to a
* simple-page-master.
*/
- private SimplePageMaster currentSimplePageMaster;
+ private SimplePageMaster simplePageMaster;
private PageSequenceMaster pageSequenceMaster;
/**
String masterName = this.properties.get("master-reference").getString();
- this.currentSimplePageMaster =
- this.layoutMasterSet.getSimplePageMaster(masterName);
- if (this.currentSimplePageMaster == null) {
+ this.simplePageMaster =
+ this.layoutMasterSet.getSimplePageMaster(masterName);
+ if (this.simplePageMaster == null) {
this.pageSequenceMaster =
- this.layoutMasterSet.getPageSequenceMaster(masterName);
+ this.layoutMasterSet.getPageSequenceMaster(masterName);
if (this.pageSequenceMaster == null) {
throw new FOPException("master-reference '" + masterName
+ "' for fo:page-sequence matches no"
// }
// }
- /**
- * Get the current simple page master
- * that is active for the last page created.
- *
- * @return the current simple page master
- */
- public SimplePageMaster getCurrentSimplePageMaster() {
- return currentSimplePageMaster;
- }
-
- public void setCurrentSimplePageMaster(SimplePageMaster simplePageMaster) {
- this.currentSimplePageMaster = simplePageMaster;
- }
-
/**
* Get the static content FO node from the flow map.
* This gets the static content flow for the given flow name.
}
/**
- * Public accessor for getting the PageSequenceMaster to which this
+ * Public accessor for getting the PageSequenceMaster (if any) to which this
* PageSequence is attached.
- * @return the PageSequenceMaster to which this PageSequence is attached.
+ * @return the PageSequenceMaster to which this PageSequence is attached, or
+ * null if there is none.
*/
public PageSequenceMaster getPageSequenceMaster() {
return pageSequenceMaster;
}
+ /**
+ * Public accessor for getting the SimplePageMaster (if any) to which this
+ * PageSequence is attached.
+ * @return the SimplePageeMaster to which this PageSequence is attached or
+ * null if there is none.
+ */
+ public SimplePageMaster getSimplePageMaster() {
+ return simplePageMaster;
+ }
+
/**
* Public accessor for getting the PageNumberGenerator.
* @return the PageNumberGenerator
private AreaTree areaTree;
private PageSequence pageSequence;
+ /**
+ * This is the SimplePageMaster that should be used to create the page. It
+ * will be equal to the PageSequence's simplePageMaster, if it exists, or
+ * to the correct member of the PageSequence's pageSequenceMaster, if that
+ * exists instead.
+ */
+ private SimplePageMaster currentSimplePageMaster;
+
/**
* This is the top level layout manager.
* It is created by the PageSequence FO.
if (curPage != null) {
// Layout static content into the regions
// Need help from pageseq for this
- SimplePageMaster spm = pageSequence.getCurrentSimplePageMaster();
- layoutStaticContent(spm.getRegion(Region.BEFORE), RegionReference.BEFORE);
- layoutStaticContent(spm.getRegion(Region.AFTER), RegionReference.AFTER);
- layoutStaticContent(spm.getRegion(Region.START), RegionReference.START);
- layoutStaticContent(spm.getRegion(Region.END), RegionReference.END);
+ layoutStaticContent(currentSimplePageMaster.getRegion(Region.BEFORE),
+ RegionReference.BEFORE);
+ layoutStaticContent(currentSimplePageMaster.getRegion(Region.AFTER),
+ RegionReference.AFTER);
+ layoutStaticContent(currentSimplePageMaster.getRegion(Region.START),
+ RegionReference.START);
+ layoutStaticContent(currentSimplePageMaster.getRegion(Region.END),
+ RegionReference.END);
// Queue for ID resolution and rendering
areaTree.addPage(curPage);
curPage = null;
boolean bIsBlank, boolean firstPage,
boolean bIsLast)
throws FOPException {
- if (pageSequence.getPageSequenceMaster() != null) {
- pageSequence.setCurrentSimplePageMaster (pageSequence.getPageSequenceMaster()
+ if (pageSequence.getPageSequenceMaster() == null) {
+ currentSimplePageMaster = pageSequence.getSimplePageMaster();
+ } else {
+ currentSimplePageMaster = pageSequence.getPageSequenceMaster()
.getNextSimplePageMaster(((pageNumber % 2) == 1),
firstPage,
- bIsBlank));
+ bIsBlank);
}
- Region body = pageSequence.getCurrentSimplePageMaster().getRegion(Region.BODY);
+ Region body = currentSimplePageMaster.getRegion(Region.BODY);
if (!pageSequence.getMainFlow().getFlowName().equals(body.getRegionName())) {
throw new FOPException("Flow '" + pageSequence.getMainFlow().getFlowName()
+ "' does not map to the region-body in page-master '"
- + pageSequence.getCurrentSimplePageMaster().getMasterName() + "'");
+ + currentSimplePageMaster.getMasterName() + "'");
}
- SimplePageMaster currentSimplePageMaster = pageSequence.getCurrentSimplePageMaster();
PageMaster pageMaster = currentSimplePageMaster.getPageMaster();
- if (pageMaster == null) {
+ if ( pageMaster == null) {
createSimplePageMasterAreas(currentSimplePageMaster);
}
- pageMaster = pageSequence.getCurrentSimplePageMaster().getPageMaster();
+ pageMaster = currentSimplePageMaster.getPageMaster();
PageViewport p = pageMaster.makePage();
return p;
// The page will have a viewport/reference area pair defined
node.setPageMaster(new PageMaster(new PageViewport(page,
new Rectangle(0, 0, pageWidth, pageHeight))));
-
}
}