]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/wincmn.cpp
removed more unneeded files, see patch 890642
[wxWidgets.git] / src / common / wincmn.cpp
index dc9f440925cd7ea1e6dfbfc56c6e3e694b2c1f19..1f80f28ee94c9bc5797ae181dfca984f6dbc53c9 100644 (file)
@@ -186,12 +186,14 @@ wxWindowBase::wxWindowBase()
 #endif
 
     m_virtualSize = wxDefaultSize;
-
+    
     m_minVirtualWidth =
     m_minVirtualHeight =
     m_maxVirtualWidth =
     m_maxVirtualHeight = -1;
 
+    m_windowVariant = wxWINDOW_VARIANT_DEFAULT ;
+
     // Whether we're using the current theme for this window (wxGTK only for now)
     m_themeEnabled = false;
 }
@@ -621,6 +623,43 @@ void wxWindowBase::SetSizeHints(int minW, int minH,
     m_maxHeight = maxH;
 }
 
+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 ;
+        case wxWINDOW_VARIANT_DEFAULT :
+            break ;
+        default:
+            wxFAIL_MSG(_T("unexpected window variant"));
+            break ;
+    }
+    SetFont( font ) ;  
+}
+
 void wxWindowBase::SetVirtualSizeHints( int minW, int minH,
                                         int maxW, int maxH )
 {