fix positioning for hidden items
This commit is contained in:
@@ -80,6 +80,9 @@ ScreenOptions::ScreenOptions( CString sClassName ) : ScreenWithMenuElements(sCla
|
|||||||
LABELS_ON_COMMAND (m_sName,"LabelsOnCommand"),
|
LABELS_ON_COMMAND (m_sName,"LabelsOnCommand"),
|
||||||
NUM_ROWS_SHOWN (m_sName,"NumRowsShown"),
|
NUM_ROWS_SHOWN (m_sName,"NumRowsShown"),
|
||||||
ROW_Y (m_sName,ROW_Y_NAME,NUM_ROWS_SHOWN),
|
ROW_Y (m_sName,ROW_Y_NAME,NUM_ROWS_SHOWN),
|
||||||
|
ROW_Y_OFF_SCREEN_TOP (m_sName,"RowYOffScreenTop"),
|
||||||
|
ROW_Y_OFF_SCREEN_CENTER (m_sName,"RowYOffScreenCenter"),
|
||||||
|
ROW_Y_OFF_SCREEN_BOTTOM (m_sName,"RowYOffScreenBottom"),
|
||||||
ITEMS_ZOOM (m_sName,"ItemsZoom"),
|
ITEMS_ZOOM (m_sName,"ItemsZoom"),
|
||||||
ITEMS_START_X (m_sName,"ItemsStartX"),
|
ITEMS_START_X (m_sName,"ItemsStartX"),
|
||||||
ITEMS_END_X (m_sName,"ItemsEndX"),
|
ITEMS_END_X (m_sName,"ItemsEndX"),
|
||||||
@@ -1017,21 +1020,20 @@ void ScreenOptions::PositionItems()
|
|||||||
int pos = 0;
|
int pos = 0;
|
||||||
for( int i=0; i<(int) Rows.size(); i++ ) // foreach row
|
for( int i=0; i<(int) Rows.size(); i++ ) // foreach row
|
||||||
{
|
{
|
||||||
float ItemPosition;
|
float fY;
|
||||||
if( i < first_start )
|
if( i < first_start )
|
||||||
ItemPosition = -0.5f;
|
fY = ROW_Y_OFF_SCREEN_TOP;
|
||||||
else if( i < first_end )
|
else if( i < first_end )
|
||||||
ItemPosition = (float) pos++;
|
fY = ROW_Y.GetValue( pos++ );
|
||||||
else if( i < second_start )
|
else if( i < second_start )
|
||||||
ItemPosition = halfsize - 0.5f;
|
fY = ROW_Y_OFF_SCREEN_CENTER;
|
||||||
else if( i < second_end )
|
else if( i < second_end )
|
||||||
ItemPosition = (float) pos++;
|
fY = ROW_Y.GetValue( pos++ );
|
||||||
else
|
else
|
||||||
ItemPosition = (float) total - 0.5f;
|
fY = ROW_Y_OFF_SCREEN_BOTTOM;
|
||||||
|
|
||||||
OptionRow &row = *Rows[i];
|
OptionRow &row = *Rows[i];
|
||||||
|
|
||||||
float fY = ROW_Y.GetValue( ItemPosition );
|
|
||||||
row.m_fY = fY;
|
row.m_fY = fY;
|
||||||
row.m_bHidden = i < first_start ||
|
row.m_bHidden = i < first_start ||
|
||||||
(i >= first_end && i < second_start) ||
|
(i >= first_end && i < second_start) ||
|
||||||
|
|||||||
@@ -118,6 +118,9 @@ protected:
|
|||||||
ThemeMetric<apActorCommands> LABELS_ON_COMMAND;
|
ThemeMetric<apActorCommands> LABELS_ON_COMMAND;
|
||||||
ThemeMetric<int> NUM_ROWS_SHOWN;
|
ThemeMetric<int> NUM_ROWS_SHOWN;
|
||||||
ThemeMetric1D<float> ROW_Y;
|
ThemeMetric1D<float> ROW_Y;
|
||||||
|
ThemeMetric<float> ROW_Y_OFF_SCREEN_TOP;
|
||||||
|
ThemeMetric<float> ROW_Y_OFF_SCREEN_CENTER;
|
||||||
|
ThemeMetric<float> ROW_Y_OFF_SCREEN_BOTTOM;
|
||||||
ThemeMetric<float> ITEMS_ZOOM;
|
ThemeMetric<float> ITEMS_ZOOM;
|
||||||
ThemeMetric<float> ITEMS_START_X;
|
ThemeMetric<float> ITEMS_START_X;
|
||||||
ThemeMetric<float> ITEMS_END_X;
|
ThemeMetric<float> ITEMS_END_X;
|
||||||
|
|||||||
Reference in New Issue
Block a user