void AISTargetAlertDialog::UpdateText() { if( GetAlertText() ) { wxFont *dFont = FontMgr::Get().GetFont( _("AISTargetAlert"), 12 ); wxString face = dFont->GetFaceName(); int sizes[7]; for( int i = -2; i < 5; i++ ) { sizes[i + 2] = dFont->GetPointSize() + i + ( i > 0 ? i : 0 ); } wxString html; wxColor bg = GetBackgroundColour(); html.Printf( _T("<html><body bgcolor=#%02x%02x%02x><center>"), bg.Red(), bg.Green(), bg.Blue() ); html << m_alert_text; html << _T("</center></font></body></html>"); m_pAlertTextCtl->SetFonts( face, face, sizes ); m_pAlertTextCtl->SetPage( html ); RecalculateSize(); } SetColorScheme(); if( !g_bopengl && CanSetTransparent() ) SetTransparent( 192 ); }
void AISTargetAlertDialog::UpdateText() { if( GetAlertText() ) { wxColor bg = GetBackgroundColour(); m_pAlertTextCtl->SetBackgroundColour( bg ); wxFont *dFont = FontMgr::Get().GetFont( _("AISTargetQuery"), 12 ); wxString face = dFont->GetFaceName(); int sizes[7]; for( int i = -2; i < 5; i++ ) { sizes[i + 2] = dFont->GetPointSize() + i + ( i > 0 ? i : 0 ); } wxString html; html.Printf( _T("<html><body bgcolor=#%02x%02x%02x><center>"), bg.Red(), bg.Blue(), bg.Green() ); html << m_alert_text; html << _T("</center></font></body></html>"); m_pAlertTextCtl->SetFonts( face, face, sizes ); m_pAlertTextCtl->SetPage( html ); // Try to create a min size that works across font sizes. wxSize sz; if( !IsShown() ) { sz = m_pAlertTextCtl->GetVirtualSize(); sz.x = 300; m_pAlertTextCtl->SetSize( sz ); } m_pAlertTextCtl->Layout(); wxSize ir( m_pAlertTextCtl->GetInternalRepresentation()->GetWidth(), m_pAlertTextCtl->GetInternalRepresentation()->GetHeight() ); sz.x = wxMax( m_pAlertTextCtl->GetSize().x, ir.x ); sz.y = wxMax( m_pAlertTextCtl->GetSize().y, ir.y ); m_pAlertTextCtl->SetMinSize( sz ); Fit(); sz -= wxSize( 200, 200 ); m_pAlertTextCtl->SetMinSize( sz ); } DimeControl( this ); if( !g_bopengl && CanSetTransparent() ) SetTransparent( 192 ); }