diff --git a/utils/themeeditor/graphics/rbviewport.cpp b/utils/themeeditor/graphics/rbviewport.cpp index 3a239c7f35..4422f19b86 100644 --- a/utils/themeeditor/graphics/rbviewport.cpp +++ b/utils/themeeditor/graphics/rbviewport.cpp @@ -30,8 +30,6 @@ #include "tag_table.h" #include "skin_parser.h" -/* Pause at beginning/end of scroll */ -const double RBViewport::scrollPause = 0.5; /* Pixels/second of text scrolling */ const double RBViewport::scrollRate = 30; @@ -302,23 +300,18 @@ void RBViewport::alignLeft() if(difference > 0) { /* Subtracting out complete cycles */ - double totalTime = 2 * scrollPause + difference / scrollRate; + double totalTime = 2 * difference / scrollRate; scrollTime -= totalTime * std::floor(scrollTime / totalTime); /* Calculating the offset */ - if(scrollTime < scrollPause) + if(scrollTime < static_cast(difference) / scrollRate) { - return; - } - else if(scrollTime < scrollPause + difference / scrollRate) - { - scrollTime -= scrollPause; - int offset = scrollRate * scrollTime; - leftGraphic->setOffset(offset); + leftGraphic->setOffset(scrollRate * scrollTime); } else { - leftGraphic->setOffset(difference); + scrollTime -= static_cast(difference) / scrollRate; + leftGraphic->setOffset(difference - scrollRate * scrollTime); } } } @@ -352,23 +345,18 @@ void RBViewport::alignCenter() if(difference > 0) { /* Subtracting out complete cycles */ - double totalTime = 2 * scrollPause + difference / scrollRate; + double totalTime = 2 * difference / scrollRate; scrollTime -= totalTime * std::floor(scrollTime / totalTime); /* Calculating the offset */ - if(scrollTime < scrollPause) + if(scrollTime < static_cast(difference) / scrollRate) { - return; - } - else if(scrollTime < scrollPause + difference / scrollRate) - { - scrollTime -= scrollPause; - int offset = scrollRate * scrollTime; - centerGraphic->setOffset(offset); + centerGraphic->setOffset(scrollRate * scrollTime); } else { - centerGraphic->setOffset(difference); + scrollTime -= static_cast(difference) / scrollRate; + centerGraphic->setOffset(difference - scrollRate * scrollTime); } } @@ -397,25 +385,19 @@ void RBViewport::alignRight() if(difference > 0) { /* Subtracting out complete cycles */ - double totalTime = 2 * scrollPause + difference / scrollRate; + double totalTime = 2 * difference / scrollRate; scrollTime -= totalTime * std::floor(scrollTime / totalTime); /* Calculating the offset */ - if(scrollTime < scrollPause) + if(scrollTime < static_cast(difference) / scrollRate) { - return; - } - else if(scrollTime < scrollPause + difference / scrollRate) - { - scrollTime -= scrollPause; - int offset = scrollRate * scrollTime; - rightGraphic->setOffset(offset); + rightGraphic->setOffset(scrollRate * scrollTime); } else { - rightGraphic->setOffset(difference); + scrollTime -= static_cast(difference) / scrollRate; + rightGraphic->setOffset(difference - scrollRate * scrollTime); } } - } diff --git a/utils/themeeditor/graphics/rbviewport.h b/utils/themeeditor/graphics/rbviewport.h index eeeb7191ef..a9b706d95f 100644 --- a/utils/themeeditor/graphics/rbviewport.h +++ b/utils/themeeditor/graphics/rbviewport.h @@ -41,7 +41,6 @@ public: }; static const double scrollRate; - static const double scrollPause; RBViewport(skin_element* node, const RBRenderInfo& info); virtual ~RBViewport();