diff options
author | Karen Lease <klease@apache.org> | 2002-05-10 12:38:16 +0000 |
---|---|---|
committer | Karen Lease <klease@apache.org> | 2002-05-10 12:38:16 +0000 |
commit | b45cb4b5005f233e501e3ab815d362539af885e3 (patch) | |
tree | a133ffe50858fd97b1d58883db9a08db62651e5c /src/org/apache/fop/render | |
parent | db755bf42556bc19d396ae22cb919fdb995fe4cf (diff) | |
download | xmlgraphics-fop-b45cb4b5005f233e501e3ab815d362539af885e3.tar.gz xmlgraphics-fop-b45cb4b5005f233e501e3ab815d362539af885e3.zip |
Add support for line-breaking in nested inlines using BreakPoss strategy
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194818 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/org/apache/fop/render')
-rw-r--r-- | src/org/apache/fop/render/AbstractRenderer.java | 11 | ||||
-rw-r--r-- | src/org/apache/fop/render/Renderer.java | 2 | ||||
-rw-r--r-- | src/org/apache/fop/render/xml/XMLRenderer.java | 11 |
3 files changed, 22 insertions, 2 deletions
diff --git a/src/org/apache/fop/render/AbstractRenderer.java b/src/org/apache/fop/render/AbstractRenderer.java index 9f564bf97..ddbece58f 100644 --- a/src/org/apache/fop/render/AbstractRenderer.java +++ b/src/org/apache/fop/render/AbstractRenderer.java @@ -10,10 +10,8 @@ package org.apache.fop.render; // FOP import org.apache.fop.apps.FOPException; import org.apache.fop.area.*; -import org.apache.fop.area.Span; import org.apache.fop.area.inline.*; import org.apache.fop.area.inline.Character; -import org.apache.fop.area.inline.Space; import org.apache.fop.fo.FOUserAgent; // Avalon @@ -25,6 +23,7 @@ import java.io.IOException; import java.io.OutputStream; import java.util.HashMap; import java.util.List; +import java.util.Iterator; /** * Abstract base class for all renderers. @@ -308,6 +307,14 @@ public abstract class AbstractRenderer implements Renderer { currentBlockIPPosition += word.getWidth(); } + public void renderInlineParent(InlineParent ip) { + // currentBlockIPPosition += ip.getWidth(); + Iterator iter = ip.getChildAreas().iterator(); + while (iter.hasNext()) { + ((InlineArea)iter.next()).render(this); + } + } + protected void renderBlocks(List blocks) { for (int count = 0; count < blocks.size(); count++) { Object obj = blocks.get(count); diff --git a/src/org/apache/fop/render/Renderer.java b/src/org/apache/fop/render/Renderer.java index a40de294a..488c4aad2 100644 --- a/src/org/apache/fop/render/Renderer.java +++ b/src/org/apache/fop/render/Renderer.java @@ -75,6 +75,8 @@ public interface Renderer { public void renderWord(Word area); + public void renderInlineParent(InlineParent ip); + public void renderCharacter( org.apache.fop.area.inline.Character ch); diff --git a/src/org/apache/fop/render/xml/XMLRenderer.java b/src/org/apache/fop/render/xml/XMLRenderer.java index 94ef5b1d2..85aa688ef 100644 --- a/src/org/apache/fop/render/xml/XMLRenderer.java +++ b/src/org/apache/fop/render/xml/XMLRenderer.java @@ -348,6 +348,17 @@ public class XMLRenderer extends AbstractRenderer { super.renderWord(word); } + public void renderInlineParent(InlineParent ip) { + String prop = ""; + List list = ip.getTraitList(); + if (list != null) { + prop = " props=\"" + getPropString(list) + "\""; + } + writeStartTag("<inlineparent" + prop + ">"); + super.renderInlineParent(ip); + writeEndTag("</inlineparent>"); + } + public void renderLeader(Leader area) { String style = "solid"; switch (area.getRuleStyle()) { |