David, Painter's Model: 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). Anyway, I guess scripting this is not the end of the world, just interesting that it's a situation that cannot be easily handled by animation in SVG. Regards, Jeff --- In svg-developers@yahoogroups.com, "ddailey" <[EMAIL PROTECTED]> wrote: > > Jeff Schiller wrote: > > >Think of some icons arranged on a "carousel", with an animation that > >would spin the carousel so that the closest icon to you is the > >"selected" icon. Is there any way to do this declaratively? > > >Seems like the z-order and painter's model poses a problem that > >requires scripting to fix, but I would love to be proven wrong... > > Hi Jeff, > > Let me see if I understand: suppose we synchronize the position in the carousel with another SMIL timer > (as in http://srufaculty.sru.edu/david.dailey/svg/newstuff/SMIL11.svg where activity is either started through SMIL or script) > but one that withdraws and reassigns event handlers. Then would your question be equivalent to the question of whether or not we can assign and withdraw event handlers through SMIL. I don't know why z-index would enter, and I don't know what you mean by "painter's model". > > By the "selected" icon I assume you don't just mean highlighted visually -- since that is pretty easy, if I understand what you mean (the above example withdraws or extends visibility declaratively) but rather enabled to listen for some sort of event. I think Doug Schepers has some similar examples. > > If I'm following the question then, I would think either trying something like > > <g id="icon" onfocus="demonstrateFocus()"> > <animate attributeName="onfocus" values="demonstrateFocus()">;null" dur="0.5" begin="synchronize.begin" fill="freeze"/> > </g> > > or > > <g id="icon"> > <set attributeName="onfocus" to="demonstrateFocus()">" begin="synchronize.begin" /> > </g> > > might do something like what you have in mind, though I rather doubt that the attributes "onclick" or "onfocus" or "onwhatever" are animateable. > > Does my thinking here have anything to do with the problem you're discussing? I hope so since it seems like an interesting problem. If "onclick" is not animateable, I suspect there is some gross real world reason that it isn't, cause it would seem like a nice thing to be able to do. > > David > > [Non-text portions of this message have been removed] > ----- 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/