X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e6feb95a79834836e88143b15d9f424ebe79621..00958db524c4b0e2d72466d5416ce9fad41f42b6:/include/wx/univ/window.h diff --git a/include/wx/univ/window.h b/include/wx/univ/window.h index 4af5b3fb22..02b48e85eb 100644 --- a/include/wx/univ/window.h +++ b/include/wx/univ/window.h @@ -7,7 +7,7 @@ // Modified by: // Created: 06.08.00 // RCS-ID: $Id$ -// Copyright: (c) 2000 Vadim Zeitlin +// Copyright: (c) 2000 SciTech Software, Inc. (www.scitechsoft.com) // Licence: wxWindows license /////////////////////////////////////////////////////////////////////////////// @@ -55,10 +55,22 @@ enum // wxWindow // ---------------------------------------------------------------------------- +#if defined(__WXMSW__) +#define wxWindowNative wxWindowMSW +#elif defined(__WXGTK__) +#define wxWindowNative wxWindowGTK +#elif defined(__WXMGL__) +#define wxWindowNative wxWindowMGL +#elif defined(__WXX11__) +#define wxWindowNative wxWindowX11 +#elif defined(__WXMAC__) +#define wxWindowNative wxWindowMac +#endif + class WXDLLEXPORT wxWindow : public wxWindowNative { public: - // ctors and creatie functions + // ctors and create functions // --------------------------- wxWindow() { Init(); } @@ -163,6 +175,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,18 +206,6 @@ public: // we refresh the window when it is dis/enabled virtual bool Enable(bool enable = TRUE); - // remember that the font/colour was changed - virtual bool SetBackgroundColour(const wxColour& colour); - virtual bool SetForegroundColour(const wxColour& colour); - virtual bool SetFont(const wxFont& font); - - // 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,21 +265,23 @@ protected: 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; - // more flags - bool m_isCurrent:1; // is the mouse currently inside the window? - bool m_hasBgCol:1; // was the bg colour explicitly changed by user? - bool m_hasFgCol:1; // fg - bool m_hasFont:1; // font +#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;