tkormann    01/10/15 05:33:51

  Modified:    samples/tests/spec/paints linearGradientOrientation.svg
               sources/org/apache/batik/bridge
                        SVGLinearGradientElementBridge.java
                        SVGRadialGradientElementBridge.java
  Log:
  - bug fix: if x1=x2=y1=y2 on linear gradient - this is not an error but we have
  to use the last stop color and opacity.
  
  - modify the linear gradient example to illustrate that
  
  Revision  Changes    Path
  1.2       +19 -2     
xml-batik/samples/tests/spec/paints/linearGradientOrientation.svg
  
  Index: linearGradientOrientation.svg
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/samples/tests/spec/paints/linearGradientOrientation.svg,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- linearGradientOrientation.svg     2001/10/15 12:15:51     1.1
  +++ linearGradientOrientation.svg     2001/10/15 12:33:51     1.2
  @@ -14,7 +14,7 @@
   <!-- Test external paint servers                                               -->
   <!--                                                                           -->
   <!-- @author [EMAIL PROTECTED]                                                  -->
  -<!-- @version $Id: linearGradientOrientation.svg,v 1.1 2001/10/15 12:15:51 tkormann 
Exp $ -->
  +<!-- @version $Id: linearGradientOrientation.svg,v 1.2 2001/10/15 12:33:51 tkormann 
Exp $ -->
   <!-- ========================================================================= -->
   
   <?xml-stylesheet type="text/css" href="../../resources/style/test.css" ?>
  @@ -27,7 +27,7 @@
       <!-- ============================================================= -->
       <g id="testContent">
       <text x="225" y="50" class="title">Linear Gradient Orientation</text>
  -
  +<g transform="translate(0 -30)">
   <!-- ############################### -->
   <g id="board" style="fill:none; stroke:black;">
   
  @@ -53,6 +53,10 @@
                <rect x="75" y="120" width="150" height="50" />
                <rect x="225" y="120" width="150" height="50" />
        </g>
  +     <g transform="translate(75 340)">
  +             <rect x="75" y="100" width="150" height="20" style="fill:#eee"/>
  +             <rect x="75" y="120" width="150" height="50" />
  +     </g>
        <g style="stroke:none; fill:black; text-anchor:middle; font-size:12">
                <text x="150" y="114">x1 &lt; x2 / y1 = y2</text>
                <text x="300" y="114">x1 > x2 / y1 = y2</text>
  @@ -69,6 +73,9 @@
                        <text x="150" y="114">x1 > x2 / y1 &lt; y2</text>
                        <text x="300" y="114">x1 > x2 / y1 > y2</text>
                </g>
  +             <g transform="translate(75 340)">
  +                     <text x="150" y="114">x1 = x2 = y1 = y2</text>
  +             </g>
        </g>
   </g>
   
  @@ -103,6 +110,11 @@
                        xlink:href="#genericGrad" />
        <linearGradient id="grad8" x1="1" y1="1" x2="0" y2="0"
                        xlink:href="#genericGrad" />
  +
  +     <!-- ### fifth board ### -->
  +     <linearGradient id="grad9" x1=".5" y1=".5" x2=".5" y2=".5"
  +                     xlink:href="#genericGrad" />
  +
   </defs>
   
   
  @@ -124,6 +136,11 @@
        <rect x="235" y="130" width="130" height="30" fill="url(#grad8)"/>
   </g>
   
  +<g transform="translate(75 340)">
  +     <rect x="85" y="130" width="130" height="30" fill="url(#grad9)"/>
  +</g>
  +
  +    </g>
       </g>
   
       <!-- ============================================================= -->
  
  
  
  1.5       +15 -9     
xml-batik/sources/org/apache/batik/bridge/SVGLinearGradientElementBridge.java
  
  Index: SVGLinearGradientElementBridge.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/bridge/SVGLinearGradientElementBridge.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- SVGLinearGradientElementBridge.java       2001/09/17 13:37:30     1.4
  +++ SVGLinearGradientElementBridge.java       2001/10/15 12:33:51     1.5
  @@ -24,7 +24,7 @@
    * Bridge class for the &lt;linearGradient> element.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Thierry Kormann</a>
  - * @version $Id: SVGLinearGradientElementBridge.java,v 1.4 2001/09/17 13:37:30 
tkormann Exp $
  + * @version $Id: SVGLinearGradientElementBridge.java,v 1.5 2001/10/15 12:33:51 
tkormann Exp $
    */
   public class SVGLinearGradientElementBridge
       extends AbstractSVGGradientElementBridge {
  @@ -124,13 +124,19 @@
                                                  SVG_Y2_ATTRIBUTE,
                                                  coordSystemType,
                                                  uctx);
  -
  -        return new LinearGradientPaint(p1,
  -                                       p2,
  -                                       offsets,
  -                                       colors,
  -                                       spreadMethod,
  -                                       colorSpace,
  -                                       transform);
  +     // If x1 = x2 and y1 = y2, then the area to be painted will be painted
  +     // as a single color using the color and opacity of the last gradient
  +     // stop.
  +        if (p1.getX() == p2.getX() && p1.getY() == p2.getY()) {
  +            return colors[colors.length-1];
  +     } else {
  +         return new LinearGradientPaint(p1,
  +                                        p2,
  +                                        offsets,
  +                                        colors,
  +                                        spreadMethod,
  +                                        colorSpace,
  +                                        transform);
  +     }
       }
   }
  
  
  
  1.6       +3 -1      
xml-batik/sources/org/apache/batik/bridge/SVGRadialGradientElementBridge.java
  
  Index: SVGRadialGradientElementBridge.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/bridge/SVGRadialGradientElementBridge.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SVGRadialGradientElementBridge.java       2001/09/17 13:37:30     1.5
  +++ SVGRadialGradientElementBridge.java       2001/10/15 12:33:51     1.6
  @@ -24,7 +24,7 @@
    * Bridge class for the &lt;radialGradient> element.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Thierry Kormann</a>
  - * @version $Id: SVGRadialGradientElementBridge.java,v 1.5 2001/09/17 13:37:30 
tkormann Exp $
  + * @version $Id: SVGRadialGradientElementBridge.java,v 1.6 2001/10/15 12:33:51 
tkormann Exp $
    */
   public class SVGRadialGradientElementBridge
       extends AbstractSVGGradientElementBridge {
  @@ -124,6 +124,8 @@
                                                SVG_R_ATTRIBUTE,
                                                coordSystemType,
                                                uctx);
  +     // A value of zero will cause the area to be painted as a single color
  +     // using the color and opacity of the last gradient stop.
           if (r == 0) {
               return colors[colors.length-1];
           } else {
  
  
  

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

Reply via email to