]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/theme.h
don't define WINVER as 0x0400 in configure, it's defined in the headers as 0x0600...
[wxWidgets.git] / include / wx / univ / theme.h
index abc19d6631653799d481dff6bc730a6f3c9373dc..a386a2cca837697a80aa8e019ebf4f58dfd9db8f 100644 (file)
@@ -76,6 +76,34 @@ private:
     friend struct WXDLLEXPORT wxThemeInfo;
 };
 
+// ----------------------------------------------------------------------------
+// wxDelegateTheme: it is impossible to inherit from any of standard
+// themes as their declarations are in private code, but you can use this
+// class to override only some of their functions - all the other ones
+// will be left to the original theme
+// ----------------------------------------------------------------------------
+
+class wxDelegateTheme : public wxTheme
+{
+public:
+    wxDelegateTheme(const wxChar *theme);
+    virtual ~wxDelegateTheme();
+
+    virtual wxRenderer *GetRenderer();
+    virtual wxArtProvider *GetArtProvider();
+    virtual wxInputHandler *GetInputHandler(const wxString& control,
+                                            wxInputConsumer *consumer);
+    virtual wxColourScheme *GetColourScheme();
+
+protected:
+    // gets or creates theme and sets m_theme to point to it,
+    // returns true on success
+    bool GetOrCreateTheme();
+
+    wxString    m_themeName;
+    wxTheme    *m_theme;
+};
+
 // ----------------------------------------------------------------------------
 // dynamic theme creation helpers
 // ----------------------------------------------------------------------------