X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/23895080c2666917f1c4ff2e40e327451a5fbcbf..94c162795e6ebff164bcfc7bb9aa0138dd83b194:/include/wx/univ/window.h?ds=sidebyside diff --git a/include/wx/univ/window.h b/include/wx/univ/window.h index cfe3c89bb7..d3a845d84a 100644 --- a/include/wx/univ/window.h +++ b/include/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 // ---------------------------------------------------------------------------- @@ -61,6 +67,8 @@ enum #define wxWindowNative wxWindowGTK #elif defined(__WXMGL__) #define wxWindowNative wxWindowMGL +#elif defined(__WXX11__) +#define wxWindowNative wxWindowX11 #elif defined(__WXMAC__) #define wxWindowNative wxWindowMac #endif @@ -173,6 +181,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; } @@ -188,6 +200,9 @@ public: // erase part of the control virtual void EraseBackground(wxDC& dc, const wxRect& rect); + + // see below + bool HasDialogBackground() { return m_hasDialogBackground; } // overridden base class methods // ----------------------------- @@ -200,13 +215,6 @@ public: // we refresh the window when it is dis/enabled virtual bool Enable(bool enable = TRUE); - // our Capture/ReleaseMouse() maintains the stack of windows which had - // captured the mouse and when ReleaseMouse() is called, the mouse freed - // only if the stack is empty, otherwise it is captured back by the window - // on top of the stack - virtual void CaptureMouse(); - virtual void ReleaseMouse(); - protected: // common part of all ctors void Init(); @@ -261,23 +269,32 @@ protected: // the renderer we use wxRenderer *m_renderer; + + // background like a dialog (e.g. wxStaticText, + // wxRadioButton), not with a surface (wxButton) + bool m_hasDialogBackground; // 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, *m_scrollbarVert; - // the stack of windows which have captured the mouse - static struct WXDLLEXPORT wxWindowNext *ms_winCaptureNext; - #if wxUSE_MENUS // the current modal event loop for the popup menu we show or NULL static wxEventLoop *ms_evtLoopPopup;