X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1b0b798d77b7b93b81d62162b290441bc9175e3e..1338c59a025505bc066be220fe56e898a72b3ad3:/include/wx/univ/window.h diff --git a/include/wx/univ/window.h b/include/wx/univ/window.h index c6acdd5eb8..4081781d87 100644 --- a/include/wx/univ/window.h +++ b/include/wx/univ/window.h @@ -8,7 +8,7 @@ // Created: 06.08.00 // RCS-ID: $Id$ // Copyright: (c) 2000 SciTech Software, Inc. (www.scitechsoft.com) -// Licence: wxWindows license +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// #ifndef _WX_UNIV_WINDOW_H_ @@ -51,6 +51,12 @@ enum wxCONTROL_DIRTY = 0x80000000 }; +#ifdef __WXX11__ +#define wxUSE_TWO_WINDOWS 1 +#else +#define wxUSE_TWO_WINDOWS 0 +#endif + // ---------------------------------------------------------------------------- // wxWindow // ---------------------------------------------------------------------------- @@ -165,6 +171,16 @@ public: // control (e.g. a button, checkbox, ...) virtual bool IsContainerWindow() const { return FALSE; } + // returns TRUE if the control has "transparent" areas such + // as a wxStaticText and wxCheckBox and the background should + // be adapted from a parent window + virtual bool HasTransparentBackground() { return FALSE; } + + // to be used with function above: transparent windows get + // their background from parents that return TRUE here, + // so this is mostly for wxPanel, wxTopLevelWindow etc. + virtual bool ProvidesBackground() const { return FALSE; } + // return TRUE if this control can be highlighted when the mouse is over // it (the theme decides itself whether it is really highlighted or not) virtual bool CanBeHighlighted() const { return FALSE; } @@ -175,6 +191,10 @@ public: bool UseFgCol() const { return m_hasFgCol; } bool UseFont() const { return m_hasFont; } + // return TRUE if this window serves as a container for the other windows + // only and doesn't get any input itself + virtual bool IsStaticBox() const { return FALSE; } + // returns the (low level) renderer to use for drawing the control by // querying the current theme wxRenderer *GetRenderer() const { return m_renderer; } @@ -190,7 +210,7 @@ public: // erase part of the control virtual void EraseBackground(wxDC& dc, const wxRect& rect); - + // overridden base class methods // ----------------------------- @@ -256,15 +276,23 @@ protected: // the renderer we use wxRenderer *m_renderer; - + // background bitmap info wxBitmap m_bitmapBg; int m_alignBgBitmap; wxStretch m_stretchBgBitmap; + + // old size + wxSize m_oldSize; // is the mouse currently inside the window? bool m_isCurrent:1; +#ifdef __WXMSW__ + // override MSWWindowProc() to process WM_NCHITTEST + long MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam); +#endif // __WXMSW__ + private: // the window scrollbars wxScrollBar *m_scrollbarHorz,