Difference between revisions of "LivePathEffects Discussion"

From Inkscape Wiki
Jump to navigation Jump to search
Line 12: Line 12:
<pre>
<pre>
     <path
     <path
       original-d = "..." (the original path that now has an applied effect)
       inkscape:original-d = "..." (the original path that now has an applied effect)
       d="..."  (the output of the live-effect)
       d="..."  (the output of the live-effect)
       inkscape:path-effect="..." (string with the name of the applied effect)
       inkscape:path-effect="..." (string with the name of the applied effect)

Revision as of 19:10, 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

Nested idea

work in progress...

    <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=".."
                   />
                />
             />
          />
       />
    />