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 ca...@apache.org on 2007/11/14 03:55:07 UTC

svn commit: r594740 - in /xmlgraphics/batik/trunk/sources/org/apache/batik/bridge: SVGLinearGradientElementBridge.java SVGRadialGradientElementBridge.java SVGUtilities.java

Author: cam
Date: Tue Nov 13 18:55:05 2007
New Revision: 594740

URL: http://svn.apache.org/viewvc?rev=594740&view=rev
Log:
Only ignore zero-dimension gradients if gradientUnits="objectBoundingBox".

Modified:
    xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGLinearGradientElementBridge.java
    xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGRadialGradientElementBridge.java
    xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGUtilities.java

Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGLinearGradientElementBridge.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGLinearGradientElementBridge.java?rev=594740&r1=594739&r2=594740&view=diff
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGLinearGradientElementBridge.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGLinearGradientElementBridge.java Tue Nov 13 18:55:05 2007
@@ -119,7 +119,8 @@
         // with zero width or height bounding boxes that use gradients with
         // gradientUnits="objectBoundingBox" must not use the gradient.
         SVGContext bridge = BridgeContext.getSVGContext(paintedElement);
-        if (bridge instanceof AbstractGraphicsNodeBridge) {
+        if (coordSystemType == SVGUtilities.OBJECT_BOUNDING_BOX
+                && bridge instanceof AbstractGraphicsNodeBridge) {
             // XXX Make this work for non-AbstractGraphicsNodeBridges, like
             // the various text child bridges.
             Rectangle2D bbox = ((AbstractGraphicsNodeBridge) bridge).getBBox();

Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGRadialGradientElementBridge.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGRadialGradientElementBridge.java?rev=594740&r1=594739&r2=594740&view=diff
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGRadialGradientElementBridge.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGRadialGradientElementBridge.java Tue Nov 13 18:55:05 2007
@@ -126,7 +126,10 @@
         // gradientUnits="objectBoundingBox" must not use the gradient.
         AbstractGraphicsNodeBridge bridge = (AbstractGraphicsNodeBridge)
             BridgeContext.getSVGContext(paintedElement);
-        if (bridge != null) {
+        if (coordSystemType == SVGUtilities.OBJECT_BOUNDING_BOX
+                && bridge instanceof AbstractGraphicsNodeBridge) {
+            // XXX Make this work for non-AbstractGraphicsNodeBridges, like
+            // the various text child bridges.
             Rectangle2D bbox = bridge.getBBox();
             if (bbox != null && bbox.getWidth() == 0 || bbox.getHeight() == 0) {
                 return null;

Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGUtilities.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGUtilities.java?rev=594740&r1=594739&r2=594740&view=diff
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGUtilities.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/bridge/SVGUtilities.java Tue Nov 13 18:55:05 2007
@@ -622,7 +622,7 @@
        // TODO: Uncomment this after confirming this is the desired behaviour.
        /*AbstractGraphicsNodeBridge bridge =
            (AbstractGraphicsNodeBridge) ctx.getSVGContext(filteredElement);
-       if (bridge != null) {
+       if (unitsType == OBJECT_BOUNDING_BOX && bridge != null) {
            Rectangle2D bbox = bridge.getBBox();
            if (bbox != null && bbox.getWidth() == 0 || bbox.getHeight() == 0) {
                return null;