add OnCommand for Items and Icons

This commit is contained in:
Chris Danford
2005-03-25 04:14:49 +00:00
parent c9bd120aba
commit c2a776661d
3 changed files with 20 additions and 16 deletions
+4 -2
View File
@@ -2501,13 +2501,13 @@ IconsP2X=SCREEN_CENTER_X+280
ArrowsX=SCREEN_CENTER_X-232
LabelsX=SCREEN_CENTER_X-180
LabelsOnCommand=zoom,0.7;horizalign,right;ShadowLength,0
ItemsZoom=0.5
ItemsStartX=SCREEN_CENTER_X-160
ItemsEndX=SCREEN_CENTER_X+280
ItemsGapX=14
ItemsLongRowP1X=SCREEN_CENTER_X-60
ItemsLongRowP2X=SCREEN_CENTER_X+100
ItemsLongRowSharedX=SCREEN_CENTER_X+20
ItemsOnCommand=zoom,0.5
ColorSelected=1,1,1,1
ColorNotSelected=0.5,0.5,0.5,1
ColorDisabled=0.1,0.1,0.1,1
@@ -4310,16 +4310,17 @@ HeaderOnCommand=
IconsP1X=SCREEN_CENTER_X-280
IconsP2X=SCREEN_CENTER_X+280
IconsOnCommand=
ArrowsX=SCREEN_CENTER_X-232
LabelsX=SCREEN_CENTER_X-150
LabelsOnCommand=zoom,0.5;horizalign,left;ShadowLength,2
ItemsZoom=0.5
ItemsStartX=SCREEN_CENTER_X-160
ItemsEndX=SCREEN_CENTER_X+280
ItemsGapX=14
ItemsLongRowP1X=SCREEN_CENTER_X-60
ItemsLongRowP2X=SCREEN_CENTER_X+100
ItemsLongRowSharedX=SCREEN_CENTER_X+150
ItemsOnCommand=zoom,0.5
ColorSelected=0.5,1,0.5,1
ColorNotSelected=1,1,1,1
ColorDisabled=0.5,0.5,0.5,1
@@ -4330,6 +4331,7 @@ ThemeItems=0
[ScreenMiniMenuEditHelp]
Fallback=ScreenMiniMenu
ColorDisabled=1,1,1,1
[ScreenMiniMenuMainMenu]
Fallback=ScreenMiniMenu
+14 -13
View File
@@ -115,13 +115,14 @@ void OptionRow::LoadMetrics( const CString &sType )
ARROWS_X .Load(m_sType,"ArrowsX");
LABELS_X .Load(m_sType,"LabelsX");
LABELS_ON_COMMAND .Load(m_sType,"LabelsOnCommand");
ITEMS_ZOOM .Load(m_sType,"ItemsZoom");
ITEMS_START_X .Load(m_sType,"ItemsStartX");
ITEMS_END_X .Load(m_sType,"ItemsEndX");
ITEMS_GAP_X .Load(m_sType,"ItemsGapX");
ITEMS_LONG_ROW_X .Load(m_sType,ITEMS_LONG_ROW_X_NAME,NUM_PLAYERS);
ITEMS_LONG_ROW_SHARED_X .Load(m_sType,"ItemsLongRowSharedX");
ITEMS_ON_COMMAND .Load(m_sType,"ItemsOnCommand");
ICONS_X .Load(m_sType,ICONS_X_NAME,NUM_PLAYERS);
ICONS_ON_COMMAND .Load(m_sType,"IconsOnCommand");
COLOR_SELECTED .Load(m_sType,"ColorSelected");
COLOR_NOT_SELECTED .Load(m_sType,"ColorNotSelected");
COLOR_DISABLED .Load(m_sType,"ColorDisabled");
@@ -133,7 +134,10 @@ void OptionRow::LoadMetrics( const CString &sType )
SHOW_BPM_IN_SPEED_TITLE .Load(m_sType,"ShowBpmInSpeedTitle");
FOREACH_PlayerNumber( p )
{
m_OptionIcons[p].Load( m_sType );
m_OptionIcons[p].RunCommands( ICONS_ON_COMMAND );
}
}
void OptionRow::LoadNormal( const OptionRowDefinition &def, OptionRowHandler *pHand, bool bFirstItemGoesDown )
@@ -263,7 +267,9 @@ void OptionRow::AfterImportOptions( float fY )
// If the items will go off the edge of the screen, then re-init with the "long row" style.
{
Font* pFont = FONT->LoadFont( THEME->GetPathF(m_sType,"item") );
BitmapText bt;
bt.LoadFromFont( THEME->GetPathF(m_sType,"item") );
bt.RunCommands( ITEMS_ON_COMMAND );
float fX = ITEMS_START_X;
@@ -271,7 +277,9 @@ void OptionRow::AfterImportOptions( float fY )
{
CString sText = m_RowDef.choices[c];
PrepareItemText( sText );
fX += ITEMS_ZOOM * pFont->GetLineWidthInSourcePixels( CStringToWstring(sText) );
bt.SetText( sText );
fX += bt.GetZoomedWidth();
if( c != m_RowDef.choices.size()-1 )
fX += ITEMS_GAP_X;
@@ -282,9 +290,6 @@ void OptionRow::AfterImportOptions( float fY )
break;
}
}
FONT->UnloadFont( pFont );
pFont = NULL;
}
//
@@ -305,7 +310,7 @@ void OptionRow::AfterImportOptions( float fY )
CString sText = (iChoiceInRowWithFocus==-1) ? "" : m_RowDef.choices[iChoiceInRowWithFocus];
PrepareItemText( sText );
bt->SetText( sText );
bt->SetZoom( ITEMS_ZOOM );
bt->RunCommands( ITEMS_ON_COMMAND );
bt->SetShadowLength( 0 );
if( m_RowDef.bOneChoiceForAllPlayers )
@@ -345,7 +350,7 @@ void OptionRow::AfterImportOptions( float fY )
CString sText = m_RowDef.choices[c];
PrepareItemText( sText );
bt->SetText( sText );
bt->SetZoom( ITEMS_ZOOM );
bt->RunCommands( ITEMS_ON_COMMAND );
bt->SetShadowLength( 0 );
// set the X position of each item in the line
@@ -414,7 +419,7 @@ void OptionRow::LoadExit()
CString sText = "Exit";
PrepareItemText( sText );
bt->SetText( sText );
bt->SetZoom( ITEMS_ZOOM );
bt->RunCommands( ITEMS_ON_COMMAND );
bt->SetShadowLength( 0 );
bt->SetX( ITEMS_LONG_ROW_SHARED_X );
this->AddChild( bt );
@@ -469,10 +474,6 @@ void OptionRow::PositionUnderlines( PlayerNumber pn )
void OptionRow::PositionIcons()
{
/*
ICONS_X
TWEEN_SECONDS
*/
if( m_RowType == OptionRow::ROW_EXIT )
return;
+2 -1
View File
@@ -192,13 +192,14 @@ protected:
ThemeMetric<float> ARROWS_X;
ThemeMetric<float> LABELS_X;
ThemeMetric<apActorCommands> LABELS_ON_COMMAND;
ThemeMetric<float> ITEMS_ZOOM;
ThemeMetric<float> ITEMS_START_X;
ThemeMetric<float> ITEMS_END_X;
ThemeMetric<float> ITEMS_GAP_X;
ThemeMetric1D<float> ITEMS_LONG_ROW_X;
ThemeMetric<float> ITEMS_LONG_ROW_SHARED_X;
ThemeMetric<apActorCommands> ITEMS_ON_COMMAND;
ThemeMetric1D<float> ICONS_X;
ThemeMetric<apActorCommands> ICONS_ON_COMMAND;
ThemeMetric<RageColor> COLOR_SELECTED;
ThemeMetric<RageColor> COLOR_NOT_SELECTED;
ThemeMetric<RageColor> COLOR_DISABLED;