diff options
Diffstat (limited to 'src/java/org')
8 files changed, 46 insertions, 69 deletions
diff --git a/src/java/org/apache/fop/layoutmgr/AbstractBaseLayoutManager.java b/src/java/org/apache/fop/layoutmgr/AbstractBaseLayoutManager.java index 7fd289c05..27189bf86 100644 --- a/src/java/org/apache/fop/layoutmgr/AbstractBaseLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/AbstractBaseLayoutManager.java @@ -34,17 +34,17 @@ import org.apache.fop.fo.FObj; public abstract class AbstractBaseLayoutManager implements LayoutManager, PercentBaseContext { - /** Indicator if this LM generates reference areas */ + /** Indicator if this LM generates reference areas. */ protected boolean generatesReferenceArea = false; - /** Indicator if this LM generates block areas */ + /** Indicator if this LM generates block areas. */ protected boolean generatesBlockArea = false; - /** The formatting object for this LM */ + /** The formatting object for this LM. */ protected final FObj fobj; /** * logging instance */ - private static Log log = LogFactory.getLog(AbstractBaseLayoutManager.class); + private static final Log LOG = LogFactory.getLog(AbstractBaseLayoutManager.class); /** * Abstract base layout manager. @@ -69,8 +69,8 @@ public abstract class AbstractBaseLayoutManager // --------- Property Resolution related functions --------- // /** {@inheritDoc} */ - public int getBaseLength(int lengthBase, FObj fobj) { - if (fobj == this.fobj) { + public int getBaseLength(int lengthBase, FObj fobjx) { + if (fobjx == this.fobj) { switch (lengthBase) { case LengthBase.CONTAINING_BLOCK_WIDTH: return getAncestorBlockAreaIPD(); @@ -81,20 +81,20 @@ public abstract class AbstractBaseLayoutManager case LengthBase.CONTAINING_REFAREA_WIDTH: return getReferenceAreaIPD(); default: - log.error("Unknown base type for LengthBase:" + lengthBase); + LOG.error("Unknown base type for LengthBase:" + lengthBase); return 0; } } else { LayoutManager lm = getParent(); - while (lm != null && fobj != lm.getFObj()) { + while (lm != null && fobjx != lm.getFObj()) { lm = lm.getParent(); } if (lm != null) { - return lm.getBaseLength(lengthBase, fobj); + return lm.getBaseLength(lengthBase, fobjx); } } - log.error("Cannot find LM to handle given FO for LengthBase. (" - + fobj.getContextInfo() + ")"); + LOG.error("Cannot find LM to handle given FO for LengthBase. (" + + fobjx.getContextInfo() + ")"); return 0; } @@ -111,7 +111,7 @@ public abstract class AbstractBaseLayoutManager } lm = lm.getParent(); } - log.error("No parent LM found"); + LOG.error("No parent LM found"); return 0; } @@ -128,7 +128,7 @@ public abstract class AbstractBaseLayoutManager } lm = lm.getParent(); } - log.error("No parent LM found"); + LOG.error("No parent LM found"); return 0; } @@ -141,7 +141,7 @@ public abstract class AbstractBaseLayoutManager if (lm != null) { return lm.getContentAreaIPD(); } - log.error("No parent LM found"); + LOG.error("No parent LM found"); return 0; } @@ -154,7 +154,7 @@ public abstract class AbstractBaseLayoutManager if (lm != null) { return lm.getContentAreaBPD(); } - log.error("No parent LM found"); + LOG.error("No parent LM found"); return 0; } @@ -171,7 +171,7 @@ public abstract class AbstractBaseLayoutManager } lm = lm.getParent(); } - log.error("No parent LM found"); + LOG.error("No parent LM found"); return 0; } @@ -188,7 +188,7 @@ public abstract class AbstractBaseLayoutManager } lm = lm.getParent(); } - log.error("No parent LM found"); + LOG.error("No parent LM found"); return 0; } diff --git a/src/java/org/apache/fop/layoutmgr/LayoutManager.java b/src/java/org/apache/fop/layoutmgr/LayoutManager.java index 0700ea43a..ad0d9f69c 100644 --- a/src/java/org/apache/fop/layoutmgr/LayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/LayoutManager.java @@ -134,7 +134,7 @@ public interface LayoutManager extends PercentBaseContext { * of the node assigned to the LM * * @param context the LayoutContext used to store layout information - * @param alignment the desired text alignement + * @param alignment the desired text alignment * @return the list of KnuthElements */ List getNextKnuthElements(LayoutContext context, int alignment); @@ -145,7 +145,7 @@ public interface LayoutManager extends PercentBaseContext { * * In the context of line breaking, this method is called after hyphenation has * been performed, in order to receive the sequence of elements representing the - * text together with all possibile hyphenation points. + * text together with all possible hyphenation points. * For example, if the text "representation" originates a single box element * when getNextKnuthElements() is called, it will be now split in syllables * (rep-re-sen-ta-tion) each one originating a box and divided by additional diff --git a/src/java/org/apache/fop/layoutmgr/PageBreakingAlgorithm.java b/src/java/org/apache/fop/layoutmgr/PageBreakingAlgorithm.java index a3155e102..9e0b42ecb 100644 --- a/src/java/org/apache/fop/layoutmgr/PageBreakingAlgorithm.java +++ b/src/java/org/apache/fop/layoutmgr/PageBreakingAlgorithm.java @@ -325,7 +325,7 @@ class PageBreakingAlgorithm extends BreakingAlgorithm { // this page contains some footnote citations // add the footnote separator width actualWidth += footnoteSeparatorLength.opt; - if (actualWidth + allFootnotes <= getLineWidth()) { + if (actualWidth + allFootnotes <= getLineWidth(activeNode.line)) { // there is enough space to insert all footnotes: // add the whole allFootnotes length actualWidth += allFootnotes; @@ -337,7 +337,7 @@ class PageBreakingAlgorithm extends BreakingAlgorithm { = checkCanDeferOldFootnotes(pageNode, elementIndex)) || newFootnotes) && (footnoteSplit = getFootnoteSplit(pageNode, - getLineWidth() - actualWidth, canDeferOldFootnotes)) > 0) { + getLineWidth(activeNode.line) - actualWidth, canDeferOldFootnotes)) > 0) { // it is allowed to break or even defer footnotes if either: // - there are new footnotes in the last piece of content, and // there is space to add at least a piece of the first one @@ -683,7 +683,7 @@ class PageBreakingAlgorithm extends BreakingAlgorithm { insertedFootnotesLength = lastNode.totalFootnotes; footnoteListIndex = lastNode.footnoteListIndex; footnoteElementIndex = lastNode.footnoteElementIndex; - int availableBPD = getLineWidth(); + int availableBPD = getLineWidth(lastNode.line); int split = 0; KnuthPageNode prevNode = lastNode; @@ -718,7 +718,7 @@ class PageBreakingAlgorithm extends BreakingAlgorithm { removeNode(prevNode.line, prevNode); prevNode = node; - availableBPD = getLineWidth(); + availableBPD = getLineWidth(node.line); } } // create the last node diff --git a/src/java/org/apache/fop/layoutmgr/inline/AbstractGraphicsLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/AbstractGraphicsLayoutManager.java index e90927699..76002da2f 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/AbstractGraphicsLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/AbstractGraphicsLayoutManager.java @@ -39,16 +39,14 @@ import org.apache.fop.layoutmgr.TraitSetter; */ public abstract class AbstractGraphicsLayoutManager extends LeafNodeLayoutManager { - /** The graphics object this LM deals with */ - protected AbstractGraphics fobj; - /** - * Constructor - * @param node the formatting object that creates this area + * Constructor. + * + * @param node + * the formatting object that creates this area */ public AbstractGraphicsLayoutManager(AbstractGraphics node) { super(node); - fobj = node; } /** @@ -57,6 +55,7 @@ public abstract class AbstractGraphicsLayoutManager extends LeafNodeLayoutManage * @return the viewport inline area */ private Viewport getInlineArea() { + final AbstractGraphics fobj = (AbstractGraphics)this.fobj; Dimension intrinsicSize = new Dimension( fobj.getIntrinsicWidth(), fobj.getIntrinsicHeight()); @@ -113,6 +112,7 @@ public abstract class AbstractGraphicsLayoutManager extends LeafNodeLayoutManage /** {@inheritDoc} */ protected AlignmentContext makeAlignmentContext(LayoutContext context) { + final AbstractGraphics fobj = (AbstractGraphics)this.fobj; return new AlignmentContext( get(context).getAllocBPD() , fobj.getAlignmentAdjust() @@ -128,7 +128,7 @@ public abstract class AbstractGraphicsLayoutManager extends LeafNodeLayoutManage * the viewport. * @return the appropriate area */ - abstract Area getChildArea(); + protected abstract Area getChildArea(); // --------- Property Resolution related functions --------- // @@ -138,31 +138,14 @@ public abstract class AbstractGraphicsLayoutManager extends LeafNodeLayoutManage public int getBaseLength(int lengthBase, FObj fobj) { switch (lengthBase) { case LengthBase.IMAGE_INTRINSIC_WIDTH: - return getIntrinsicWidth(); + return ((AbstractGraphics)fobj).getIntrinsicWidth(); case LengthBase.IMAGE_INTRINSIC_HEIGHT: - return getIntrinsicHeight(); + return ((AbstractGraphics)fobj).getIntrinsicHeight(); case LengthBase.ALIGNMENT_ADJUST: return get(null).getBPD(); default: // Delegate to super class return super.getBaseLength(lengthBase, fobj); } } - - /** - * Returns the intrinsic width of the e-g. - * @return the width of the element - */ - protected int getIntrinsicWidth() { - return fobj.getIntrinsicWidth(); - } - - /** - * Returns the intrinsic height of the e-g. - * @return the height of the element - */ - protected int getIntrinsicHeight() { - return fobj.getIntrinsicHeight(); - } - } diff --git a/src/java/org/apache/fop/layoutmgr/inline/ExternalGraphicLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/ExternalGraphicLayoutManager.java index 5e3c0e2fa..d7bff5a5c 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/ExternalGraphicLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/ExternalGraphicLayoutManager.java @@ -29,24 +29,20 @@ import org.apache.fop.fo.flow.ExternalGraphic; */ public class ExternalGraphicLayoutManager extends AbstractGraphicsLayoutManager { - private ExternalGraphic fobj; - /** - * Constructor - * @param node the fo:external-graphic formatting object that creates the area + * Constructor. + * + * @param node + * the fo:external-graphic formatting object that creates the + * area */ public ExternalGraphicLayoutManager(ExternalGraphic node) { super(node); - this.fobj = node; } /** {@inheritDoc} */ protected Area getChildArea() { - Image img = new Image(fobj.getSrc()); - if (fobj.hasExtensionAttachments()) { - img.setExtensionAttachments(fobj.getExtensionAttachments()); - } - return img; + return new Image(((ExternalGraphic) fobj).getSrc()); } } diff --git a/src/java/org/apache/fop/layoutmgr/inline/InstreamForeignObjectLM.java b/src/java/org/apache/fop/layoutmgr/inline/InstreamForeignObjectLM.java index e7da50a9a..5f9365f83 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/InstreamForeignObjectLM.java +++ b/src/java/org/apache/fop/layoutmgr/inline/InstreamForeignObjectLM.java @@ -29,20 +29,19 @@ import org.apache.fop.fo.flow.InstreamForeignObject; */ public class InstreamForeignObjectLM extends AbstractGraphicsLayoutManager { - private InstreamForeignObject fobj; - /** - * Constructor - * @param node the formatting object that creates this area + * Constructor. + * + * @param node + * the formatting object that creates this area */ public InstreamForeignObjectLM(InstreamForeignObject node) { super(node); - fobj = node; } /** {@inheritDoc} */ protected Area getChildArea() { - XMLObj child = (XMLObj) fobj.getChildXMLObj(); + XMLObj child = ((InstreamForeignObject) fobj).getChildXMLObj(); org.w3c.dom.Document doc = child.getDOMDocument(); String ns = child.getNamespaceURI(); diff --git a/src/java/org/apache/fop/layoutmgr/inline/LeafNodeLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/LeafNodeLayoutManager.java index 552e74889..19a8cdf2d 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/LeafNodeLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/LeafNodeLayoutManager.java @@ -91,7 +91,7 @@ public abstract class LeafNodeLayoutManager extends AbstractLayoutManager /** - * Create a Leaf node layout mananger. + * Create a Leaf node layout manager. * @param node the FObj to attach to this LM. */ public LeafNodeLayoutManager(FObj node) { @@ -99,7 +99,7 @@ public abstract class LeafNodeLayoutManager extends AbstractLayoutManager } /** - * Create a Leaf node layout mananger. + * Create a Leaf node layout manager. */ public LeafNodeLayoutManager() { } diff --git a/src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java index b77f36f0d..87077ee77 100644 --- a/src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/LineLayoutManager.java @@ -387,9 +387,8 @@ public class LineLayoutManager extends InlineStackingLayoutManager InlineLevelEventProducer eventProducer = InlineLevelEventProducer.Provider.get( getFObj().getUserAgent().getEventBroadcaster()); - eventProducer.lineOverflows(this, addedPositions + 1, + eventProducer.lineOverflows(this, bestActiveNode.line, -lack, getFObj().getLocator()); - String textDiff = (lack < -50000 ? "more than 50 points" : (-lack) + "mpt"); } } |