X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bd507486e07b742bb7acb118811efd60ee027859..dbdf9a176f4239d8204cef176fd9780530ba9302:/include/wx/window.h diff --git a/include/wx/window.h b/include/wx/window.h index b02a9ecf44..bd26e0c557 100644 --- a/include/wx/window.h +++ b/include/wx/window.h @@ -96,6 +96,16 @@ WXDLLEXPORT_DATA(extern wxWindowList) wxTopLevelWindows; // temporarily switches event handlers). // ---------------------------------------------------------------------------- +// different window variants, on platforms like eg mac uses different rendering sizes + +enum wxWindowVariant +{ + wxWINDOW_VARIANT_NORMAL, // Normal size + wxWINDOW_VARIANT_SMALL, // Smaller size (about 25 % smaller than normal ) + wxWINDOW_VARIANT_MINI, // Mini size (about 33 % smaller than normal ) + wxWINDOW_VARIANT_LARGE, // Large size (about 25 % larger than normal ) +}; + class WXDLLEXPORT wxWindowBase : public wxEvtHandler { public: @@ -158,6 +168,11 @@ public: virtual void SetName( const wxString &name ) { m_windowName = name; } virtual wxString GetName() const { return m_windowName; } + // sets the window variant, calls internally DoSetVariant if variant has changed + void SetWindowVariant( wxWindowVariant variant ) ; + wxWindowVariant GetWindowVariant() const { return m_windowVariant ; } + + // window id uniquely identifies the window among its siblings unless // it is -1 which means "don't care" void SetId( wxWindowID winid ) { m_windowId = winid; } @@ -399,7 +414,8 @@ public: // page is added to a notebook it and it's children may need to have // the colours adjusted depending on the current theme settings, but // not all windows/controls can do this without looking wrong. - virtual bool CanApplyParentThemeBackground() const { return false; } + virtual void ApplyParentThemeBackground(const wxColour& WXUNUSED(bg)) + { /* do nothing */ } // returns true if this window should inherit its parent colours on // creation @@ -1033,13 +1049,15 @@ protected: int m_minVirtualHeight; int m_maxVirtualWidth; int m_maxVirtualHeight; + + wxWindowVariant m_windowVariant ; // override this to change the default (i.e. used when no style is // specified) border for the window class virtual wxBorder GetDefaultBorder() const; - // get the default size for the new window if no explicit size given - // FIXME why 20 and not 30, 10 or ...? + // Get the default size for the new window if no explicit size given. TLWs + // have their own default size so this is just for non top-level windows. static int WidthDefault(int w) { return w == -1 ? 20 : w; } static int HeightDefault(int h) { return h == -1 ? 20 : h; } @@ -1130,6 +1148,8 @@ protected: virtual void AdjustForParentClientOrigin(int& x, int& y, int sizeFlags = 0) const; + // implements the window variants + virtual void DoSetWindowVariant( wxWindowVariant variant ) ; private: