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 je...@apache.org on 2007/03/12 22:49:37 UTC
svn commit: r517415 - in /xmlgraphics/fop/trunk:
src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java status.xml
test/layoutengine/standard-testcases/block-container_absolute-position_no-height.xml
Author: jeremias
Date: Mon Mar 12 14:49:37 2007
New Revision: 517415
URL: http://svn.apache.org/viewvc?view=rev&rev=517415
Log:
Fixed an IllegalArgumentException for absolutely positioned block-containers with a border and no height/bpd set.
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java
xmlgraphics/fop/trunk/status.xml
xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block-container_absolute-position_no-height.xml
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java?view=diff&rev=517415&r1=517414&r2=517415
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/BlockContainerLayoutManager.java Mon Mar 12 14:49:37 2007
@@ -431,6 +431,8 @@
}
}
} else {
+ int maxbpd = context.getStackLimit().opt;
+ allocBPD = maxbpd;
autoHeight = true;
}
} else {
@@ -503,7 +505,7 @@
MinOptMax range = new MinOptMax(relDims.ipd);
BlockContainerBreaker breaker = new BlockContainerBreaker(this, range);
- breaker.doLayout(relDims.bpd, autoHeight);
+ breaker.doLayout((autoHeight ? 0 : relDims.bpd), autoHeight);
boolean contentOverflows = breaker.isOverflow();
LinkedList returnList = new LinkedList();
if (!breaker.isEmpty()) {
Modified: xmlgraphics/fop/trunk/status.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/status.xml?view=diff&rev=517415&r1=517414&r2=517415
==============================================================================
--- xmlgraphics/fop/trunk/status.xml (original)
+++ xmlgraphics/fop/trunk/status.xml Mon Mar 12 14:49:37 2007
@@ -28,6 +28,10 @@
<changes>
<release version="FOP Trunk">
+ <action context="Code" dev="JM" type="fix">
+ Fixed an IllegalArgumentException for absolutely positioned block-containers with a
+ border and no height/bpd set.
+ </action>
<action context="Code" dev="JM" type="add">
Add support for a two-pass production for PostScript output to minimize file size. This
adds images only once and adds only the fonts that are really used.
Modified: xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block-container_absolute-position_no-height.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block-container_absolute-position_no-height.xml?view=diff&rev=517415&r1=517414&r2=517415
==============================================================================
--- xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block-container_absolute-position_no-height.xml (original)
+++ xmlgraphics/fop/trunk/test/layoutengine/standard-testcases/block-container_absolute-position_no-height.xml Mon Mar 12 14:49:37 2007
@@ -23,7 +23,7 @@
</p>
</info>
<fo>
- <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
+ <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="normal" page-width="5in" page-height="5in">
<fo:region-body/>
@@ -31,33 +31,43 @@
</fo:layout-master-set>
<fo:page-sequence master-reference="normal" white-space-collapse="true">
<fo:flow flow-name="xsl-region-body">
- <fo:block-container left="10pt" top="10pt" width="3in" absolute-position="absolute" background-color="orange">
+ <fo:block-container left="10pt" top="10pt" width="3in" absolute-position="absolute"
+ background-color="orange">
<fo:block background-color="yellow">absolutely positioned width, no height specified</fo:block>
</fo:block-container>
+ <fo:block-container left="10pt" top="100pt" width="3in" position="absolute"
+ background-color="orange"
+ border-bottom-width="2pt" border-bottom-style="solid" border-bottom-color="red">
+ <fo:block background-color="yellow">absolutely positioned width, no height specified, plus border</fo:block>
+ </fo:block-container>
</fo:flow>
</fo:page-sequence>
</fo:root>
</fo>
<checks>
<!-- *** first block-container *** -->
- <true xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/@is-viewport-area"/>
- <eval expected="absolute" xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/@positioning"/>
- <eval expected="216000" xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/@ipd"/>
- <eval expected="216000" xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/@ipda"/>
- <eval expected="28800" xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/@bpd"/>
- <eval expected="28800" xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/@bpda"/>
- <eval expected="10000" xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/@left-position"/>
- <eval expected="10000" xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/@top-position"/>
+ <true xpath="//flow/block[1]/@is-viewport-area"/>
+ <eval expected="absolute" xpath="//flow/block[1]/@positioning"/>
+ <eval expected="216000" xpath="//flow/block[1]/@ipd"/>
+ <eval expected="216000" xpath="//flow/block[1]/@ipda"/>
+ <eval expected="28800" xpath="//flow/block[1]/@bpd"/>
+ <eval expected="28800" xpath="//flow/block[1]/@bpda"/>
+ <eval expected="10000" xpath="//flow/block[1]/@left-position"/>
+ <eval expected="10000" xpath="//flow/block[1]/@top-position"/>
<!-- -> reference-area -->
- <true xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/block[1]/@is-reference-area"/>
- <eval expected="216000" xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/block[1]/@ipd"/>
- <eval expected="216000" xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/block[1]/@ipda"/>
- <eval expected="28800" xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/block[1]/@bpd"/>
- <eval expected="28800" xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/block[1]/@bpda"/>
+ <true xpath="//flow/block[1]/block[1]/@is-reference-area"/>
+ <eval expected="216000" xpath="//flow/block[1]/block[1]/@ipd"/>
+ <eval expected="216000" xpath="//flow/block[1]/block[1]/@ipda"/>
+ <eval expected="28800" xpath="//flow/block[1]/block[1]/@bpd"/>
+ <eval expected="28800" xpath="//flow/block[1]/block[1]/@bpda"/>
<!-- -> nested block -->
- <eval expected="216000" xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/block[1]/block[1]/@ipd"/>
- <eval expected="216000" xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/block[1]/block[1]/@ipda"/>
- <eval expected="28800" xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/block[1]/block[1]/@bpd"/>
- <eval expected="28800" xpath="/areaTree/pageSequence/pageViewport/page[1]/regionViewport/regionBody/mainReference/span/flow/block[1]/block[1]/block[1]/@bpda"/>
+ <eval expected="216000" xpath="//flow/block[1]/block[1]/block[1]/@ipd"/>
+ <eval expected="216000" xpath="//flow/block[1]/block[1]/block[1]/@ipda"/>
+ <eval expected="28800" xpath="//flow/block[1]/block[1]/block[1]/@bpd"/>
+ <eval expected="28800" xpath="//flow/block[1]/block[1]/block[1]/@bpda"/>
+
+ <!-- *** second block-container with a border (used to cause an IllegalStateException) *** -->
+ <eval expected="28800" xpath="//flow/block[2]/@bpd"/>
+ <eval expected="30800" xpath="//flow/block[2]/@bpda"/>
</checks>
</testcase>
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org