<* PRAGMA LL *> INTERFACEClients should not instantiate anVertexSizeAnim ; IMPORT GraphVBT, R2; TYPE Animation = OBJECT METHODS size(t: REAL): R2.T END;
Animation directly; instead, they
should instantiate a subtype that overrides the size method.
The size method returns the width and height of a vertex as a function of
the time parameter t.
PROCEDURE Register(v: GraphVBT.Vertex; anim: Animation); <* LL = v.graph.mu *>
Register the animationanimon vertexv. On the next call tov.graph.animate(t0, t1), a series of callsv.setSize(anim.size(t))is made as an internal time parametertvaries betweent0andt1.
PROCEDURE Linear(v: GraphVBT.Vertex; newW, newH: REAL); <* LL = 0 *>
Register an animation that causes the size of vertexvto change linearly from its current size to the new size(newW, newH)on the next call tov.graph.animate(0.0, 1.0).
END VertexSizeAnim.