Hi Thomas, others.

I'm starting to implement animation.  At the moment I'm writing the
override style code so that the simple animations I have got so far will
work on this rather than modifying the computed style map directly.

What I'm wondering is how I should notify the CSSEngine that override
style map has changed so it can rerun the cascade.  In
SVGStylableElement I have a class OverrideStyleDeclaration, modelled
after SVGStylableElement.StyleDeclaration.  Each SVGStylableElement has
an object of this class which is returned from
SVGOMDocument.getOverrideStyle.  I think there are a couple of ways I
could notify the CSSEngine that the override style was modified.

  1. Make CSSEngine.invalidateProperties public and just call it
     directly.  This is all I need the CSSEngine to do, so it would be
     easy for me to call it from the OverrideStyleDeclaration
     {textChanged,propertyRemoved,propertyChanged} methods.

  2. When the the CSSEngine is associated with the SVGOMDocument it
     registers an event listener with the document which will get
     fired when any override stylesheet in that document is modified.
     Maintaining a list of listeners here seems a bit of waste though
     when the CSSEngine is going to be the only class interested in the
     events.

  3. Something I haven't thought of. :)

Any suggestions?  After typing my thoughts down I think 2 isn't such a
bad idea.

Also, in CSSEngine the "MainPropertyReciever" interface should be
"MainPropertyReceiver".  That interface's method also has a typo --
"setMainPoperty" should be "setMainProperty".

I'll submit a patch when I've finished the override style stuff (without
the animation support, which'll take a bit longer).

Cameron

-- 
Cameron McCormack
|  Web: http://mcc.id.au/
|  ICQ: 26955922

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to