3.7.2 Shape Animation Example

Office

This example explains the timing tree of the shape animations for the green square on presentation slide 3 as shown in figure titled "Presentation slide 3" in section 3.1. The effects include a fly-in animation effect, a spin animation effect, and a sink-down animation effect. These three animation effects are triggered one after the other by successive mouse clicks.

The timing tree of the shape animation is found inside the PP2.5.24SlideBinaryTagExtension record. For example, the ExtTimeNodeContainer (section 2.8.15) record D from the table titled "SlideProgTagsContainer child-record hierarchy" in section 3.6.2 is the root of the timing tree for presentation slide 2. The ExtTimeNodeContainer record shown expanded in the following table is similarly the root of the timing tree for presentation slide 3.

Offset

Size

Structure

Value

00006C0E

0E38

ExtTimeNodeContainer - extTimeNodeContainer

00006C0E

0008

    RecordHeader - rh

00006C16

0028

    A: TimeNodeAtom - timeNodeAtom

00006C3E

0015

    TimePropertyList4TimeNodeContainer - timePropertyList

00006C3E

0008

        RecordHeader - rh

00006C46

000D

        TimeVariant4TimeNode - rec

00006C46

000D

            TimeEffectNodeType - case of TL_TPID_EffectNodeType

00006C46

000D

                TimeVariantInt - effectNodeType0

00006C46

0008

                    RecordHeader - rh

00006C4E

0001

                    TimeVariantTypeEnum - type

0x01

00006C4F

0004

                    signed integer - effectNodeType

0x00000009

00006C53

0DF3

    B: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

Figure 99: First-level ExtTimeNodeContainer child-record hierarchy

timePropertyList.rec.case of TL_TPID_EffectNodeType.effectNodeType0.effectNodeType: 0x00000009 specifies that this time node is the root of the timing tree.

The TimeNodeAtom record A is similar to the TimeNodeAtom record, as specified in the table titled "TimeNodeAtom record A child-record hierarchy" in section 3.7.1.

The child-record hierarchy of the ExtTimeNodeContainer record B from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

00006C53

0DF3

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

00006C53

0008

    RecordHeader - rh

00006C5B

0028

    A: TimeNodeAtom - timeNodeAtom

00006C83

0015

    TimePropertyList4TimeNodeContainer - timePropertyList

00006C83

0008

        RecordHeader - rh

00006C8B

000D

        TimeEffectNodeType - case of TL_TPID_EffectNodeType

00006C8B

0008

            RecordHeader - rh

00006C93

0001

            TimeVariantTypeEnum - type

0x01

00006C94

0004

            signed integer - effectNodeType

0x00000004

00006C98

001C

    B: TimeSequenceDataAtom - timeSequenceDataAtom

00006CB4

0034

    C: TimeConditionContainer - timeCondition

00006CE8

0034

    D: TimeConditionContainer - timeCondition

00006D1C

0483

    E: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

0000719F

022E

    F: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

000073CD

0679

    G: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

Figure 100: Second-level ExtTimeNodeContainer child-record hierarchy

As a second-level time node, the ExtTimeNodeContainer record shown in the preceding table serves a similar purpose in the timing tree as does the ExtTimeNodeContainer record shown in the table titled "Second-level ExtTimeNodeContainer child-record hierarchy" in this section. Consequently many of the child-records are likewise similar. The TimeNodeAtom record A specifies the timing attributes of this time node and is similar to the TimeNodeAtom record, as specified in the table titled "TimeNodeAtom record A child-record hierarchy in the second-level ExtTimeNodeContainer" in section 3.7.1. The TimeSequenceDataAtom record B specifies how to activate the child time nodes E, F, and G, sequentially and is similar to the TimeSequenceDataAtom record, as specified in the table titled "TimeSequenceDataAtom record B child-record hierarchy" in section 3.7.1. The TimeConditionContainer (section 2.8.75) record C specifies the time condition to activate the next child time node and is similar to the TimeConditionContainer record, as specified in the table titled "TimeConditionContainer record C child-record hierarchy in the second-level ExtTimeNodeContainer" in section 3.7.1. The TimeConditionContainer record D specifies the time condition required to activate the previous child time node and is similar to the TimeConditionContainer record as specified in the table titled "TimeConditionContainer record D child-record hierarchy in the second-level ExtTimeNodeContainer" in section 3.7.1.

timePropertyList.case of TL_TPID_EffectNodeType.effectNodeType: 0x00000004 specifies that this time node is the main sequential time node.

The child-record hierarchy of the ExtTimeNodeContainer record E from the previous table is shown expanded in the following table. This time node contains the fly-in animation.

Offset

Size

Structure

Value

00006D1C

0483

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

00006D1C

0008

    RecordHeader - rh

00006D24

0028

    A: TimeNodeAtom - timeNodeAtom

00006D4C

0008

    B: TimePropertyList4TimeNodeContainer - timePropertyList

00006D4C

0008

        RecordHeader - rh

00006D54

0020

    C: TimeConditionContainer - timeCondition

00006D54

0008

        RecordHeader - rh

00006D5C

0018

        TimeConditionAtom - conditionAtom

00006D5C

0008

            RecordHeader - rh

00006D64

0004

            TriggerObjectEnum - triggerObject

0x00000000

00006D68

0004

            unsigned integer - triggerEvent

0x00000000

00006D6C

0004

            unsigned integer - id

0x00000000

00006D70

0004

            signed integer - delay

0xFFFFFFFF

00006D74

042B

    D: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

Figure 101: Third-level ExtTimeNodeContainer child-record hierarchy

The TimeNodeAtom record A specifies the timing attributes of this time node and is similar to the TimeNodeAtom record, as specified in the table titled "TimeNodeAtom record A child-record hierarchy in the third-level ExtTimeNodeContainer" in section 3.7.1. The TimePropertyList4TimeNodeContainer (section 2.8.18) record B is an empty list.

The value of the conditionAtom.delay field in the TimeConditionContainer record C is 0xFFFFFFFF, which specifies an infinite value and implies that no delay is defined. The value of the conditionAtom.triggerObject field and the value of the conditionAtom.triggerEvent field in the TimeConditionContainer record C are both 0x00000000, which specifies no time condition for this time node and implies that the evaluation of the time condition always returns true.

The child-record hierarchy of the ExtTimeNodeContainer record D from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

00006D74

042B

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

00006D74

0008

    RecordHeader - rh

00006D7C

0028

    A: TimeNodeAtom - timeNodeAtom

00006DA4

0008

    TimePropertyList4TimeNodeContainer - timePropertyList

00006DA4

0008

        RecordHeader - rh

00006DAC

0020

    TimeConditionContainer - timeCondition

00006DAC

0008

        RecordHeader - rh

00006DB4

0018

        TimeConditionAtom - conditionAtom

00006DB4

0008

            RecordHeader - rh

00006DBC

0004

            TriggerObjectEnum - triggerObject

0x00000000

00006DC0

0004

            unsigned integer - triggerEvent

0x00000000

00006DC4

0004

            unsigned integer - id

0x00000000

00006DC8

0004

            signed integer - delay

0x00000000

00006DCC

03D3

    B: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

Figure 102: Fourth-level ExtTimeNodeContainer child-record hierarchy

The TimeNodeAtom record A is similar to the TimeNodeAtom record A, as specified in the table titled "TimeNodeAtom record A child-record hierarchy in the fourth-level ExtTimeNodeContainer" in section 3.7.1.

The child-record hierarchy of the ExtTimeNodeContainer record B from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

00006DCC

03D3

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

00006DCC

0008

    RecordHeader - rh

00006DD4

0028

    A: TimeNodeAtom - timeNodeAtom

00006DFC

0049

    B: TimePropertyList4TimeNodeContainer - timePropertyList

00006E45

0020

    TimeConditionContainer - timeCondition

00006E45

0008

        RecordHeader - rh

00006E4D

0018

        TimeConditionAtom - conditionAtom

00006E4D

0008

            RecordHeader - rh

00006E55

0004

            TriggerObjectEnum - triggerObject

0x00000000

00006E59

0004

            unsigned integer - triggerEvent

0x00000000

00006E5D

0004

            unsigned integer - id

0x00000000

00006E61

0004

            signed integer - delay

0x00000000

00006E65

0100

    C: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

00006F65

0119

    D: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

0000707E

0121

    E: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

Figure 103: Fifth-level ExtTimeNodeContainer child-record hierarchy

The ExtTimeNodeContainer record C contains a set behavior, while the ExtTimeNodeContainer records D and E contain two generic animations. These three animation behaviors form the fly-in animation that is triggered by the first mouse click.

The child-record hierarchy of the TimeNodeAtom record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

00006DD4

0028

A: TimeNodeAtom - timeNodeAtom

00006DD4

0008

    RecordHeader - rh

00006DDC

0004

    unsigned integer - reserved1

0x00000000

00006DE0

0004

    unsigned integer - restart

0x00000000

00006DE4

0004

    TimeNodeTypeEnum - type

0x00000000

00006DE8

0004

    unsigned integer - fill

0x00000003

00006DEC

0004

    signed integer - reserved2

0x00000000

00006DF0

0001

    unsigned integer - reserved3

0x00

00006DF4

0004

    signed integer - duration

0x00000000

00006DF8

1 bit

    bit - fFillProperty

0x1

00006DF8

1 bit

    bit - fRestartProperty

0x0

00006DF8

1 bit

    bit - reserved4

0x0

00006DF8

1 bit

    bit - fGroupingTypeProperty

0x0

00006DF8

1 bit

    bit - fDurationProperty

0x0

00006DF8

27 bits

    unsigned integer - reserved5

0x0000000

Figure 104: TimeNodeAtom record A child-record hierarchy in the fifth-level ExtTimeNodeContainer

fill: 0x00000003 specifies that the properties remain at their ending values while the parent time node at the fourth level is still running or holding.

duration: 0x00000000 specifies that the duration of this time node depends on its child nodes.

The child-record hierarchy of the TimePropertyList2.8.18TimeNodeContainer record B from the first table titled "Fifth-level ExtTimeNodeContainer child-record hierarchy" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

00006DFC

0049

B: TimePropertyList4TimeNodeContainer - timePropertyList

00006DFC

0008

    RecordHeader - rh

00006E04

000D

    TimeEffectNodeType - case of TL_TPID_EffectNodeType

00006E04

0008

        RecordHeader - rh

00006E0C

0001

        TimeVariantTypeEnum - type

0x01

00006E0D

0004

        signed integer - effectNodeType

0x00000001

00006E11

000D

    TimeEffectID - case of TL_TPID_EffectID

00006E11

0008

        RecordHeader - rh

00006E19

0001

        TimeVariantTypeEnum - type

0x01

00006E1A

0004

        signed integer - effectID

0x00000002

00006E1E

000D

    TimeVariantInt - case of TL_TPID_EffectDir

00006E26

0001

        TimeVariantTypeEnum - type

0x01

00006E27

0004

        signed integer - intValue

0x00000004

00006E2B

000D

    TimeEffectType - case of TL_TPID_EffectType

00006E2B

0008

        RecordHeader - rh

00006E33

0001

        TimeVariantTypeEnum - type

0x01

00006E34

0004

        signed integer - effectType

0x00000001

00006E38

000D

    TimeGroupID - case of TL_TPID_GroupID

00006E38

0008

        RecordHeader - rh

00006E40

0001

        TimeVariantTypeEnum - type

0x01

00006E41

0004

        signed integer - groupID

0x00000001

Figure 105: Child-record hierarchy of TimePropertyList4TimeNodeContainer in the fifth-level ExtTimeNodeContainer

case of TL_TPID_EffectNodeType.effectNodeType: 0x00000001 specifies that this time node is for a click effect.

case of TL_TPID_EffectID.effectID: 0x00000002 specifies the identifier of the fly-in animation effect.

case of TL_TPID_EffectDir.intValue: 0x00000004 specifies that the direction of the fly-in animation is from bottom up.

case of TL_TPID_EffectType.effectType: 0x00000001 specifies that the fly-in animation is an entrance effect.

case of TL_TPID_GroupID.groupID: 0x00000001 specifies the build identifier of the fly-in animation.

The child-record hierarchy of the ExtTimeNodeContainer record C from the first table titled "Fifth-level ExtTimeNodeContainer child-record hierarchy" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

00006E65

0100

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

00006E65

0008

    RecordHeader - rh

00006E6D

0028

    A: TimeNodeAtom - timeNodeAtom

00006E95

0008

    TimePropertyList4TimeNodeContainer - timePropertyList

00006E95

0008

        RecordHeader - rh

00006E9D

00A8

    B: TimeSetBehaviorContainer - timeSetBehavior

00006F45

0020

    TimeConditionContainer - timeCondition

00006F45

0008

        RecordHeader - rh

00006F4D

0018

        TimeConditionAtom - conditionAtom

00006F4D

0008

            RecordHeader - rh

00006F55

0004

            TriggerObjectEnum - triggerObject

0x00000000

00006F59

0004

            unsigned integer - triggerEvent

0x00000000

00006F5D

0004

            unsigned integer - id

0x00000000

00006F61

0004

            signed integer - delay

0x00000000

Figure 106: The first sixth-level ExtTimeNodeContainer child-record hierarchy

This time node contains a set behavior that sets the "style.visibility" property of the shape to "visible", to make the shape visible in the slide show. It is very similar to the time node specified in the table titled "Sixth-level ExtTimeNodeContainer child-record hierarchy" in section 3.7.1. The TimeNodeAtom record A is similar to the TimeNodeAtom record specified in the table titled "TimeNodeAtom record A child-record hierarchy in the sixth-level ExtTimeNodeContainer" in section 3.7.1, while the TimeSetBehaviorContainer (section 2.8.69) record B is similar to the TimeSetBehaviorContainer specified in the table titled "Child-record hierarchy of TimeSetBehaviorContainer in the sixth-level ExtTimeNodeContainer" in section 3.7.1. The timePropertyList field is an empty list, and the timeCondition field specifies that the evaluation of the time condition always returns true.

The child-record hierarchy of the ExtTimeNodeContainer record D from the first table titled "Fifth-level ExtTimeNodeContainer child-record hierarchy" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

00006F65

0119

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

00006F65

0008

    RecordHeader - rh

00006F6D

0028

    TimeNodeAtom - timeNodeAtom

00006F6D

0008

        RecordHeader - rh

00006F75

0004

        unsigned integer - reserved1

0x00000000

00006F79

0004

        unsigned integer - restart

0x00000000

00006F7D

0004

        TimeNodeTypeEnum - type

0x00000003

00006F81

0004

        unsigned integer - fill

0x00000003

00006F85

0004

        signed integer - reserved2

0x00000000

00006F89

0001

        unsigned integer - reserved3

0x00

00006F8D

0004

        signed integer - duration

0x000001F4

00006F91

1 bit

        bit - fFillProperty

0x1

00006F91

1 bit

        bit - fRestartProperty

0x0

00006F91

1 bit

        bit - reserved4

0x0

00006F91

1 bit

        bit - fGroupingTypeProperty

0x1

00006F91

1 bit

        bit - fDurationProperty

0x1

00006F91

27 bits

        unsigned integer - reserved5

0x0000000

00006F95

0008

    TimePropertyList4TimeNodeContainer - timePropertyList

00006F95

0008

        RecordHeader - rh

00006F9D

00E1

    A: TimeAnimateBehaviorContainer - timeAnimateBehavior

Figure 107: The second sixth-level ExtTimeNodeContainer child-record hierarchy

This time node contains a generic behavior that animates the position of the shape in the horizontal axis.

timeNodeAtom.type: 0x00000003 specifies that this time node is a behavior time node that contains a behavior.

timeNodeAtom.fill: 0x00000003 specifies that the properties remain at their ending values while the parent time node at the fourth level is still running or holding.

timeNodeAtom.duration: 0x000001F4 specifies that the duration of this time node is 0.5 seconds.

The child-record hierarchy of the TimeAnimateBehaviorContainer (section 2.8.29) record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

00006F9D

00E1

TimeAnimateBehaviorContainer - timeAnimateBehavior

00006F9D

0008

    RecordHeader - rh

00006FA5

0014

    TimeAnimateBehaviorAtom - animateBehaviorAtom

00006FA5

0008

        RecordHeader - rh

00006FAD

0004

        unsigned integer - calcMode

0x00000001

00006FB1

1 bit

        bit - fByPropertyUsed

0x0

00006FB1

1 bit

        bit - fFromPropertyUsed

0x0

00006FB1

1 bit

        bit - fToPropertyUsed

0x0

00006FB1

1 bit

        bit - fCalcModePropertyUsed

0x1

00006FB1

1 bit

        bit - fAnimationValuesPropertyUsed

0x1

00006FB1

1 bit

        bit - fValueTypePropertyUsed

0x1

00006FB1

26 bits

        unsigned integer - reserved

0x0000000

00006FB5

0004

        TimeAnimateBehaviorValueTypeEnum - valueType

0x00000001

00006FB9

0064

    A: TimeAnimationValueListContainer - animateValueList

0000701D

0061

    B: TimeBehaviorContainer - behavior

Figure 108: TimeAnimateBehaviorContainer child-record hierarchy in the sixth-level ExtTimeNodeContainer

animateBehaviorAtom.calcMode: 0x00000001 specifies that the animated value of the property is calculated by linear interpolation.

animateBehaviorAtom.valueType: 0x00000001 specifies that the property value is a number.

The child-record hierarchy of the TimeAnimationValueListContainer (section 2.8.31) record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

00006FB9

0064

TimeAnimationValueListContainer - animateValueList

00006FB9

0008

    RecordHeader - rh

00006FC1

002E

    A: TimeAnimationValueListEntry - timeAnimValueListEntry[0]

00006FC1

000C

        TimeAnimationValueAtom - timeAnimationValueAtom

00006FC1

0008

            RecordHeader - rh

00006FC9

0004

            signed integer - time

0x00000000

00006FCD

0017

        TimeVariantString - case of TL_TVT_String

00006FCD

0008

            RecordHeader - rh

00006FD5

0001

            TimeVariantTypeEnum - type

0x03

00006FD6

000E

            array of bytes - stringValue

#ppt_x

00006FE4

000B

        TimeVariantString - varFormula

00006FE4

0008

            RecordHeader - rh

00006FEC

0001

            TimeVariantTypeEnum - type

0x03

00006FED

0002

            array of bytes - stringValue

00006FEF

002E

    B: TimeAnimationValueListEntry - timeAnimValueListEntry[1]

00006FEF

000C

        TimeAnimationValueAtom - timeAnimationValueAtom

00006FEF

0008

            RecordHeader - rh

00006FF7

0004

            signed integer - time

0x000003E8

00006FFB

0017

        TimeVariantString - case of TL_TVT_String

00006FFB

0008

            RecordHeader - rh

00007003

0001

            TimeVariantTypeEnum - type

0x03

00007004

000E

            array of bytes - stringValue

#ppt_x

00007012

000B

        TimeVariantString - varFormula

00007012

0008

            RecordHeader - rh

0000701A

0001

            TimeVariantTypeEnum - type

0x03

0000701B

0002

            array of bytes - stringValue

Figure 109: TimeAnimationValueListContainer child-record hierarchy

The TimeAnimationValueListContainer record specifies two key points of the animation. The TimeAnimationValueListEntry record A specifies the beginning point, while the TimeAnimationValueListEntry record B specifies the endpoint.

timeAnimValueListEntry[0].timeAnimationValueAtom.time: 0x00000000 specifies that the first key point is the starting point of the animation.

timeAnimValueListEntry[0].case of TL_TVT_String.stringValue: "#ppt_x" specifies the formula that is used to calculate the property value at time 0x00000000. The value of this formula is the original value of the position of the shape on the horizontal axis.

timeAnimValueListEntry[1].timeAnimationValueAtom.time: 0x000003E8 specifies that the second key point is the endpoint of the animation.

timeAnimValueListEntry[1].case of TL_TVT_String.stringValue: "#ppt_x" specifies the formula that is used to calculate the property value at time 0x000003E8. The value of this formula is the original value of the position of the shape on the horizontal axis.

Because the values at the two key points are identical and equal to the original value of the position on the horizontal axis, the shape does not change its position on the horizontal axis during the fly-in animation.

The child-record hierarchy of the TimeBehaviorContainer (section 2.8.34) record B from the first table titled "TimeAnimateBehaviorContainer child-record hierarchy in the sixth-level ExtTimeNodeContainer" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

0000701D

0061

TimeBehaviorContainer - behavior

0000701D

0008

    RecordHeader - rh

00007025

0018

    A: TimeBehaviorAtom - behaviorAtom

0000703D

001D

    B: TimeStringListContainer - stringList

0000703D

0008

        RecordHeader - rh

00007045

0015

        TimeVariantString - string

00007045

0008

            RecordHeader - rh

0000704D

0001

            TimeVariantTypeEnum - type

0x03

0000704E

000C

            array of bytes - stringValue

ppt_x

0000705A

0024

    C: ClientVisualElementContainer - clientVisualElement

0000705A

0008

        RecordHeader - rh

00007062

001C

        VisualElementAtom - visualElementAtom

00007062

001C

            VisualShapeOrSoundAtom - case of RT_VisualShapeAtom

00007062

001C

                VisualShapeAtom - case of TL_ET_ShapeType

00007062

001C

                    VisualShapeGeneralAtom - default_case

00007062

0008

                        RecordHeader - rh

0000706A

0004

                        TimeVisualElementEnum - type

0x00000000

0000706E

0004

                        ElementTypeEnum - refType

0x00000001

00007072

0004

                        unsigned integer - shapeIdRef

0x00001404

00007076

0004

                        signed integer - data1

0xFFFFFFFF

0000707A

0004

                        signed integer - data2

0xFFFFFFFF

Figure 110: TimeBehaviorContainer child-record hierarchy

The  TimeStringListContainer (section 2.8.36) record B specifies the properties to be animated.

stringList.string.stringValue: "ppt_x" specifies that the property to be animated is the position of the shape on the horizontal axis.

clientVisualElement.visualElementAtom.case of RT_VisualShapeAtom.case of TL_ET_ShapeType.default_case.type: 0x00000000 specifies that the animation is applied to the shape.

clientVisualElement.visualElementAtom.case of RT_VisualShapeAtom.case of TL_ET_ShapeType.default_case.refType: 0x00000001 specifies that the animation target is the shape.

clientVisualElement.visualElementAtom.case of RT_VisualShapeAtom.case of TL_ET_ShapeType.default_case.shapeIdRef: 0x00001404 specifies the shape identifier of the target shape.

The child-record hierarchy of the TimeBehaviorAtom record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

00007025

0018

A: TimeBehaviorAtom - behaviorAtom

00007025

0008

    RecordHeader - rh

00007025

1 bit

    bit - fAdditivePropertyUsed

0x1

00007025

1 bit

    bit - reserved1

0x0

00007025

1 bit

    bit - fAttributeNamesPropertyUsed

0x1

00007025

1 bit

    bit - reserved2

0x0

00007025

28 bits

    unsigned integer - reserved3

0x0000000

00007031

0004

    unsigned integer - behaviorAdditive

0x00000000

00007035

0004

    signed integer - behaviorAccumulate

0x00000000

00007039

0004

    signed integer - behaviorTransform

0x00000000

Figure 111: TimeBehaviorAtom record A child-record hierarchy

behaviorAdditive: 0x00000000 specifies that the animated value replaces the original value of the property being animated.

behaviorAccumulate: 0x00000000 specifies that no accumulation between repeating animations occurs.

behaviorTransform: 0x00000000 specifies that the animation animates a property of the target object.

The child-record hierarchy of the ExtTimeNodeContainer record E from the first table titled "Fifth-level ExtTimeNodeContainer child-record hierarchy" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

0000707E

0121

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

0000707E

0008

    RecordHeader - rh

00007086

0028

    TimeNodeAtom - timeNodeAtom

00007086

0008

        RecordHeader - rh

0000708E

0004

        unsigned integer - reserved1

0x00000000

00007092

0004

        unsigned integer - restart

0x00000000

00007096

0004

        TimeNodeTypeEnum - type

0x00000003

0000709A

0004

        unsigned integer - fill

0x00000003

0000709E

0004

        signed integer - reserved2

0x00000000

000070A2

0001

        unsigned integer - reserved3

0x00

000070A6

0004

        signed integer - duration

0x000001F4

000070AA

1 bit

        bit - fFillProperty

0x1

000070AA

1 bit

        bit - fRestartProperty

0x0

000070AA

1 bit

        bit - reserved4

0x0

000070AA

1 bit

        bit - fGroupingTypeProperty

0x1

000070AA

1 bit

        bit - fDurationProperty

0x1

000070AA

27 bits

        unsigned integer - reserved5

0x0000000

000070AE

0008

    TimePropertyList4TimeNodeContainer - timePropertyList

000070AE

0008

        RecordHeader - rh

000070B6

00E9

    A: TimeAnimateBehaviorContainer - timeAnimateBehavior

Figure 112: The third sixth-level ExtTimeNodeContainer child-record hierarchy

This time node contains a generic behavior that animates the position of the shape on the vertical axis.

timeNodeAtom.duration: 0x000001F4 specifies that the duration of this time node is 0.5 seconds.

The child-record hierarchy of the TimeAnimateBehaviorContainer (section 2.8.29) record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

000070B6

00E9

TimeAnimateBehaviorContainer - timeAnimateBehavior

000070B6

0008

    RecordHeader - rh

000070BE

0014

    TimeAnimateBehaviorAtom - animateBehaviorAtom

000070BE

0008

        RecordHeader - rh

000070C6

0004

        unsigned integer - calcMode

0x00000001

000070CA

0004

        unsigned integer - fByPropertyUsed

0x00000000

000070CA

0004

        unsigned integer - fFromPropertyUsed

0x00000000

000070CA

0004

        unsigned integer - fToPropertyUsed

0x00000000

000070CA

0004

        unsigned integer - fCalcModePropertyUsed

0x00000001

000070CA

0004

        unsigned integer - fAnimationValuesPropertyUsed

0x00000001

000070CA

0004

        unsigned integer - fValueTypePropertyUsed

0x00000001

000070CA

0004

        unsigned integer - reserved

0x00000000

000070CE

0004

        TimeAnimateBehaviorValueTypeEnum - valueType

0x00000001

000070D2

006C

    A: TimeAnimationValueListContainer - animateValueList

0000713E

0061

    B: TimeBehaviorContainer - behavior

Figure 113: TimeAnimateBehaviorContainer child-record hierarchy in the sixth-level ExtTimeNodeContainer

animateBehaviorAtom.calcMode: 0x00000001 specifies that the animated value of the property is calculated by linear interpolation.

animateBehaviorAtom.valueType: 0x00000001 specifies that the property value is a number.

The child-record hierarchy of the TimeAnimationValueListContainer record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

000070D2

006C

TimeAnimationValueListContainer - animateValueList

000070D2

0008

    RecordHeader - rh

000070DA

0036

    A: TimeAnimationValueListEntry - timeAnimValueListEntry[0]

000070DA

000C

        TimeAnimationValueAtom - timeAnimationValueAtom

000070DA

0008

            RecordHeader - rh

000070E2

0004

            signed integer - time

0x00000000

000070E6

001F

        TimeVariantString - case of TL_TVT_String

000070E6

0008

            RecordHeader - rh

000070EE

0001

            TimeVariantTypeEnum - type

0x03

000070EF

0016

            array of bytes - stringValue

1+#ppt_h/2

00007105

000B

        TimeVariantString - varFormula

00007105

0008

            RecordHeader - rh

0000710D

0001

            TimeVariantTypeEnum - type

0x03

0000710E

0002

            array of bytes - stringValue

00007110

002E

    B: TimeAnimationValueListEntry - timeAnimValueListEntry[1]

00007110

000C

        TimeAnimationValueAtom - timeAnimationValueAtom

00007110

0008

            RecordHeader - rh

00007118

0004

            signed integer - time

0x000003E8

0000711C

0017

        TimeVariantString - case of TL_TVT_String

0000711C

0008

            RecordHeader - rh

00007124

0001

            TimeVariantTypeEnum - type

0x03

00007125

000E

            array of bytes - stringValue

#ppt_y

00007133

000B

        TimeVariantString - varFormula

00007133

0008

            RecordHeader - rh

0000713B

0001

            TimeVariantTypeEnum - type

0x03

0000713C

0002

            array of bytes - stringValue

Figure 114: Child-record hierarchy of TimeAnimationValueListContainer

The TimeAnimationValueListContainer record specifies two key points of the animation. The TimeAnimationValueListEntry record A specifies the starting point, while the TimeAnimationValueListEntry record B specifies the endpoint.

timeAnimValueListEntry[0].timeAnimationValueAtom.time: 0x00000000 specifies that the first key point is the starting point of the animation.

timeAnimValueListEntry[0].case of TL_TVT_String.stringValue: "1+#ppt_h/2" specifies the formula that is used to calculate the property value at time 0x00000000. The value of this formula is the position that is just under the bottom of the slide show, which makes the shape hidden.

timeAnimValueListEntry[1].timeAnimationValueAtom.time: 0x000003E8 specifies that the second key point is the endpoint of the animation.

timeAnimValueListEntry[1].case of TL_TVT_String.stringValue: "#ppt_y" specifies the formula that is used to calculate the property value at time 0x000003E8. The value of this formula is the original value of the position of the shape on the vertical axis.

The two key points specify that the shape moves from the bottom of the slide show to its original position.

The child-record hierarchy of the TimeBehaviorContainer record B from the second table titled "TimeAnimateBehaviorContainer child-record hierarchy in the sixth-level ExtTimeNodeContainer" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

0000713E

0061

TimeBehaviorContainer - behavior

0000713E

0008

    RecordHeader - rh

00007146

0018

    A: TimeBehaviorAtom - behaviorAtom

0000715E

001D

    B: TimeStringListContainer - stringList

0000715E

0008

        RecordHeader - rh

00007166

0015

        TimeVariantString - string

00007166

0008

            RecordHeader - rh

0000716E

0001

            TimeVariantTypeEnum - type

0x03

0000716F

000C

            array of bytes - stringValue

ppt_y

0000717B

0024

    C: ClientVisualElementContainer - clientVisualElement

0000717B

0008

        RecordHeader - rh

00007183

001C

        VisualElementAtom - visualElementAtom

00007183

001C

            VisualShapeOrSoundAtom - case of RT_VisualShapeAtom

00007183

001C

                VisualShapeAtom - case of TL_ET_ShapeType

00007183

001C

                    VisualShapeGeneralAtom - default_case

00007183

0008

                        RecordHeader - rh

0000718B

0004

                        TimeVisualElementEnum - type

0x00000000

0000718F

0004

                        ElementTypeEnum - refType

0x00000001

00007193

0004

                        unsigned integer - shapeIdRef

0x00001404

00007197

0004

                        signed integer - data1

0xFFFFFFFF

0000719B

0004

                        signed integer - data2

0xFFFFFFFF

Figure 115: Child-record hierarchy of TimeBehaviorContainer

The TimeBehaviorAtom record A is similar to the TimeBehaviorAtom record specified in the second table titled "TimeBehaviorAtom record A child-record hierarchy" in this section. The TimeStringListContainer record B specifies the properties to be animated. The ClientVisualElementContainer (section 2.8.44) record B specifies that the target object of the animation is the shape.

stringList.string.stringValue: "ppt_y" specifies that the property to be animated is the position of the shape on the vertical axis.

The child-record hierarchy of the ExtTimeNodeContainer record F from the table titled "Second-level ExtTimeNodeContainer child-record hierarchy" in this section is shown expanded in the following table. This time node contains the spin animation effect.

Offset

Size

Structure

0000719F

022E

A: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

0000719F

0008

    RecordHeader - rh

000071A7

0028

    TimeNodeAtom - timeNodeAtom

000071CF

0008

    TimePropertyList4TimeNodeContainer - timePropertyList

000071D7

0020

    TimeConditionContainer - timeCondition

000071F7

01D6

    B: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

000071F7

0008

        RecordHeader - rh

000071FF

0028

        TimeNodeAtom - timeNodeAtom

00007227

0008

        TimePropertyList4TimeNodeContainer - timePropertyList

0000722F

0020

        TimeConditionContainer - timeCondition

0000724F

017E

        C: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

Figure 116: Third-level and fourth-level ExtTimeNodeContainer child-record hierarchies

The ExtTimeNodeContainer record A is similar to the ExtTimeNodeContainer record as specified in the second table titled "Third-level ExtTimeNodeContainer child-record hierarchy" in this section, while the ExtTimeNodeContainer record B is similar to the ExtTimeNodeContainer record as specified in the table titled "Fourth-level ExtTimeNodeContainer child-record hierarchy" in this section.

The child-record hierarchy of the ExtTimeNodeContainer record C from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

0000724F

017E

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

0000724F

0008

    RecordHeader - rh

00007257

0028

    A: TimeNodeAtom - timeNodeAtom

0000727F

0049

    B: TimePropertyList4TimeNodeContainer - timePropertyList

000072C8

0020

    TimeConditionContainer - timeCondition

000072E8

0010

    C: TimeModifierAtom - timeModifierAtom[0]

000072E8

0008

        RecordHeader - rh

000072F0

0004

        TimeModifierEnum - type

0x00000003

000072F4

0004

        unsigned integer - value

0x00000000

000072F8

0010

    D: TimeModifierAtom - timeModifierAtom[1]

000072F8

0008

        RecordHeader - rh

00007300

0004

        TimeModifierEnum - type

0x00000004

00007304

0004

        unsigned integer - value

0x00000000

00007308

0010

    E: TimeModifierAtom - timeModifierAtom[2]

00007308

0008

        RecordHeader - rh

00007310

0004

        TimeModifierEnum - type

0x00000005

00007314

0004

        unsigned integer - value

0x00000000

00007318

00B5

    F: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

Figure 117: Fifth-level ExtTimeNodeContainer child-record hierarchy

This time node specifies the spin animation effect. The TimeNodeAtom record A is similar to the TimeNodeAtom as specified in the table titled "TimeNodeAtom record A child-record hierarchy in the fifth-level ExtTimeNodeContainer" in this section. The TimeModifierAtom records C, D, and E specify the acceleration, the deceleration, and the automatic reverse attribute of this time node, respectively. The ExtTimeNodeContainer record F is the only child time node and contains a rotation behavior.

timeModifierAtom[0].type: 0x00000003 specifies that the timeModifierAtom[0].value field defines the acceleration of the spin animation effect.

timeModifierAtom[0].value: 0x00000000 specifies no acceleration of the spin animation effect.

timeModifierAtom[1].type: 0x00000004 specifies that the timeModifierAtom[1].value field defines the deceleration of the spin animation effect.

timeModifierAtom[1].value: 0x00000000 specifies no deceleration of the spin animation effect.

timeModifierAtom[2].type: 0x00000005 specifies that the timeModifierAtom[2].value field defines whether the spin animation effect automatically reverse.

timeModifierAtom[2].value: 0x00000000 specifies that the spin animation does not automatically reverse.

The child-record hierarchy of the TimePropertyList2.8.18TimeNodeContainer record B from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

0000727F

0049

B: TimePropertyList4TimeNodeContainer - timePropertyList

0000727F

0008

    RecordHeader - rh

00007287

000D

    TimeEffectNodeType - case of TL_TPID_EffectNodeType

00007287

0008

        RecordHeader - rh

0000728F

0001

        TimeVariantTypeEnum - type

0x01

00007290

0004

        signed integer - effectNodeType

0x00000001

00007294

000D

    TimeEffectID - case of TL_TPID_EffectID

00007294

0008

        RecordHeader - rh

0000729C

0001

        TimeVariantTypeEnum - type

0x01

0000729D

0004

        signed integer - effectID

0x00000008

000072A1

000D

    TimeVariantInt - case of TL_TPID_EffectDir

000072A1

0008

        RecordHeader - rh

000072A9

0001

        TimeVariantTypeEnum - type

0x01

000072AA

0004

        signed integer - intValue

0x00000000

000072AE

000D

    TimeEffectType - case of TL_TPID_EffectType

000072AE

0008

        RecordHeader - rh

000072B6

0001

        TimeVariantTypeEnum - type

0x01

000072B7

0004

        signed integer - effectType

0x00000003

000072BB

000D

    TimeGroupID - case of TL_TPID_GroupID

000072BB

0008

        RecordHeader - rh

000072C3

0001

        TimeVariantTypeEnum - type

0x01

000072C4

0004

        signed integer - groupID

0x00000000

Figure 118: TimePropertyList4TimeNodeContainer record B child-record hierarchy in the fifth-level ExtTimeNodeContainer

case of TL_TPID_EffectNodeType.effectNodeType: 0x00000001 specifies that this time node is for a click effect.

case of TL_TPID_EffectID.effectID: 0x00000008 specifies the identifier of the spin animation effect.

case of TL_TPID_EffectDir.intValue: 0x00000000 specifies that the direction of the spin animation is clockwise.

case of TL_TPID_EffectType.effectType: 0x00000003 specifies that the spin animation effect is an emphasis effect.

case of TL_TPID_GroupID.groupID: 0x00000000 specifies the build identifier for this spin animation effect.

The child-record hierarchy of the ExtTimeNodeContainer record F from the second table titled "Fifth-level ExtTimeNodeContainer child-record hierarchy" in this section is shown expanded in the following table. It contains the rotation behavior that specifies how the shape spins.

Offset

Size

Structure

Value

00007318

00B5

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

00007318

0008

    RecordHeader - rh

00007320

0028

    TimeNodeAtom - timeNodeAtom

00007320

0008

        RecordHeader - rh

00007328

0004

        unsigned integer - reserved1

0x00000000

0000732C

0004

        unsigned integer - restart

0x00000000

00007330

0004

        TimeNodeTypeEnum - type

0x00000003

00007334

0004

        unsigned integer - fill

0x00000003

00007338

0004

        signed integer - reserved2

0x00000000

0000733C

0001

        unsigned integer - reserved3

0x00

00007340

0004

        signed integer - duration

0x000007D0

00007344

1 bit

        bit - fFillProperty

0x1

00007344

1 bit

        bit - fRestartProperty

0x0

00007344

1 bit

        bit - reserved4

0x0

00007344

1 bit

        bit - fGroupingTypeProperty

0x1

00007344

1 bit

        bit - fDurationProperty

0x1

00007344

27 bits

        unsigned integer - reserved5

0x0000000

00007348

0008

    TimePropertyList4TimeNodeContainer - timePropertyList

00007348

0008

        RecordHeader - rh

00007350

007D

    A: TimeRotationBehaviorContainer - timeRotationBehavior

Figure 119: Sixth-level ExtTimeNodeContainer child-record hierarchy

timeNodeAtom.duration: 0x000007D0 specifies that the duration of the animation is 2.0 seconds.

The child-record hierarchy of the TimeRotationBehaviorContainer (section 2.8.65) record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

00007350

007D

TimeRotationBehaviorContainer - timeRotationBehavior

00007350

0008

    RecordHeader - rh

00007358

001C

    TimeRotationBehaviorAtom - rotationBehaviorAtom

00007358

0008

        RecordHeader - rh

00007358

1 bit

        bit - fByPropertyUsed

0x1

00007358

1 bit

        bit - fFromPropertyUsed

0x0

00007358

1 bit

        bit - fToPropertyUsed

0x0

00007358

1 bit

        bit - fDirectionPropertyUsed

0x0

00007358

28 bits

        unsigned integer - reserved

0x0000000

00007364

0004

        Float - fBy

360

00007368

0004

        Float - fFrom

0

0000736C

0004

        Float - fTo

360

00007370

0004

        TimeRotationBehaviorDirectionEnum - rotationDirection

0x00000000

00007374

0059

    A: TimeBehaviorContainer - behavior

Figure 120: TimeRotationBehaviorContainer child-record hierarchy in the sixth-level ExtTimeNodeContainer

rotationBehaviorAtom.fBy: 360 specifies that the shape rotates 360 degrees.

rotationBehaviorAtom.fFrom: 0 specifies that the rotation starts from the original angle.

rotationBehaviorAtom.fTo: 360 specifies that the shape rotates 360 degrees.

rotationBehaviorAtom.rotationDirection: 0x00000000 specifies that the rotation is clockwise.

The child-record hierarchy of the TimeBehaviorContainer record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

00007374

0059

TimeBehaviorContainer - behavior

00007374

0008

    RecordHeader - rh

0000737C

0018

    A: TimeBehaviorAtom - behaviorAtom

00007394

0015

    TimeStringListContainer - stringList

00007394

0008

        RecordHeader - rh

0000739C

000D

        TimeVariantString - string

0000739C

0008

            RecordHeader - rh

000073A4

0001

            TimeVariantTypeEnum - type

0x03

000073A5

0004

            array of bytes - stringValue

r

000073A9

0024

    B: ClientVisualElementContainer - clientVisualElement

000073A9

0008

        RecordHeader - rh

000073B1

001C

        VisualElementAtom - visualElementAtom

000073B1

001C

            VisualShapeOrSoundAtom - case of RT_VisualShapeAtom

000073B1

001C

                VisualShapeAtom - case of TL_ET_ShapeType

000073B1

001C

                    VisualShapeGeneralAtom - default_case

000073B1

0008

                        RecordHeader - rh

000073B9

0004

                        TimeVisualElementEnum - type

0x00000000

000073BD

0004

                        ElementTypeEnum - refType

0x00000001

000073C1

0004

                        unsigned integer - shapeIdRef

0x00001404

000073C5

0004

                        signed integer - data1

0xFFFFFFFF

000073C9

0004

                        signed integer - data2

0xFFFFFFFF

Figure 121: TimeBehaviorContainer child-record hierarchy

The TimeBehaviorAtom record A is similar to the TimeBehaviorAtom as specified in the second table titled "TimeBehaviorAtom record A child-record hierarchy" in this section. The ClientVisualElementContainer record B specifies that the target is the shape, and it is similar to the ClientVisualElementContainer record as specified in the first table titled "TimeBehaviorContainer child-record hierarchy" in this section.

stringList.string.stringValue: "r" specifies that the property to be animated is the rotation angle of the shape.

The child-record hierarchy of the ExtTimeNodeContainer record G from the table titled "Second-level ExtTimeNodeContainer child-record hierarchy" in this section is shown expanded in the following table. This time node contains the sink-down animation.

Offset

Size

Structure

000073CD

0679

A: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

000073CD

0008

    RecordHeader - rh

000073D5

0028

    TimeNodeAtom - timeNodeAtom

000073FD

0008

    TimePropertyList4TimeNodeContainer - timePropertyList

00007405

0020

    TimeConditionContainer - timeCondition

00007425

0621

    B: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

00007425

0008

        RecordHeader - rh

0000742D

0028

        TimeNodeAtom - timeNodeAtom

00007455

0008

        TimePropertyList4TimeNodeContainer - timePropertyList

0000745D

0020

        TimeConditionContainer - timeCondition

0000747D

05C9

        C: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

Figure 122: Third-level and fourth-level ExtTimeNodeContainer child-record hierarchies

The ExtTimeNodeContainer record A is similar to the ExtTimeNodeContainer record as specified in the second table titled "Third-level ExtTimeNodeContainer child-record hierarchy" in this section, while the ExtTimeNodeContainer record B is similar to the ExtTimeNodeContainer record as specified in the table titled "Fourth-level ExtTimeNodeContainer child-record hierarchy" in this section.

The child-record hierarchy of the ExtTimeNodeContainer record C from the previous table is shown expanded in the following table.

Offset

Size

Structure

0000747D

05C9

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

0000747D

0008

    RecordHeader - rh

00007485

0028

    A: TimeNodeAtom - timeNodeAtom

000074AD

0049

    B: TimePropertyList4TimeNodeContainer - timePropertyList

000074F6

0020

    TimeConditionContainer - timeCondition

00007516

00A7

    C: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

000075BD

0115

    D: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

000076D2

012D

    E: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

000077FF

0149

    F: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

00007948

00FE

    G: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

Figure 123: Fifth-level ExtTimeNodeContainer child-record hierarchy

This time node specifies the sink-down animation effect. The TimeNodeAtom record A is similar to the TimeNodeAtom as specified in the table titled "TimeNodeAtom record A child-record hierarchy in the fifth-level ExtTimeNodeContainer" in this section. The ExtTimeNodeContainer record C contains an effect behavior to fade the shape. The ExtTimeNodeContainer records C, D, E, and F contain generic behaviors to move the shape out of the slide show. The ExtTimeNodeContainer record G contains a set behavior to make the shape invisible at the end.

The child-record hierarchy of the TimePropertyList2.8.18TimeNodeContainer record B from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

000074AD

0049

B: TimePropertyList4TimeNodeContainer - timePropertyList

000074AD

0008

    RecordHeader - rh

000074B5

000D

    TimeEffectNodeType - case of TL_TPID_EffectNodeType

000074B5

0008

        RecordHeader - rh

000074BD

0001

        TimeVariantTypeEnum - type

0x01

000074BE

0004

        signed integer - effectNodeType

0x00000001

000074C2

000D

    TimeEffectID - case of TL_TPID_EffectID

000074C2

0008

        RecordHeader - rh

000074CA

0001

        TimeVariantTypeEnum - type

0x01

000074CB

0004

        signed integer - effectID

0x00000025

000074CF

000D

    TimeVariantInt - case of TL_TPID_EffectDir

000074CF

0008

        RecordHeader - rh

000074D7

0001

        TimeVariantTypeEnum - type

0x01

000074D8

0004

        signed integer - intValue

0x00000000

000074DC

000D

    TimeEffectType - case of TL_TPID_EffectType

000074DC

0008

        RecordHeader - rh

000074E4

0001

        TimeVariantTypeEnum - type

0x01

000074E5

0004

        signed integer - effectType

0x00000002

000074E9

000D

    TimeGroupID - case of TL_TPID_GroupID

000074E9

0008

        RecordHeader - rh

000074F1

0001

        TimeVariantTypeEnum - type

0x01

000074F2

0004

        signed integer - groupID

0x00000002

Figure 124: TimePropertyList4TimeNodeContainer record B child-record hierarchy in the fifth-level ExtTimeNodeContainer

case of TL_TPID_EffectID.effectID: 0x00000025 specifies the identifier of this sink-down animation effect.

case of TL_TPID_EffectDir.intValue: 0x00000000 specifies no direction for this sink-down animation effect.

case of TL_TPID_EffectType.effectType: 0x00000002 specifies that this sink-down animation effect is an exit effect.

case of TL_TPID_GroupID.groupID: 0x00000002 specifies the build identifier of the sink-down animation effect.

The child-record hierarchy of the ExtTimeNodeContainer record C from the third table titled "Fifth-level ExtTimeNodeContainer child-record hierarchy" in this section is shown expanded in the following table. It contains an effect behavior to fade out the shape.

Offset

Size

Structure

Value

00007516

00A7

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

00007516

0008

    RecordHeader - rh

0000751E

0028

    TimeNodeAtom - timeNodeAtom

0000751E

0008

        RecordHeader - rh

00007526

0004

        unsigned integer - reserved1

0x00000000

0000752A

0004

        unsigned integer - restart

0x00000000

0000752E

0004

        TimeNodeTypeEnum - type

0x00000003

00007532

0004

        unsigned integer - fill

0x00000000

00007536

0004

        signed integer - reserved2

0x00000000

0000753A

0001

        unsigned integer - reserved3

0x00

0000753E

0004

        signed integer - duration

0x000003E8

00007542

1 bit

        bit - fFillProperty

0x0

00007542

1 bit

        bit - fRestartProperty

0x0

00007542

1 bit

        bit - reserved4

0x0

00007542

1 bit

        bit - fGroupingTypeProperty

0x1

00007542

1 bit

        bit - fDurationProperty

0x1

00007542

27 bits

        unsigned integer - reserved5

0x0000000

00007546

0008

    TimePropertyList4TimeNodeContainer - timePropertyList

00007546

0008

        RecordHeader - rh

0000754E

006F

    A: TimeEffectBehaviorContainer - timeEffectBehavior

Figure 125: The first sixth-level ExtTimeNodeContainer child-record hierarchy

timeNodeAtom.fill: 0x00000000 specifies that the animated values of the property remain at their ending values while the parent time node at the fifth level is still running or holding.

timeNodeAtom.duration: 0x000003E8 specifies that the duration of the effect animation is 1.0 seconds.

The child-record hierarchy of the TimeEffectBehaviorContainer (section 2.8.61) record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

0000754E

006F

TimeEffectBehaviorContainer - timeEffectBehavior

0000754E

0008

    RecordHeader - rh

00007556

0010

    TimeEffectBehaviorAtom - effectBehaviorAtom

00007556

0008

        RecordHeader - rh

00007556

1 bit

        bit - fTransitionPropertyUsed

0x1

00007556

1 bit

        bit - fTypePropertyUsed

0x1

00007556

1 bit

        bit - fProgressPropertyUsed

0x0

00007556

1 bit

        bit - fRuntimeContextObsolete

0x0

00007556

28 bits

        unsigned integer - reserved

0x0000000

00007562

0004

        unsigned integer - effectTransition

0x00000001

00007566

0013

    TimeVariantString - varType

00007566

0008

        RecordHeader - rh

0000756E

0001

        TimeVariantTypeEnum - type

0x03

0000756F

000A

        array of bytes - stringValue

fade

00007579

0044

    A: TimeBehaviorContainer - behavior

Figure 126: TimeEffectBehaviorContainer child-record hierarchy

effectBehaviorAtom.effectTransition: 0x00000001 specifies that the animation behavior fades out the shape.

varType.stringValue: "fade" specifies that the effect behavior is a fade effect.

The child-record hierarchy of the TimeBehaviorContainer record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

00007579

0044

TimeBehaviorContainer - behavior

00007579

0008

    RecordHeader - rh

00007581

0018

    A: TimeBehaviorAtom - behaviorAtom

00007581

0008

        RecordHeader - rh

00007581

0004

        unsigned integer - fAdditivePropertyUsed

0x00000000

00007581

0004

        unsigned integer - reserved1

0x00000000

00007581

0004

        unsigned integer - fAttributeNamesPropertyUsed

0x00000000

00007581

0004

        unsigned integer - reserved2

0x00000000

00007581

0004

        unsigned integer - reserved3

0x00000000

0000758D

0004

        unsigned integer - behaviorAdditive

0x00000000

00007591

0004

        signed integer - behaviorAccumulate

0x00000000

00007595

0004

        signed integer - behaviorTransform

0x00000000

00007599

0024

    B: ClientVisualElementContainer - clientVisualElement

00007599

0008

        RecordHeader - rh

000075A1

001C

        VisualElementAtom - visualElementAtom

000075A1

001C

            VisualShapeOrSoundAtom - case of RT_VisualShapeAtom

000075A1

001C

                VisualShapeAtom - case of TL_ET_ShapeType

000075A1

001C

                    VisualShapeGeneralAtom - default_case

000075A1

0008

                        RecordHeader - rh

000075A9

0004

                        TimeVisualElementEnum - type

0x00000000

000075AD

0004

                        ElementTypeEnum - refType

0x00000001

000075B1

0004

                        unsigned integer - shapeIdRef

0x00001404

000075B5

0004

                        signed integer - data1

0xFFFFFFFF

000075B9

0004

                        signed integer - data2

0xFFFFFFFF

Figure 127: TimeBehaviorContainer child-record hierarchy

The TimeBehaviorAtom record A is similar to the TimeBehaviorAtom record as specified in the second table titled "TimeBehaviorAtom record A child-record hierarchy" in this section. The ClientVisualElementContainer record B specifies that the target of the animation is the shape.

The child-record hierarchy of the ExtTimeNodeContainer record F from the third table titled "Fifth-level ExtTimeNodeContainer child-record hierarchy" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

000075BD

0115

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

000075BD

0008

    RecordHeader - rh

000075C5

0028

    TimeNodeAtom - timeNodeAtom

000075C5

0008

        RecordHeader - rh

000075CD

0004

        unsigned integer - reserved1

0x00000000

000075D1

0004

        unsigned integer - restart

0x00000000

000075D5

0004

        TimeNodeTypeEnum - type

0x00000003

000075D9

0004

        unsigned integer - fill

0x00000000

000075DD

0004

        signed integer - reserved2

0x00000000

000075E1

0001

        unsigned integer - reserved3

0x00

000075E5

0004

        signed integer - duration

0x000003E8

000075E9

1 bit

        bit - fFillProperty

0x1

000075E9

1 bit

        bit - fRestartProperty

0x0

000075E9

1 bit

        bit - reserved4

0x0

000075E9

1 bit

        bit - fGroupingTypeProperty

0x1

000075E9

1 bit

        bit - fDurationProperty

0x1

000075E9

27 bits

        unsigned integer - reserved5

0x0000000

000075ED

0008

    TimePropertyList4TimeNodeContainer - timePropertyList

000075ED

0008

        RecordHeader - rh

000075F5

00DD

    A: TimeAnimateBehaviorContainer - timeAnimateBehavior

Figure 128: The second sixth-level ExtTimeNodeContainer child-record hierarchy

This time node contains a generic behavior that animates the position of the shape on the horizontal axis.

timeNodeAtom.duration: 0x000003E8 specifies that the duration of this time node is 1.0 seconds.

The child-record hierarchy of the TimeAnimateBehaviorContainer (section 2.8.29) record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

000075F5

00DD

TimeAnimateBehaviorContainer - timeAnimateBehavior

000075F5

0008

    RecordHeader - rh

000075FD

0014

    TimeAnimateBehaviorAtom - animateBehaviorAtom

000075FD

0008

        RecordHeader - rh

00007605

0004

        unsigned integer - calcMode

0x00000001

00007609

0004

        unsigned integer - fByPropertyUsed

0x00000000

00007609

0004

        unsigned integer - fFromPropertyUsed

0x00000000

00007609

0004

        unsigned integer - fToPropertyUsed

0x00000000

00007609

0004

        unsigned integer - fCalcModePropertyUsed

0x00000001

00007609

0004

        unsigned integer - fAnimationValuesPropertyUsed

0x00000001

00007609

0004

        unsigned integer - fValueTypePropertyUsed

0x00000001

00007609

0004

        unsigned integer - reserved

0x00000000

0000760D

0004

        TimeAnimateBehaviorValueTypeEnum - valueType

0x00000001

00007611

0060

    A: TimeAnimationValueListContainer - animateValueList

00007671

0061

    B: TimeBehaviorContainer - behavior

Figure 129: TimeAnimateBehaviorContainer child-record hierarchy in the sixth-level ExtTimeNodeContainer

animateBehaviorAtom.calcMode: 0x00000001 specifies that the animated value of the property is calculated by linear interpolation.

The child-record hierarchy of the TimeAnimationValueListContainer record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

00007611

0060

TimeAnimationValueListContainer - animateValueList

00007611

0008

    RecordHeader - rh

00007619

002C

    A: TimeAnimationValueListEntry - timeAnimValueListEntry[0]

00007619

000C

        TimeAnimationValueAtom - timeAnimationValueAtom

00007619

0008

            RecordHeader - rh

00007621

0004

            signed integer - time

0x00000000

00007625

0015

        TimeVariantString - case of TL_TVT_String

00007625

0008

            RecordHeader - rh

0000762D

0001

            TimeVariantTypeEnum - type

0x03

0000762E

000C

            array of bytes - stringValue

ppt_x

0000763A

000B

        TimeVariantString - varFormula

0000763A

0008

            RecordHeader - rh

00007642

0001

            TimeVariantTypeEnum - type

0x03

00007643

0002

            array of bytes - stringValue

00007645

002C

    B: TimeAnimationValueListEntry - timeAnimValueListEntry[1]

00007645

000C

        TimeAnimationValueAtom - timeAnimationValueAtom

00007645

0008

            RecordHeader - rh

0000764D

0004

            signed integer - time

0x000003E8

00007651

0015

        TimeVariantString - case of TL_TVT_String

00007651

0008

            RecordHeader - rh

00007659

0001

            TimeVariantTypeEnum - type

0x03

0000765A

000C

            array of bytes - stringValue

ppt_x

00007666

000B

        TimeVariantString - varFormula

00007666

0008

            RecordHeader - rh

0000766E

0001

            TimeVariantTypeEnum - type

0x03

0000766F

0002

            array of bytes - stringValue

Figure 130: Child-record hierarchy of TimeAnimationValueListContainer

The TimeAnimationValueListContainer (section 2.8.31) record specifies two key points of the animation. The TimeAnimationValueListEntry record A specifies the starting point, while the TimeAnimationValueListEntry record B specifies the endpoint.

timeAnimValueListEntry[0].timeAnimationValueAtom.time: 0x00000000 specifies that the first key point is the starting point of the animation.

timeAnimValueListEntry[0].case of TL_TVT_String.stringValue: "ppt_x" specifies the formula that is used to calculate the property value at time 0x00000000. The value of this formula is the original value of the position of the shape on the horizontal axis.

timeAnimValueListEntry[1].timeAnimationValueAtom.time: 0x000003E8 specifies that the second key point is the endpoint of the animation.

timeAnimValueListEntry[1].case of TL_TVT_String.stringValue: "ppt_x" specifies the formula that is used to calculate the property value at time 0x000003E8. The value of this formula is the original value of the position of the shape on the horizontal axis.

Because the values at the two key points are identical and equal to the original value of the position on the horizontal axis, the shape does not change position on the horizontal axis during the sink-down animation.

The child-record hierarchy of the TimeBehaviorContainer record B from the third table titled "TimeAnimateBehaviorContainer child-record hierarchy in the sixth-level ExtTimeNodeContainer" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

00007671

0061

TimeBehaviorContainer - behavior

00007671

0008

    RecordHeader - rh

00007679

0018

    A: TimeBehaviorAtom - behaviorAtom

00007679

0008

        RecordHeader - rh

00007679

1 bit

        bit - fAdditivePropertyUsed

0x0

00007679

1 bit

        bit - reserved1

0x0

00007679

1 bit

        bit - fAttributeNamesPropertyUsed

0x1

00007679

1 bit

        bit - reserved2

0x0

00007679

28 bits

        unsigned integer - reserved3

0x0000000

00007685

0004

        unsigned integer - behaviorAdditive

0x00000000

00007689

0004

        signed integer - behaviorAccumulate

0x00000000

0000768D

0004

        signed integer - behaviorTransform

0x00000000

00007691

001D

    TimeStringListContainer - stringList

00007691

0008

        RecordHeader - rh

00007699

0015

        TimeVariantString - string

00007699

0008

            RecordHeader - rh

000076A1

0001

            TimeVariantTypeEnum - type

0x03

000076A2

000C

            array of bytes - stringValue

ppt_x

000076AE

0024

    B: ClientVisualElementContainer - clientVisualElement

Figure 131: Child-record hierarchy of TimeBehaviorContainer

The TimeBehaviorAtom record A is similar to the record as specified in the second table titled "TimeBehaviorAtom record A child-record hierarchy" in this section. The ClientVisualElementContainer (section 2.8.44) record B specifies that the target of the animation is the shape.

stringList.string.stringValue: "ppt_x" specifies that the property to be animated is the position of the shape on the horizontal axis.

The child-record hierarchy of the ExtTimeNodeContainer record G from the third table titled "Fifth-level ExtTimeNodeContainer child-record hierarchy" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

000076D2

012D

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

000076D2

0008

    RecordHeader - rh

000076DA

0028

    A: TimeNodeAtom - timeNodeAtom

00007702

0008

    TimePropertyList4TimeNodeContainer - timePropertyList

00007702

0008

        RecordHeader - rh

0000770A

00E5

    B: TimeAnimateBehaviorContainer - timeAnimateBehavior

000077EF

0010

    C: TimeModifierAtom - timeModifierAtom

000077EF

0008

        RecordHeader - rh

000077F7

0004

        TimeModifierEnum - type

0x00000004

000077FB

0004

        unsigned integer - value

0x3F800000

Figure 132: The third sixth-level ExtTimeNodeContainer child-record hierarchy

This time node contains a generic behavior that animates the position of the shape on the vertical axis. The TimeModifierAtom record C specifies the deceleration attribute that the animation will use.

timeModifierAtom.type: 0x00000004 specifies that the timeModifierAtom.value field defines the deceleration of the generic behavior as specified in the TimeAnimateBehaviorContainer (section 2.8.29) record B.

timeModifierAtom.value: 0x3F800000 specifies that the deceleration of the behavior occurs during the entire length of the animation.

The child-record hierarchy of the TimeNodeAtom record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

000076DA

0028

A: TimeNodeAtom - timeNodeAtom

000076DA

0008

    RecordHeader - rh

000076E2

0004

    unsigned integer - reserved1

0x00000000

000076E6

0004

    unsigned integer - restart

0x00000000

000076EA

0004

    TimeNodeTypeEnum - type

0x00000003

000076EE

0004

    unsigned integer - fill

0x00000000

000076F2

0004

    signed integer - reserved2

0x00000000

000076F6

0001

    unsigned integer - reserved3

0x00

000076FA

0004

    signed integer - duration

0x00000064

000076FE

1 bit

    bit - fFillProperty

0x1

000076FE

1 bit

    bit - fRestartProperty

0x0

000076FE

1 bit

    bit - reserved4

0x0

000076FE

1 bit

    bit - fGroupingTypeProperty

0x1

000076FE

1 bit

    bit - fDurationProperty

0x1

000076FE

27 bits

    unsigned integer - reserved5

0x0000000

Figure 133: TimeNodeAtom record A child-record hierarchy in the sixth-level ExtTimeNodeContainer

duration: 0x00000064 specifies that the duration of the animation is 0.1 seconds.

The child-record hierarchy of the TimeAnimateBehaviorContainer (section 2.8.29) record B from the second table titled "The third sixth-level ExtTimeNodeContainer child-record hierarchy" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

0000770A

00E5

TimeAnimateBehaviorContainer - timeAnimateBehavior

0000770A

0008

    RecordHeader - rh

00007712

0014

    A: TimeAnimateBehaviorAtom - animateBehaviorAtom

00007712

0008

        RecordHeader - rh

0000771A

0004

        unsigned integer - calcMode

0x00000001

0000771E

0004

        unsigned integer - fByPropertyUsed

0x00000000

0000771E

0004

        unsigned integer - fFromPropertyUsed

0x00000000

0000771E

0004

        unsigned integer - fToPropertyUsed

0x00000000

0000771E

0004

        unsigned integer - fCalcModePropertyUsed

0x00000001

0000771E

0004

        unsigned integer - fAnimationValuesPropertyUsed

0x00000001

0000771E

0004

        unsigned integer - fValueTypePropertyUsed

0x00000001

0000771E

0004

        unsigned integer - reserved

0x00000000

00007722

0004

        TimeAnimateBehaviorValueTypeEnum - valueType

0x00000001

00007726

0068

    B: TimeAnimationValueListContainer - animateValueList

0000778E

0061

    C: TimeBehaviorContainer - behavior

Figure 134: TimeAnimateBehaviorContainer child-record hierarchy in the sixth-level ExtTimeNodeContainer

The TimeAnimateBehaviorAtom record A is similar to the TimeAnimateBehaviorAtom record as specified in the third table titled "TimeAnimateBehaviorContainer child-record hierarchy in the sixth-level ExtTimeNodeContainer" in this section.

The child-record hierarchy of the TimeAnimationValueListContainer (section 2.8.31) record B from the fourth table titled "TimeAnimateBehaviorContainer child-record hierarchy in the sixth-level ExtTimeNodeContainer" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

00007726

0068

TimeAnimationValueListContainer - animateValueList

00007726

0008

    RecordHeader - rh

0000772E

002C

    A: TimeAnimationValueListEntry - timeAnimValueListEntry[0]

0000772E

000C

        TimeAnimationValueAtom - timeAnimationValueAtom

0000772E

0008

            RecordHeader - rh

00007736

0004

            signed integer - time

0x00000000

0000773A

0015

        TimeVariantString - case of TL_TVT_String

0000773A

0008

            RecordHeader - rh

00007742

0001

            TimeVariantTypeEnum - type

0x03

00007743

000C

            array of bytes - stringValue

ppt_y

0000774F

000B

        TimeVariantString - varFormula

0000774F

0008

            RecordHeader - rh

00007757

0001

            TimeVariantTypeEnum - type

0x03

00007758

0002

            array of bytes - stringValue

0000775A

0034

    B: TimeAnimationValueListEntry - timeAnimValueListEntry[1]

0000775A

000C

        TimeAnimationValueAtom - timeAnimationValueAtom

0000775A

0008

            RecordHeader - rh

00007762

0004

            signed integer - time

0x000003E8

00007766

001D

        TimeVariantString - case of TL_TVT_String

00007766

0008

            RecordHeader - rh

0000776E

0001

            TimeVariantTypeEnum - type

0x03

0000776F

0014

            array of bytes - stringValue

ppt_y-.03

00007783

000B

        TimeVariantString - varFormula

00007783

0008

            RecordHeader - rh

0000778B

0001

            TimeVariantTypeEnum - type

0x03

0000778C

0002

            array of bytes - stringValue

Figure 135: TimeAnimationValueListContainer child-record hierarchy

timeAnimValueListEntry[0].timeAnimationValueAtom.time: 0x00000000 specifies that the first key point is the starting point of the animation.

timeAnimValueListEntry[0].case of TL_TVT_String.stringValue: "ppt_y" specifies the formula that is used to calculate the property value at time 0x00000000. The value of this formula is the original value of the position of the shape on the vertical axis.

timeAnimValueListEntry[1].timeAnimationValueAtom.time: 0x000003E8 specifies that the second key point is the endpoint of the animation.

timeAnimValueListEntry[1].case of TL_TVT_String.stringValue: "ppt_y-.03" specifies the formula that is used to calculate the property value at time 0x000003E8. The value of this formula moves the shape above its original position by a small amount in the vertical direction.

The child-record hierarchy of the TimeBehaviorContainer record C from the fourth table titled "TimeAnimateBehaviorContainer child-record hierarchy in the sixth-level ExtTimeNodeContainer" in s section is shown expanded in the following table.

Offset

Size

Structure

Value

0000778E

0061

TimeBehaviorContainer - behavior

0000778E

0008

    RecordHeader - rh

00007796

0018

    A: TimeBehaviorAtom - behaviorAtom

00007796

0008

        RecordHeader - rh

00007796

1 bit

        bit - fAdditivePropertyUsed

0x0

00007796

1 bit

        bit - reserved1

0x0

00007796

1 bit

        bit - fAttributeNamesPropertyUsed

0x1

00007796

1 bit

        bit - reserved2

0x0

00007796

28 bits

        unsigned integer - reserved3

0x0000000

000077A2

0004

        unsigned integer - behaviorAdditive

0x00000000

000077A6

0004

        signed integer - behaviorAccumulate

0x00000000

000077AA

0004

        signed integer - behaviorTransform

0x00000000

000077AE

001D

    TimeStringListContainer - stringList

000077AE

0008

        RecordHeader - rh

000077B6

0015

        TimeVariantString - string

000077B6

0008

            RecordHeader - rh

000077BE

0001

            TimeVariantTypeEnum - type

0x03

000077BF

000C

            array of bytes - stringValue

ppt_y

000077CB

0024

    B: ClientVisualElementContainer - clientVisualElement

Figure 136: TimeBehaviorContainer child-record hierarchy

The TimeBehaviorAtom record A is similar to the TimeBehaviorAtom record as specified in the second table titled "TimeBehaviorAtom record A child-record hierarchy" in this section. The ClientVisualElementContainer record B specifies that the target of the animation is the shape.

stringList.string.stringValue: "ppt_y" specifies that the property to be animated is the position of the shape on the vertical axis.

The child-record hierarchy of the ExtTimeNodeContainer record F from the third table titled "Fifth-level ExtTimeNodeContainer child-record hierarchy" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

000077FF

0149

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

000077FF

0008

    RecordHeader - rh

00007807

0028

    A: TimeNodeAtom - timeNodeAtom

0000782F

0008

    B: TimePropertyList4TimeNodeContainer - timePropertyList

00007837

00E1

    C: TimeAnimateBehaviorContainer - timeAnimateBehavior

00007918

0020

    D: TimeConditionContainer - timeCondition

00007918

0008

        RecordHeader - rh

00007920

0018

        TimeConditionAtom - conditionAtom

00007920

0008

            RecordHeader - rh

00007928

0004

            TriggerObjectEnum - triggerObject

0x00000000

0000792C

0004

            unsigned integer - triggerEvent

0x00000000

00007930

0004

            unsigned integer - id

0x00000000

00007934

0004

            signed integer - delay

0x00000064

00007938

0010

    E: TimeModifierAtom - timeModifierAtom

00007938

0008

        RecordHeader - rh

00007940

0004

        TimeModifierEnum - type

0x00000003

00007944

0004

        unsigned integer - value

0x3F800000

Figure 137: The fourth sixth-level ExtTimeNodeContainer child-record hierarchy

This time node contains a generic behavior that animates the position of the shape on the vertical axis. The TimeConditionContainer record D specifies that this behavior is deferred until the behaviors contained in the ExtTimeNodeContainer records F and G from the third table titled "Fifth-level ExtTimeNodeContainer child-record hierarchy" in this section start. The TimePropertyList4TimeNodeContainer record B is similar to the TimePropertyList4TimeNodeContainer record as specified in the second table titled "The third sixth-level ExtTimeNodeContainer child-record hierarchy" in this section.

timeCondition.conditionAtom.delay: 0x00000064 specifies that this time node is delayed 0.1 seconds after its parent time node at the fifth level is activated.

timeModifierAtom.type: 0x00000003 specifies that the timeModifierAtom.value field defines the acceleration of the rotation animation.

timeModifierAtom.value: 0x3F800000 specifies the acceleration occurs over the entire duration of the behavior.

The child-record hierarchy of the TimeNodeAtom record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

00007807

0028

A: TimeNodeAtom - timeNodeAtom

00007807

0008

    RecordHeader - rh

0000780F

0004

    unsigned integer - reserved1

0x00000000

00007813

0004

    unsigned integer - restart

0x00000000

00007817

0004

    TimeNodeTypeEnum - type

0x00000003

0000781B

0004

    unsigned integer - fill

0x00000000

0000781F

0004

    signed integer - reserved2

0x00000000

00007823

0001

    unsigned integer - reserved3

0x00

00007827

0004

    signed integer - duration

0x00000384

0000782B

1 bit

    bit - fFillProperty

0x1

0000782B

1 bit

    bit - fRestartProperty

0x0

0000782B

1 bit

    bit - reserved4

0x0

0000782B

1 bit

    bit - fGroupingTypeProperty

0x1

0000782B

1 bit

    bit - fDurationProperty

0x1

0000782B

27 bits

    unsigned integer - reserved5

0x0000000

Figure 138: TimeNodeAtom record A child-record hierarchy in the sixth-level ExtTimeNodeContainer

duration: 0x00000384 specifies that the duration of this time node is 0.9 seconds.

The child-record hierarchy of the TimeAnimateBehaviorContainer (section 2.8.29) record C from the table titled "The fourth sixth-level ExtTimeNodeContainer child-record hierarchy" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

00007837

00E1

TimeAnimateBehaviorContainer - timeAnimateBehavior

00007837

0008

    RecordHeader - rh

0000783F

0014

    A: TimeAnimateBehaviorAtom - animateBehaviorAtom

0000783F

0008

        RecordHeader - rh

00007847

0004

        unsigned integer - calcMode

0x00000001

0000784B

1 bit

        bit - fByPropertyUsed

0x0

0000784B

1 bit

        bit - fFromPropertyUsed

0x0

0000784B

1 bit

        bit - fToPropertyUsed

0x0

0000784B

1 bit

        bit - fCalcModePropertyUsed

0x1

0000784B

1 bit

        bit - fAnimationValuesPropertyUsed

0x1

0000784B

1 bit

        bit - fValueTypePropertyUsed

0x1

0000784B

26 bits

        unsigned integer - reserved

0x0000000

0000784F

0004

        TimeAnimateBehaviorValueTypeEnum - valueType

0x00000001

00007853

0064

    B: TimeAnimationValueListContainer - animateValueList

000078B7

0061

    C: TimeBehaviorContainer - behavior

Figure 139: TimeAnimateBehaviorContainer child-record hierarchy in the sixth-level ExtTimeNodeContainer

The TimeAnimateBehaviorAtom record A is similar to the TimeAnimateBehaviorAtom record as specified in the third table titled "TimeAnimateBehaviorContainer child-record hierarchy in the sixth-level ExtTimeNodeContainer" in this section.

The child-record hierarchy of the TimeAnimationValueListContainer (section 2.8.31) record B from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

00007853

0064

TimeAnimationValueListContainer - animateValueList

00007853

0008

    RecordHeader - rh

0000785B

002C

    A: TimeAnimationValueListEntry - timeAnimValueListEntry[0]

0000785B

000C

        TimeAnimationValueAtom - timeAnimationValueAtom

0000785B

0008

            RecordHeader - rh

00007863

0004

            signed integer - time

0x00000000

00007867

0015

        TimeVariantString - case of TL_TVT_String

00007867

0008

            RecordHeader - rh

0000786F

0001

            TimeVariantTypeEnum - type

0x03

00007870

000C

            array of bytes - stringValue

ppt_y

0000787C

000B

        TimeVariantString - varFormula

0000787C

0008

            RecordHeader - rh

00007884

0001

            TimeVariantTypeEnum - type

0x03

00007885

0002

            array of bytes - stringValue

00007887

0030

    B: TimeAnimationValueListEntry - timeAnimValueListEntry[1]

00007887

000C

        TimeAnimationValueAtom - timeAnimationValueAtom

00007887

0008

            RecordHeader - rh

0000788F

0004

            signed integer - time

0x000003E8

00007893

0019

        TimeVariantString - case of TL_TVT_String

00007893

0008

            RecordHeader - rh

0000789B

0001

            TimeVariantTypeEnum - type

0x03

0000789C

0010

            array of bytes - stringValue

ppt_y+1

000078AC

000B

        TimeVariantString - varFormula

000078AC

0008

            RecordHeader - rh

000078B4

0001

            TimeVariantTypeEnum - type

0x03

000078B5

0002

            array of bytes - stringValue

Figure 140: TimeAnimationValueListContainer child-record hierarchy

The TimeAnimationValueListContainer record (section 2.8.31) specifies two key points of the animation. The TimeAnimationValueListEntry record A specifies the starting point, while the TimeAnimationValueListEntry record B specifies the endpoint.

timeAnimValueListEntry[0].timeAnimationValueAtom.time: 0x00000000 specifies that the first key point is the starting point of the animation.

timeAnimValueListEntry[0].case of TL_TVT_String.stringValue: "ppt_y" specifies the formula that is used to calculate the property value at time 0x00000000. The value of this formula is the original value of the position of the shape on the vertical axis.

timeAnimValueListEntry[1].timeAnimationValueAtom.time: 0x000003E8 specifies that the second key point is the endpoint of the animation.

timeAnimValueListEntry[1].case of TL_TVT_String.stringValue: "ppt_y+1" specifies the formula that is used to calculate the property value at time 0x000003E8. The value of this formula makes sure that the shape is moved beneath the bottom of slide show where the shape is invisible.

This behavior moves the shape from its original position to a position beneath the slide show so that the shape is invisible.

The child-record hierarchy of the TimeBehaviorContainer record C from the fifth table titled "TimeAnimateBehaviorContainer child-record hierarchy in the sixth-level ExtTimeNodeContainer" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

000078B7

0061

TimeBehaviorContainer - behavior

000078B7

0008

    RecordHeader - rh

000078BF

0018

    A: TimeBehaviorAtom - behaviorAtom

000078BF

0008

        RecordHeader - rh

000078BF

0004

        unsigned integer - fAdditivePropertyUsed

0x00000000

000078BF

0004

        unsigned integer - reserved1

0x00000000

000078BF

0004

        unsigned integer - fAttributeNamesPropertyUsed

0x00000001

000078BF

0004

        unsigned integer - reserved2

0x00000000

000078BF

0004

        unsigned integer - reserved3

0x00000000

000078CB

0004

        unsigned integer - behaviorAdditive

0x00000000

000078CF

0004

        signed integer - behaviorAccumulate

0x00000000

000078D3

0004

        signed integer - behaviorTransform

0x00000000

000078D7

001D

    TimeStringListContainer - stringList

000078D7

0008

        RecordHeader - rh

000078DF

0015

        TimeVariantString - string

000078DF

0008

            RecordHeader - rh

000078E7

0001

            TimeVariantTypeEnum - type

0x03

000078E8

000C

            array of bytes - stringValue

ppt_y

000078F4

0024

    B: ClientVisualElementContainer - clientVisualElement

Figure 141: Child-record hierarchy of TimeBehaviorContainer

The TimeBehaviorAtom record A is similar to the TimeBehaviorAtom record as specified in the second table titled "TimeBehaviorAtom record A child-record hierarchy" in this section. The ClientVisualElementContainer record B specifies that the target of the animation is the shape.

stringList.string.stringValue: "ppt_y" specifies that the property to be animated is the position of the shape on the vertical axis.

The child-record hierarchy of the ExtTimeNodeContainer record G from the third table titled "Fifth-level ExtTimeNodeContainer child-record hierarchy" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

00007948

00FE

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

00007948

0008

    RecordHeader - rh

00007950

0028

    A: TimeNodeAtom - timeNodeAtom

00007978

0008

    B: TimePropertyList4TimeNodeContainer - timePropertyList

00007980

00A6

    C: TimeSetBehaviorContainer - timeSetBehavior

00007A26

0020

    D: TimeConditionContainer - timeCondition

00007A26

0008

        RecordHeader - rh

00007A2E

0018

        TimeConditionAtom - conditionAtom

00007A2E

0008

            RecordHeader - rh

00007A36

0004

            TriggerObjectEnum - triggerObject

0x00000000

00007A3A

0004

            unsigned integer - triggerEvent

0x00000000

00007A3E

0004

            unsigned integer - id

0x00000000

00007A42

0004

            signed integer - delay

0x000003E7

Figure 142: The fifth sixth-level ExtTimeNodeContainer child-record hierarchy

This time node contains a set behavior that hides the shape. The TimeNodeAtom record A is similar to the record specified in the second table titled "TimeNodeAtom record A child-record hierarchy in the sixth-level ExtTimeNodeContainer" in this section. The TimePropertyList4TimeNodeContainer record B is similar to the TimePropertyList4TimeNodeContainer record as specified in the second table titled "The second sixth-level ExtTimeNodeContainer child-record hierarchy" in this section. The TimeConditionContainer record D specifies that this behavior is deferred until the last millisecond.

timeCondition.conditionAtom.delay: 0x000003E7 specifies that this time node will start 0.999 seconds after the parent time node at the fifth level is activated.

The child-record hierarchy of the TimeSetBehaviorContainer record C from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

00007980

00A6

TimeSetBehaviorContainer - timeSetBehavior

00007980

0008

    RecordHeader - rh

00007988

0010

    A: TimeSetBehaviorAtom - setBehaviorAtom

00007988

0008

        RecordHeader - rh

00007988

0004

        unsigned integer - fToPropertyUsed

0x00000001

00007988

0004

        unsigned integer - fValueTypePropertyUsed

0x00000000

00007988

0004

        unsigned integer - reserved

0x00000000

00007994

0004

        TimeAnimateBehaviorValueTypeEnum - valueType

0x00000001

00007998

0017

    TimeVariantString - varTo

00007998

0008

        RecordHeader - rh

000079A0

0001

        TimeVariantTypeEnum - type

0x03

000079A1

000E

        array of bytes - stringValue

hidden

000079AF

0077

    B: TimeBehaviorContainer - behavior

Figure 143: TimeSetBehaviorContainer child-record hierarchy in the sixth-level ExtTimeNodeContainer

The TimeSetBehaviorAtom record A is similar to the TimeSetBehaviorAtom record as specified in the table titled "Child-record hierarchy of TimeSetBehaviorContainer in the sixth-level ExtTimeNodeContainer" in section 3.7.1.

varTo.stringValue: "hidden" specifies that the shape is invisible.

The child-record hierarchy of the TimeBehaviorContainer record B from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

000079AF

0077

TimeBehaviorContainer - behavior

000079AF

0008

    RecordHeader - rh

000079B7

0018

    A: TimeBehaviorAtom - behaviorAtom

000079B7

0008

        RecordHeader - rh

000079B7

1 bit

        bit - fAdditivePropertyUsed

0x0

000079B7

1 bit

        bit - reserved1

0x0

000079B7

1 bit

        bit - fAttributeNamesPropertyUsed

0x1

000079B7

1 bit

        bit - reserved2

0x0

000079B7

28 bits

        unsigned integer - reserved3

0x0000000

000079C3

0004

        unsigned integer - behaviorAdditive

0x00000000

000079C7

0004

        signed integer - behaviorAccumulate

0x00000000

000079CB

0004

        signed integer - behaviorTransform

0x00000000

000079CF

0033

    TimeStringListContainer - stringList

000079CF

0008

        RecordHeader - rh

000079D7

002B

        TimeVariantString - string

000079D7

0008

            RecordHeader - rh

000079DF

0001

            TimeVariantTypeEnum - type

0x03

000079E0

0022

            array of bytes - stringValue

style.visibility

00007A02

0024

    B: ClientVisualElementContainer - clientVisualElement

Figure 144: TimeBehaviorContainer child-record hierarchy

The TimeBehaviorAtom record A is similar to the TimeBehaviorAtom record as specified in the second table titled "TimeBehaviorAtom record A child-record hierarchy" in this section. The ClientVisualElementContainer record B specifies that the target of the animation is the shape.

stringList.string.stringValue: "style.visibility" specifies the property to be animated that controls the visibility of the shape.

Show: