diff --git a/saco/d3d9/common/DXUTgui.cpp b/saco/d3d9/common/DXUTgui.cpp index 44c566c..83c7704 100644 --- a/saco/d3d9/common/DXUTgui.cpp +++ b/saco/d3d9/common/DXUTgui.cpp @@ -19,6 +19,27 @@ CDXUTDialogResourceManager::CDXUTDialogResourceManager() } +//-------------------------------------------------------------------------------------- +HRESULT CDXUTDialogResourceManager::OnResetDevice() +{ + HRESULT hr = S_OK; + + for( int i=0; i < m_FontCache.GetSize(); i++ ) + { + DXUTFontNode* pFontNode = m_FontCache.GetAt( i ); + + if( pFontNode->pFont ) + pFontNode->pFont->OnResetDevice(); + } + + if( m_pSprite ) + m_pSprite->OnResetDevice(); + + m_pd3dDevice->CreateStateBlock( D3DSBT_ALL, &m_pStateBlock ); + + return S_OK; +} + //-------------------------------------------------------------------------------------- void DXUTBlendColor::Init( D3DCOLOR defaultColor, D3DCOLOR disabledColor, D3DCOLOR hiddenColor ) { diff --git a/saco/d3d9/common/DXUTgui.h b/saco/d3d9/common/DXUTgui.h index 83608ff..fc1713d 100644 --- a/saco/d3d9/common/DXUTgui.h +++ b/saco/d3d9/common/DXUTgui.h @@ -63,6 +63,8 @@ class CDXUTDialogResourceManager public: CDXUTDialogResourceManager(); + HRESULT OnResetDevice(); + // Shared between all dialogs IDirect3DStateBlock9* m_pStateBlock; ID3DXSprite* m_pSprite; // Sprite used for drawing