mirror of
https://github.com/FunKey-Project/RetroFE.git
synced 2025-12-28 09:38:52 +01:00
Added support for minScrollTime parameter for menus. It defaults to scrollAcceleration for backwards compatibility.
This commit is contained in:
parent
251760151e
commit
cf3d51768f
@ -60,6 +60,7 @@ ScrollingList::ScrollingList( Configuration &c,
|
||||
, selectedOffsetIndex_( 0 )
|
||||
, scrollAcceleration_( 0 )
|
||||
, startScrollTime_( 0.500 )
|
||||
, minScrollTime_( 0.500 )
|
||||
, scrollPeriod_( 0 )
|
||||
, config_( c )
|
||||
, scaleX_( scaleX )
|
||||
@ -82,6 +83,7 @@ ScrollingList::ScrollingList( const ScrollingList © )
|
||||
, selectedOffsetIndex_( copy.selectedOffsetIndex_ )
|
||||
, scrollAcceleration_( copy.scrollAcceleration_ )
|
||||
, startScrollTime_( copy.startScrollTime_ )
|
||||
, minScrollTime_( copy.minScrollTime_ )
|
||||
, scrollPeriod_( copy.startScrollTime_ )
|
||||
, config_( copy.config_ )
|
||||
, scaleX_( copy.scaleX_ )
|
||||
@ -141,6 +143,12 @@ void ScrollingList::setStartScrollTime( float value )
|
||||
}
|
||||
|
||||
|
||||
void ScrollingList::setMinScrollTime( float value )
|
||||
{
|
||||
minScrollTime_ = value;
|
||||
}
|
||||
|
||||
|
||||
void ScrollingList::deallocateSpritePoints( )
|
||||
{
|
||||
for ( unsigned int i = 0; i < components_.size( ); ++i )
|
||||
@ -586,7 +594,7 @@ void ScrollingList::update( float dt )
|
||||
|
||||
// Check if scrollPeriod_ has been properly initialised already or if something went wrong
|
||||
// while updating the scrollPeriod_
|
||||
if ( scrollPeriod_ < scrollAcceleration_ )
|
||||
if ( scrollPeriod_ < minScrollTime_ )
|
||||
{
|
||||
scrollPeriod_ = startScrollTime_;
|
||||
}
|
||||
@ -856,9 +864,9 @@ void ScrollingList::resetScrollPeriod( )
|
||||
void ScrollingList::updateScrollPeriod( )
|
||||
{
|
||||
scrollPeriod_ -= scrollAcceleration_;
|
||||
if ( scrollPeriod_ < scrollAcceleration_ )
|
||||
if ( scrollPeriod_ < minScrollTime_ )
|
||||
{
|
||||
scrollPeriod_ = scrollAcceleration_;
|
||||
scrollPeriod_ = minScrollTime_;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -90,6 +90,7 @@ public:
|
||||
void draw( unsigned int layer );
|
||||
void setScrollAcceleration( float value );
|
||||
void setStartScrollTime( float value );
|
||||
void setMinScrollTime( float value );
|
||||
bool horizontalScroll;
|
||||
void deallocateSpritePoints( );
|
||||
void allocateSpritePoints( );
|
||||
@ -114,6 +115,7 @@ private:
|
||||
|
||||
float scrollAcceleration_;
|
||||
float startScrollTime_;
|
||||
float minScrollTime_;
|
||||
float scrollPeriod_;
|
||||
|
||||
Configuration &config_;
|
||||
|
||||
@ -964,6 +964,7 @@ ScrollingList * PageBuilder::buildMenu(xml_node<> *menuXml, Page &page)
|
||||
xml_attribute<> *menuTypeXml = menuXml->first_attribute("type");
|
||||
xml_attribute<> *scrollTimeXml = menuXml->first_attribute("scrollTime");
|
||||
xml_attribute<> *scrollAccelerationXml = menuXml->first_attribute("scrollAcceleration");
|
||||
xml_attribute<> *minScrollTimeXml = menuXml->first_attribute("minScrollTime");
|
||||
xml_attribute<> *scrollOrientationXml = menuXml->first_attribute("orientation");
|
||||
|
||||
if(menuTypeXml)
|
||||
@ -1015,6 +1016,12 @@ ScrollingList * PageBuilder::buildMenu(xml_node<> *menuXml, Page &page)
|
||||
if(scrollAccelerationXml)
|
||||
{
|
||||
menu->setScrollAcceleration(Utils::convertFloat(scrollAccelerationXml->value()));
|
||||
menu->setMinScrollTime(Utils::convertFloat(scrollAccelerationXml->value()));
|
||||
}
|
||||
|
||||
if(minScrollTimeXml)
|
||||
{
|
||||
menu->setMinScrollTime(Utils::convertFloat(minScrollTimeXml->value()));
|
||||
}
|
||||
|
||||
if(scrollOrientationXml)
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
std::string retrofe_version_major = "0";
|
||||
std::string retrofe_version_minor = "8";
|
||||
std::string retrofe_version_build = "34";
|
||||
std::string retrofe_version_build = "35";
|
||||
|
||||
|
||||
std::string Version::getString( )
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user