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]

Reply via email to