You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-users@xmlgraphics.apache.org by Oscar Picasso <os...@yahoo.com> on 2006/01/20 13:56:06 UTC

Trouble with SVN [Re: TextFlow and actual ...]

Hi Thomas,

I am trying to use the code from SVN to use the TextContentElement methods of FlowText but I have a lot of trouble.

1- I have looked at FlowTextElement and still don't see the TextContentElement interface.

2- I have also make a 'batik-all' jar and added to the classpath along with 
- js.jar
-xerces_2_5_0.jar
-xalan-2.6.0.jar
-xml-apis-dom3.jar

And while it compiles I get a strange error at run time (see below).

Any idea?

Thanks.

java.lang.Error: Unresolved compilation problems: 
    The import org.apache.xml.utils cannot be resolved
    The import org.apache.xpath cannot be resolved
    The import org.apache.xpath cannot be resolved
    The import org.apache.xpath cannot be resolved
    XPath cannot be resolved to a type
    XPathContext cannot be resolved to a type
    xpath cannot be resolved
    XPath cannot be resolved to a type
    XPath cannot be resolved
    context cannot be resolved
    XPathContext cannot be resolved to a type
    context cannot be resolved
    XObject cannot be resolved to a type
    xpath cannot be resolved
    context cannot be resolved
    xpath cannot be resolved
    XObject cannot be resolved to a type
    XObject cannot be resolved to a type
    XObject cannot be resolved to a type
    XObject cannot be resolved to a type
    XObject cannot be resolved to a type
    PrefixResolver cannot be resolved to a type

    at org.apache.batik.dom.AbstractDocument.<init>(AbstractDocument.java:46)
    at org.apache.batik.dom.AbstractStylableDocument.<init>(AbstractStylableDocument.java:61)
    at org.apache.batik.dom.svg.SVGOMDocument.<init>(SVGOMDocument.java:126)
    at org.apache.batik.dom.svg.SVGDOMImplementation.createDocument(SVGDOMImplementation.java:152)
    at org.apache.batik.dom.util.SAXDocumentFactory.startElement(SAXDocumentFactory.java:595)
    at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
    at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(SAXDocumentFactory.java:411)
    at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(SAXDocumentFactory.java:344)
    at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(SAXSVGDocumentFactory.java:200)
    at test.AppTest.testApp(AppTest.java:25)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at junit.framework.TestCase.runTest(TestCase.java:154)
    at junit.framework.TestCase.runBare(TestCase.java:127)
    at junit.framework.TestResult$1.protect(TestResult.java:106)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.framework.TestResult.run(TestResult.java:109)
    at junit.framework.TestCase.run(TestCase.java:118)
    at junit.framework.TestSuite.runTest(TestSuite.java:208)
    at junit.framework.TestSuite.run(TestSuite.java:203)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)





thomas.deweese@kodak.com wrote: Hi Oscar,

Oscar Picasso  wrote on 01/12/2006 08:14:41 AM:

> Actually I want to something similar to what I do with a regular text 
element 
> (as I  asked in a previous thread): calculate a new font-size to let the 
text 
> fit on a particular region.


>> 'text content' interfaces from the SVG DOM should be fully
>> functional for flow text.

> How do I get these interfaces? I have looked at the different FlowXXX 
and I 
> don't see which are the 'text content' interfaces and their BBox 
methods.

   You are correct the Flow elements didn't have the TextContent
interfaces.  I have fixed this in SVN (it was really just a matter
of basing them on the right baseclass).  Sorry about that... 

---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org




		
---------------------------------
Yahoo! Photos – Showcase holiday pictures in hardcover
 Photo Books. You design it and we’ll bind it!

Re: Trouble with SVN [Re: TextFlow and actual ...]

Posted by Oscar Picasso <os...@yahoo.com>.
Follow-up about the image disapearing on flowText5.svg with values less than 9.8. 

I get the following message on squiggle: Rendering document failed.

And the following exception trace on the console:

squiggle:
     [java] java.lang.NullPointerException
     [java]     at org.apache.batik.gvt.flow.FlowRegions.getNumRangeOnLine(FlowRegions.java:84)
     [java]     at org.apache.batik.gvt.flow.LineInfo.updateRangeInfo(LineInfo.java:207)
     [java]     at org.apache.batik.gvt.flow.LineInfo.<init>(LineInfo.java:71)
     [java]     at org.apache.batik.gvt.flow.FlowTextPainter.textWrap(FlowTextPainter.java:188)
     [java]     at org.apache.batik.gvt.flow.FlowTextPainter.getTextRuns(FlowTextPainter.java:93)
     [java]     at org.apache.batik.gvt.renderer.StrokingTextPainter.getBounds2D(StrokingTextPainter.java:1109)
     [java]     at org.apache.batik.gvt.TextNode.getPrimitiveBounds(TextNode.java:244)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedPrimitiveBounds(AbstractGraphicsNode.java:852)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:818)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:291)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:818)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:291)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:818)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:296)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:818)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(CompositeGraphicsNode.java:215)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:285)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:818)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(CompositeGraphicsNode.java:215)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:285)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:818)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(CompositeGraphicsNode.java:198)
     [java]     at org.apache.batik.gvt.filter.GraphicsNodeRable8Bit.getBounds2D(GraphicsNodeRable8Bit.java:155)
     [java]     at org.apache.batik.gvt.filter.GraphicsNodeRable8Bit.createRendering(GraphicsNodeRable8Bit.java:260)
     [java]     at org.apache.batik.gvt.renderer.StaticRenderer.renderGNR(StaticRenderer.java:487)
     [java]     at org.apache.batik.gvt.renderer.StaticRenderer.updateWorkingBuffers(StaticRenderer.java:514)
     [java]     at org.apache.batik.gvt.renderer.StaticRenderer.repaint(StaticRenderer.java:381)
     [java]     at org.apache.batik.gvt.renderer.StaticRenderer.repaint(StaticRenderer.java:350)
     [java]     at org.apache.batik.swing.gvt.GVTTreeRenderer.run(GVTTreeRenderer.java:122)
     [java] Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
     [java]     at org.apache.batik.gvt.flow.FlowRegions.getNumRangeOnLine(FlowRegions.java:84)
     [java]     at org.apache.batik.gvt.flow.LineInfo.updateRangeInfo(LineInfo.java:207)
     [java]     at org.apache.batik.gvt.flow.LineInfo.<init>(LineInfo.java:71)
     [java]     at org.apache.batik.gvt.flow.FlowTextPainter.textWrap(FlowTextPainter.java:188)
     [java]     at org.apache.batik.gvt.flow.FlowTextPainter.getTextRuns(FlowTextPainter.java:93)
     [java]     at org.apache.batik.gvt.renderer.StrokingTextPainter.getOutline(StrokingTextPainter.java:1040)
     [java]     at org.apache.batik.gvt.renderer.BasicTextPainter.getGeometryBounds(BasicTextPainter.java:90)
     [java]     at org.apache.batik.gvt.TextNode.getGeometryBounds(TextNode.java:259)
     [java]     at org.apache.batik.gvt.TextNode.getSensitiveBounds(TextNode.java:271)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedSensitiveBounds(AbstractGraphicsNode.java:900)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedSensitiveBounds(CompositeGraphicsNode.java:439)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedSensitiveBounds(CompositeGraphicsNode.java:434)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedSensitiveBounds(CompositeGraphicsNode.java:439)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getSensitiveBounds(CompositeGraphicsNode.java:395)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedSensitiveBounds(CompositeGraphicsNode.java:428)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getSensitiveBounds(CompositeGraphicsNode.java:395)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedSensitiveBounds(CompositeGraphicsNode.java:428)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getSensitiveBounds(CompositeGraphicsNode.java:390)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.nodeHitAt(CompositeGraphicsNode.java:484)
     [java]     at org.apache.batik.gvt.event.AbstractAWTEventDispatcher.dispatchMouseEvent(AbstractAWTEventDispatcher.java:451)
     [java]     at org.apache.batik.gvt.event.AbstractAWTEventDispatcher.dispatchEvent(AbstractAWTEventDispatcher.java:382)
     [java]     at org.apache.batik.gvt.event.AWTEventDispatcher.dispatchEvent(AWTEventDispatcher.java:69)
     [java]     at org.apache.batik.gvt.event.AbstractAWTEventDispatcher.mouseMoved(AbstractAWTEventDispatcher.java:210)
     [java]     at org.apache.batik.swing.gvt.AbstractJGVTComponent$Listener.dispatchMouseMoved(AbstractJGVTComponent.java:1181)
     [java]     at org.apache.batik.swing.svg.AbstractJSVGComponent$SVGListener.dispatchMouseMoved(AbstractJSVGComponent.java:2133)
     [java]     at org.apache.batik.swing.gvt.AbstractJGVTComponent$Listener.mouseMoved(AbstractJGVTComponent.java:1173)
     [java]     at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:271)
     [java]     at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:271)
     [java]     at java.awt.Component.processMouseMotionEvent(Component.java:5533)
     [java]     at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3144)
     [java]     at java.awt.Component.processEvent(Component.java:5257)
     [java]     at java.awt.Container.processEvent(Container.java:1966)
     [java]     at java.awt.Component.dispatchEventImpl(Component.java:3955)
     [java]     at java.awt.Container.dispatchEventImpl(Container.java:2024)
     [java]     at java.awt.Component.dispatchEvent(Component.java:3803)
     [java]     at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
     [java]     at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3905)
     [java]     at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
     [java]     at java.awt.Container.dispatchEventImpl(Container.java:2010)
     [java]     at java.awt.Window.dispatchEventImpl(Window.java:1774)
     [java]     at java.awt.Component.dispatchEvent(Component.java:3803)
     [java]     at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
     [java]     at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
     [java]     at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
     [java]     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
     [java]     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
     [java]     at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
     [java] java.lang.NullPointerException
     [java]     at org.apache.batik.gvt.flow.FlowRegions.getNumRangeOnLine(FlowRegions.java:84)
     [java]     at org.apache.batik.gvt.flow.LineInfo.updateRangeInfo(LineInfo.java:207)
     [java]     at org.apache.batik.gvt.flow.LineInfo.<init>(LineInfo.java:71)
     [java]     at org.apache.batik.gvt.flow.FlowTextPainter.textWrap(FlowTextPainter.java:188)
     [java]     at org.apache.batik.gvt.flow.FlowTextPainter.getTextRuns(FlowTextPainter.java:93)
     [java]     at org.apache.batik.gvt.renderer.StrokingTextPainter.getBounds2D(StrokingTextPainter.java:1109)
     [java]     at org.apache.batik.gvt.TextNode.getPrimitiveBounds(TextNode.java:244)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedPrimitiveBounds(AbstractGraphicsNode.java:852)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:818)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:291)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:818)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:291)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:818)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:296)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:818)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(CompositeGraphicsNode.java:215)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:285)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:818)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(CompositeGraphicsNode.java:215)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:285)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:818)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(CompositeGraphicsNode.java:198)
     [java]     at org.apache.batik.gvt.filter.GraphicsNodeRable8Bit.getBounds2D(GraphicsNodeRable8Bit.java:155)
     [java]     at org.apache.batik.gvt.filter.GraphicsNodeRable8Bit.createRendering(GraphicsNodeRable8Bit.java:260)
     [java]     at org.apache.batik.gvt.renderer.StaticRenderer.renderGNR(StaticRenderer.java:487)
     [java]     at org.apache.batik.gvt.renderer.StaticRenderer.updateWorkingBuffers(StaticRenderer.java:514)
     [java]     at org.apache.batik.gvt.renderer.StaticRenderer.repaint(StaticRenderer.java:381)
     [java]     at org.apache.batik.gvt.renderer.StaticRenderer.repaint(StaticRenderer.java:350)
     [java]     at org.apache.batik.swing.gvt.GVTTreeRenderer.run(GVTTreeRenderer.java:122)
     [java] Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
     [java]     at org.apache.batik.gvt.flow.FlowRegions.getNumRangeOnLine(FlowRegions.java:84)
     [java]     at org.apache.batik.gvt.flow.LineInfo.updateRangeInfo(LineInfo.java:207)
     [java]     at org.apache.batik.gvt.flow.LineInfo.<init>(LineInfo.java:71)
     [java]     at org.apache.batik.gvt.flow.FlowTextPainter.textWrap(FlowTextPainter.java:188)
     [java]     at org.apache.batik.gvt.flow.FlowTextPainter.getTextRuns(FlowTextPainter.java:93)
     [java]     at org.apache.batik.gvt.renderer.StrokingTextPainter.getOutline(StrokingTextPainter.java:1040)
     [java]     at org.apache.batik.gvt.renderer.BasicTextPainter.getGeometryBounds(BasicTextPainter.java:90)
     [java]     at org.apache.batik.gvt.TextNode.getGeometryBounds(TextNode.java:259)
     [java]     at org.apache.batik.gvt.TextNode.getSensitiveBounds(TextNode.java:271)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedSensitiveBounds(AbstractGraphicsNode.java:900)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedSensitiveBounds(CompositeGraphicsNode.java:439)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedSensitiveBounds(CompositeGraphicsNode.java:434)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedSensitiveBounds(CompositeGraphicsNode.java:439)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getSensitiveBounds(CompositeGraphicsNode.java:395)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedSensitiveBounds(CompositeGraphicsNode.java:428)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getSensitiveBounds(CompositeGraphicsNode.java:395)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedSensitiveBounds(CompositeGraphicsNode.java:428)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getSensitiveBounds(CompositeGraphicsNode.java:390)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.nodeHitAt(CompositeGraphicsNode.java:484)
     [java]     at org.apache.batik.gvt.event.AbstractAWTEventDispatcher.dispatchMouseEvent(AbstractAWTEventDispatcher.java:451)
     [java]     at org.apache.batik.gvt.event.AbstractAWTEventDispatcher.dispatchEvent(AbstractAWTEventDispatcher.java:382)
     [java]     at org.apache.batik.gvt.event.AWTEventDispatcher.dispatchEvent(AWTEventDispatcher.java:69)
     [java]     at org.apache.batik.gvt.event.AbstractAWTEventDispatcher.mouseMoved(AbstractAWTEventDispatcher.java:210)
     [java]     at org.apache.batik.swing.gvt.AbstractJGVTComponent$Listener.dispatchMouseMoved(AbstractJGVTComponent.java:1181)
     [java]     at org.apache.batik.swing.svg.AbstractJSVGComponent$SVGListener.dispatchMouseMoved(AbstractJSVGComponent.java:2133)
     [java]     at org.apache.batik.swing.gvt.AbstractJGVTComponent$Listener.mouseMoved(AbstractJGVTComponent.java:1173)
     [java]     at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:271)
     [java]     at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:271)
     [java]     at java.awt.Component.processMouseMotionEvent(Component.java:5533)
     [java]     at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3144)
     [java]     at java.awt.Component.processEvent(Component.java:5257)
     [java]     at java.awt.Container.processEvent(Container.java:1966)
     [java]     at java.awt.Component.dispatchEventImpl(Component.java:3955)
     [java]     at java.awt.Container.dispatchEventImpl(Container.java:2024)
     [java]     at java.awt.Component.dispatchEvent(Component.java:3803)
     [java]     at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
     [java]     at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3905)
     [java]     at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
     [java]     at java.awt.Container.dispatchEventImpl(Container.java:2010)
     [java]     at java.awt.Window.dispatchEventImpl(Window.java:1774)
     [java]     at java.awt.Component.dispatchEvent(Component.java:3803)
     [java]     at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
     [java]     at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
     [java]     at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
     [java]     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
     [java]     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
     [java]     at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
     [java] java.lang.NullPointerException
     [java]     at org.apache.batik.gvt.flow.FlowRegions.getNumRangeOnLine(FlowRegions.java:84)
     [java]     at org.apache.batik.gvt.flow.LineInfo.updateRangeInfo(LineInfo.java:207)
     [java]     at org.apache.batik.gvt.flow.LineInfo.<init>(LineInfo.java:71)
     [java]     at org.apache.batik.gvt.flow.FlowTextPainter.textWrap(FlowTextPainter.java:188)
     [java]     at org.apache.batik.gvt.flow.FlowTextPainter.getTextRuns(FlowTextPainter.java:93)
     [java]     at org.apache.batik.gvt.renderer.StrokingTextPainter.getBounds2D(StrokingTextPainter.java:1109)
     [java]     at org.apache.batik.gvt.TextNode.getPrimitiveBounds(TextNode.java:244)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedPrimitiveBounds(AbstractGraphicsNode.java:852)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:818)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:291)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:818)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:291)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:818)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(CompositeGraphicsNode.java:215)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.getBounds(AbstractGraphicsNode.java:766)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:442)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:159)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:508)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:159)
     [java]     at org.apache.batik.gvt.CanvasGraphicsNode.primitivePaint(CanvasGraphicsNode.java:158)
     [java]     at org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:508)
     [java]     at org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:159)
     [java]     at org.apache.batik.gvt.filter.GraphicsNodeRed8Bit.genRect(GraphicsNodeRed8Bit.java:139)
     [java]     at org.apache.batik.gvt.filter.GraphicsNodeRed8Bit.copyData(GraphicsNodeRed8Bit.java:115)
     [java]     at org.apache.batik.ext.awt.image.rendered.TileCacheRed.genRect(TileCacheRed.java:62)
     [java]     at org.apache.batik.ext.awt.image.rendered.AbstractTiledRed.drawBlockInPlace(AbstractTiledRed.java:609)
     [java]     at org.apache.batik.ext.awt.image.rendered.AbstractTiledRed.drawBlock(AbstractTiledRed.java:541)
     [java]     at org.apache.batik.ext.awt.image.rendered.AbstractTiledRed.copyToRasterByBlocks(AbstractTiledRed.java:429)
     [java]     at org.apache.batik.ext.awt.image.rendered.AbstractTiledRed.copyData(AbstractTiledRed.java:296)
     [java]     at org.apache.batik.ext.awt.image.rendered.TranslateRed.copyData(TranslateRed.java:102)
     [java]     at org.apache.batik.ext.awt.image.rendered.PadRed.copyData(PadRed.java:87)
     [java]     at org.apache.batik.gvt.renderer.StaticRenderer.repaint(StaticRenderer.java:400)
     [java]     at org.apache.batik.gvt.renderer.StaticRenderer.repaint(StaticRenderer.java:350)
     [java]     at org.apache.batik.swing.gvt.GVTTreeRenderer.run(GVTTreeRenderer.java:122)


Oscar Picasso <os...@yahoo.com> wrote: Hi Thomas,

I finally got it. Thank you very much. And as you said it has much more capabilities. Very interesting.

As a side note I have notice something strange with the flowText5.svg example.

If you set any of its flowRegion font-size to less than 9.8 everything on the 'page' disappears when viewing with squiggle.

Oscar


thomas.deweese@kodak.com wrote: Hi Oscar,

Oscar Picasso  wrote on 01/21/2006 02:11:47 PM:

> I'm sorry but it still don't get it. See below.
> 
> thomas.deweese@kodak.com wrote:
> [...]
> You should look at 
> batik.dom.svg12.SVGOMFlow(Div|Para|Line|Span)Element,
> if you are using the proprietary batik.extension.svg.FlowTextElement I
> would suggest that the newer flow stuff is in general _much_   more  
capable.
> [...]

> I build my DOM from an SVG file which contains flowText elements. 

   In on of the SVG 1.2 draft they introduce a group of elements for
flowing text.  Take a look at samples/tests/spec12/text for examples
of how to use these elements.

> If I  don't set a version attribute in the svg element the flow elements 
are 
> from the org.apache.batik.extension.svg package.

   This is a fore-runner of the SVG 1.2 stuff.  The only thing this does
better is vertical alignment - but that is because it only supports
flowing into rectangles.

> How do I go from there to 
batik.dom.svg12.SVGOMFlow(Div|Para|Line|Span)Element?

   If you use the SVG flowRoot element (in the svg namespace with 
version="1.2")
then your elements will be the above with the TextContent interfaces.


---------------------------------------------------------------------
To unsubscribe, e-mail:  batik-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org



   

---------------------------------
Yahoo! Photos
  Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever.


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Re: Trouble with SVN [Re: TextFlow and actual ...]

Posted by Oscar Picasso <os...@yahoo.com>.
Hi Thomas,

I finally got it. Thank you very much. And as you said it has much more capabilities. Very interesting.

As a side note I have notice something strange with the flowText5.svg example.

If you set any of its flowRegion font-size to less than 9.8 everything on the 'page' disappears when viewing with squiggle.

Oscar


thomas.deweese@kodak.com wrote: Hi Oscar,

Oscar Picasso  wrote on 01/21/2006 02:11:47 PM:

> I'm sorry but it still don't get it. See below.
> 
> thomas.deweese@kodak.com wrote:
> [...]
> You should look at 
> batik.dom.svg12.SVGOMFlow(Div|Para|Line|Span)Element,
> if you are using the proprietary batik.extension.svg.FlowTextElement I
> would suggest that the newer flow stuff is in general _much_ more 
capable.
> [...]

> I build my DOM from an SVG file which contains flowText elements. 

   In on of the SVG 1.2 draft they introduce a group of elements for
flowing text.  Take a look at samples/tests/spec12/text for examples
of how to use these elements.

> If I  don't set a version attribute in the svg element the flow elements 
are 
> from the org.apache.batik.extension.svg package.

   This is a fore-runner of the SVG 1.2 stuff.  The only thing this does
better is vertical alignment - but that is because it only supports
flowing into rectangles.

> How do I go from there to 
batik.dom.svg12.SVGOMFlow(Div|Para|Line|Span)Element?

   If you use the SVG flowRoot element (in the svg namespace with 
version="1.2")
then your elements will be the above with the TextContent interfaces.


---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org




		
---------------------------------
Yahoo! Photos
 Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever.

Re: Trouble with SVN [Re: TextFlow and actual ...]

Posted by th...@kodak.com.
Hi Oscar,

Oscar Picasso <os...@yahoo.com> wrote on 01/21/2006 02:11:47 PM:

> I'm sorry but it still don't get it. See below.
> 
> thomas.deweese@kodak.com wrote:
> [...]
> You should look at 
> batik.dom.svg12.SVGOMFlow(Div|Para|Line|Span)Element,
> if you are using the proprietary batik.extension.svg.FlowTextElement I
> would suggest that the newer flow stuff is in general _much_ more 
capable.
> [...]

> I build my DOM from an SVG file which contains flowText elements. 

   In on of the SVG 1.2 draft they introduce a group of elements for
flowing text.  Take a look at samples/tests/spec12/text for examples
of how to use these elements.

> If I  don't set a version attribute in the svg element the flow elements 
are 
> from the org.apache.batik.extension.svg package.

   This is a fore-runner of the SVG 1.2 stuff.  The only thing this does
better is vertical alignment - but that is because it only supports
flowing into rectangles.

> How do I go from there to 
batik.dom.svg12.SVGOMFlow(Div|Para|Line|Span)Element?

   If you use the SVG flowRoot element (in the svg namespace with 
version="1.2")
then your elements will be the above with the TextContent interfaces.


---------------------------------------------------------------------
To unsubscribe, e-mail: batik-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org


Re: Trouble with SVN [Re: TextFlow and actual ...]

Posted by Oscar Picasso <os...@yahoo.com>.
Hi Thomas,

I'm sorry but it still don't get it. See below.

thomas.deweese@kodak.com wrote:[...]
   You should look at 
batik.dom.svg12.SVGOMFlow(Div|Para|Line|Span)Element,
if you are using the proprietary batik.extension.svg.FlowTextElement I
would suggest that the newer flow stuff is in general _much_ more capable.
[...]

I build my DOM from an SVG file which contains flowText elements. 

If I  don't set a version attribute in the svg element the flow elements are from the org.apache.batik.extension.svg package.

If I set the svg version attribute to 1.2 all the flow elements are all org.apache.batik.dom.svg12.BindableElement objects. 

How do I go from there to  batik.dom.svg12.SVGOMFlow(Div|Para|Line|Span)Element?

Thanks.




		
---------------------------------
 
 What are the most popular cars?  Find out at Yahoo! Autos

Re: Trouble with SVN [Re: TextFlow and actual ...]

Posted by Oscar Picasso <os...@yahoo.com>.
Hi Thomas,

thomas.deweese@kodak.com wrote:
   You should look at 
batik.dom.svg12.SVGOMFlow(Div|Para|Line|Span)Element,
if you are using the proprietary batik.extension.svg.FlowTextElement I
would suggest that the newer flow stuff is in general _much_ more capable.[...]

Happy to know it. 

But do you mean that you added capibilities to the existing FlowXXX elements or that you added new elements with much more capabilities? 

Is it documented somewhere?

> 2- I have also make a 'batik-all' jar and added to the classpath along 
with 
> - js.jar
> -xerces_2_5_0.jar
> -xalan-2.6.0.jar

        For some reason it appears that xalan isn't on your classpath.
Solved. I rebuilt the batik-all.jar and it works. 



		
---------------------------------
 Yahoo! Autos. Looking for a sweet ride? Get pricing, reviews, & more on new and used cars.

Re: Trouble with SVN [Re: TextFlow and actual ...]

Posted by th...@kodak.com.
Hi Oscar,

Oscar Picasso <os...@yahoo.com> wrote on 01/20/2006 07:56:06 AM:

> I am trying to use the code from SVN to use the TextContentElement 
methods of 
> FlowText but I have a lot of trouble.
> 
> 1- I have looked at FlowTextElement and still don't see the 
TextContentElementinterface.

   You should look at 
batik.dom.svg12.SVGOMFlow(Div|Para|Line|Span)Element,
if you are using the proprietary batik.extension.svg.FlowTextElement I
would suggest that the newer flow stuff is in general _much_ more capable.
Although regrettably, currently it appears that it will be just as 
proprietary in the foreseeable future.


> 2- I have also make a 'batik-all' jar and added to the classpath along 
with 
> - js.jar
> -xerces_2_5_0.jar
> -xalan-2.6.0.jar

        For some reason it appears that xalan isn't on your classpath.

>     PrefixResolver cannot be resolved to a type
> 
>     at 
org.apache.batik.dom.AbstractDocument.<init>(AbstractDocument.java:46)

--------------------

> thomas.deweese@kodak.com wrote:
> Hi Oscar,
> 
> Oscar Picasso wrote on 01/12/2006 08:14:41 AM:
> 
> > Actually I want to something similar to what I do with a regular text 
> element 
> > (as I asked in a previous thread): calculate a new font-size to let 
the 
> text 
> > fit on a particular region.
> 
> 
> >> 'text content' interfaces from the SVG DOM should be fully
> >> functional f or flow text.
> 
> > How do I get these interfaces? I have looked at the different FlowXXX 
> and I 
> > don't see which are the 'text content' interfaces and their BBox 
> methods.
> 
> You are correct the Flow elements didn't have the TextContent
> interfaces. I have fixed this in SVN (it was really just a matter
> of basing them on the right baseclass). Sorry about that... 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: batik-users-unsubscribe@xmlgrraphics.apache.org
> For additional commands, e-mail: batik-users-help@xmlgraphics.apache.org

> 
> Yahoo! Photos – Showcase holiday pictures in hardcover
> Photo Books. You design it and we’ll bind it!

Onload event and svg12

Posted by Oscar Picasso <os...@yahoo.com>.
Hi,

I succeeded to dynamically get the computed lengths for text elements thanks to Thomas and Andreas explanations.

In order to get the 'onload' event fired, I set an onload attribute with a dummy value to the text element. 

Something like: <text onload="i=1">....

Not very elegant but it worked. Let me know if there a better way.

I have a more serious problem though when doing this with svg12. If there is element with an onload attribute, I get a ClassCastException (see trace below)

Any idea?

java.lang.ClassCastException: org.apache.batik.bridge.BridgeContext
    at org.apache.batik.bridge.svg12.SVG12TextElementBridge.addTextEventListeners(Unknown Source)
    at org.apache.batik.bridge.SVGTextElementBridge.initializeDynamicSupport(Unknown Source)
    at org.apache.batik.bridge.SVGTextElementBridge.buildGraphicsNode(Unknown Source)
    at org.apache.batik.bridge.GVTBuilder.build(Unknown Source)
    at org.apache.batik.bridge.SVGUseElementBridge.buildCompositeGraphicsNode(Unknown Source)
    at org.apache.batik.bridge.SVGUseElementBridge.createGraphicsNode(Unknown Source)
    at org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(Unknown Source)
    at org.apache.batik.bridge.GVTBuilder.buildComposite(Unknown Source)
    at org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(Unknown Source)
    at org.apache.batik.bridge.GVTBuilder.buildComposite(Unknown Source)
    at org.apache.batik.bridge.GVTBuilder.build(Unknown Source)
    at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(Unknown Source)
[...]

		
---------------------------------
 
 What are the most popular cars?  Find out at Yahoo! Autos