[FOray-commit] SF.net SVN: foray: [7932] trunk/foray
Modular XSL-FO Implementation for Java.
Status: Alpha
Brought to you by:
victormote
|
From: <vic...@us...> - 2006-09-06 03:10:51
|
Revision: 7932
http://svn.sourceforge.net/foray/?rev=7932&view=rev
Author: victormote
Date: 2006-09-05 19:28:00 -0700 (Tue, 05 Sep 2006)
Log Message:
-----------
Conform to axsl change, which moved some logic previously in layout to the AreaTree.
Modified Paths:
--------------
trunk/foray/foray-areatree/src/java/org/foray/area/TableCellRA.java
trunk/foray/foray-pioneer/src/java/org/foray/pioneer/TableCellPL.java
Modified: trunk/foray/foray-areatree/src/java/org/foray/area/TableCellRA.java
===================================================================
--- trunk/foray/foray-areatree/src/java/org/foray/area/TableCellRA.java 2006-09-06 01:28:04 UTC (rev 7931)
+++ trunk/foray/foray-areatree/src/java/org/foray/area/TableCellRA.java 2006-09-06 02:28:00 UTC (rev 7932)
@@ -194,4 +194,49 @@
return (TableRowContainer) this.getParent();
}
+ /**
+ * {@inheritDoc}
+ */
+ public void optimize() {
+ adjustDisplayAlign();
+ }
+
+ /**
+ * Use the "display-align" trait to position the cell contents vertically
+ * within the cell.
+ */
+ private void adjustDisplayAlign() {
+ /* Compute the difference between my height and the row height. */
+ final int delta = this.getTableRow().getProgressionDimension()
+ - this.getProgressionDimension();
+ if (delta <= 0) {
+ return;
+ }
+ short displayAlign = this.traitGeneratedBy().traitDisplayAlign(
+ this);
+ if (displayAlign == Constants.FOVAL_AUTO) {
+ /* TODO: This is not right. */
+ displayAlign = this.traitGeneratedBy().traitAlignmentBaseline(
+ this);
+ }
+ switch (displayAlign) {
+ case Constants.FOVAL_CENTER:
+ /* Increase cell padding before and after. */
+ this.setCenteringPaddingTop(delta / 2);
+ this.setCenteringPaddingBottom(delta - delta / 2);
+ break;
+ case Constants.FOVAL_AFTER:
+ /* Increase cell padding before. */
+ this.setCenteringPaddingTop(delta);
+ break;
+ case Constants.FOVAL_BEFORE:
+ /* Increase cell padding after. */
+ this.setCenteringPaddingBottom(delta);
+ default:
+ /* No adjustment needed. */
+ break;
+ }
+
+ }
+
}
Modified: trunk/foray/foray-pioneer/src/java/org/foray/pioneer/TableCellPL.java
===================================================================
--- trunk/foray/foray-pioneer/src/java/org/foray/pioneer/TableCellPL.java 2006-09-06 01:28:04 UTC (rev 7931)
+++ trunk/foray/foray-pioneer/src/java/org/foray/pioneer/TableCellPL.java 2006-09-06 02:28:00 UTC (rev 7932)
@@ -83,31 +83,6 @@
areaContainer.incrementProgressionDimension(delta);
return;
}
- if (delta <= 0) {
- return;
- }
- // Vertical cell alignment
- short verticalAlign = getReal().traitDisplayAlign(context);
- if (verticalAlign == Constants.FOVAL_AUTO) {
- // Depends on all cells starting in row
- verticalAlign = getReal().traitAlignmentBaseline(context);
- }
- switch (verticalAlign) {
- case Constants.FOVAL_CENTER:
- // Increase cell padding before and after and change
- areaContainer.setCenteringPaddingTop(delta / 2);
- areaContainer.setCenteringPaddingBottom(delta - delta / 2);
- break;
- case Constants.FOVAL_AFTER:
- // Increase cell padding before and change
- areaContainer.setCenteringPaddingTop(delta);
- break;
- case Constants.FOVAL_BEFORE:
- // cellArea.increaseHeight(delta);
- areaContainer.setCenteringPaddingBottom(delta);
- default: // OK
- break;
- }
}
TableCell getReal() {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|