79 m_oGridMenu.SetCallbackUserData(
this );
83 m_oGridMenu.BlockActivation(
TTRUE );
85 m_oGridMenu.SetItemActivationCallback( [](
void* a_pUserData,
AGUI2MenuGridItem* a_pItem ) {
98 m_aTextItems[ i ].Create( pFont, pFont->
GetTextWidth( wszText ), wszText, 10.0f );
102 m_aTextItems[ i ].SetFocusedScale( 1.0f );
103 m_aTextItems[ i ].OnFocusLost();
104 m_aTextItems[ i ].SetId( i );
105 m_aTextItems[ i ].SetTextShadow(
TTRUE, 0xa0000000, 0.6f );
106 m_aTextItems[ i ].SetTextShadowOffset( 5.0f );
107 m_oGridMenu.AddMenuGridItem( m_aTextItems[ i ] );
110 m_aVolumeSliders[ i ].Create(
"left_arrow",
"left_arrow2",
"Statue_GoldStar" );
111 m_aVolumeSliders[ i ].SetEnabled(
TFALSE );
112 m_aVolumeSliders[ i ].SetId( i );
113 m_aVolumeSliders[ i ].SetCallbackUserData(
this );
114 m_aVolumeSliders[ i ].SetArrowFocusedCallback( [](
void* a_pUserData,
TINT a_iSliderID ) {
116 pState->m_oGridMenu.
SetFocusAt( &pState->m_aTextItems[ a_iSliderID ] );
117 pState->m_iFocusedItemId = a_iSliderID;
119 m_oGridMenu.AddMenuGridItem( m_aVolumeSliders[ i ] );
127 m_oGridMenu.ReflowChildren();
132 m_aTextItems[ i ].SetTransform(
133 m_aTextItems[ i ].GetWidth() * 0.5f + m_aTextItems[ i ].GetTransform().GetTranslation().x,
134 m_aTextItems[ i ].GetTransform().GetTranslation().y
142 m_oGridMenu.SetFocusAt( &m_aTextItems[ 0 ] );
144 m_oDialogTitle.SetText( ALocaleManager::GetSingleton()->GetString( 302 ) );
149 m_oDialog.SetDimensions( m_oGridMenu.GetWidth() + 128.0f, m_oGridMenu.GetHeight() + 150.0f );
205 m_aArrows[ 0 ].SetTextureSection( pLeftArrow );
206 m_aArrows[ 0 ].SetTransform( 0.0f, 0.0f );
220 m_aBars[ i ].SetDimensions( fBarWidth, fBarHeight );
221 m_aBars[ i ].SetTextureSection( pBarIcon );
222 m_aBars[ i ].SetTransform( fBarX, 0.0f );
223 m_aBars[ i ].GetTransform().Scale( ms_fBarScale, ms_fBarScale );
227 fBarX += ms_fBarScale * fBarWidth;
234 m_aArrows[ 1 ].SetDimensions( pRightArrow->
GetWidth(), pRightArrow->
GetHeight() );
235 m_aArrows[ 1 ].SetTextureSection( pRightArrow );
236 m_aArrows[ 1 ].SetTransform( fBarX, 0.0f );
249 m_iLastPressedArrowIndex = -1;
257 m_aArrows[ i ].GetInvScreenTransform( oElementInvTransform );
261 oElementInvTransform.
Transform( vecElementRelCursorPos, vecCursorPos );
263 if ( m_aArrows[ i ].
IsPointInside( vecElementRelCursorPos.
x, vecElementRelCursorPos.
y ) )
266 m_fnArrowFocusCallback( m_pCallbackUserData, m_iID );
267 m_iLastPressedArrowIndex = i;