use DualScrollBar
This commit is contained in:
@@ -20,6 +20,7 @@
|
|||||||
#include "GameState.h"
|
#include "GameState.h"
|
||||||
#include "ThemeManager.h"
|
#include "ThemeManager.h"
|
||||||
#include "InputMapper.h"
|
#include "InputMapper.h"
|
||||||
|
#include "ActorUtil.h"
|
||||||
|
|
||||||
const float ITEM_X[NUM_PLAYERS] = { 260, 420 };
|
const float ITEM_X[NUM_PLAYERS] = { 260, 420 };
|
||||||
|
|
||||||
@@ -39,6 +40,9 @@ const float ITEM_X[NUM_PLAYERS] = { 260, 420 };
|
|||||||
#define EXPLANATION_TOGETHER_X THEME->GetMetricF("ScreenOptions","ExplanationTogetherX")
|
#define EXPLANATION_TOGETHER_X THEME->GetMetricF("ScreenOptions","ExplanationTogetherX")
|
||||||
#define EXPLANATION_TOGETHER_Y THEME->GetMetricF("ScreenOptions","ExplanationTogetherY")
|
#define EXPLANATION_TOGETHER_Y THEME->GetMetricF("ScreenOptions","ExplanationTogetherY")
|
||||||
#define EXPLANATION_TOGETHER_ON_COMMAND THEME->GetMetric ("ScreenOptions","ExplanationTogetherOnCommand")
|
#define EXPLANATION_TOGETHER_ON_COMMAND THEME->GetMetric ("ScreenOptions","ExplanationTogetherOnCommand")
|
||||||
|
#define SHOW_SCROLL_BAR THEME->GetMetricB("ScreenOptions","ShowScrollBar")
|
||||||
|
#define SCROLL_BAR_HEIGHT THEME->GetMetricF("ScreenOptions","ScrollBarHeight")
|
||||||
|
#define SCROLL_BAR_TIME THEME->GetMetricF("ScreenOptions","ScrollBarTime")
|
||||||
#define ITEMS_SPACING_Y THEME->GetMetricF("ScreenOptions","ItemsSpacingY")
|
#define ITEMS_SPACING_Y THEME->GetMetricF("ScreenOptions","ItemsSpacingY")
|
||||||
#define EXPLANATION_ZOOM THEME->GetMetricF("ScreenOptions","ExplanationZoom")
|
#define EXPLANATION_ZOOM THEME->GetMetricF("ScreenOptions","ExplanationZoom")
|
||||||
#define COLOR_SELECTED THEME->GetMetricC("ScreenOptions","ColorSelected")
|
#define COLOR_SELECTED THEME->GetMetricC("ScreenOptions","ColorSelected")
|
||||||
@@ -217,6 +221,19 @@ void ScreenOptions::Init( InputMode im, OptionRow OptionRows[], int iNumOptionLi
|
|||||||
m_textExplanation[p].SetShadowLength( 0 );
|
m_textExplanation[p].SetShadowLength( 0 );
|
||||||
m_framePage.AddChild( &m_textExplanation[p] );
|
m_framePage.AddChild( &m_textExplanation[p] );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( SHOW_SCROLL_BAR )
|
||||||
|
{
|
||||||
|
m_ScrollBar.SetName( "DualScrollBar", "ScrollBar" );
|
||||||
|
m_ScrollBar.SetBarHeight( SCROLL_BAR_HEIGHT );
|
||||||
|
m_ScrollBar.SetBarTime( SCROLL_BAR_TIME );
|
||||||
|
for( p=0; p<NUM_PLAYERS; p++ )
|
||||||
|
m_ScrollBar.EnablePlayer( (PlayerNumber)p, GAMESTATE->IsHumanPlayer(p) );
|
||||||
|
m_ScrollBar.Load();
|
||||||
|
UtilSetXY( m_ScrollBar, "ScreenOptions" );
|
||||||
|
m_framePage.AddChild( &m_ScrollBar );
|
||||||
|
}
|
||||||
|
|
||||||
switch( m_InputMode )
|
switch( m_InputMode )
|
||||||
{
|
{
|
||||||
case INPUTMODE_INDIVIDUAL:
|
case INPUTMODE_INDIVIDUAL:
|
||||||
@@ -741,6 +758,9 @@ void ScreenOptions::OnChange( PlayerNumber pn )
|
|||||||
PositionIcons();
|
PositionIcons();
|
||||||
UpdateEnabledDisabled();
|
UpdateEnabledDisabled();
|
||||||
|
|
||||||
|
if( SHOW_SCROLL_BAR )
|
||||||
|
m_ScrollBar.SetPercentage( pn, m_iCurrentRow[pn] / float(m_iNumOptionRows) );
|
||||||
|
|
||||||
/* Update all players, since changing one player can move both cursors. */
|
/* Update all players, since changing one player can move both cursors. */
|
||||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||||
TweenCursor( (PlayerNumber) p );
|
TweenCursor( (PlayerNumber) p );
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
#include "MenuElements.h"
|
#include "MenuElements.h"
|
||||||
#include "OptionsCursor.h"
|
#include "OptionsCursor.h"
|
||||||
#include "OptionIcon.h"
|
#include "OptionIcon.h"
|
||||||
|
#include "DualScrollBar.h"
|
||||||
|
|
||||||
|
|
||||||
const unsigned MAX_OPTION_LINES = 40;
|
const unsigned MAX_OPTION_LINES = 40;
|
||||||
@@ -124,6 +125,7 @@ protected: // derived classes need access to these
|
|||||||
OptionsCursor m_Highlight[NUM_PLAYERS];
|
OptionsCursor m_Highlight[NUM_PLAYERS];
|
||||||
|
|
||||||
BitmapText m_textExplanation[NUM_PLAYERS];
|
BitmapText m_textExplanation[NUM_PLAYERS];
|
||||||
|
DualScrollBar m_ScrollBar;
|
||||||
|
|
||||||
RageSound m_SoundChangeCol;
|
RageSound m_SoundChangeCol;
|
||||||
RageSound m_SoundNextRow;
|
RageSound m_SoundNextRow;
|
||||||
|
|||||||
Reference in New Issue
Block a user