Browse Source

More simplifications to PSLM.


git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198491 13f79535-47bb-0310-9956-ffa450edef68
tags/Root_Temp_KnuthStylePageBreaking
Glen Mazza 19 years ago
parent
commit
0304064f34
1 changed files with 13 additions and 25 deletions
  1. 13
    25
      src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java

+ 13
- 25
src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java View File

@@ -488,16 +488,17 @@ public class PageSequenceLayoutManager extends AbstractLayoutManager {
curFlow = curSpan.addNewNormalFlow();
}

private void layoutStaticContent(Region region) {
if (region == null) {
private void layoutStaticContent(int regionID) {
Region reg = currentSimplePageMaster.getRegion(regionID);
if (reg == null) {
return;
}
StaticContent sc = pageSeq.getStaticContent(region.getRegionName());
StaticContent sc = pageSeq.getStaticContent(reg.getRegionName());
if (sc == null) {
return;
}
RegionViewport reg = curPage.getPage().getRegionViewport(region.getNameId());
RegionViewport rv = curPage.getPage().getRegionViewport(regionID);
StaticContentLayoutManager lm;
try {
lm = (StaticContentLayoutManager)
@@ -511,11 +512,11 @@ public class PageSequenceLayoutManager extends AbstractLayoutManager {
return;
}
lm.initialize();
lm.setRegionReference(reg.getRegion());
lm.setRegionReference(rv.getRegion());
lm.setParent(this);
LayoutContext childLC = new LayoutContext(0);
childLC.setStackLimit(new MinOptMax((int)curPage.getViewArea().getHeight()));
childLC.setRefIPD(reg.getRegion().getIPD());
childLC.setRefIPD(rv.getRegion().getIPD());
while (!lm.isFinished()) {
BreakPoss bp = lm.getNextBreakPoss(childLC);
if (bp != null) {
@@ -524,7 +525,7 @@ public class PageSequenceLayoutManager extends AbstractLayoutManager {
lm.addAreas(new BreakPossPosIter(vecBreakPoss, 0,
vecBreakPoss.size()), null);
} else {
log.error("bp==null cls=" + region.getRegionName());
log.error("bp==null cls=" + reg.getRegionName());
}
}
//lm.flush();
@@ -538,11 +539,10 @@ public class PageSequenceLayoutManager extends AbstractLayoutManager {
return;
}
// Layout static content into the regions
// Need help from pageseq for this
layoutStaticContent(currentSimplePageMaster.getRegion(FO_REGION_BEFORE));
layoutStaticContent(currentSimplePageMaster.getRegion(FO_REGION_AFTER));
layoutStaticContent(currentSimplePageMaster.getRegion(FO_REGION_START));
layoutStaticContent(currentSimplePageMaster.getRegion(FO_REGION_END));
layoutStaticContent(FO_REGION_BEFORE);
layoutStaticContent(FO_REGION_AFTER);
layoutStaticContent(FO_REGION_START);
layoutStaticContent(FO_REGION_END);
// Queue for ID resolution and rendering
areaTreeModel.addPage(curPage);
curPage = null;
@@ -759,20 +759,8 @@ public class PageSequenceLayoutManager extends AbstractLayoutManager {
RegionViewport rv = new RegionViewport(absRegionRect);
rv.setBPD((int)relRegionRect.getHeight());
rv.setIPD((int)relRegionRect.getWidth());
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
*/
private void setRegionViewportTraits(Region r, RegionViewport rv) {
// Apply Background Properties, no border and padding on region viewports
TraitSetter.addBackground(rv, r.getCommonBorderPaddingBackground());
return rv;
}

private BodyRegion makeRegionBodyReferenceArea(RegionBody r,

Loading…
Cancel
Save