horizontal scolling text now goes forward and backwards

Signed-off-by: Vincent-FK <vincent.buso@funkey-project.com>
This commit is contained in:
Vincent-FK 2020-02-17 07:11:27 +01:00
parent 72fda25983
commit b15e0874da
2 changed files with 23 additions and 3 deletions

View File

@ -57,6 +57,7 @@ ReloadableScrollingText::ReloadableScrollingText(Configuration &config, bool sys
, currentCollection_("") , currentCollection_("")
, page_(NULL) , page_(NULL)
, displayOffset_(displayOffset) , displayOffset_(displayOffset)
, scrollForward_(true)
{ {
text_.clear( ); text_.clear( );
@ -83,7 +84,8 @@ void ReloadableScrollingText::update(float dt)
{ {
if (direction_ == "horizontal") if (direction_ == "horizontal")
{ {
currentPosition_ += scrollingSpeed_ * dt * scaleX_; //currentPosition_ += scrollingSpeed_ * dt * scaleX_;
currentPosition_ += (scrollForward_?1.0f:-1.0f) * scrollingSpeed_ * dt * scaleX_;
} }
else if (direction_ == "vertical") else if (direction_ == "vertical")
{ {
@ -643,12 +645,29 @@ void ReloadableScrollingText::draw( )
imageWidth * scale * scaleX_, imageWidth * scale * scaleX_,
(static_cast<int>( xOrigin ) + imageMaxWidth));*/ (static_cast<int>( xOrigin ) + imageMaxWidth));*/
//if (currentPosition_ > imageWidth * scale * scaleX_) //if (currentPosition_ > imageWidth * scale * scaleX_)
if (waitStartTime_ <= 0 &&
imageWidth * scale * scaleX_ - currentPosition_ <= imageMaxWidth) /*if (waitStartTime_ <= 0 &&
imageWidth * scale * scaleX_ - currentPosition_ <= imageMaxWidth)
{ {
waitStartTime_ = startTime_; waitStartTime_ = startTime_;
waitEndTime_ = endTime_; waitEndTime_ = endTime_;
currentPosition_ = -startPosition_ * scaleX_; currentPosition_ = -startPosition_ * scaleX_;
*/
if (scrollForward_ &&
waitStartTime_ <= 0 &&
imageWidth * scale * scaleX_ - currentPosition_ <= imageMaxWidth)
{
waitEndTime_ = endTime_;
//currentPosition_ = -startPosition_ * scaleX_;
scrollForward_ = false;
}
else if(!scrollForward_ &&
waitEndTime_ <= 0 &&
currentPosition_ <= -startPosition_ * scaleX_)
{
waitStartTime_ = startTime_;
scrollForward_ = true;
} }
} }

View File

@ -63,4 +63,5 @@ private:
std::string currentCollection_; std::string currentCollection_;
Page *page_; Page *page_;
int displayOffset_; int displayOffset_;
bool scrollForward_;
}; };