Author: phancock
Date: Thu Sep 29 10:18:53 2011
New Revision: 1177251
URL: http://svn.apache.org/viewvc?rev=1177251&view=rev
Log:
Fix FO tree hierarchy: BasicLink shouldn't inherit from Inline
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/BasicLink.java
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java
xmlgraphics/fop/trunk/src/java/org/apache/fop/pdf/PDFFactory.java
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/BasicLink.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/BasicLink.java?rev=1177251&r1=1177250&r2=1177251&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/BasicLink.java
(original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/fo/flow/BasicLink.java Thu
Sep 29 10:18:53 2011
@@ -22,9 +22,11 @@ package org.apache.fop.fo.flow;
import org.xml.sax.Locator;
import org.apache.fop.apps.FOPException;
+import org.apache.fop.datatypes.Length;
import org.apache.fop.fo.FONode;
import org.apache.fop.fo.PropertyList;
import org.apache.fop.fo.ValidationException;
+import org.apache.fop.fo.properties.StructurePointerPropertySet;
/**
* Class modelling the <a href="http://www.w3.org/TR/xsl/#fo_basic-link">
@@ -34,9 +36,14 @@ import org.apache.fop.fo.ValidationExcep
* and whether that link is external (uses a URI) or internal (an id
* reference).
*/
-public class BasicLink extends Inline {
+public class BasicLink extends InlineLevel implements
StructurePointerPropertySet {
// The value of properties relevant for fo:basic-link.
+ private Length alignmentAdjust;
+ private int alignmentBaseline;
+ private Length baselineShift;
+ private int dominantBaseline;
+ private String ptr;
// private ToBeImplementedProperty destinationPlacementOffset;
private String externalDestination;
// private ToBeImplementedProperty indicateDestination;
@@ -65,6 +72,11 @@ public class BasicLink extends Inline {
/** {@inheritDoc} */
public void bind(PropertyList pList) throws FOPException {
super.bind(pList);
+ alignmentAdjust = pList.get(PR_ALIGNMENT_ADJUST).getLength();
+ alignmentBaseline = pList.get(PR_ALIGNMENT_BASELINE).getEnum();
+ baselineShift = pList.get(PR_BASELINE_SHIFT).getLength();
+ dominantBaseline = pList.get(PR_DOMINANT_BASELINE).getEnum();
+ ptr = pList.get(PR_X_PTR).getString(); // used for accessibility
// destinationPlacementOffset =
pList.get(PR_DESTINATION_PLACEMENT_OFFSET);
externalDestination = pList.get(PR_EXTERNAL_DESTINATION).getString();
// indicateDestination = pList.get(PR_INDICATE_DESTINATION);
@@ -111,6 +123,31 @@ public class BasicLink extends Inline {
}
}
+ /** @return the "alignment-adjust" property */
+ public Length getAlignmentAdjust() {
+ return alignmentAdjust;
+ }
+
+ /** @return the "alignment-baseline" property */
+ public int getAlignmentBaseline() {
+ return alignmentBaseline;
+ }
+
+ /** @return the "baseline-shift" property */
+ public Length getBaselineShift() {
+ return baselineShift;
+ }
+
+ /** @return the "dominant-baseline" property */
+ public int getDominantBaseline() {
+ return dominantBaseline;
+ }
+
+ /** {@inheritDoc} */
+ public String getPtr() {
+ return ptr;
+ }
+
/**
* Get the value of the <code>internal-destination</code> property.
*
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java?rev=1177251&r1=1177250&r2=1177251&view=diff
==============================================================================
---
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java
(original)
+++
xmlgraphics/fop/trunk/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java
Thu Sep 29 10:18:53 2011
@@ -32,6 +32,7 @@ import org.apache.fop.area.inline.Inline
import org.apache.fop.area.inline.InlineBlockParent;
import org.apache.fop.area.inline.InlineParent;
import org.apache.fop.datatypes.Length;
+import org.apache.fop.fo.flow.BasicLink;
import org.apache.fop.fo.flow.Inline;
import org.apache.fop.fo.flow.InlineLevel;
import org.apache.fop.fo.flow.Leader;
@@ -136,6 +137,11 @@ public class InlineLayoutManager extends
alignmentBaseline = ((Leader)fobj).getAlignmentBaseline();
baselineShift = ((Leader)fobj).getBaselineShift();
dominantBaseline = ((Leader)fobj).getDominantBaseline();
+ } else if (fobj instanceof BasicLink) {
+ alignmentAdjust = ((BasicLink)fobj).getAlignmentAdjust();
+ alignmentBaseline = ((BasicLink)fobj).getAlignmentBaseline();
+ baselineShift = ((BasicLink)fobj).getBaselineShift();
+ dominantBaseline = ((BasicLink)fobj).getDominantBaseline();
}
if (borderProps != null) {
padding =
borderProps.getPadding(CommonBorderPaddingBackground.BEFORE, false, this);
@@ -209,8 +215,8 @@ public class InlineLayoutManager extends
} else {
area = new InlineBlockParent();
}
- if (fobj instanceof Inline) {
- TraitSetter.setProducerID(area, getInlineFO().getId());
+ if (fobj instanceof Inline || fobj instanceof BasicLink) {
+ TraitSetter.setProducerID(area, fobj.getId());
}
return area;
}
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/pdf/PDFFactory.java
URL:
http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/pdf/PDFFactory.java?rev=1177251&r1=1177250&r2=1177251&view=diff
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/pdf/PDFFactory.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/pdf/PDFFactory.java Thu Sep
29 10:18:53 2011
@@ -64,7 +64,6 @@ import org.apache.fop.fonts.truetype.Fon
import org.apache.fop.fonts.truetype.TTFSubSetFile;
import org.apache.fop.fonts.type1.PFBData;
import org.apache.fop.fonts.type1.PFBParser;
-import org.apache.xmlgraphics.xmp.Metadata;
/**
* This class provides method to create and register PDF objects.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]