]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/uxtheme.cpp
Add required padding to DoGetBestSize() for small bitmaps when using themes
[wxWidgets.git] / src / msw / uxtheme.cpp
index 328bb33bf297220b024888f3013240d90e5f241b..4376d2549d62a7e73c4052ceee4c79b80e5b2fec 100644 (file)
@@ -1,22 +1,18 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Name:        src/msw/uxtheme.cpp
 // Purpose:     implements wxUxThemeEngine class: support for XP themes
-// Author:      
+// Author:      John Platts, Vadim Zeitlin
 // Modified by:
 // Created:     2003
 // RCS-ID:      $Id$
-// Copyright:   (c) 2003 wxWindows Dev-Team
-// License:     wxWindows license
+// Copyright:   (c) 2003 John Platts, Vadim Zeitlin
+// License:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
 // declarations
 // ============================================================================
 
-#ifdef __GNUG__
-    #pragma implementation "uxtheme.h"
-#endif
-
 // ----------------------------------------------------------------------------
 // headers
 // ----------------------------------------------------------------------------
 class wxUxThemeModule : public wxModule
 {
 public:
-       virtual bool OnInit() { return true; }
-       virtual void OnExit()
-       {
-               if ( wxUxThemeEngine::ms_themeEngine )
-               {
+    virtual bool OnInit() { return true; }
+    virtual void OnExit()
+    {
+        if ( wxUxThemeEngine::ms_themeEngine )
+        {
             // this is probably not necessary right now but try to be careful
             // and avoid the problems which we might have if someone ever
             // decides to show a message box using the theme engine from
@@ -63,12 +59,12 @@ public:
             wxUxThemeEngine::ms_themeEngine = NULL;
             wxUxThemeEngine::ms_isThemeEngineAvailable = false;
 
-                       delete themeEngine;
-               }
-       }
+            delete themeEngine;
+        }
+    }
 
 
-       DECLARE_DYNAMIC_CLASS(wxUxThemeModule)
+    DECLARE_DYNAMIC_CLASS(wxUxThemeModule)
 };
 
 IMPLEMENT_DYNAMIC_CLASS(wxUxThemeModule, wxModule)
@@ -108,6 +104,13 @@ wxUxThemeEngine* wxUxThemeEngine::Get()
 
 bool wxUxThemeEngine::Initialize()
 {
+    if ( wxApp::GetComCtl32Version() < 600 )
+    {
+        // not using theme-aware comctl32.dll anyhow, don't even try to use
+        // themes
+        return false;
+    }
+
     // we're prepared to handle the errors
     wxLogNull noLog;
 
@@ -172,21 +175,5 @@ bool wxUxThemeEngine::Initialize()
     return true;
 }
 
-// This calls IsAppThemed but also checks the commctrl.dll version
-// for a more reliable answer.
-bool wxUxThemeEngine::IsAppThemedEx()
-{
-    static bool g_TestedForTheme = FALSE;
-    static bool g_UseTheme = FALSE;
-    if (!g_TestedForTheme)
-    {
-        int commCtrlVersion = wxTheApp->GetComCtl32Version() ;
-        
-        g_UseTheme = (commCtrlVersion >= 600);
-        g_TestedForTheme = TRUE;
-    }
-    return IsAppThemed() && g_UseTheme;
-}
-
 #endif // wxUSE_UXTHEME