W3C home > Mailing lists > Public > www-svg@w3.org > November 2004

Re: SVG 1.2 Comment: vector effects

From: Craig Northway <craign@cisra.canon.com.au>
Date: Wed, 24 Nov 2004 09:30:11 +1100
Message-ID: <41A3B9F3.5070602@cisra.canon.com.au>
To: Ian Hickson <ian@hixie.ch>
Cc: www-svg@w3.org

Ian,

I agree with some of your earlier comments regarding the more complex 
effects. I raised some objections with the working group. As Jon has 
already mentioned, all proposed effects were included in the last call 
draft, but pending comments from the community may get dropped.

I have some comments inline.

Ian Hickson wrote:

>On Tue, 23 Nov 2004, Chris Lilley wrote:
>  
>
>>On Tuesday, November 23, 2004, 2:09:04 PM, Ian wrote:
>>    
>>
>>>I mean, come on. If you want a shared edge on a map, just use one path 
>>>element, with one stroke, instead of having the edge drawn by both 
>>>elements.
>>>      
>>>
>>That would reduce the semantic value.
>>
>>How would you propose to fill such shapes?
>>
>>The current solution is nicely engineered to meet these common problems 
>>and solve them.
>>    
>>
>
>Ok here's a proposal which would dramatically simplify all this (and 
>which, in conjunction with the two other proposals to address the two 
>other use cases mentioned for this chapter, would reduce the entire 
>chapter to about three minor extensions).
>
>Add a new command to the path language that imports another path at that 
>point. Instead of:
>
>   <defs>
>     <path id="border1" d="..."/>
>     <path id="border2" d="..."/>
>     <path id="border3" d="..."/>
>     <path id="border4" d="..."/>
>     <path id="border5" d="..."/>
>   </defs>
>   <vectorEffect>
>     <vePath>
>       <vePathRef xlink:href="#border1"/>
>       <vePathRef xlink:href="#border2"/>
>       <vePathRef xlink:href="#border3"/>
>     </vePath>
>     <veFill color="red"/>
>     <vePath>
>       <vePathRef xlink:href="#border4"/>
>       <vePathRef reverse="true" xlink:href="#border2"/>
>       <vePathRef xlink:href="#border5"/>
>     </vePath>
>     <veFill color="blue"/>
>   </vectorEffect>
>
>...you would do:
>
>   <defs>
>     <path id="border1" d="..."/>
>     <path id="border2" d="..."/>
>     <path id="border3" d="..."/>
>     <path id="border4" d="..."/>
>     <path id="border5" d="..."/>
>   </defs>
>   <path d="url(#border1) url(#border2) url(#border3)" fill="red"/>
>   <path d="url(#border4) reverse-url(#border2) url(#border5)" fill="blue"/>
>  
>
I will pretty much repeat some of Dean's earlier comments because this 
solution shares some problems with your earlier solution. This is 
difficult to animate and makes parsing more difficult by adding another 
micro-syntax. The path syntax is difficult to specify animation and for 
an author to animate. This makes it even more difficult.

>That would also get around another problem I have with vectorEffect,
>which is the way you can make any random shape (e.g. a <circle>) look
>like any other random shape (e.g. a country). That seems to defeat the
>point of having shapes in the first place. It also makes trying to
>understand SVG markup quite hard.
>  
>
I don't understand how vector effect makes a circle look like another 
random shape? Please explain this further, perhaps with an example?

Craig
Received on Tuesday, 23 November 2004 22:31:02 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 07:14:52 UTC