Difference between revisions of "LivePathEffects Discussion"

From Inkscape Wiki
Jump to navigation Jump to search
Line 69: Line 69:
 
...
 
...
 
</svg:svg>
 
</svg:svg>
</pre>
 
 
== Nested idea ==
 
work in progress...
 
<pre>
 
    <path
 
      d="..."  (the output of the live-effect)
 
      <inkscape:path-effect
 
          effect="..." (string with the name of the applied effect)
 
          <inkscape:path-effect-param
 
            nr="1"
 
            <path
 
                d = "..." (the original path that now has an applied effect)
 
            />
 
          />
 
          <inkscape:path-effect-param
 
            name="param1"
 
            <path
 
                d = "..." (the output of the effect below!)
 
                <inkscape:path-effect
 
                  effect="..." (string with the name of the applied effect)
 
                  <inkscape:path-effect-param
 
                      nr="1"
 
                      d=".."
 
                  />
 
                />
 
            />
 
          />
 
      />
 
    />
 
 
</pre>
 
</pre>

Revision as of 19:26, 8 May 2007

Discussion page for Johan's Live Path Effects project for GSoC2007.

What is a Live Path Effect?

  • Spiral/star tool?
  • Skeletal strokes
  • whirl

What's it look like in SVG?

Simple idea

    <path
       inkscape:original-d = "..." (the original path that now has an applied effect)
       d="..."  (the output of the live-effect)
       inkscape:path-effect="..." (string with the name of the applied effect)
       inkscape:path-effect-param1= ...   (can be anything)
       inkscape:path-effect-param2 , etc
    />

This is what is implemented at this moment.

  • No chaining possible
  • Difficult to determine path-effect-param type from SVG.
  • not extendable (8 params max at the moment by copy-paste coding)

Like style atribute

<path
   inkscape:original-d = "..."
   d="..."
   inkscape:path-effect="sample1(param1:0.0;param2:loopy;) sample2(paramA:45;)"
/>
  • Parser needed
  • LPE class that stores its own params

<inkscape:patheffect>

<svg:path d="M 1 2 L 3 4">
  <inkscape:patheffect effect="org.inkscape.patheffect.a">
    <inkscape:param name="foo" value="bob" />
    <inkscape:param name="bar" value="jack" />
  </inkscape:patheffect>
  <inkscape:patheffect effect="org.inkscape.patheffect.b">
    <inkscape:param name="zort" value="true" />
  </inkscape:patheffect>
  <inkscape:patheffect effect="org.inkscape.patheffect.a">
    <inkscape:param name="foo" value="alvin" />
    <inkscape:param name="bar" value="jack" />
  </inkscape:patheffect>
</svg:path>

defs section

<svg:svg>
...
<defs>
...
<inkscape:path-effect xlink:href=3D"x-inkscape-plugin:org.inkscape.effect.foo"  id=3D"path-effect2">
  <inkscape:param name=3D"blah" value=3D"foo" />
</inkscape:path-effect>
...
</defs>
...
<svg:path ... inkscape:path-effects=3D"#path-effect2 ..." />
...
</svg:svg>