From 5abfe6d2056ffe779c50cbed22b543652b1254a9 Mon Sep 17 00:00:00 2001 From: Pieter Hulshoff Date: Thu, 11 Aug 2016 15:31:13 +0200 Subject: [PATCH] Added onMenuScroll animation, which activates once every time the menu starts scrolling. --- RetroFE/Source/Graphics/Page.cpp | 21 +++++++++++++++++++++ RetroFE/Source/Graphics/Page.h | 1 + RetroFE/Source/Graphics/PageBuilder.cpp | 1 + 3 files changed, 23 insertions(+) diff --git a/RetroFE/Source/Graphics/Page.cpp b/RetroFE/Source/Graphics/Page.cpp index 48fb52d..85653f4 100644 --- a/RetroFE/Source/Graphics/Page.cpp +++ b/RetroFE/Source/Graphics/Page.cpp @@ -325,6 +325,19 @@ void Page::playlistChange() } +void Page::menuScroll() +{ + Item *item = selectedItem_; + + if(!item) return; + + for(std::vector::iterator it = LayerComponents.begin(); it != LayerComponents.end(); ++it) + { + (*it)->triggerEvent( "menuScroll", menuDepth_ - 1 ); + } +} + + void Page::highlightEnter() { Item *item = selectedItem_; @@ -371,10 +384,18 @@ void Page::setScrolling(ScrollDirection direction) switch(direction) { case ScrollDirectionForward: + if(!scrollActive_) + { + menuScroll(); + } menuDirection = ScrollingList::ScrollDirectionForward; scrollActive_ = true; break; case ScrollDirectionBack: + if(!scrollActive_) + { + menuScroll(); + } menuDirection = ScrollingList::ScrollDirectionBack; scrollActive_ = true; break; diff --git a/RetroFE/Source/Graphics/Page.h b/RetroFE/Source/Graphics/Page.h index 2c43765..a8cc52a 100644 --- a/RetroFE/Source/Graphics/Page.h +++ b/RetroFE/Source/Graphics/Page.h @@ -86,6 +86,7 @@ public: std::string getCollectionName(); void setMinShowTime(float value); float getMinShowTime(); + void menuScroll(); void highlightEnter(); void highlightExit(); void addPlaylist(); diff --git a/RetroFE/Source/Graphics/PageBuilder.cpp b/RetroFE/Source/Graphics/PageBuilder.cpp index 06e2981..6d76f40 100644 --- a/RetroFE/Source/Graphics/PageBuilder.cpp +++ b/RetroFE/Source/Graphics/PageBuilder.cpp @@ -704,6 +704,7 @@ AnimationEvents *PageBuilder::createTweenInstance(xml_node<> *componentXml) buildTweenSet(tweens, componentXml, "onEnter", "enter"); buildTweenSet(tweens, componentXml, "onExit", "exit"); buildTweenSet(tweens, componentXml, "onIdle", "idle"); + buildTweenSet(tweens, componentXml, "onMenuScroll", "menuScroll"); buildTweenSet(tweens, componentXml, "onHighlightEnter", "highlightEnter"); buildTweenSet(tweens, componentXml, "onHighlightExit", "highlightExit"); buildTweenSet(tweens, componentXml, "onMenuEnter", "menuEnter");