Incomplete pattern coverage with overflowing pattern
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Inkscape |
Fix Released
|
Medium
|
Krzysztof Kosinski |
Bug Description
This is not bug 980785 about pattern gaps.
I have a pattern formed from irregularly shaped objects
that cover more than one pattern cell. As I wanted to
avoid any issues with gaps, I simply included the whole
stroke and set overflow="visible" in my svg code. I
could reproduce the problem with some simpler example
than where I originally encountered the issue.
However, Inkskape 0.43 seems to be doing something
wrong. The pattern does not look completely regular,
there are some places uncovered that should be covered
by part of the pattern.
To me it looks like the repitition of the pattern stops
somewhat early. The missing parts most likely would
have been covered by a copy of the theme that had its
cell (as defined by width and height) outside the
object that is to be filled.
Looking at the spec, overflow="visible" is explicitely
mentioned, and it is also said that a pattern should be
handled as an infinite tiling of the plane. Therefore
as far as I understand things, no program should make
any assumptions about the bounding box of the pattern
content, but instead calculate this bounding box and
use this value to determine what copies of the theme
are needed.
Looking at other apps. My firefox completely seems to
completely ignore the overflow="visible" setting.
svgdisplay from kde displays the pattern correctly.
Changed in inkscape: | |
status: | Incomplete → Confirmed |
tags: |
added: pattern renderer svg removed: linux other |
Changed in inkscape: | |
status: | Fix Committed → Fix Released |
I created and attached a screenshot with different
applications showing the attached testcase.
In the top left is svgdisplay from KDE. The rendering looks
correct, that is how I would expect it to look.
In the bottom right is mozilla firefox, the rendering there
completely broken, as overflow="visible" is not honored.
The other two windows are inkscape 0.43. The top right
version is the original window, where several redraws have
already occured due to partial obscured window. The window
in the bottom left corner is a new window opened just before
the screenshot was taken. So this is how the thing looks
immediately after opening the file.