]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/window.h
reverted revision 1.6 -- Mattia obviously knows better than I do...
[wxWidgets.git] / include / wx / window.h
index 0fd38143f05b53299703ccf4477b359182f14e7e..6d6edb28f37291045bacb55eb5b3b4b98b6c3b2d 100644 (file)
 
 #include "wx/validate.h"        // for wxDefaultValidator (always include it)
 
+#if wxUSE_PALETTE
+       #include "wx/dcclient.h"
+       #include "wx/palette.h"
+#endif // wxUSE_PALETTE
+
 #if wxUSE_ACCEL
     #include "wx/accel.h"
 #endif // wxUSE_ACCEL
@@ -761,6 +766,22 @@ public:
         // platform-specific APIs
     virtual WXWidget GetHandle() const = 0;
 
+#if wxUSE_PALETTE
+        // Store the palette used by DCs in wxWindow so that the dcs can share
+        // a palette. And we can respond to palette messages.
+    wxPalette GetPalette() const { return m_palette; }
+
+        // When palette is changed tell the DC to set the system palette to the
+        // new one.
+    void SetPalette(const wxPalette& pal);
+
+        // return true if we have a specific palette
+    bool HasCustomPalette() const { return m_hasCustomPalette; }
+
+        // return the first parent window with a custom palette or NULL
+    wxWindow *GetAncestorWithCustomPalette() const;
+#endif // wxUSE_PALETTE
+
 protected:
     // the window id - a number which uniquely identifies a window among
     // its siblings unless it is -1
@@ -844,6 +865,11 @@ protected:
     wxString             m_windowName;
     bool                 m_themeEnabled;
 
+#ifdef wxUSE_PALETTE
+    wxPalette            m_palette;
+    bool                 m_hasCustomPalette;
+#endif // wxUSE_PALETTE
+
 protected:
 
     // common part of all ctors: it is not virtual because it is called from