From: <au...@us...> - 2010-04-11 17:21:53
|
Revision: 5167 http://supertuxkart.svn.sourceforge.net/supertuxkart/?rev=5167&view=rev Author: auria Date: 2010-04-11 17:21:46 +0000 (Sun, 11 Apr 2010) Log Message: ----------- Better vertical navigation in dynamic ribbon Modified Paths: -------------- main/trunk/src/guiengine/widgets/dynamic_ribbon_widget.cpp Modified: main/trunk/src/guiengine/widgets/dynamic_ribbon_widget.cpp =================================================================== --- main/trunk/src/guiengine/widgets/dynamic_ribbon_widget.cpp 2010-04-11 17:13:39 UTC (rev 5166) +++ main/trunk/src/guiengine/widgets/dynamic_ribbon_widget.cpp 2010-04-11 17:21:46 UTC (rev 5167) @@ -604,7 +604,10 @@ if (selected_ribbon == NULL) continue; const int relative_selection = selected_ribbon->m_selection[p]; - + const float where = (float)relative_selection / (float)(selected_ribbon->m_children.size() - 1); + assert(where >= 0.0f); + assert(where <= 1.0f); + if (m_combo) { m_selected_item[p] = relative_selection + m_scroll_offset; @@ -618,7 +621,7 @@ RibbonWidget* ribbon = m_rows.get(n); if (ribbon != selected_ribbon) { - ribbon->m_selection[p] = std::min(relative_selection, ribbon->m_children.size()-1); + ribbon->m_selection[p] = (int)round(where*(ribbon->m_children.size()-1)); ribbon->updateSelection(); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |