+void wxWindowBase::SetWindowVariant( wxWindowVariant variant )
+{
+ if ( m_windowVariant == variant )
+ return ;
+
+ m_windowVariant = variant ;
+
+ DoSetWindowVariant( variant ) ;
+ return ;
+}
+
+void wxWindowBase::DoSetWindowVariant( wxWindowVariant variant )
+{
+ wxFont font = wxSystemSettings::GetSystemFont( wxSYS_DEFAULT_GUI_FONT ) ;
+ int size = font.GetPointSize() ;
+ switch ( variant )
+ {
+ case wxWINDOW_VARIANT_NORMAL :
+ break ;
+ case wxWINDOW_VARIANT_SMALL :
+ font.SetPointSize( size * 3 / 4 ) ;
+ break ;
+ case wxWINDOW_VARIANT_MINI :
+ font.SetPointSize( size * 2 / 3 ) ;
+ break ;
+ case wxWINDOW_VARIANT_LARGE :
+ font.SetPointSize( size * 5 / 4 ) ;
+ break ;
+ default:
+ wxFAIL_MSG(_T("unexpected window variant"));
+ break ;
+ }
+ SetFont( font ) ;
+}
+