Manipulates a
FrameStack
to provide a slightly more
sophisticated semantics for EGL. Specifically, the
FrameStack
is manipulated as follows when a template
is to be executed:
- The client calls
prepareFrameStackFor(ExecutableTemplateSpecification)
which ensures that the global variables of the parent template
(if any) are accessible to the child, unless they are overwritten.
variables of its parent, unless they are overwritten. Note that
ExecutableTemplateSpecification.addVariablesTo(FrameStack)
is called at this point to initialise any template-specific
variables, such as out
(the template-specific
global output buffer variable).
- The
FrameStack
is now setup for the specified
template, and the client executes the template.
- The client calls
restoreFrameStackToPreviousState()
to restore the previous set of global variables to the
FrameStack
. Any global variables created for the
this template are cleared. The FrameStack
is now
setup for executing the parent template, which continues
to execute.