X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/45e0dc94770d598a1cc84d83730d470dd1cfbcca..3a0b23eb745d4159dcb2ed5f1710444d98807ccf:/include/wx/window.h diff --git a/include/wx/window.h b/include/wx/window.h index 80ced6d6ab..c7cbaa4611 100644 --- a/include/wx/window.h +++ b/include/wx/window.h @@ -32,6 +32,11 @@ #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 @@ -288,8 +293,8 @@ public: int maxW = -1, int maxH = -1, int incW = -1, int incH = -1 ); - int GetMinWidth() const { return m_minWidth; } - int GetMinHeight() const { return m_minHeight; } + virtual int GetMinWidth() const { return m_minWidth; } + virtual int GetMinHeight() const { return m_minHeight; } int GetMaxWidth() const { return m_maxWidth; } int GetMaxHeight() const { return m_maxHeight; } @@ -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; +#if 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 @@ -897,7 +923,7 @@ protected: // capture/release the mouse, used by Capture/ReleaseMouse() virtual void DoCaptureMouse() = 0; virtual void DoReleaseMouse() = 0; - + // retrieve the position/size of the window virtual void DoGetPosition( int *x, int *y ) const = 0; virtual void DoGetSize( int *width, int *height ) const = 0; @@ -936,10 +962,6 @@ protected: // a toolbar that it manages itself). virtual void AdjustForParentClientOrigin(int& x, int& y, int sizeFlags); -#ifdef __WXPM__ - // extra OS/2 layout processing - virtual void OS2Layout(int width, int height) { }; -#endif private: @@ -977,6 +999,14 @@ private: #define sm_classwxWindowGTK sm_classwxWindow #endif // wxUniv #include "wx/gtk/window.h" +#elif defined(__WXX11__) + #ifdef __WXUNIVERSAL__ + #define wxWindowNative wxWindowX11 + #else // !wxUniv + #define wxWindowX11 wxWindow + #define sm_classwxWindowX11 sm_classwxWindow + #endif // wxUniv + #include "wx/x11/window.h" #elif defined(__WXMGL__) #ifdef __WXUNIVERSAL__ #define wxWindowNative wxWindowMGL