SMIL:Animation Model: Difference between revisions

Jump to navigation Jump to search
m
→‎nsSMILCompositor: -- formatting fixes
m (→‎nsSMILCompositor: -- formatting fixes)
Line 20: Line 20:


# All nsISMILComposable's provide their result to the compositor (<tt>composeResult()</tt>), and then the 'compositor' applies the necessary prioritisation and composition. This is the approach suggested by Schmitz (at least that's my understanding).<br/><br/>
# All nsISMILComposable's provide their result to the compositor (<tt>composeResult()</tt>), and then the 'compositor' applies the necessary prioritisation and composition. This is the approach suggested by Schmitz (at least that's my understanding).<br/><br/>
# The timing model ensures that elements are sampled in correct priority order (from lowest to highest), and then when each nsISMILComposable goes to provide its result to the compositor it first requests the base value from the compositor (<tt>getBaseValue</tt>) which will return the cumulative result of animations on this attribute for the current sample (or the attribute base value if not animations have targetted it yet in this sample). The 'composable' object then performs addition (if it is an additive animation) and provides its result back to the composable object.<br/><br/>The advantage of this second approach is that the compositor does not need to perform the actual addition, all this type-specific logic is concentrated in the composable object. Also, the compositor does not need to know if the composable object is additive.
# The timing model ensures that elements are sampled in correct priority order (from lowest to highest), and then when each nsISMILComposable goes to provide its result to the compositor it first requests the base value from the compositor (<tt>getBaseValue</tt>) which will return the cumulative result of animations on this attribute for the current sample (or the attribute base value if not animations have targetted it yet in this sample). The 'composable' object then performs addition (if it is an additive animation) and provides its result back to the composable object.<br/><br/>The advantage of this second approach is that the compositor does not need to perform the actual addition, all this type-specific logic is concentrated in the composable object. Also, the compositor does not need to know if the composable object is additive.<br/><br/>Relative values and to animation could still be supported through the same mechanism by simply causing the compositor to remember the order in which it received results from its children. Probably I'm overlooking something however. For a start, I'm not sure how hard it will be to get the timing model to sample elements in priority order.
 
Relative values and to animation could still be supported through the same mechanism by simply causing the compositor to remember the order in which it received results from its children. Probably I'm overlooking something however. For a start, I'm not sure how hard it will be to get the timing model to sample elements in priority order.


== nsISMILComposable ==
== nsISMILComposable ==
Confirmed users
166

edits

Navigation menu