SMIL:Timing Model: Difference between revisions

Jump to navigation Jump to search
m
→‎nsSMILDocumentRoot: -- added links, formatting edits
m (→‎nsISMILTimeContainer: -- minor edits)
m (→‎nsSMILDocumentRoot: -- added links, formatting edits)
Line 29: Line 29:
== nsSMILDocumentRoot ==
== nsSMILDocumentRoot ==


This is where animations are registered. There will be one of these objects per SVG document '''fragment'''. There could be more than one document fragment per compound document and while  
This is where animations are registered. There will be one of these objects per SVG document '''fragment'''. There could be more than one document fragment per compound document and while it would not be possible to target elements in a different SVG document fragment for animation (SVG specifically prohibits this), my understanding of the SMIL Animation specification is that it would be possible to use to elements in other document fragments (and therefore potentially other namespaces) as syncbases, event bases and repeat bases. The [http://www.w3.org/TR/2001/REC-smil-animation-20010904/#Timing-SyncbaseValueSyntax SMIL Animation spec] simply says that the element must be part of the host document (and the [http://www.w3.org/TR/2001/REC-smil-animation-20010904/#Introduction definition of a host document] is just a document containing animation elements).


it would not be possible to target elements in a different SVG document fragment for animation (SVG specifically prohibits this), my understanding of the SMIL Animation specification is that it would be possible to refer to elements in other document fragments (and therefore potentially other namespaces) as syncbases, event bases and repeat bases. The SMIL Animation spec simply says that the element must be part of the host document (and the definition of host document is just a document containing animation elements).
This is also the object called by the root <tt>&lt;svg&gt;</tt> element of a document fragment to implement nsIDOMSVGSVGElement methods such as <tt>pauseAnimations</tt>, <tt>unpauseAnimations</tt>, <tt>animationsPaused</tt>, <tt>getCurrentTime</tt> and <tt>setCurrentTime</tt>. <tt>wallclockToDocumentTime()</tt> shouldn't really be part of the interface exposed by this object to, e.g. nsSVGSVGElements, as it's only used by timed elements using a wallclock time. This suggests two separate interfaces but for now it doesn't seem necessary to split them and probably one nsISMILDocumentRoot interface would do.
 
This is also the object called by the root <tt>&lt;svg&gt;</tt> element of a document fragment to implement nsIDOMSVGSVGElement methods such as pauseAnimations<tt>, <tt>unpauseAnimations</tt>, <tt>animationsPaused</tt>, <tt>getCurrentTime</tt>, <tt>setCurrentTime</tt>. <tt>wallclockToDocumentTime()</tt> shouldn't really be part of the interface exposed by this object to, e.g. nsSVGSVGElements, as it's only used by timed elements using a wallclock time. This suggests two separate interfaces but for now it doesn't seem necessary to split them and probably one nsISMILDocumentRoot interface would do.


The remainder of the timing model is nearly entirely the same as Schmitz's proposal.
The remainder of the timing model is nearly entirely the same as Schmitz's proposal.
Confirmed users
166

edits

Navigation menu