X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/30827629fa11f6365f69bd2917e1a35d22c35363..9f8845289521c7f53e95b6dfd8275daab8b05639:/include/wx/univ/window.h?ds=inline diff --git a/include/wx/univ/window.h b/include/wx/univ/window.h index 8a53c0b34e..b352f7ff07 100644 --- a/include/wx/univ/window.h +++ b/include/wx/univ/window.h @@ -8,13 +8,13 @@ // 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_ #define _WX_UNIV_WINDOW_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "univwindow.h" #endif @@ -27,29 +27,11 @@ class WXDLLEXPORT wxMenuBar; class WXDLLEXPORT wxRenderer; class WXDLLEXPORT wxScrollBar; -// ---------------------------------------------------------------------------- -// constants -// ---------------------------------------------------------------------------- - -// control state flags used in wxRenderer and wxColourScheme -enum -{ - wxCONTROL_DISABLED = 0x00000001, // control is disabled - wxCONTROL_FOCUSED = 0x00000002, // currently has keyboard focus - wxCONTROL_PRESSED = 0x00000004, // (button) is pressed - wxCONTROL_ISDEFAULT = 0x00000008, // only applies to the buttons - wxCONTROL_ISSUBMENU = wxCONTROL_ISDEFAULT, // only for menu items - wxCONTROL_CURRENT = 0x00000010, // mouse is currently over the control - wxCONTROL_SELECTED = 0x00000020, // selected item in e.g. listbox - wxCONTROL_CHECKED = 0x00000040, // (check/radio button) is checked - wxCONTROL_CHECKABLE = 0x00000080, // (menu) item can be checked - - wxCONTROL_FLAGS_MASK = 0x000000ff, - - // this is a pseudo flag not used directly by wxRenderer but rather by some - // controls internally - wxCONTROL_DIRTY = 0x80000000 -}; +#ifdef __WXX11__ +#define wxUSE_TWO_WINDOWS 1 +#else +#define wxUSE_TWO_WINDOWS 0 +#endif // ---------------------------------------------------------------------------- // wxWindow @@ -160,10 +142,15 @@ public: // controls only virtual bool IsCanvasWindow() const { return FALSE; } - // return TRUE if this a container window which contains the other items: - // e.g, a listbox, listctrl, treectrl, ... and FALSE if it is a monolithic - // 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) @@ -194,7 +181,7 @@ public: // erase part of the control virtual void EraseBackground(wxDC& dc, const wxRect& rect); - + // overridden base class methods // ----------------------------- @@ -206,6 +193,9 @@ public: // we refresh the window when it is dis/enabled virtual bool Enable(bool enable = TRUE); + // should we use the standard control colours or not? + virtual bool ShouldInheritColours() const { return false; } + protected: // common part of all ctors void Init(); @@ -219,7 +209,7 @@ protected: // event handlers void OnSize(wxSizeEvent& event); - void OnNcPaint(wxPaintEvent& event); + void OnNcPaint(wxNcPaintEvent& event); void OnPaint(wxPaintEvent& event); void OnErase(wxEraseEvent& event); @@ -260,18 +250,21 @@ 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); + WXLRESULT MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam); #endif // __WXMSW__ private: