cache metrics
theme EditMenu arrow colors
This commit is contained in:
@@ -2170,6 +2170,8 @@ NextScreen=ScreenRanking
|
|||||||
[EditMenu]
|
[EditMenu]
|
||||||
Arrows1X=SCREEN_CENTER_X-130
|
Arrows1X=SCREEN_CENTER_X-130
|
||||||
Arrows2X=SCREEN_CENTER_X+270
|
Arrows2X=SCREEN_CENTER_X+270
|
||||||
|
ArrowsEnabledColor=1,1,1,1
|
||||||
|
ArrowsDisabledColor=0.2,0.2,0.2,1
|
||||||
SongBannerX=SCREEN_CENTER_X+170
|
SongBannerX=SCREEN_CENTER_X+170
|
||||||
SongBannerY=SCREEN_CENTER_Y-110
|
SongBannerY=SCREEN_CENTER_Y-110
|
||||||
SongBannerWidth=130
|
SongBannerWidth=130
|
||||||
|
|||||||
+27
-20
@@ -35,17 +35,22 @@ XToString( EditMenuAction, NUM_EDIT_MENU_ACTIONS );
|
|||||||
XToThemedString( EditMenuAction, NUM_EDIT_MENU_ACTIONS );
|
XToThemedString( EditMenuAction, NUM_EDIT_MENU_ACTIONS );
|
||||||
StringToX( EditMenuAction );
|
StringToX( EditMenuAction );
|
||||||
|
|
||||||
|
static CString ARROWS_X_NAME( size_t i ) { return ssprintf("Arrows%dX",i+1); }
|
||||||
|
static CString ROW_VALUE_X_NAME( size_t i ) { return ssprintf("RowValue%dX",i+1); }
|
||||||
|
static CString ROW_Y_NAME( size_t i ) { return ssprintf("Row%dY",i+1); }
|
||||||
|
|
||||||
#define ARROWS_X( i ) THEME->GetMetricF("EditMenu",ssprintf("Arrows%dX",i+1))
|
static ThemeMetric1D<float> ARROWS_X ("EditMenu",ARROWS_X_NAME,NUM_ARROWS);
|
||||||
#define SONG_BANNER_WIDTH THEME->GetMetricF("EditMenu","SongBannerWidth")
|
static ThemeMetric<RageColor> ARROWS_ENABLED_COLOR ("EditMenu","ArrowsEnabledColor");
|
||||||
#define SONG_BANNER_HEIGHT THEME->GetMetricF("EditMenu","SongBannerHeight")
|
static ThemeMetric<RageColor> ARROWS_DISABLED_COLOR ("EditMenu","ArrowsDisabledColor");
|
||||||
#define GROUP_BANNER_WIDTH THEME->GetMetricF("EditMenu","GroupBannerWidth")
|
static ThemeMetric<float> SONG_BANNER_WIDTH ("EditMenu","SongBannerWidth");
|
||||||
#define GROUP_BANNER_HEIGHT THEME->GetMetricF("EditMenu","GroupBannerHeight")
|
static ThemeMetric<float> SONG_BANNER_HEIGHT ("EditMenu","SongBannerHeight");
|
||||||
#define ROW_LABELS_X THEME->GetMetricF("EditMenu","RowLabelsX")
|
static ThemeMetric<float> GROUP_BANNER_WIDTH ("EditMenu","GroupBannerWidth");
|
||||||
#define ROW_LABEL_ON_COMMAND THEME->GetMetricA("EditMenu","RowLabelOnCommand")
|
static ThemeMetric<float> GROUP_BANNER_HEIGHT ("EditMenu","GroupBannerHeight");
|
||||||
#define ROW_VALUE_X( i ) THEME->GetMetricF("EditMenu",ssprintf("RowValue%dX",i+1))
|
static ThemeMetric<float> ROW_LABELS_X ("EditMenu","RowLabelsX");
|
||||||
#define ROW_VALUE_ON_COMMAND THEME->GetMetricA("EditMenu","RowValueOnCommand")
|
static ThemeMetric<apActorCommands> ROW_LABEL_ON_COMMAND("EditMenu","RowLabelOnCommand");
|
||||||
#define ROW_Y( i ) THEME->GetMetricF("EditMenu",ssprintf("Row%dY",i+1))
|
static ThemeMetric1D<float> ROW_VALUE_X ("EditMenu",ROW_VALUE_X_NAME,NUM_EDIT_MENU_ROWS);
|
||||||
|
static ThemeMetric<apActorCommands> ROW_VALUE_ON_COMMAND("EditMenu","RowValueOnCommand");
|
||||||
|
static ThemeMetric1D<float> ROW_Y ("EditMenu",ROW_Y_NAME,NUM_EDIT_MENU_ROWS);
|
||||||
|
|
||||||
|
|
||||||
static void GetSongsToShowForGroup( const CString &sGroup, vector<Song*> &vpSongsOut )
|
static void GetSongsToShowForGroup( const CString &sGroup, vector<Song*> &vpSongsOut )
|
||||||
@@ -86,7 +91,7 @@ EditMenu::EditMenu()
|
|||||||
for( int i=0; i<2; i++ )
|
for( int i=0; i<2; i++ )
|
||||||
{
|
{
|
||||||
m_sprArrows[i].Load( THEME->GetPathG("EditMenu",i==0?"left":"right") );
|
m_sprArrows[i].Load( THEME->GetPathG("EditMenu",i==0?"left":"right") );
|
||||||
m_sprArrows[i].SetX( ARROWS_X(i) );
|
m_sprArrows[i].SetX( ARROWS_X.GetValue(i) );
|
||||||
this->AddChild( &m_sprArrows[i] );
|
this->AddChild( &m_sprArrows[i] );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,14 +103,14 @@ EditMenu::EditMenu()
|
|||||||
FOREACH_EditMenuRow( r )
|
FOREACH_EditMenuRow( r )
|
||||||
{
|
{
|
||||||
m_textLabel[r].LoadFromFont( THEME->GetPathF("EditMenu","title") );
|
m_textLabel[r].LoadFromFont( THEME->GetPathF("EditMenu","title") );
|
||||||
m_textLabel[r].SetXY( ROW_LABELS_X, ROW_Y(r) );
|
m_textLabel[r].SetXY( ROW_LABELS_X, ROW_Y.GetValue(r) );
|
||||||
m_textLabel[r].SetText( EditMenuRowToThemedString(r) );
|
m_textLabel[r].SetText( EditMenuRowToThemedString(r) );
|
||||||
m_textLabel[r].RunCommands( ROW_LABEL_ON_COMMAND );
|
m_textLabel[r].RunCommands( ROW_LABEL_ON_COMMAND );
|
||||||
m_textLabel[r].SetHorizAlign( Actor::align_left );
|
m_textLabel[r].SetHorizAlign( Actor::align_left );
|
||||||
this->AddChild( &m_textLabel[r] );
|
this->AddChild( &m_textLabel[r] );
|
||||||
|
|
||||||
m_textValue[r].LoadFromFont( THEME->GetPathF("EditMenu","value") );
|
m_textValue[r].LoadFromFont( THEME->GetPathF("EditMenu","value") );
|
||||||
m_textValue[r].SetXY( ROW_VALUE_X(r), ROW_Y(r) );
|
m_textValue[r].SetXY( ROW_VALUE_X.GetValue(r), ROW_Y.GetValue(r) );
|
||||||
m_textValue[r].SetText( "blah" );
|
m_textValue[r].SetText( "blah" );
|
||||||
m_textValue[r].RunCommands( ROW_VALUE_ON_COMMAND );
|
m_textValue[r].RunCommands( ROW_VALUE_ON_COMMAND );
|
||||||
this->AddChild( &m_textValue[r] );
|
this->AddChild( &m_textValue[r] );
|
||||||
@@ -326,19 +331,21 @@ void EditMenu::ChangeToRow( EditMenuRow newRow )
|
|||||||
m_SelectedRow = newRow;
|
m_SelectedRow = newRow;
|
||||||
|
|
||||||
for( int i=0; i<2; i++ )
|
for( int i=0; i<2; i++ )
|
||||||
m_sprArrows[i].SetY( ROW_Y(newRow) );
|
m_sprArrows[i].SetY( ROW_Y.GetValue(newRow) );
|
||||||
m_sprArrows[0].SetDiffuse( CanGoLeft()?RageColor(1,1,1,1):RageColor(0.2f,0.2f,0.2f,1) );
|
UpdateArrows();
|
||||||
m_sprArrows[1].SetDiffuse( CanGoRight()?RageColor(1,1,1,1):RageColor(0.2f,0.2f,0.2f,1) );
|
}
|
||||||
|
|
||||||
|
void EditMenu::UpdateArrows()
|
||||||
|
{
|
||||||
|
m_sprArrows[0].SetDiffuse( CanGoLeft() ? ARROWS_ENABLED_COLOR : ARROWS_DISABLED_COLOR );
|
||||||
|
m_sprArrows[1].SetDiffuse( CanGoRight()? ARROWS_ENABLED_COLOR : ARROWS_DISABLED_COLOR );
|
||||||
m_sprArrows[0].EnableAnimation( CanGoLeft() );
|
m_sprArrows[0].EnableAnimation( CanGoLeft() );
|
||||||
m_sprArrows[1].EnableAnimation( CanGoRight() );
|
m_sprArrows[1].EnableAnimation( CanGoRight() );
|
||||||
}
|
}
|
||||||
|
|
||||||
void EditMenu::OnRowValueChanged( EditMenuRow row )
|
void EditMenu::OnRowValueChanged( EditMenuRow row )
|
||||||
{
|
{
|
||||||
m_sprArrows[0].SetDiffuse( CanGoLeft()?RageColor(1,1,1,1):RageColor(0.2f,0.2f,0.2f,1) );
|
UpdateArrows();
|
||||||
m_sprArrows[1].SetDiffuse( CanGoRight()?RageColor(1,1,1,1):RageColor(0.2f,0.2f,0.2f,1) );
|
|
||||||
m_sprArrows[0].EnableAnimation( CanGoLeft() );
|
|
||||||
m_sprArrows[1].EnableAnimation( CanGoRight() );
|
|
||||||
|
|
||||||
switch( row )
|
switch( row )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ enum EditMenuAction
|
|||||||
const CString& EditMenuActionToString( EditMenuAction ema );
|
const CString& EditMenuActionToString( EditMenuAction ema );
|
||||||
const CString& EditMenuActionToThemedString( EditMenuAction ema );
|
const CString& EditMenuActionToThemedString( EditMenuAction ema );
|
||||||
|
|
||||||
|
const int NUM_ARROWS = 2;
|
||||||
|
|
||||||
class EditMenu: public ActorFrame
|
class EditMenu: public ActorFrame
|
||||||
{
|
{
|
||||||
@@ -72,7 +73,8 @@ public:
|
|||||||
EditMenuRow GetSelectedRow() const { return m_SelectedRow; }
|
EditMenuRow GetSelectedRow() const { return m_SelectedRow; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Sprite m_sprArrows[2];
|
void UpdateArrows();
|
||||||
|
Sprite m_sprArrows[NUM_ARROWS];
|
||||||
|
|
||||||
EditMenuRow m_SelectedRow;
|
EditMenuRow m_SelectedRow;
|
||||||
int m_iSelection[NUM_EDIT_MENU_ROWS];
|
int m_iSelection[NUM_EDIT_MENU_ROWS];
|
||||||
|
|||||||
Reference in New Issue
Block a user