pub enum TimeNodeGroup {
Show 13 variants
Parallel(Box<TLCommonTimeNodeData>),
Sequence(Box<TLTimeNodeSequence>),
Exclusive(Box<TLCommonTimeNodeData>),
Animate(Box<TLAnimateBehavior>),
AnimateColor(Box<TLAnimateColorBehavior>),
AnimateEffect(Box<TLAnimateEffectBehavior>),
AnimateMotion(Box<TLAnimateMotionBehavior>),
AnimateRotation(Box<TLAnimateRotationBehavior>),
AnimateScale(Box<TLAnimateScaleBehavior>),
Command(Box<TLCommandBehavior>),
Set(Box<TLSetBehavior>),
Audio(Box<TLMediaNodeAudio>),
Video(Box<TLMediaNodeVideo>),
}Variants§
Parallel(Box<TLCommonTimeNodeData>)
This element describes the Parallel time node which can be activated along with other parallel time node containers.
§Xml example
<p:timing>
<p:tnLst>
<p:par>
<p:cTn id="1" dur="indefinite" restart="never" nodeType="tmRoot">
<p:childTnLst>
<p:seq concurrent="1" nextAc="seek">
…
</p:seq>
</p:childTnLst>
</p:cTn>
</p:par>
</p:tnLst>
</p:timing>Sequence(Box<TLTimeNodeSequence>)
This element describes the Sequence time node and it can only be activated when the one before it finishes.
§Xml example
For example, suppose we have a simple animation with a blind entrance.
<p:timing>
<p:tnLst>
<p:par>
<p:cTn id="1" dur="indefinite" restart="never" nodeType="tmRoot">
<p:childTnLst>
<p:seq concurrent="1" nextAc="seek">
…
</p:seq>
</p:childTnLst>
</p:cTn>
</p:par>
</p:tnLst>
</p:timing>Exclusive(Box<TLCommonTimeNodeData>)
This element describes the Exclusive time node. This time node is used to pause all other timelines when it is activated.
Animate(Box<TLAnimateBehavior>)
This element is a generic animation element that requires little or no semantic understanding of the attribute being animated. It can animate text within a shape or even the shape itself.
§Xml example
Consider trying to emphasize text within a shape by changing the size of its font by 150%. The
<p:anim to="1.5" calcmode="lin" valueType="num">
<p:cBhvr override="childStyle">
<p:cTn id="1" dur="2000" fill="hold"/>
<p:tgtEl>
<p:spTgt spid="1">
<p:txEl>
<p:charRg st="1" end="4"/>
</p:txEl>
</p:spTgt>
</p:tgtEl>
<p:attrNameLst>
<p:attrName>style.fontSize</p:attrName>
</p:attrNameLst>
</p:cBhvr>
</p:anim>AnimateColor(Box<TLAnimateColorBehavior>)
This animation element is responsible for animating the color of an object.
§Xml example
Consider trying to emphasize a shape by changing its fill color to scheme color accent2. The
<p:animClr clrSpc="rgb">
<p:cBhvr>
<p:cTn id="1" dur="2000" fill="hold"/>
<p:tgtEl>
<p:spTgt spid="1"/>
</p:tgtEl>
<p:attrNameLst>
<p:attrName>fillcolor</p:attrName>
</p:attrNameLst>
</p:cBhvr>
<p:to>
<a:schemeClr val="accent2"/>
</p:to>
</p:animClr>AnimateEffect(Box<TLAnimateEffectBehavior>)
This animation behavior provides the ability to do image transform/filter effects on elements. Some visual effects are dynamic in nature and have a progress that animates from 0 to 1 over a period of time to do visual transitions between hidden and visible states. Other filters are static and apply a effects like a blur or drop- shadow which aren’t inherently time-based.
§Xml example
Consider trying to emphasize a shape by creating an entrance animation using a “blinds” motion.
<p:animEffect transition="in" filter="blinds(horizontal)">
<p:cBhvr>
<p:cTn id="7" dur="500"/>
<p:tgtEl>
<p:spTgt spid="4"/>
</p:tgtEl>
</p:cBhvr>
</p:animEffect>AnimateMotion(Box<TLAnimateMotionBehavior>)
Animate motion provides an abstracted way to move positioned elements. It provides the ability to specify from/to/by motion as well as to use more detailed path descriptions for motion over polylines or bezier curves.
§Xml example
Consider animating a shape from its original position to the right.. The
<p:animMotion origin="layout" path="M 0 0 L 0.25 0 E" pathEditMode="relative">
<p:cBhvr>
<p:cTn id="1" dur="2000" fill="hold"/>
<p:tgtEl>
<p:spTgt spid="1"/>
</p:tgtEl>
<p:attrNameLst>
<p:attrName>ppt_x</p:attrName>
<p:attrName>ppt_y</p:attrName>
</p:attrNameLst>
</p:cBhvr>
</p:animMotion>AnimateRotation(Box<TLAnimateRotationBehavior>)
This animation element is responsible for animating the rotation of an object. Rotation values set in the “by”, “to, and “from” attributes are specified in degrees measured to a 60,000th, i.e 1 degree is 60,000. Rotation values can be larger than 360°.
The sign of the rotation angle specifies the direction for rotation. A negative rotation specifies that the rotation should appear in the host to go counter-clockwise“.
§Xml example
Consider trying to emphasize a shape by rotating it 360 degrees clockwise. The
<p:animRot by="21600000">
<p:cBhvr>
<p:cTn id="6" dur="2000" fill="hold"/>
<p:tgtEl>
<p:spTgt spid="5"/>
</p:tgtEl>
<p:attrNameLst>
<p:attrName>r</p:attrName>
</p:attrNameLst>
</p:cBhvr>
</p:animRot>AnimateScale(Box<TLAnimateScaleBehavior>)
This animation element is responsible for animating the scale of an object. When animating the scale, the element shall scale around the reference point of the element and the positioning system used should be consistent with the one used for motion paths. When animating the width and height of an element, all of the width/height animation values are calculated first then the scale animations are applied on top of that. So for example, an animation from 0 to 100 of the width with a concurrent scale from 100% to 200% would result in the element appearing to scale from 0 to 200.
§Xml example
Consider trying to emphasize a shape by scaling it larger by 150%. The
<p:childTnLst>
<p:animScale>
<p:cBhvr>
<p:cTn id="6" dur="2000" fill="hold"/>
<p:tgtEl>
<p:spTgt spid="5"/>
</p:tgtEl>
</p:cBhvr>
<p:by x="150000" y="150000"/>
</p:animScale>
</p:childTnLst>Command(Box<TLCommandBehavior>)
This element describes the several non-durational commands that can be executed within a timeline. This can be used to send events, call functions on elements, and send verbs to embedded objects. For example “Object Action” effects for Embedded objects and Media commands for sounds/movies such as “PlayFrom(0.0)” and “togglePause”.
Set(Box<TLSetBehavior>)
This element allows the setting of a particular property value to a fixed value while the behavior is active and restores the value when the behavior is reset or turned off.
§Xml example
For example, suppose we want to set certain properties during an animation effect. The
<p:childTnLst>
<p:set>
<p:cBhvr>
<p:cTn id="6" dur="1" fill="hold"> … </p:cTn>
<p:tgtEl>
<p:spTgt spid="4"/>
</p:tgtEl>
<p:attrNameLst>
<p:attrName>style.visibility</p:attrName>
</p:attrNameLst>
</p:cBhvr>
<p:to>
<p:strVal val="visible"/>
</p:to>
</p:set>
<p:animEffect transition="in" filter="blinds(horizontal)">
…
</p:animEffect>
</p:childTnLst>Audio(Box<TLMediaNodeAudio>)
This element is used to include audio during an animation. This element specifies that this node within the animation tree triggers the playback of an audio file; the actual audio file used is specified by the sndTgt element (§19.5.70).
§Xml example
Consider adding applause sound to an animation sequence. The audio element is used as follows:
<p:cTn ...>
<p:stCondLst>...</p:stCondLst>
<p:childTnLst>...</p:childTnLst>
<p:subTnLst>
<p:audio>
<p:cMediaNode vol="50%">...
<p:tgtEl>
<p:sndTgt r:embed="rId2" />
</p:tgtEl>
</p:cMediaNode>
</p:audio>
</p:subTnLst>
</p:cTn>The audio element specifies the location of the audio playback within the animation; its child sndTgt element specifies that the audio to be played is the target of the relationship with ID rId2.
Video(Box<TLMediaNodeVideo>)
This element specifies video information in an animation sequence. This element specifies that this node within the animation tree triggers the playback of a video file; the actual video file used is specified by the videoFile element
§Xml example
Consider a slide with an animated video content. The
<p:cSld>
<p:spTree>
<p:pic>
<p:nvPicPr>
<p:cNvPr id="4"/>
…
<p:nvPr>
<a:videoFile r:link="rId1" contentType="video/ogg"/>
</p:nvPr>
</p:nvPicPr>
…
</p:pic>
</p:spTree>
</p:cSld>
…
<p:childTnLst>
<p:seq concurrent="1" nextAc="seek">
…
</p:seq>
<p:video>
<p:cMediaNode>
…
<p:tgtEl>
<p:spTgt spid="4"/>
</p:tgtEl>
</p:cMediaNode>
</p:video>
</p:childTnLst>The video element specifies the location of the video playback within the animation sequence; its child spTgt element specifies that the shape which contains the video to be played has a shape ID of 4. If we look at the shape with that ID value, its child videoFile element references an external video file of content type video/ogg located at the target of the relationship with ID rId1
Implementations§
Source§impl TimeNodeGroup
impl TimeNodeGroup
Trait Implementations§
Source§impl Clone for TimeNodeGroup
impl Clone for TimeNodeGroup
Source§fn clone(&self) -> TimeNodeGroup
fn clone(&self) -> TimeNodeGroup
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more