You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-commits@xmlgraphics.apache.org by de...@apache.org on 2007/01/11 12:26:55 UTC
svn commit: r495198 - in /xmlgraphics/batik/trunk:
sources/org/apache/batik/bridge/ sources/org/apache/batik/dom/svg12/
sources/org/apache/batik/extension/svg/
test-references/samples/tests/spec/scripting/
test-references/samples/tests/spec12/text/
Author: deweese
Date: Thu Jan 11 03:26:54 2007
New Revision: 495198
URL: http://svn.apache.org/viewvc?view=rev&rev=495198
Log:
Fixed Flow Text regression by rebasing off SVGOMTextPositioningElement
Modified:
xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGTextElementBridge.java
xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowLineElement.java
xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowParaElement.java
xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowRegionBreakElement.java
xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowSpanElement.java
xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/BatikFlowTextElementBridge.java
xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowLineElement.java
xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowParaElement.java
xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowRegionBreakElement.java
xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowSpanElement.java
xmlgraphics/batik/trunk/test-references/samples/tests/spec/scripting/text_content.png
xmlgraphics/batik/trunk/test-references/samples/tests/spec12/text/flowText5.png
Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGTextElementBridge.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGTextElementBridge.java?view=diff&rev=495198&r1=495197&r2=495198
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGTextElementBridge.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGTextElementBridge.java Thu Jan 11 03:26:54 2007
@@ -83,6 +83,7 @@
import org.w3c.dom.svg.SVGLengthList;
import org.w3c.dom.svg.SVGNumberList;
import org.w3c.dom.svg.SVGTextContentElement;
+import org.w3c.dom.svg.SVGTextPositioningElement;
/**
* Bridge class for the <text> element.
@@ -1240,13 +1241,13 @@
// 'a' elements aren't SVGTextPositioningElements, so don't process
// their positioning attributes on them.
- if (!(element instanceof SVGOMTextPositioningElement)) {
+ if (!(element instanceof SVGTextPositioningElement)) {
addChildGlyphPositionAttributes(as, element, ctx);
return;
}
// get all of the glyph position attribute values
- SVGOMTextPositioningElement te = (SVGOMTextPositioningElement) element;
+ SVGTextPositioningElement te = (SVGTextPositioningElement) element;
try {
SVGLengthList xs = te.getX().getAnimVal();
Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowLineElement.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowLineElement.java?view=diff&rev=495198&r1=495197&r2=495198
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowLineElement.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowLineElement.java Thu Jan 11 03:26:54 2007
@@ -19,10 +19,9 @@
package org.apache.batik.dom.svg12;
import org.apache.batik.dom.AbstractDocument;
-import org.apache.batik.dom.svg.SVGOMTextContentElement;
+import org.apache.batik.dom.svg.SVGOMTextPositioningElement;
import org.apache.batik.util.SVG12Constants;
import org.w3c.dom.Node;
-import org.w3c.dom.svg.SVGTextContentElement;
/**
* This class implements a regular polygon extension to SVG
@@ -31,8 +30,7 @@
* @version $Id$
*/
public class SVGOMFlowLineElement
- extends SVGOMTextContentElement
- implements SVGTextContentElement {
+ extends SVGOMTextPositioningElement {
/**
* Creates a new BatikRegularPolygonElement object.
Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowParaElement.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowParaElement.java?view=diff&rev=495198&r1=495197&r2=495198
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowParaElement.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowParaElement.java Thu Jan 11 03:26:54 2007
@@ -19,7 +19,7 @@
package org.apache.batik.dom.svg12;
import org.apache.batik.dom.AbstractDocument;
-import org.apache.batik.dom.svg.SVGOMTextContentElement;
+import org.apache.batik.dom.svg.SVGOMTextPositioningElement;
import org.apache.batik.util.SVG12Constants;
import org.w3c.dom.Node;
import org.w3c.dom.svg.SVGTextContentElement;
@@ -31,8 +31,7 @@
* @version $Id$
*/
public class SVGOMFlowParaElement
- extends SVGOMTextContentElement
- implements SVGTextContentElement {
+ extends SVGOMTextPositioningElement {
/**
* Creates a new BatikRegularPolygonElement object.
Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowRegionBreakElement.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowRegionBreakElement.java?view=diff&rev=495198&r1=495197&r2=495198
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowRegionBreakElement.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowRegionBreakElement.java Thu Jan 11 03:26:54 2007
@@ -19,7 +19,7 @@
package org.apache.batik.dom.svg12;
import org.apache.batik.dom.AbstractDocument;
-import org.apache.batik.dom.svg.SVGStylableElement;
+import org.apache.batik.dom.svg.SVGOMTextPositioningElement;
import org.apache.batik.util.SVG12Constants;
import org.w3c.dom.Node;
@@ -29,7 +29,8 @@
* @author <a href="mailto:thomas.deweese@kodak.com">Thomas DeWeese</a>
* @version $Id$
*/
-public class SVGOMFlowRegionBreakElement extends SVGStylableElement {
+public class SVGOMFlowRegionBreakElement
+ extends SVGOMTextPositioningElement {
/**
* Creates a new BatikRegularPolygonElement object.
Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowSpanElement.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowSpanElement.java?view=diff&rev=495198&r1=495197&r2=495198
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowSpanElement.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVGOMFlowSpanElement.java Thu Jan 11 03:26:54 2007
@@ -19,10 +19,9 @@
package org.apache.batik.dom.svg12;
import org.apache.batik.dom.AbstractDocument;
-import org.apache.batik.dom.svg.SVGOMTextContentElement;
+import org.apache.batik.dom.svg.SVGOMTextPositioningElement;
import org.apache.batik.util.SVG12Constants;
import org.w3c.dom.Node;
-import org.w3c.dom.svg.SVGTextContentElement;
/**
* This class implements a regular polygon extension to SVG
@@ -31,8 +30,7 @@
* @version $Id$
*/
public class SVGOMFlowSpanElement
- extends SVGOMTextContentElement
- implements SVGTextContentElement {
+ extends SVGOMTextPositioningElement {
/**
* Creates a new BatikRegularPolygonElement object.
Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/BatikFlowTextElementBridge.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/BatikFlowTextElementBridge.java?view=diff&rev=495198&r1=495197&r2=495198
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/BatikFlowTextElementBridge.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/BatikFlowTextElementBridge.java Thu Jan 11 03:26:54 2007
@@ -43,6 +43,7 @@
import org.apache.batik.dom.events.NodeEventTarget;
import org.apache.batik.dom.util.XLinkSupport;
import org.apache.batik.dom.util.XMLSupport;
+import org.apache.batik.dom.svg.SVGOMElement;
import org.apache.batik.gvt.GraphicsNode;
import org.apache.batik.gvt.TextNode;
import org.apache.batik.gvt.text.GVTAttributedCharacterIterator;
@@ -128,6 +129,29 @@
return new Point2D.Float(0,0);
}
+ protected void addContextToChild(BridgeContext ctx,Element e) {
+ if (getNamespaceURI().equals(e.getNamespaceURI())) {
+ String ln = e.getLocalName();
+ if (ln.equals(BATIK_EXT_FLOW_PARA_TAG) ||
+ ln.equals(BATIK_EXT_FLOW_REGION_BREAK_TAG) ||
+ ln.equals(BATIK_EXT_FLOW_LINE_TAG) ||
+ ln.equals(BATIK_EXT_FLOW_SPAN_TAG) ||
+ ln.equals(SVG_A_TAG) ||
+ ln.equals(SVG_TREF_TAG)) {
+ ((SVGOMElement) e).setSVGContext
+ (new BatikFlowContentBridge(ctx, this, e));
+ }
+ }
+
+ // traverse the children to add SVGContext
+ Node child = getFirstChild(e);
+ while (child != null) {
+ if (child.getNodeType() == Node.ELEMENT_NODE) {
+ addContextToChild(ctx,(Element)child);
+ }
+ child = getNextSibling(child);
+ }
+ }
/**
* Creates the attributed string which represents the given text
* element children.
@@ -778,6 +802,22 @@
boolean rgnBr = ln.equals(BATIK_EXT_FLOW_REGION_BREAK_TAG);
return new MarginInfo(top, right, bottom, left,
indent, justification, rgnBr);
+ }
+
+ /**
+ * Bridge class for flow text children that contain text.
+ */
+ protected class BatikFlowContentBridge
+ extends AbstractTextChildTextContent {
+
+ /**
+ * Creates a new FlowContentBridge.
+ */
+ public BatikFlowContentBridge(BridgeContext ctx,
+ SVGTextElementBridge parent,
+ Element e) {
+ super(ctx, parent, e);
+ }
}
Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowLineElement.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowLineElement.java?view=diff&rev=495198&r1=495197&r2=495198
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowLineElement.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowLineElement.java Thu Jan 11 03:26:54 2007
@@ -19,7 +19,7 @@
package org.apache.batik.extension.svg;
import org.apache.batik.dom.AbstractDocument;
-import org.apache.batik.extension.PrefixableStylableExtensionElement;
+import org.apache.batik.dom.svg.SVGOMTextPositioningElement;
import org.w3c.dom.Node;
/**
@@ -29,7 +29,7 @@
* @version $Id$
*/
public class FlowLineElement
- extends PrefixableStylableExtensionElement
+ extends SVGOMTextPositioningElement
implements BatikExtConstants {
/**
Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowParaElement.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowParaElement.java?view=diff&rev=495198&r1=495197&r2=495198
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowParaElement.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowParaElement.java Thu Jan 11 03:26:54 2007
@@ -19,7 +19,7 @@
package org.apache.batik.extension.svg;
import org.apache.batik.dom.AbstractDocument;
-import org.apache.batik.extension.PrefixableStylableExtensionElement;
+import org.apache.batik.dom.svg.SVGOMTextPositioningElement;
import org.w3c.dom.Node;
/**
@@ -29,7 +29,7 @@
* @version $Id$
*/
public class FlowParaElement
- extends PrefixableStylableExtensionElement
+ extends SVGOMTextPositioningElement
implements BatikExtConstants {
/**
Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowRegionBreakElement.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowRegionBreakElement.java?view=diff&rev=495198&r1=495197&r2=495198
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowRegionBreakElement.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowRegionBreakElement.java Thu Jan 11 03:26:54 2007
@@ -19,7 +19,7 @@
package org.apache.batik.extension.svg;
import org.apache.batik.dom.AbstractDocument;
-import org.apache.batik.extension.PrefixableStylableExtensionElement;
+import org.apache.batik.dom.svg.SVGOMTextPositioningElement;
import org.w3c.dom.Node;
/**
@@ -29,7 +29,7 @@
* @version $Id$
*/
public class FlowRegionBreakElement
- extends PrefixableStylableExtensionElement
+ extends SVGOMTextPositioningElement
implements BatikExtConstants {
/**
Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowSpanElement.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowSpanElement.java?view=diff&rev=495198&r1=495197&r2=495198
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowSpanElement.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/extension/svg/FlowSpanElement.java Thu Jan 11 03:26:54 2007
@@ -19,7 +19,7 @@
package org.apache.batik.extension.svg;
import org.apache.batik.dom.AbstractDocument;
-import org.apache.batik.extension.PrefixableStylableExtensionElement;
+import org.apache.batik.dom.svg.SVGOMTextPositioningElement;
import org.w3c.dom.Node;
/**
@@ -29,17 +29,18 @@
* @version $Id$
*/
public class FlowSpanElement
- extends PrefixableStylableExtensionElement
- implements BatikExtConstants {
+ extends SVGOMTextPositioningElement
+ implements BatikExtConstants
+ {
/**
- * Creates a new BatikRegularPolygonElement object.
+ * Creates a new Batik Flow Span element.
*/
protected FlowSpanElement() {
}
/**
- * Creates a new BatikRegularPolygonElement object.
+ * Creates a new Batik Flow Span Element.
* @param prefix The namespace prefix.
* @param owner The owner document.
*/
Modified: xmlgraphics/batik/trunk/test-references/samples/tests/spec/scripting/text_content.png
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/test-references/samples/tests/spec/scripting/text_content.png?view=diff&rev=495198&r1=495197&r2=495198
==============================================================================
Binary files - no diff available.
Modified: xmlgraphics/batik/trunk/test-references/samples/tests/spec12/text/flowText5.png
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/test-references/samples/tests/spec12/text/flowText5.png?view=diff&rev=495198&r1=495197&r2=495198
==============================================================================
Binary files - no diff available.