3.7.1 Text Animation

Office

This example explains the timing tree of the text animation used on presentation slide 2 as shown in figure titled "Presentation slide 2" in section 3.1. The animation displays one bullet item of paragraph every time the mouse is clicked. In total, three paragraphs that are not displayed at first are displayed, using animation.

The timing tree of the text animation is found inside the PP2.5.24SlideBinaryTagExtension record. The ExtTimeNodeContainer (section 2.8.15) record D from the table titled "SlideProgTagsContainer child-record hierarchy" in section 3.6.2 is shown expanded in the following table.

Offset

Size

Structure

Value

00002658

07E9

ExtTimeNodeContainer - extTimeNodeContainer

00002658

0008

    RecordHeader - rh

00002660

0028

    A: TimeNodeAtom - timeNodeAtom

00002688

0015

    TimePropertyList4TimeNodeContainer - timePropertyList

00002688

0008

        RecordHeader - rh

00002690

000D

        TimeEffectNodeType - case of TL_TPID_EffectNodeType

00002690

0008

            RecordHeader - rh

00002698

0001

            TimeVariantTypeEnum - type

0x01

00002699

0004

            signed integer - effectNodeType

0x00000009

0000269D

07A4

    B: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

Figure 79: First-level ExtTimeNodeContainer child-record hierarchy

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

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

Offset

Size

Structure

Value

00002660

0028

A: TimeNodeAtom - timeNodeAtom

00002660

0008

    RecordHeader - rh

00002668

0004

    unsigned integer - reserved1

0x00000000

0000266C

0004

    unsigned integer - restart

0x00000003

00002670

0004

    TimeNodeTypeEnum - type

0x00000000

00002674

0004

    unsigned integer - fill

0x00000000

00002678

0004

    signed integer - reserved2

0x00000000

0000267C

0001

    unsigned integer - reserved3

0x00

00002680

0004

    signed integer - duration

0xFFFFFFFF

00002684

1 bit

    bit - fFillProperty

0x0

00002684

1 bit

    bit - fRestartProperty

0x1

00002684

1 bit

    bit - reserved4

0x0

00002684

1 bit

    bit - fGroupingTypeProperty

0x0

00002684

1 bit

    bit - fDurationProperty

0x1

00002684

27 bits

    unsigned integer - reserved5

0x0000000

Figure 80: TimeNodeAtom record A child-record hierarchy

restart: 0x00000003 specifies that this time node will never restart.

type: 0x00000000 specifies that this time node is a parallel time node, which allows all of its child nodes to start at the same time.

fill: 0x00000000 specifies that the animated properties are reset to their original values after the time node becomes inactive.

duration: 0xFFFFFFFF specifies that the duration of the time node is infinite, and that its actual duration is determined by the durations of its child nodes.

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

Offset

Size

Structure

Value

0000269D

07A4

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

0000269D

0008

    RecordHeader - rh

000026A5

0028

    A: TimeNodeAtom - timeNodeAtom

000026CD

0015

    TimePropertyList4TimeNodeContainer - timePropertyList

000026CD

0008

        RecordHeader - rh

000026D5

000D

        TimeEffectNodeType - case of TL_TPID_EffectNodeType

000026D5

0008

            RecordHeader - rh

000026DD

0001

            TimeVariantTypeEnum - type

0x01

000026DE

0004

            signed integer - effectNodeType

0x00000004

000026E2

001C

    B: TimeSequenceDataAtom - timeSequenceDataAtom

000026FE

0034

    C: TimeConditionContainer - timeCondition

00002732

0034

    D: TimeConditionContainer - timeCondition

00002766

0249

    E: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

000029AF

0249

    F: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

00002BF8

0249

    G: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

Figure 81: Second-level ExtTimeNodeContainer child-record hierarchy

The TimeConditionContainer (section 2.8.75) record C specifies the time condition of starting the next child time node, while the TimeConditionContainer record D specifies the time condition of starting the previous child time node.

The ExtTimeNodeContainer records E, F, and G are three child nodes of this time node. Each of them specifies the animation of one paragraph. Because these records are very similar, only the record E will be explained in this example.

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 TimeNodeAtom record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

000026A5

0028

A: TimeNodeAtom - timeNodeAtom

000026A5

0008

    RecordHeader - rh

000026AD

0004

    unsigned integer - reserved1

0x00000000

000026B1

0004

    unsigned integer - restart

0x00000000

000026B5

0004

    TimeNodeTypeEnum - type

0x00000001

000026B9

0004

    unsigned integer - fill

0x00000000

000026BD

0004

    signed integer - reserved2

0x00000000

000026C1

0001

    unsigned integer - reserved3

0x00

000026C5

0004

    signed integer - duration

0xFFFFFFFF

000026C9

1 bit

    bit - fFillProperty

0x0

000026C9

1 bit

    bit - fRestartProperty

0x0

000026C9

1 bit

    bit - reserved4

0x0

000026C9

1 bit

    bit - fGroupingTypeProperty

0x1

000026C9

1 bit

    bit - fDurationProperty

0x1

000026C9

27 bits

    unsigned integer - reserved5

0x0000000

Figure 82: TimeNodeAtom record A child-record hierarchy in the second-level ExtTimeNodeContainer

type: 0x00000001 specifies that this time node is a sequential time node.

The child-record hierarchy of the TimeSequenceDataAtom record B from the table titled "Second-level ExtTimeNodeContainer child-record hierarchy" in section 3.7.2 is shown expanded in the following table.

Offset

Size

Structure

Value

000026E2

001C

B: TimeSequenceDataAtom - timeSequenceDataAtom

000026E2

0008

    RecordHeader - rh

000026EA

0004

    unsigned integer - concurrency

0x00000001

000026EE

0004

    unsigned integer - nextAction

0x00000001

000026F2

0004

    unsigned integer - previousAction

0x00000000

000026F6

0004

    unsigned integer - reserved1

0x00000000

000026FA

1 bit

    bit - fConcurrencyPropertyUsed

0x1

000026FA

1 bit

    bit - fNextActionPropertyUsed

0x1

000026FA

1 bit

    bit - fPreviousActionPropertyUsed

0x0

000026FA

29 bits

    unsigned integer - reserved2

0x00000000

Figure 83: TimeSequenceDataAtom record B child-record hierarchy

concurrency: 0x00000001 specifies that the next child time node can be activated after the current child is activated and that the time condition in the TimeConditionContainer record C from the table titled "Second-level ExtTimeNodeContainer child-record hierarchy" in section 3.7.2 are met.

nextAction: 0x00000001 specifies that the current child time node traverses forward to its natural end time before traversing to the next child.

previousAction: 0x00000000 specifies that no actions are performed before traversing back to the previous child time node.

The child-record hierarchy of the TimeConditionContainer record C from the table titled "Second-level ExtTimeNodeContainer child-record hierarchy" in section 3.7.2 is shown expanded in the following table.

Offset

Size

Structure

Value

000026FE

0034

C: TimeConditionContainer - timeCondition

000026FE

0008

    RecordHeader - rh

00002706

0018

    TimeConditionAtom - conditionAtom

00002706

0008

        RecordHeader - rh

0000270E

0004

        TriggerObjectEnum - triggerObject

0x00000001

00002712

0004

        unsigned integer - triggerEvent

0x00000009

00002716

0004

        unsigned integer - id

0x00000000

0000271A

0004

        signed integer - delay

0x00000000

0000271E

0014

    ClientVisualElementContainer - visualElement

0000271E

0008

        RecordHeader - rh

00002726

000C

        VisualElementAtom - visualElementAtom

00002726

000C

            VisualPageAtom - case of RT_VisualPageAtom

00002726

0008

                RecordHeader - rh

0000272E

0004

                TimeVisualElementEnum - type

0x00000001

Figure 84: TimeConditionContainer record C child-record hierarchy in the second-level ExtTimeNodeContainer

The TimeConditionContainer specifies the time condition that triggers the next child time node.

conditionAtom.triggerObject: 0x00000001 specifies that the target that participates in the evaluation of time condition is an object as specified in the timeCondition.visualElement field.

conditionAtom.triggerEvent: 0x00000009 specifies that if the OnNext event occurs on the target, the time condition is true. The OnNext event can be triggered by a mouse click on the presentation slide.

conditionAtom.id: 0x00000000 specifies that the target is the presentation slide.

conditionAtom.delay: 0x00000000 specifies that there is no offset time applied to when the time condition becomes true.

visualElement.visualElementAtom.case of RT_VisualPageAtom.type: 0x00000001 specifies that the target of the time condition is a presentation slide.

The child-record hierarchy of the TimeConditionContainer record D from the table titled "Second-level ExtTimeNodeContainer child-record hierarchy" in section 3.7.2 is shown expanded in the following table.

Offset

Size

Structure

Value

00002732

0034

D: TimeConditionContainer - timeCondition

00002732

0008

    RecordHeader - rh

0000273A

0018

    TimeConditionAtom - conditionAtom

0000273A

0008

        RecordHeader - rh

00002742

0004

        TriggerObjectEnum - triggerObject

0x00000001

00002746

0004

        unsigned integer - triggerEvent

0x0000000A

0000274A

0004

        unsigned integer - id

0x00000000

0000274E

0004

        signed integer - delay

0x00000000

00002752

0014

    ClientVisualElementContainer - visualElement

00002752

0008

        RecordHeader - rh

0000275A

000C

        VisualElementAtom - visualElementAtom

0000275A

000C

            VisualPageAtom - case of RT_VisualPageAtom

0000275A

0008

                RecordHeader - rh

00002762

0004

                TimeVisualElementEnum - type

0x00000001

Figure 85: TimeConditionContainer record D child-record hierarchy in the second-level ExtTimeNodeContainer

The TimeConditionContainer specifies the time condition that triggers the previous child time node. The only difference between the TimeConditionContainer record C from the table titled "Second-level ExtTimeNodeContainer child-record hierarchy" in section 3.7.2 and the TimeConditionContainer record D from the table titled "Second-level ExtTimeNodeContainer child-record hierarchy" in section 3.7.2 is the timeCondition.conditionAtom.triggerEvent field.

conditionAtom.triggerEvent: 0x0000000A specifies that if the OnPrev event occurs on the target, the time condition is true.

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

Offset

Size

Structure

00002766

0249

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

00002766

0008

    RecordHeader - rh

0000276E

0028

    A: TimeNodeAtom - timeNodeAtom

00002796

0008

    B: TimePropertyList4TimeNodeContainer - timePropertyList

00002796

0008

        RecordHeader - rh

0000279E

0020

    C: TimeConditionContainer - timeCondition

000027BE

01F1

    D: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

Figure 86: Third-level ExtTimeNodeContainer child-record hierarchy

The TimePropertyList4TimeNodeContainer (section 2.8.18) record B is an empty list.

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

Offset

Size

Structure

Value

0000276E

0028

A: TimeNodeAtom - timeNodeAtom

0000276E

0008

    RecordHeader - rh

00002776

0004

    unsigned integer - reserved1

0x00000000

0000277A

0004

    unsigned integer - restart

0x00000000

0000277E

0004

    TimeNodeTypeEnum - type

0x00000000

00002782

0004

    unsigned integer - fill

0x00000003

00002786

0004

    signed integer - reserved2

0x00000000

0000278A

0001

    unsigned integer - reserved3

0x00

0000278E

0004

    signed integer - duration

0x00000000

00002792

1 bit

    bit - fFillProperty

0x1

00002792

1 bit

    bit - fRestartProperty

0x0

00002792

1 bit

    bit - reserved4

0x0

00002792

1 bit

    bit - fGroupingTypeProperty

0x0

00002792

1 bit

    bit - fDurationProperty

0x0

00002792

27 bits

    unsigned integer - reserved5

0x0000000

Figure 87: TimeNodeAtom record A child-record hierarchy in the third-level ExtTimeNodeContainer

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

duration: 0x00000000 specifies that the duration of the time node is not specified, and that its actual duration is determined by the latest end time of any of its child nodes.

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

Offset

Size

Structure

Value

0000279E

0020

C: TimeConditionContainer - timeCondition

0000279E

0008

    RecordHeader - rh

000027A6

0018

    TimeConditionAtom - conditionAtom

000027A6

0008

        RecordHeader - rh

000027AE

0004

        TriggerObjectEnum - triggerObject

0x00000000

000027B2

0004

        unsigned integer - triggerEvent

0x00000000

000027B6

0004

        unsigned integer - id

0x00000000

000027BA

0004

        signed integer - delay

0xFFFFFFFF

Figure 88: TimeConditionContainer record C child-record hierarchy in the third-level ExtTimeNodeContainer

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

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

Offset

Size

Structure

Value

000027BE

01F1

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

000027BE

0008

    RecordHeader - rh

000027C6

0028

    A: TimeNodeAtom - timeNodeAtom

000027EE

0008

    TimePropertyList4TimeNodeContainer - timePropertyList

000027EE

0008

        RecordHeader - rh

000027F6

0020

    B: TimeConditionContainer - timeCondition

000027F6

0008

        RecordHeader - rh

000027FE

0018

        TimeConditionAtom - conditionAtom

000027FE

0008

            RecordHeader - rh

00002806

0004

            TriggerObjectEnum - triggerObject

0x00000000

0000280A

0004

            unsigned integer - triggerEvent

0x00000000

0000280E

0004

            unsigned integer - id

0x00000000

00002812

0004

            signed integer - delay

0x00000000

00002816

0199

    C: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

Figure 89: Fourth-level ExtTimeNodeContainer child-record hierarchy

The values of the conditionAtom.triggerObject field and the conditionAtom.triggerEvent field in the TimeConditionContainer record B are both 0x00000000, which specifies no condition for this time node and implies that the evaluation of the time condition always returns true.

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

Offset

Size

Structure

Value

000027C6

0028

A: TimeNodeAtom - timeNodeAtom

000027C6

0008

    RecordHeader - rh

000027CE

0004

    unsigned integer - reserved1

0x00000000

000027D2

0004

    unsigned integer - restart

0x00000000

000027D6

0004

    TimeNodeTypeEnum - type

0x00000000

000027DA

0004

    unsigned integer - fill

0x00000003

000027DE

0004

    signed integer - reserved2

0x00000000

000027E2

0001

    unsigned integer - reserved3

0x00

000027E6

0004

    signed integer - duration

0x00000000

000027EA

1 bit

    bit - fFillProperty

0x1

000027EA

1 bit

    bit - fRestartProperty

0x0

000027EA

1 bit

    bit - reserved4

0x0

000027EA

1 bit

    bit - fGroupingTypeProperty

0x0

000027EA

1 bit

    bit - fDurationProperty

0x0

000027EA

27 bits

    unsigned integer - reserved5

0x0000000

Figure 90: TimeNodeAtom record A child-record hierarchy in the fourth-level ExtTimeNodeContainer

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

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

Offset

Size

Structure

Value

00002816

0199

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

00002816

0008

    RecordHeader - rh

0000281E

0028

    A: TimeNodeAtom - timeNodeAtom

00002846

0049

    B: TimePropertyList4TimeNodeContainer - timePropertyList

0000288F

0020

    C: TimeConditionContainer - timeCondition

0000288F

0008

        RecordHeader - rh

00002897

0018

        TimeConditionAtom - conditionAtom

00002897

0008

            RecordHeader - rh

0000289F

0004

            TriggerObjectEnum - triggerObject

0x00000000

000028A3

0004

            unsigned integer - triggerEvent

0x00000000

000028A7

0004

            unsigned integer - id

0x00000000

000028AB

0004

            signed integer - delay

0x00000000

000028AF

0100

    D: ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

Figure 91: Fifth-level ExtTimeNodeContainer child-record hierarchy

This time node specifies the appear animation effect that makes the paragraph display during a slide show.

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

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

Offset

Size

Structure

Value

0000281E

0028

A: TimeNodeAtom - timeNodeAtom

0000281E

0008

    RecordHeader - rh

00002826

0004

    unsigned integer - reserved1

0x00000000

0000282A

0004

    unsigned integer - restart

0x00000000

0000282E

0004

    TimeNodeTypeEnum - type

0x00000000

00002832

0004

    unsigned integer - fill

0x00000003

00002836

0004

    signed integer - reserved2

0x00000000

0000283A

0001

    unsigned integer - reserved3

0x00

0000283E

0004

    signed integer - duration

0x00000000

00002842

1 bit

    bit - fFillProperty

0x1

00002842

1 bit

    bit - fRestartProperty

0x0

00002842

1 bit

    bit - reserved4

0x0

00002842

1 bit

    bit - fGroupingTypeProperty

0x0

00002842

1 bit

    bit - fDurationProperty

0x0

00002842

27 bits

    unsigned integer - reserved5

0x0000000

Figure 92: 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.

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

Offset

Size

Structure

Value

00002846

0049

B: TimePropertyList4TimeNodeContainer - timePropertyList

00002846

0008

    RecordHeader - rh

0000284E

000D

    TimeEffectNodeType - case of TL_TPID_EffectNodeType

0000284E

0008

        RecordHeader - rh

00002856

0001

        TimeVariantTypeEnum - type

0x01

00002857

0004

        signed integer - effectNodeType

0x00000001

0000285B

000D

    TimeEffectID - case of TL_TPID_EffectID

0000285B

0008

        RecordHeader - rh

00002863

0001

        TimeVariantTypeEnum - type

0x01

00002864

0004

        signed integer - effectID

0x00000001

00002868

000D

    TimeVariantInt - case of TL_TPID_EffectDir

00002868

0008

        RecordHeader - rh

00002870

0001

        TimeVariantTypeEnum - type

0x01

00002871

0004

        signed integer - intValue

0x00000000

00002875

000D

    TimeEffectType - case of TL_TPID_EffectType

00002875

0008

        RecordHeader - rh

0000287D

0001

        TimeVariantTypeEnum - type

0x01

0000287E

0004

        signed integer - effectType

0x00000001

00002882

000D

    TimeGroupID - case of TL_TPID_GroupID

00002882

0008

        RecordHeader - rh

0000288A

0001

        TimeVariantTypeEnum - type

0x01

0000288B

0004

        signed integer - groupID

0x00000000

Figure 93: 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: 0x00000001 specifies the identifier of the animation effect applied to the paragraphs, which specifies the appear animation effect.

case of TL_TPID_EffectDir.intValue: 0x00000000 specifies no direction for the animation effect.

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

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

The child-record hierarchy of the ExtTimeNodeContainer record D from the table titled "Fifth-level ExtTimeNodeContainer child-record hierarchy" in this section is shown expanded in the following table. This is the only animation behavior of the appear animation effect.

Offset

Size

Structure

Value

000028AF

0100

ExtTimeNodeContainer - case of RT_TimeExtTimeNodeContainer

000028AF

0008

    RecordHeader - rh

000028B7

0028

    A: TimeNodeAtom - timeNodeAtom

000028DF

0008

    B: TimePropertyList4TimeNodeContainer - timePropertyList

000028DF

0008

        RecordHeader - rh

000028E7

00A8

    C: TimeSetBehaviorContainer - timeSetBehavior

0000298F

0020

    D: TimeConditionContainer - timeCondition

0000298F

0008

        RecordHeader - rh

00002997

0018

        TimeConditionAtom - conditionAtom

00002997

0008

            RecordHeader - rh

0000299F

0004

            TriggerObjectEnum - triggerObject

0x00000000

000029A3

0004

            unsigned integer - triggerEvent

0x00000000

000029A7

0004

            unsigned integer - id

0x00000000

000029AB

0004

            signed integer - delay

0x00000000

Figure 94: Sixth-level ExtTimeNodeContainer child-record hierarchy

The values of the conditionAtom.triggerObject field and the conditionAtom.triggerEvent field in the TimeConditionContainer record D are both 0x00000000, which specifies no condition for this time node and implies that the evaluation of the time condition always returns true.

The TimePropertyList4TimeNodeContainer record B is an empty list.

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

Offset

Size

Structure

Value

000028B7

0028

A: TimeNodeAtom - timeNodeAtom

000028B7

0008

    RecordHeader - rh

000028BF

0004

    unsigned integer - reserved1

0x00000000

000028C3

0004

    unsigned integer - restart

0x00000000

000028C7

0004

    TimeNodeTypeEnum - type

0x00000003

000028CB

0004

    unsigned integer - fill

0x00000003

000028CF

0004

    signed integer - reserved2

0x00000000

000028D3

0001

    unsigned integer - reserved3

0x00

000028D7

0004

    signed integer - duration

0x00000001

000028DB

1 bit

    bit - fFillProperty

0x1

000028DB

1 bit

    bit - fRestartProperty

0x0

000028DB

1 bit

    bit - reserved4

0x0

000028DB

1 bit

    bit - fGroupingTypeProperty

0x1

000028DB

1 bit

    bit - fDurationProperty

0x1

000028DB

27 bits

    unsigned integer - reserved5

0x0000000

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

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

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: 0x00000001 specifies that the duration of this time node is 0.001 seconds.

The child-record hierarchy of the TimeSetBehaviorContainer (section 2.8.69) record C from the table titled "Sixth-level ExtTimeNodeContainer child-record hierarchy" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

000028E7

00A8

TimeSetBehaviorContainer - timeSetBehavior

000028E7

0008

    RecordHeader - rh

000028EF

0010

    TimeSetBehaviorAtom - setBehaviorAtom

000028EF

0008

        RecordHeader - rh

000028EF

1 bit

        bit - fToPropertyUsed

0x1

000028EF

1 bit

        bit - fValueTypePropertyUsed

0x0

000028EF

30 bits

        unsigned integer - reserved

0x00000000

000028FB

0004

        TimeAnimateBehaviorValueTypeEnum - valueType

0x00000001

000028FF

0019

    TimeVariantString - varTo

000028FF

0008

        RecordHeader - rh

00002907

0001

        TimeVariantTypeEnum - type

0x03

00002908

0010

        array of bytes - stringValue

visible

00002918

0077

    A: TimeBehaviorContainer - behavior

Figure 96: Child-record hierarchy of TimeSetBehaviorContainer in the sixth-level ExtTimeNodeContainer

This set behavior assigns a specified value to the property as specified in the timeSetBehavior.varTo.stringValue field.

setBehaviorAtom.valueType: 0x00000001 specifies that the type of the property value is a number.

varTo.stringValue: "visible" specifies the preset value that will be assigned to the property that controls the visibility of the target object. After this value is set, the target object appears in the slide show.

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

Offset

Size

Structure

Value

00002918

0077

TimeBehaviorContainer - behavior

00002918

0008

    RecordHeader - rh

00002920

0018

    A: TimeBehaviorAtom - behaviorAtom

00002938

0033

    B: TimeStringListContainer - stringList

00002938

0008

        RecordHeader - rh

00002940

002B

        TimeVariantString - string

00002940

0008

            RecordHeader - rh

00002948

0001

            TimeVariantTypeEnum - type

0x03

00002949

0022

            array of bytes - stringValue

style.visibility

0000296B

0024

    C: ClientVisualElementContainer - clientVisualElement

0000296B

0008

        RecordHeader - rh

00002973

001C

        VisualElementAtom - visualElementAtom

00002973

001C

            VisualShapeOrSoundAtom - case of RT_VisualShapeAtom

00002973

001C

                VisualShapeAtom - case of TL_ET_ShapeType

00002973

001C

                    VisualShapeGeneralAtom - default_case

00002973

0008

                        RecordHeader - rh

0000297B

0004

                        TimeVisualElementEnum - type

0x00000002

0000297F

0004

                        ElementTypeEnum - refType

0x00000001

00002983

0004

                        unsigned integer - shapeIdRef

0x00000C03

00002987

0004

                        signed integer - data1

0x00000000

0000298B

0004

                        signed integer - data2

0x0000000C

Figure 97: Child-record hierarchy of TimeBehaviorContainer

stringList.string.stringValue: "style.visibility" specifies the property to which a value is assigned. This property controls the visibility of the target object.

clientVisualElement.visualElementAtom.case of RT_VisualShapeAtom.case of TL_ET_ShapeType.default_case.type: 0x00000002 specifies that the animation is applied to a specified range of text in the shape.

clientVisualElement.visualElementAtom.case of RT_VisualShapeAtom.case of TL_ET_ShapeType.default_case.refType: 0x00000001 specifies that the animation target is a part of the shape that contains the three paragraphs.

clientVisualElement.visualElementAtom.case of RT_VisualShapeAtom.case of TL_ET_ShapeType.default_case.shapeIdRef: 0x00000C03 specifies the shape identifier of the shape that contains the three paragraphs.

clientVisualElement.visualElementAtom.case of RT_VisualShapeAtom.case of TL_ET_ShapeType.default_case.data1: 0x00000000 specifies the character index of the beginning of the paragraph to be animated.

clientVisualElement.visualElementAtom.case of RT_VisualShapeAtom.case of TL_ET_ShapeType.default_case.data2: 0x0000000C specifies the character index of the end of the paragraph to be animated.

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

Offset

Size

Structure

Value

00002920

0018

A: TimeBehaviorAtom - behaviorAtom

00002920

0008

    RecordHeader - rh

00002920

1 bit

    bit - fAdditivePropertyUsed

0x0

00002920

1 bit

    bit - reserved1

0x0

00002920

1 bit

    bit - fAttributeNamesPropertyUsed

0x1

00002920

1 bit

    bit - reserved2

0x0

00002920

28 bits

    unsigned integer - reserved3

0x0000000

0000292C

0004

    unsigned integer - behaviorAdditive

0x00000000

00002930

0004

    signed integer - behaviorAccumulate

0x00000000

00002934

0004

    signed integer - behaviorTransform

0x00000000

Figure 98: TimeBehaviorAtom record A child-record hierarchy

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

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

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

Show: