diff --git a/RetroFE/Source/CMakeLists.txt b/RetroFE/Source/CMakeLists.txt
index 6c35c18..fa7c87b 100644
--- a/RetroFE/Source/CMakeLists.txt
+++ b/RetroFE/Source/CMakeLists.txt
@@ -86,7 +86,9 @@ set(RETROFE_HEADERS
"${RETROFE_DIR}/Source/Execute/Launcher.h"
"${RETROFE_DIR}/Source/Graphics/Animate/Tween.h"
"${RETROFE_DIR}/Source/Graphics/Animate/TweenTypes.h"
- "${RETROFE_DIR}/Source/Graphics/Animate/TweenSets.h"
+ "${RETROFE_DIR}/Source/Graphics/Animate/TweenSet.h"
+ "${RETROFE_DIR}/Source/Graphics/Animate/Animation.h"
+ "${RETROFE_DIR}/Source/Graphics/Animate/AnimationEvents.h"
"${RETROFE_DIR}/Source/Graphics/ComponentItemBinding.h"
"${RETROFE_DIR}/Source/Graphics/Component/Container.h"
"${RETROFE_DIR}/Source/Graphics/Component/Component.h"
@@ -132,8 +134,10 @@ set(RETROFE_SOURCES
"${RETROFE_DIR}/Source/Graphics/PageBuilder.cpp"
"${RETROFE_DIR}/Source/Graphics/Page.cpp"
"${RETROFE_DIR}/Source/Graphics/ViewInfo.cpp"
+ "${RETROFE_DIR}/Source/Graphics/Animate/Animation.cpp"
+ "${RETROFE_DIR}/Source/Graphics/Animate/AnimationEvents.cpp"
"${RETROFE_DIR}/Source/Graphics/Animate/Tween.cpp"
- "${RETROFE_DIR}/Source/Graphics/Animate/TweenSets.cpp"
+ "${RETROFE_DIR}/Source/Graphics/Animate/TweenSet.cpp"
"${RETROFE_DIR}/Source/Graphics/ComponentItemBindingBuilder.cpp"
"${RETROFE_DIR}/Source/Graphics/ComponentItemBinding.cpp"
"${RETROFE_DIR}/Source/Graphics/Component/Container.cpp"
diff --git a/RetroFE/Source/Graphics/Animate/Animation.cpp b/RetroFE/Source/Graphics/Animate/Animation.cpp
new file mode 100644
index 0000000..13e114e
--- /dev/null
+++ b/RetroFE/Source/Graphics/Animate/Animation.cpp
@@ -0,0 +1,68 @@
+/* This file is part of RetroFE.
+ *
+ * RetroFE is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * RetroFE is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with RetroFE. If not, see .
+ */
+
+#include "Animation.h"
+#include
+
+Animation::Animation()
+{
+}
+
+Animation::Animation(Animation ©)
+{
+ for(std::vector::iterator it = copy.AnimationVector.begin(); it != copy.AnimationVector.end(); it++)
+ {
+ Push(new TweenSet(**it));
+ }
+}
+Animation::~Animation()
+{
+ Clear();
+}
+
+void Animation::Push(TweenSet *set)
+{
+ AnimationVector.push_back(set);
+}
+
+void Animation::Clear()
+{
+ std::vector::iterator it = AnimationVector.begin();
+ while(it != AnimationVector.end())
+ {
+ delete *it;
+ AnimationVector.erase(it);
+ it = AnimationVector.begin();
+ }
+
+ AnimationVector.clear();
+}
+
+std::vector *Animation::GetTweenSets()
+{
+ return &AnimationVector;
+}
+
+TweenSet *Animation::GetTweenSet(unsigned int index)
+{
+ return AnimationVector[index];
+}
+
+
+unsigned int Animation::GetSize()
+{
+ return AnimationVector.size();
+}
diff --git a/RetroFE/Source/Graphics/Animate/Animation.h b/RetroFE/Source/Graphics/Animate/Animation.h
new file mode 100644
index 0000000..cb991aa
--- /dev/null
+++ b/RetroFE/Source/Graphics/Animate/Animation.h
@@ -0,0 +1,36 @@
+/* This file is part of RetroFE.
+ *
+ * RetroFE is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * RetroFE is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with RetroFE. If not, see .
+ */
+#pragma once
+
+#include "TweenSet.h"
+#include
+#include
+#include