]> gitweb.michael.orlitzky.com - libsvgtiny.git/commit
Parse: Make the parse state have two sets of gradient details.
authorMichael Drake <tlsa@netsurf-browser.org>
Wed, 26 Oct 2016 14:21:51 +0000 (15:21 +0100)
committerMichael Drake <tlsa@netsurf-browser.org>
Wed, 26 Oct 2016 14:21:51 +0000 (15:21 +0100)
commit1e71d0472529b96ac35e2e4425b66e29146a01c1
tree5d5d64348259129d3e969f4efe2431870c0afd6b
parent0f0342a4416a5b3bb03fe80d428d73a431f03a76
Parse: Make the parse state have two sets of gradient details.

One for fills and another for strokes.  This stops an SVG such as

  <svg viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg">
    <defs>
      <linearGradient id="foo">
        <stop stop-color="#69f" offset="0"/>
        <stop stop-color="#468" offset="1"/>
      </linearGradient>
    </defs>
    <path fill="url(#foo)" stroke='url(#bar)' d='M10 10 H 90 V 90 H 10 Z' />
  </svg>

from getting its fill gradient details trampled when we reset the
gradient for the the missing bar gadient definition.  Note, we only
handle linearGradient on the fill anyway.
src/svgtiny.c
src/svgtiny_gradient.c
src/svgtiny_internal.h