aboutsummaryrefslogtreecommitdiffstats
path: root/src/org/apache/fop/render
diff options
context:
space:
mode:
authorKaren Lease <klease@apache.org>2002-05-10 12:38:16 +0000
committerKaren Lease <klease@apache.org>2002-05-10 12:38:16 +0000
commitb45cb4b5005f233e501e3ab815d362539af885e3 (patch)
treea133ffe50858fd97b1d58883db9a08db62651e5c /src/org/apache/fop/render
parentdb755bf42556bc19d396ae22cb919fdb995fe4cf (diff)
downloadxmlgraphics-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.java11
-rw-r--r--src/org/apache/fop/render/Renderer.java2
-rw-r--r--src/org/apache/fop/render/xml/XMLRenderer.java11
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()) {