SMIL:Animation Model: Difference between revisions

Jump to navigation Jump to search
m
→‎nsSMILAnimationRegistry: -- fixed emphasis in list
m (→‎nsISMILComposable: -- fixed bad link)
m (→‎nsSMILAnimationRegistry: -- fixed emphasis in list)
Line 35: Line 35:
[http://www.ludicrum.org/plsWork/papers/BatikSMILsupport.htm Schmitz's design]. I've included it for three reasons.
[http://www.ludicrum.org/plsWork/papers/BatikSMILsupport.htm Schmitz's design]. I've included it for three reasons.


'''1. It simplifies registering for animation elements and the outermost SVG
'''1. It simplifies registering for animation elements and the outermost SVG element.''' One feature of [http://www.ludicrum.org/plsWork/papers/BatikSMILsupport.htm Schmitz's design] is the separation of the timing and animation model. However, with my
element.''' One feature of
[http://www.ludicrum.org/plsWork/papers/BatikSMILsupport.htm Schmitz's design]
is the separation of the timing and animation model. However, with my
implementation it is therefore necessary to register once with the time
implementation it is therefore necessary to register once with the time
container (responsible for the timing model) and once with the list of
container (responsible for the timing model) and once with the list of
Line 44: Line 41:
and needs to be performed not only by the <tt>&lt;animate&gt;</tt> element but also every other animation element we implement and the outermost <tt>&lt;svg&gt;</tt> element that owns the registries. To simplify all this I've tied the timing and animation model together with this one registry.
and needs to be performed not only by the <tt>&lt;animate&gt;</tt> element but also every other animation element we implement and the outermost <tt>&lt;svg&gt;</tt> element that owns the registries. To simplify all this I've tied the timing and animation model together with this one registry.


'''2. It allows per-sample operations to be performed at the appropriate
'''2. It allows per-sample operations to be performed at the appropriate time.''' [http://www.ludicrum.org/plsWork/papers/BatikSMILsupport.htm Schmitz's model] does not delve into integration issues such as suspending and
time.''' [http://www.ludicrum.org/plsWork/papers/BatikSMILsupport.htm Schmitz's model] does not delve into integration issues such as suspending and
unsuspending redrawing. This is of course a deliberate part of the design but at
unsuspending redrawing. This is of course a deliberate part of the design but at
some point the model must meet the real world and I've chosen to do that here
some point the model must meet the real world and I've chosen to do that here
Line 52: Line 48:
such as suspending and unsuspending redrawing can be performed.
such as suspending and unsuspending redrawing can be performed.


'''3. It allows the compositing to be controlled 'from above'.''' This is
'''3. It allows the compositing to be controlled 'from above'.''' This is probably the most significant deviation from
probably the most significant deviation from
[http://www.ludicrum.org/plsWork/papers/BatikSMILsupport.htm Schmitz's design]. In his design the timing and animation model are very elegantly kept at arm's
[http://www.ludicrum.org/plsWork/papers/BatikSMILsupport.htm Schmitz's design].
In his design the timing and animation model are very elegantly kept at arm's
length through the time client interface ([[SVGDev:Timing Model#nsISMILTimeClient|nsISMILTimeClient]] in my implementation). So how does the compositor
length through the time client interface ([[SVGDev:Timing Model#nsISMILTimeClient|nsISMILTimeClient]] in my implementation). So how does the compositor
know when to perform compositing? Well, the composable objects hand their
know when to perform compositing? Well, the composable objects hand their
Confirmed users
166

edits

Navigation menu