瀏覽代碼

Created new Root.notifyPageSequenceFinished() method, consolidating

two other methods to better stress that these occur as a unit.


git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198460 13f79535-47bb-0310-9956-ffa450edef68
tags/Root_Temp_KnuthStylePageBreaking
Glen Mazza 19 年之前
父節點
當前提交
cf449e8e7c

+ 6
- 11
src/java/org/apache/fop/fo/pagination/Root.java 查看文件

@@ -158,14 +158,6 @@ public class Root extends FObj {
return endingPageNumberOfPreviousSequence;
}

/**
* Sets the last page number by the just-finished page-sequence
* @param lastPageNumber the last page number of the sequence
*/
public void setEndingPageNumberOfPreviousSequence(int lastPageNumber) {
endingPageNumberOfPreviousSequence = lastPageNumber;
}

/**
* Returns the total number of pages generated by FOP
* (May not equal endingPageNumberOfPreviousSequence due to
@@ -178,16 +170,19 @@ public class Root extends FObj {

/**
* Notify additional pages generated to increase the totalPagesGenerated counter
* @param lastPageNumber the last page number of the sequence
* @param lastPageNumber the last page number generated by the sequence
* @param additionalPages the total pages generated by the sequence (for statistics)
* @throws IllegalArgumentException for negative additional page counts
*/
public void notifyAdditionalPagesGenerated(int additionalPages) {
public void notifyPageSequenceFinished(int lastPageNumber, int additionalPages) {
if (additionalPages >= 0) {
totalPagesGenerated += additionalPages;
endingPageNumberOfPreviousSequence = lastPageNumber;
} else {
throw new IllegalArgumentException(
"Number of additional pages must be zero or greater.");
}
}
}

/**

+ 1
- 2
src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java 查看文件

@@ -212,8 +212,7 @@ public class PageSequenceLayoutManager extends AbstractLayoutManager {
currentPageNum--;
log.debug("Ending layout");
finishPage();
pageSeq.getRoot().notifyAdditionalPagesGenerated((currentPageNum - startPageNum) + 1);
pageSeq.getRoot().setEndingPageNumberOfPreviousSequence(currentPageNum);
pageSeq.getRoot().notifyPageSequenceFinished(currentPageNum, (currentPageNum - startPageNum) + 1);
}

/** @see org.apache.fop.layoutmgr.LayoutManager#isBogus() */

Loading…
取消
儲存