tkormann    02/05/25 11:08:41

  Modified:    test-resources/org/apache/batik/test samplesRendering.xml
               sources/org/apache/batik/bridge SVGImageElementBridge.java
  Added:       samples/tests/spec/scripting image.svg imageraster.svg
                        imagesvg.svg
               samples/tests/resources/images svg.png
               test-references/samples/tests/spec/scripting image.png
                        imageraster.png imagesvg.png
  Log:
  include nicolas'fix for x,y,w,h and pAR+ViewBox on <image>
  
  Revision  Changes    Path
  1.1                  xml-batik/samples/tests/spec/scripting/image.svg
  
  Index: image.svg
  ===================================================================
  <?xml version="1.0" standalone="no"?>
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
  "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd";>
  
  <!-- ========================================================================= -->
  <!-- Copyright (C) The Apache Software Foundation. All rights reserved.        -->
  <!--                                                                           -->
  <!-- This software is published under the terms of the Apache Software License -->
  <!-- version 1.1, a copy of which has been included with this distribution in  -->
  <!-- the LICENSE file.                                                         -->
  <!-- ========================================================================= -->
  
  <!-- ========================================================================= -->
  <!-- dynamic update for image                                                  -->
  <!--                                                                           -->
  <!-- @author [EMAIL PROTECTED]                                    -->
  <!-- @version $Id: image.svg,v 1.1 2002/05/25 18:08:41 tkormann Exp $                
                                             -->
  <!-- ========================================================================= -->
  <?xml-stylesheet type="text/css" href="../../resources/style/test.css" ?>  
  
  <svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; 
id="body" width="450" height="500" viewBox="0 0 450 500">
  <title>update on &lt;image&gt;</title>
  
      <style type="text/css"><![CDATA[
          
      ]]></style>
      <script type="text/ecmascript" >
        function setPAR(evt,par){
          var e = evt.target;
          e.setAttribute('preserveAspectRatio',par);
        }
        function setPosition(evt,x,y,width,height){
          var e = evt.target;
          e.setAttribute("x",x);
          e.setAttribute("y",y);
          e.setAttribute("width",width);
          e.setAttribute("height",height);
        }
      </script>
  
      <g id="content">
  
          <text class="title" x="50%" y="40">&lt;image&gt;  dynamic tests</text>
  
          <defs>
                <rect id="Rect1" x="40" y="-20" width="100" height="40" />
                <rect id="Rect2" x="60" y="-60" width="40" height="100" />
          </defs>
  
          <g transform="translate(70,150)">
              <use xlink:href="#Rect1" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="0" y="0" width="1" height="1" 
xlink:href="../../resources/images/svg.svg" 
                onload="setPosition(evt,40,-20,100,40)"/>
              <text font-size="10" x="35" y="60">SVG image <tspan x="40" dy="12"> 
x,y,width,height update</tspan></text>
           </g>
  
  
           <g transform="translate(230,150)">
              <use xlink:href="#Rect2" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="60" y="-60" width="40" height="100" 
xlink:href="../../resources/images/svg.svg" 
                onload="setPAR(evt,'none')"/>
              <text font-size="10" x="35" y="60">SVG Image : aspectRatio none</text>
           </g>
  
  
           <g transform="translate(70,300)">
              <use xlink:href="#Rect2" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="60" y="-10" width="20" height="50" 
xlink:href="../../resources/images/svg.png" 
                onload="setPosition(evt,60,-60,40,100)"/>
              <text font-size="10" x="35" y="60">PNG Image <tspan x="40" dy="12"> 
x,y,width,height update</tspan></text>
           </g>
  
  
           <g transform="translate(230,300)">
              <use xlink:href="#Rect1" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="40" y="-20" width="100" height="40" 
xlink:href="../../resources/images/svg.png" 
                onload="setPAR(evt,'none')"/>
              <text font-size="10" x="35" y="60">PNG Image : aspectRatio none</text>
           </g>     
      </g>
  
      <!-- ============================================================= -->
      <!-- Batik sample mark                                             -->
      <!-- ============================================================= -->
      <use xlink:href="../../../batikLogo.svg#Batik_Tag_Box" />
  
  </svg>
  
  
  
  
  1.1                  xml-batik/samples/tests/spec/scripting/imageraster.svg
  
  Index: imageraster.svg
  ===================================================================
  <?xml version="1.0" standalone="no"?>
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
  "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd";>
  
  <!-- ========================================================================= -->
  <!-- Copyright (C) The Apache Software Foundation. All rights reserved.        -->
  <!--                                                                           -->
  <!-- This software is published under the terms of the Apache Software License -->
  <!-- version 1.1, a copy of which has been included with this distribution in  -->
  <!-- the LICENSE file.                                                         -->
  <!-- ========================================================================= -->
  
  <!-- ========================================================================= -->
  <!-- dynamic update for image                                                  -->
  <!--                                                                           -->
  <!-- @author [EMAIL PROTECTED]                                    -->
  <!-- @version $Id: imageraster.svg,v 1.1 2002/05/25 18:08:41 tkormann Exp $          
                                                   -->
  <!-- ========================================================================= -->
  <?xml-stylesheet type="text/css" href="../../resources/style/test.css" ?>  
  
  <svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; 
id="body" width="450" height="500" viewBox="0 0 450 500">
  <title>update on &lt;image&gt;</title>
  
      <style type="text/css"><![CDATA[
          
      ]]></style>
      <script type="text/ecmascript" >
        function setPAR(evt,par){
          var e = evt.target;
          e.setAttribute('preserveAspectRatio',par);
        }
      </script>
  
      <g id="content">
  
          <text class="title" x="50%" y="40">&lt;image&gt;  tests <tspan 
font-size="12">(preserveAspectRatio)</tspan></text>
  
          <defs>
                <rect id="Rect1" x="40" y="0" width="50" height="20" />
                <rect id="Rect2" x="60" y="-10" width="20" height="50" />
          </defs>
  
          <g transform="translate(0,70)">
              <use xlink:href="#Rect1" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="40" y="0" width="50" height="20" 
xlink:href="../../resources/images/svg.png" 
                onload="setPAR(evt,'xMinYMin meet')"/>
              <text font-size="10" x="35" y="60">xMin* meet</text>
           </g>
  
  
           <g transform="translate(150,70)">
              <use xlink:href="#Rect1" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="40" y="0" width="50" height="20" 
xlink:href="../../resources/images/svg.png" 
                onload="setPAR(evt,'xMidYMin meet')"/>
              <text font-size="10" x="35" y="60">xMid* meet</text>
           </g>
  
           <g transform="translate(300,70)">
              <use xlink:href="#Rect1" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="40" y="0" width="50" height="20" 
xlink:href="../../resources/images/svg.png" 
                onload="setPAR(evt,'xMaxYMin meet')"/>
            <text font-size="10" x="35" y="60">xMax* meet</text>
           </g>
  
  
           <g transform="translate(0,170)">
              <use xlink:href="#Rect2" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="60" y="-10" width="20" height="50" 
xlink:href="../../resources/images/svg.png" 
                onload="setPAR(evt,'xMinYMin meet')"/>
              <text font-size="10" x="35" y="60">*YMin meet</text>
           </g>
  
  
           <g transform="translate(150,170)">
              <use xlink:href="#Rect2" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="60" y="-10" width="20" height="50" 
xlink:href="../../resources/images/svg.png" 
                onload="setPAR(evt,'xMinYMid meet')"/>
              <text font-size="10" x="35" y="60">*YMid meet</text>
           </g>
  
           <g transform="translate(300,170)">
              <use xlink:href="#Rect2" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="60" y="-10" width="20" height="50" 
xlink:href="../../resources/images/svg.png" 
                onload="setPAR(evt,'xMinYMax meet')"/>
              <text font-size="10" x="35" y="60">*YMax meet</text>
           </g>
  
  
          <g transform="translate(0,270)">
              <use xlink:href="#Rect2" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="60" y="-10" width="20" height="50" 
xlink:href="../../resources/images/svg.png" 
                onload="setPAR(evt,'xMinYMin slice')"/>
              <text font-size="10" x="35" y="60">xMin* slice</text>
           </g>
  
  
           <g transform="translate(150,270)">
              <use xlink:href="#Rect2" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="60" y="-10" width="20" height="50" 
xlink:href="../../resources/images/svg.png" 
                onload="setPAR(evt,'xMidYMin slice')"/>
              <text font-size="10" x="35" y="60">xMid* slice</text>
           </g>
  
           <g transform="translate(300,270)">
              <use xlink:href="#Rect2" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="60" y="-10" width="20" height="50" 
xlink:href="../../resources/images/svg.png" 
                onload="setPAR(evt,'xMaxYMin slice')"/>
              <text font-size="10" x="35" y="60">xMax* slice</text>
           </g>
  
  
  
          <g transform="translate(0,370)">
              <use xlink:href="#Rect1" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="40" y="0" width="50" height="20" 
xlink:href="../../resources/images/svg.png" 
                onload="setPAR(evt,'xMinYMin slice')"/>
              <text font-size="10" x="35" y="60">*YMin slice</text>
          </g>
  
  
           <g transform="translate(150,370)">
              <use xlink:href="#Rect1" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="40" y="0" width="50" height="20" 
xlink:href="../../resources/images/svg.png" 
                onload="setPAR(evt,'xMinYMid slice')"/>
            <text font-size="10" x="35" y="60">*YMid slice</text>
           </g>
  
          <g transform="translate(300,370)">
              <use xlink:href="#Rect1" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="40" y="0" width="50" height="20" 
xlink:href="../../resources/images/svg.png" 
                onload="setPAR(evt,'xMinYMax slice')"/>
            <text font-size="10" x="35" y="60">*YMax slice</text>
          </g>
         
      </g>
  
      <!-- ============================================================= -->
      <!-- Batik sample mark                                             -->
      <!-- ============================================================= -->
      <use xlink:href="../../../batikLogo.svg#Batik_Tag_Box" />
  
  </svg>
  
  
  
  
  1.1                  xml-batik/samples/tests/spec/scripting/imagesvg.svg
  
  Index: imagesvg.svg
  ===================================================================
  <?xml version="1.0" standalone="no"?>
  <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
  "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd";>
  
  <!-- ========================================================================= -->
  <!-- Copyright (C) The Apache Software Foundation. All rights reserved.        -->
  <!--                                                                           -->
  <!-- This software is published under the terms of the Apache Software License -->
  <!-- version 1.1, a copy of which has been included with this distribution in  -->
  <!-- the LICENSE file.                                                         -->
  <!-- ========================================================================= -->
  
  <!-- ========================================================================= -->
  <!-- dynamic update for image                                                  -->
  <!--                                                                           -->
  <!-- @author [EMAIL PROTECTED]                                    -->
  <!-- @version $Id: imagesvg.svg,v 1.1 2002/05/25 18:08:41 tkormann Exp $             
                                                -->
  <!-- ========================================================================= -->
  <?xml-stylesheet type="text/css" href="../../resources/style/test.css" ?>  
  
  <svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; 
id="body" width="450" height="500" viewBox="0 0 450 500">
  <title>update on &lt;image&gt;</title>
  
      <style type="text/css"><![CDATA[
          
      ]]></style>
      <script type="text/ecmascript" >
        function setPAR(evt,par){
          var e = evt.target;
          e.setAttribute('preserveAspectRatio',par);
        }
      </script>
  
      <g id="content">
  
          <text class="title" x="50%" y="40">&lt;image&gt;  tests <tspan 
font-size="12">(preserveAspectRatio)</tspan></text>
  
          <defs>
                <rect id="Rect1" x="40" y="0" width="50" height="20" />
                <rect id="Rect2" x="60" y="-10" width="20" height="50" />
          </defs>
  
          <g transform="translate(0,70)">
              <use xlink:href="#Rect1" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="40" y="0" width="50" height="20" 
xlink:href="../../resources/images/svg.svg" 
                onload="setPAR(evt,'xMinYMin meet')"/>
              <text font-size="10" x="35" y="60">xMin* meet</text>
           </g>
  
  
           <g transform="translate(150,70)">
              <use xlink:href="#Rect1" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="40" y="0" width="50" height="20" 
xlink:href="../../resources/images/svg.svg" 
                onload="setPAR(evt,'xMidYMin meet')"/>
              <text font-size="10" x="35" y="60">xMid* meet</text>
           </g>
  
           <g transform="translate(300,70)">
              <use xlink:href="#Rect1" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="40" y="0" width="50" height="20" 
xlink:href="../../resources/images/svg.svg" 
                onload="setPAR(evt,'xMaxYMin meet')"/>
            <text font-size="10" x="35" y="60">xMax* meet</text>
           </g>
  
  
           <g transform="translate(0,170)">
              <use xlink:href="#Rect2" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="60" y="-10" width="20" height="50" 
xlink:href="../../resources/images/svg.svg" 
                onload="setPAR(evt,'xMinYMin meet')"/>
              <text font-size="10" x="35" y="60">*YMin meet</text>
           </g>
  
  
           <g transform="translate(150,170)">
              <use xlink:href="#Rect2" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="60" y="-10" width="20" height="50" 
xlink:href="../../resources/images/svg.svg" 
                onload="setPAR(evt,'xMinYMid meet')"/>
              <text font-size="10" x="35" y="60">*YMid meet</text>
           </g>
  
           <g transform="translate(300,170)">
              <use xlink:href="#Rect2" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="60" y="-10" width="20" height="50" 
xlink:href="../../resources/images/svg.svg" 
                onload="setPAR(evt,'xMinYMax meet')"/>
              <text font-size="10" x="35" y="60">*YMax meet</text>
           </g>
  
  
          <g transform="translate(0,270)">
              <use xlink:href="#Rect2" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="60" y="-10" width="20" height="50" 
xlink:href="../../resources/images/svg.svg" 
                onload="setPAR(evt,'xMinYMin slice')"/>
              <text font-size="10" x="35" y="60">xMin* slice</text>
           </g>
  
  
           <g transform="translate(150,270)">
              <use xlink:href="#Rect2" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="60" y="-10" width="20" height="50" 
xlink:href="../../resources/images/svg.svg" 
                onload="setPAR(evt,'xMidYMin slice')"/>
              <text font-size="10" x="35" y="60">xMid* slice</text>
           </g>
  
           <g transform="translate(300,270)">
              <use xlink:href="#Rect2" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="60" y="-10" width="20" height="50" 
xlink:href="../../resources/images/svg.svg" 
                onload="setPAR(evt,'xMaxYMin slice')"/>
              <text font-size="10" x="35" y="60">xMax* slice</text>
           </g>
  
  
  
          <g transform="translate(0,370)">
              <use xlink:href="#Rect1" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="40" y="0" width="50" height="20" 
xlink:href="../../resources/images/svg.svg" 
                onload="setPAR(evt,'xMinYMin slice')"/>
              <text font-size="10" x="35" y="60">*YMin slice</text>
          </g>
  
  
           <g transform="translate(150,370)">
              <use xlink:href="#Rect1" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="40" y="0" width="50" height="20" 
xlink:href="../../resources/images/svg.svg" 
                onload="setPAR(evt,'xMinYMid slice')"/>
            <text font-size="10" x="35" y="60">*YMid slice</text>
           </g>
  
          <g transform="translate(300,370)">
              <use xlink:href="#Rect1" style="fill:none; stroke:blue; stroke-width:2"/>
            <image x="40" y="0" width="50" height="20" 
xlink:href="../../resources/images/svg.svg" 
                onload="setPAR(evt,'xMinYMax slice')"/>
            <text font-size="10" x="35" y="60">*YMax slice</text>
          </g>
         
      </g>
  
      <!-- ============================================================= -->
      <!-- Batik sample mark                                             -->
      <!-- ============================================================= -->
      <use xlink:href="../../../batikLogo.svg#Batik_Tag_Box" />
  
  </svg>
  
  
  
  
  1.1                  xml-batik/samples/tests/resources/images/svg.png
  
        <<Binary file>>
  
  
  1.1                  xml-batik/test-references/samples/tests/spec/scripting/image.png
  
        <<Binary file>>
  
  
  1.1                  
xml-batik/test-references/samples/tests/spec/scripting/imageraster.png
  
        <<Binary file>>
  
  
  1.1                  
xml-batik/test-references/samples/tests/spec/scripting/imagesvg.png
  
        <<Binary file>>
  
  
  1.70      +4 -1      
xml-batik/test-resources/org/apache/batik/test/samplesRendering.xml
  
  Index: samplesRendering.xml
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/test-resources/org/apache/batik/test/samplesRendering.xml,v
  retrieving revision 1.69
  retrieving revision 1.70
  diff -u -r1.69 -r1.70
  --- samplesRendering.xml      14 May 2002 21:28:13 -0000      1.69
  +++ samplesRendering.xml      25 May 2002 18:08:41 -0000      1.70
  @@ -8,7 +8,7 @@
   
   <!-- ========================================================================= -->
   <!-- @author [EMAIL PROTECTED]                                         -->
  -<!-- @version $Id: samplesRendering.xml,v 1.69 2002/05/14 21:28:13 tkormann Exp $ 
-->
  +<!-- @version $Id: samplesRendering.xml,v 1.70 2002/05/25 18:08:41 tkormann Exp $ 
-->
   <!-- ========================================================================= -->
   <testSuite id="samplesRendering" name="samples and samples/test Rendering" 
class="org.apache.batik.test.svg.SamplesRenderingTest">
   
  @@ -299,6 +299,9 @@
           <test id="samples/tests/spec/scripting/text_children2.svg" />
           <test id="samples/tests/spec/scripting/text_children3.svg" />
           <test id="samples/tests/spec/scripting/tspanProperties.svg" />
  +        <test id="samples/tests/spec/scripting/image.svg" />
  +        <test id="samples/tests/spec/scripting/imageraster.svg" />
  +        <test id="samples/tests/spec/scripting/imagesvg.svg" />
       </testGroup>
   
   </testSuite>
  
  
  
  1.45      +74 -3     
xml-batik/sources/org/apache/batik/bridge/SVGImageElementBridge.java
  
  Index: SVGImageElementBridge.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/bridge/SVGImageElementBridge.java,v
  retrieving revision 1.44
  retrieving revision 1.45
  diff -u -r1.44 -r1.45
  --- SVGImageElementBridge.java        27 Apr 2002 22:41:57 -0000      1.44
  +++ SVGImageElementBridge.java        25 May 2002 18:08:41 -0000      1.45
  @@ -55,7 +55,7 @@
    * Bridge class for the &lt;image> element.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Thierry Kormann</a>
  - * @version $Id: SVGImageElementBridge.java,v 1.44 2002/04/27 22:41:57 deweese Exp $
  + * @version $Id: SVGImageElementBridge.java,v 1.45 2002/05/25 18:08:41 tkormann Exp 
$
    */
   public class SVGImageElementBridge extends AbstractGraphicsNodeBridge {
   
  @@ -194,9 +194,74 @@
        * Invoked when an MutationEvent of type 'DOMAttrModified' is fired.
        */
       public void handleDOMAttrModifiedEvent(MutationEvent evt) {
  -        super.handleDOMAttrModifiedEvent(evt);
  -    }
   
  +         String attrName = evt.getAttrName();
  +        if (attrName.equals(SVG_X_ATTRIBUTE) ||
  +            attrName.equals(SVG_Y_ATTRIBUTE) ||
  +            attrName.equals(SVG_WIDTH_ATTRIBUTE) ||
  +            attrName.equals(SVG_HEIGHT_ATTRIBUTE) ||
  +         attrName.equals(SVG_PRESERVE_ASPECT_RATIO_ATTRIBUTE)){
  +
  +            //retrieve the new bounds of the image tag
  +         Rectangle2D bounds = getImageBounds(ctx, e);
  +         GraphicsNode imageNode = ((ImageNode)node).getImage();
  +         float [] vb = null;
  +
  +         if (((ImageNode)node).getImage() instanceof RasterImageNode) {
  +                //Raster image
  +             Rectangle2D imgBounds = 
  +                    ((RasterImageNode)imageNode).getImageBounds();
  +             // create the implicit viewBox for the raster
  +             // image. The viewBox for a raster image is the size
  +             // of the image
  +             vb = new float[4];
  +             vb[0] = 0; // x
  +             vb[1] = 0; // y
  +             vb[2] = (float)imgBounds.getWidth(); // width
  +             vb[3] = (float)imgBounds.getHeight(); // height
  +         } else {
  +                // svg image need the viewbox of the embedded
  +             String uriStr = XLinkSupport.getXLinkHref(e);
  +                if ( uriStr == null || uriStr.length() == 0 ){
  +                    throw new BridgeException(e, ERR_ATTRIBUTE_MISSING,
  +                                              new Object[] {"xlink:href"});
  +                }
  +             // try to load the image as an svg document
  +             SVGDocument svgDoc = (SVGDocument)e.getOwnerDocument();
  +             // try to load an SVG document
  +             DocumentLoader loader = ctx.getDocumentLoader();
  +             URIResolver resolver = new URIResolver(svgDoc, loader);
  +             SVGDocument imgDocument = null;
  +             try {
  +                 Node n = resolver.getNode(uriStr, e);
  +                 if (n.getNodeType() == n.DOCUMENT_NODE) {
  +                     imgDocument = (SVGDocument)n;
  +                 }
  +             } catch (BridgeException ex) {
  +                 throw ex;
  +             } catch (Exception ex) {
  +                 /* Nothing to do */
  +             }
  +             if (imgDocument != null) {
  +                 Element svgElement = imgDocument.getRootElement();
  +                 String viewBox =
  +                     svgElement.getAttributeNS(null, SVG_VIEW_BOX_ATTRIBUTE);
  +                 vb = ViewBox.parseViewBoxAttribute(e, viewBox);
  +             } else {
  +                 imageNode = null;
  +             }
  +         }
  +         if (imageNode != null) {
  +             // handles the 'preserveAspectRatio', 'overflow' and
  +             // 'clip' and sets the appropriate AffineTransform to
  +             // the image node
  +             initializeViewport(ctx, e, imageNode, vb, bounds);
  +         }
  +     } else {
  +         super.handleDOMAttrModifiedEvent(evt);
  +     }
  +    }
  +    
       // convenient methods //////////////////////////////////////////////////
   
       /**
  @@ -286,9 +351,15 @@
           if (ctx.isDynamic()) {
               EventListener listener = new ForwardEventListener(svgElement, e);
               EventTarget target = (EventTarget)svgElement;
  +
               target.addEventListener(SVG_EVENT_CLICK, listener, false);
  +            ctx.storeEventListener(target, SVG_EVENT_CLICK, listener, false);
  +
               target.addEventListener(SVG_EVENT_MOUSEOVER, listener, false);
  +            ctx.storeEventListener(target, SVG_EVENT_MOUSEOVER, listener,false);
  +
               target.addEventListener(SVG_EVENT_MOUSEOUT, listener, false);
  +            ctx.storeEventListener(target, SVG_EVENT_MOUSEOUT, listener, false);
           }
   
           return result;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to