<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!-- <!DOCTYPE Movie SYSTEM "dtd/RVML.dtd"> -->
<Movie version='6' width='600' height='600' rate='1' backgroundColor='white' compressed='No'
    xmlns="http://www.kineticfusion.org/RVML/2.0">
    <Title>
        Animate simple symbols on timeline
    </Title>
    <Desc>
        Illustrates the simple animation of Shape symbols. Places a symbol on the stage 
        and animates it in successive frames using the Alter element to define new Transform 
        elements. The difference in behavior when the origin of the shape is not at (0,0) 
        is illustrated using two different shape symbols. All transformation stages are 
        annotated using a dynamic EditField symbol.
    </Desc>
    <Definitions>
        <!-- Font for the Header text -->
        <FontDefinition id='Arial' fontName='Arial' fontStyle="(bold)" fontRange='defined' />
        <!-- Symbol for the  Header text -->
        <EditField id='headingField' bounds='bounds(-2.0, -2.0, 400.0, 16.0)' 
            fieldName='heading' fontID='Arial' fontSize='12.0' alignment='centre' 
            charLimit='0' color='navy' properties='(systemFont)' />

        <!-- Box shape to play around with -->
        <Shape id='Box' bounds="auto">
            <LineStyles>
                <LineStyle index="1" width="1" color="red"/>
            </LineStyles>
            <FillStyles>
                <ColorFill index="1" color="Blue"/>
            </FillStyles>
            <Edges>
                <SetStyle line="1" mainFill="1"/>
                <Rect x="100" y="100" width="100" height="100"/>
            </Edges>
        </Shape>
        <!-- Box shape to play around with -->
        <Shape id='BoxOrigin' bounds="auto">
            <LineStyles>
                <LineStyle index="1" width="1" color="red"/>
            </LineStyles>
            <FillStyles>
                <ColorFill index="1" color="Blue"/>
            </FillStyles>
            <Edges>
                <SetStyle line="1" mainFill="1"/>
                <Rect x="0" y="0" width="100" height="100"/>
            </Edges>
        </Shape>
    </Definitions>
        <Timeline>
        <!-- animate Box shape with origin at 100, 100 -->
        <Frame >
            <Place name="Box" depth="1">
            </Place>
            <Place name="headingField" depth="2"/>
            <FrameActions><![CDATA[
    heading="Initial Box placement";
    ]]></FrameActions>
        </Frame>
        <Frame>
            <Alter name="Box" depth="1">
                <Transform translateX="200"/>
            </Alter>
            <FrameActions><![CDATA[
    heading="TranslateX=200";
    ]]></FrameActions>
        </Frame>
        <Frame>
            <Alter name="Box" depth="1">
                <Transform translateX="200" translateY="200"/>
            </Alter>
            <FrameActions><![CDATA[
    heading="TranslateX=200 TranslateY=200";
    ]]></FrameActions>
        </Frame>
        <Frame>
            <Alter name="Box" depth="1">
                <Transform rotateX="45" translateX="200" translateY="200"/>
            </Alter>
            <FrameActions><![CDATA[
    heading="TranslateX=200 TranslateY=200 RotateX=45";
    ]]></FrameActions>
        </Frame>
        <Frame>
            <Alter name="Box" depth="1">
                <Transform rotateY="45" translateX="200" translateY="200"/>
            </Alter>
            <FrameActions><![CDATA[
    heading="TranslateX=200 TranslateY=200 RotateY=45";
    ]]></FrameActions>
        </Frame>
        <Frame>
            <Alter name="Box" depth="1">
                <Transform rotateX="45" rotateY="45" translateX="200" translateY="200"/>
            </Alter>
            <FrameActions><![CDATA[
    heading="TranslateX=200 TranslateY=200 RotateX=45 RotateY=45";
    ]]></FrameActions>
        </Frame>
        <Frame>
            <Alter name="Box" depth="1">
                <Transform scaleX="2"/>
            </Alter>
            <FrameActions><![CDATA[
    heading="ScaleX=2";
    ]]></FrameActions>
        </Frame>
        <Frame>
            <Alter name="Box" depth="1">
                <Transform scaleY="2"/>
            </Alter>
            <FrameActions><![CDATA[
    heading="ScaleY=2";
    ]]></FrameActions>
        </Frame>
        <Frame>
            <Alter name="Box" depth="1">
                <Transform scaleX="2" scaleY="2"/>
            </Alter>
            <FrameActions><![CDATA[
    heading="ScaleX=2 ScaleY=2";
    ]]></FrameActions>
        </Frame>


        <!-- animate BoxOrigin shape with origin at 0, 0 -->
        <Frame >
            <Replace name="BoxOrigin" depth="1">
                <Transform />
            </Replace>
            <FrameActions><![CDATA[
    heading="Initial BoxOrigin placement";
    ]]></FrameActions>
        </Frame>
        <Frame>
            <Alter name="BoxOrigin" depth="1">
                <Transform translateX="200"/>
            </Alter>
            <FrameActions><![CDATA[
    heading="TranslateX=200";
    ]]></FrameActions>
        </Frame>
        <Frame>
            <Alter name="BoxOrigin" depth="1">
                <Transform translateX="200" translateY="200"/>
            </Alter>
            <FrameActions><![CDATA[
    heading="TranslateX=200 TranslateY=200";
    ]]></FrameActions>
        </Frame>
        <Frame>
            <Alter name="BoxOrigin" depth="1">
                <Transform rotateX="45" translateX="200" translateY="200"/>
            </Alter>
            <FrameActions><![CDATA[
    heading="TranslateX=200 TranslateY=200 RotateX=45";
    ]]></FrameActions>
        </Frame>
        <Frame>
            <Alter name="BoxOrigin" depth="1">
                <Transform rotateY="45" translateX="200" translateY="200"/>
            </Alter>
            <FrameActions><![CDATA[
    heading="TranslateX=200 TranslateY=200 RotateY=45";
    ]]></FrameActions>
        </Frame>
        <Frame>
            <Alter name="BoxOrigin" depth="1">
                <Transform rotateX="45" rotateY="45" translateX="200" translateY="200"/>
            </Alter>
            <FrameActions><![CDATA[
    heading="TranslateX=200 TranslateY=200 RotateX=45 RotateY=45";
    ]]></FrameActions>
        </Frame>
        <Frame>
            <Alter name="BoxOrigin" depth="1">
                <Transform scaleX="2"/>
            </Alter>
            <FrameActions><![CDATA[
    heading="ScaleX=2";
    ]]></FrameActions>
        </Frame>
        <Frame>
            <Alter name="BoxOrigin" depth="1">
                <Transform scaleY="2"/>
            </Alter>
            <FrameActions><![CDATA[
    heading="ScaleY=2";
    ]]></FrameActions>
        </Frame>
        <Frame>
            <Alter name="BoxOrigin" depth="1">
                <Transform scaleX="2" scaleY="2"/>
            </Alter>
            <FrameActions><![CDATA[
    heading="ScaleX=2 ScaleY=2";
    ]]></FrameActions>
        </Frame>
    </Timeline>
</Movie>