Animation
Contents
[
Hide
]
This article demonstrates how to create simple animations and manage their sequence using Aspose.Slides for C++.
Add an Animation
Create a rectangle shape and apply a fade-in effect triggered on click.
#include <DOM/Animation/EffectSubtype.h>
#include <DOM/Animation/EffectTriggerType.h>
#include <DOM/Animation/EffectType.h>
#include <DOM/Animation/ISequence.h>
#include <DOM/IAnimationTimeLine.h>
#include <DOM/IAutoShape.h>
#include <DOM/IShapeCollection.h>
#include <DOM/ISlide.h>
#include <DOM/Presentation.h>
#include <DOM/ShapeType.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Animation;
using namespace System;
static void AddAnimation()
{
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto shape = slide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 50.0f, 50.0f, 100.0f, 100.0f);
// Fade effect.
slide->get_Timeline()->get_MainSequence()->AddEffect(
shape, EffectType::Fade, EffectSubtype::None, EffectTriggerType::OnClick);
presentation->Dispose();
}
Access an Animation
Retrieve the first animation effect from the slide timeline.
#include <DOM/Animation/EffectSubtype.h>
#include <DOM/Animation/EffectTriggerType.h>
#include <DOM/Animation/EffectType.h>
#include <DOM/Animation/ISequence.h>
#include <DOM/IAnimationTimeLine.h>
#include <DOM/IAutoShape.h>
#include <DOM/IShapeCollection.h>
#include <DOM/ISlide.h>
#include <DOM/Presentation.h>
#include <DOM/ShapeType.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Animation;
using namespace System;
static void AccessAnimation()
{
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto shape = slide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 50.0f, 50.0f, 100.0f, 100.0f);
slide->get_Timeline()->get_MainSequence()->AddEffect(
shape, EffectType::Fade, EffectSubtype::None, EffectTriggerType::OnClick);
// Access the first animation effect.
auto effect = slide->get_Timeline()->get_MainSequenceEffect(0);
presentation->Dispose();
}
Remove an Animation
Remove an animation effect from the sequence.
#include <DOM/Animation/EffectSubtype.h>
#include <DOM/Animation/EffectTriggerType.h>
#include <DOM/Animation/EffectType.h>
#include <DOM/Animation/ISequence.h>
#include <DOM/IAnimationTimeLine.h>
#include <DOM/IAutoShape.h>
#include <DOM/IShapeCollection.h>
#include <DOM/ISlide.h>
#include <DOM/Presentation.h>
#include <DOM/ShapeType.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Animation;
using namespace System;
static void RemoveAnimation()
{
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto shape = slide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 50.0f, 50.0f, 100.0f, 100.0f);
auto effect = slide->get_Timeline()->get_MainSequence()->AddEffect(
shape, EffectType::Fade, EffectSubtype::None, EffectTriggerType::OnClick);
// Remove the effect.
slide->get_Timeline()->get_MainSequence()->Remove(effect);
presentation->Dispose();
}
Sequence Animations
Add multiple effects and demonstrate the order in which animations occur.
#include <DOM/Animation/EffectSubtype.h>
#include <DOM/Animation/EffectTriggerType.h>
#include <DOM/Animation/EffectType.h>
#include <DOM/Animation/ISequence.h>
#include <DOM/IAnimationTimeLine.h>
#include <DOM/IAutoShape.h>
#include <DOM/IShapeCollection.h>
#include <DOM/ISlide.h>
#include <DOM/Presentation.h>
#include <DOM/ShapeType.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Animation;
using namespace System;
static void SequenceAnimations()
{
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto shape1 = slide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 50.0f, 50.0f, 100.0f, 100.0f);
auto shape2 = slide->get_Shapes()->AddAutoShape(ShapeType::Ellipse, 200.0f, 50.0f, 100.0f, 100.0f);
auto sequence = slide->get_Timeline()->get_MainSequence();
sequence->AddEffect(shape1, EffectType::Fly, EffectSubtype::Bottom, EffectTriggerType::OnClick);
sequence->AddEffect(shape2, EffectType::Fly, EffectSubtype::Bottom, EffectTriggerType::OnClick);
presentation->Dispose();
}