clean up detection and handling of drivers with problematic AA lines

only draw topmost screen if topmost screen isn't transparent (speeds up options menus in editor)
optimized beat bar drawing in NoteField
This commit is contained in:
Chris Danford
2003-02-20 21:22:18 +00:00
parent d7a04ab91c
commit 848ad6e2be
15 changed files with 65 additions and 28 deletions
+7 -4
View File
@@ -113,7 +113,7 @@ void ScreenManager::Update( float fDeltaTime )
void ScreenManager::Restore()
{
// Draw all CurrentScreens (back to front)
// Restore all CurrentScreens (back to front)
for( unsigned i=0; i<m_ScreenStack.size(); i++ )
m_ScreenStack[i]->Restore();
}
@@ -126,9 +126,12 @@ void ScreenManager::Invalidate()
void ScreenManager::Draw()
{
// Draw all CurrentScreens (back to front)
for( unsigned i=0; i<m_ScreenStack.size(); i++ )
m_ScreenStack[i]->Draw();
if( !m_ScreenStack.empty() && !m_ScreenStack.back()->IsTransparent() ) // top screen isn't transparent
m_ScreenStack.back()->Draw();
else
for( unsigned i=0; i<m_ScreenStack.size(); i++ ) // Draw all screens bottom to top
m_ScreenStack[i]->Draw();
if( m_textSystemMessage.GetDiffuse().a != 0 )
m_textSystemMessage.Draw();