Jeff,

After your explanation, I now know what you are 
talking about. I like Erik's <use> suggestion -- 
it is quite clever, if it would work in your situation.

Another clunky solution that comes to mind would 
be to have two versions of each object -- one 
lower and one higher in the stacking order and 
then to animate the visibility's of these to 
simulate the changing of z-index. When an object 
is supposed to look like it is behind make its higher instance invisible.

I've done something like that with opacity levels and morphing in the past.

cheers,
David

At 07:27 AM 9/25/2007, you wrote:

>The <use> approach is a real fascinating example, but I don't think it
>would work in my case, since things have to smoothly animate as the
>icons spin around.
>
>I think I'll put together a scripted demo anyway, so that I can more
>clearly explain the issue.
>
>Jeff
>
>--- In 
><mailto:svg-developers%40yahoogroups.com>svg-developers@yahoogroups.com, 
>Erik Dahlström <[EMAIL PROTECTED]> wrote:
> >
> >
> >
> > On Tue, 25 Sep 2007 05:17:49 +0200, Jeff Schiller
> > <[EMAIL PROTECTED]> wrote:
> >
> > > David,
> > >
> > > Painter's Model: 
> <http://www.w3.org/TR/SVG11/render.html#PaintersModel>http://www.w3.org/TR/SVG11/render.html#PaintersModel
> > >
> > > I'm not sure, but I think you missed the key aspect here - think of
> > > the icons on a "carousel" that we're looking at on a horizontal
> > > elevation. This problem has to do with rendering order more than
> > > highlight and event handlers (though that is another interesting
>topic).
> > >
> > > Let's say you have 3 icons on the carousel - as it spins, icon 1
> > > (which is to the left of center) and icon 3 (which is to the right)
> > > are behind icon 2 (which is in front and center). As the carousel
> > > spins clockwise, icon 3 moves to the center and in front (i.e. "on
> > > top") of the others, while icon 2 is now to the left of center and
> > > behind icon 3.
> > >
> > > Do you see what I mean by z-order? Because the rendering order and
> > > overlapping is defined by the order in which the elements appear in
> > > the DOM, it seems that you couldn't declaratively do the animation
> > > (you'd have to have script to rearrange the nodes as the icons rotate
> > > - probably using two halves of the carousel circle as separate
> > > rendering groups with nodes being popped and pushed appropriately).
> >
> > Jeff,
> > Have you tried a solution that uses <use> elements for keeping the
>z-order
> > the way you want it?
> >
> > Simple example:
> > <rect id="a">
> > <set attributeName="xlink:href" to="#a" begin="mouseover"
> > xlink:href="#top"/>
> > </rect>
> > <rect id="b">
> > <set attributeName="xlink:href" to="#b" begin="mouseover"
> > xlink:href="#top"/>
> > </rect>
> > <rect id="c">
> > <set attributeName="xlink:href" to="#c" begin="mouseover"
> > xlink:href="#top"/>
> > </rect>
> > <use id="top" xlink:href="#a"/>
> >
> > I have been trying to find good solutions to the z-order problem as
>well,
> > moving elements around in the tree and expecting mouse events to
>cooperate
> > is quite hard in my experience. That is, if I want something to move
>to
> > front when I mouseover it, the only way I've found reliable is to use
> > scripting, because the instant I move an element to the top I get
>another
> > mouse event on whatever was under it (because moving it means take
>it out
> > of the tree, then inserting it somewhere else), and that makes the
>element
> > that I wanted to have focus lose it. So, I have to "block events"
>until
> > everything is in place.
> >
> > Cheers
> > /Erik
> >
> > --
> > Using Opera's revolutionary e-mail client: 
> <http://www.opera.com/mail>http://www.opera.com/mail
> >
>
>



-----
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click "edit my 
membership"
---- 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/svg-developers/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/svg-developers/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

Reply via email to