Uploaded image for project: 'Batik'
  1. Batik
  2. BATIK-1191

Batik changed the overflow default for drawings

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 1.9, 1.10
    • Fix Version/s: None
    • Component/s: SVG Viewer
    • Labels:
      None

      Description

      If an SVG image contains objects partially or completely outside the viewbox, then these objects are completely or partially hidden, even if the view is changed manually with zoom & pan.

      This bug is introduced in revision r1784917:

      $ svn log -c r1784917
      
      ------------------------------------------------------------------------
      r1784917 | ssteiner | 2017-03-01 12:44:53 +0100 (Wed, 01 Mar 2017) | 1 line
      
      BATIK-1179: Clip wrongly applied
      ------------------------------------------------------------------------
      

      The revision r1784917 introduced a global CSS stylesheet:

      $ svn diff -c r1784917
      Index: batik-svg-dom/src/main/resources/org/apache/batik/dom/svg/resources/UserAgentStyleSheet.css
      ===================================================================
      --- batik-svg-dom/src/main/resources/org/apache/batik/dom/svg/resources/UserAgentStyleSheet.css    (revision 1784916)
      +++ batik-svg-dom/src/main/resources/org/apache/batik/dom/svg/resources/UserAgentStyleSheet.css    (nonexistent)
      @@ -1,6 +0,0 @@
      -/*
      - * The default SVG style sheet.
      - */
      -svg, symbol, image, marker, pattern, foreignObject { overflow: hidden }
      -
      -/* svg { width:attr(width); height:attr(height) } */
      Index: batik-anim/src/main/resources/org/apache/batik/anim/dom/resources/UserAgentStyleSheet.css
      ===================================================================
      --- batik-anim/src/main/resources/org/apache/batik/anim/dom/resources/UserAgentStyleSheet.css    (nonexistent)
      +++ batik-anim/src/main/resources/org/apache/batik/anim/dom/resources/UserAgentStyleSheet.css    (revision 1784917)
      @@ -0,0 +1,6 @@
      +/*
      + * The default SVG style sheet.
      + */
      +svg, symbol, image, marker, pattern, foreignObject { overflow: hidden }
      +
      +/* svg { width:attr(width); height:attr(height) } */

      The issue can be easily shown with the attached sample.svg and Squiggle (part of the Batik SVG distribution). It is not a bug of Squiggle. Sample programs with JSVGCanvas show the same behavior.

      java -jar batik-squiggle-1.8.jar sample.svg
      java -jar batik-squiggle-1.9.jar sample.svg

      Initially both Squiggle windows look similar. But if you make the Squiggle windows wider, then the version 1.8 variant of Squiggle shows the complete red rectangle, which is partially outside the viewbox. The version 1.9 variant keeps the red rectangle cut off on the viewbox.

        Attachments

        1. wider-window-view-left18_right19.png
          25 kB
          Bjoern Voigt
        2. sample.svg
          0.7 kB
          Bjoern Voigt
        3. initial-view-left18_right19.png
          24 kB
          Bjoern Voigt
        4. BatikIssue1191Sample.java
          4 kB
          Bjoern Voigt

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              bjoernv1 Bjoern Voigt
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: