From: Julian Smart Date: Thu, 8 Feb 2007 17:16:24 +0000 (+0000) Subject: Added size constants to allow drawn control parts to match the window variant, X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/f8e1a81f3e2fdad47eb014c8d74d919c7a9faaa4 Added size constants to allow drawn control parts to match the window variant, initially on Mac git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44424 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/docs/latex/wx/renderer.tex b/docs/latex/wx/renderer.tex index d0fa0b0ec9..3013dcb734 100644 --- a/docs/latex/wx/renderer.tex +++ b/docs/latex/wx/renderer.tex @@ -74,6 +74,10 @@ enum 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_SIZE_NORMAL = 0x00000100, + wxCONTROL_SIZE_LARGE = 0x00000200, + wxCONTROL_SIZE_SMALL = 0x00000400, + wxCONTROL_SIZE_MINI = 0x00000800, wxCONTROL_UNDETERMINED = wxCONTROL_CHECKABLE // (check) undetermined state }; \end{verbatim} diff --git a/include/wx/renderer.h b/include/wx/renderer.h index a270f0848e..852f70598c 100644 --- a/include/wx/renderer.h +++ b/include/wx/renderer.h @@ -62,6 +62,11 @@ enum wxCONTROL_CHECKABLE = 0x00000080, // (menu) item can be checked wxCONTROL_UNDETERMINED = wxCONTROL_CHECKABLE, // (check) undetermined state + wxCONTROL_SIZE_NORMAL = 0x00000100, + wxCONTROL_SIZE_LARGE = 0x00000200, + wxCONTROL_SIZE_SMALL = 0x00000400, + wxCONTROL_SIZE_MINI = 0x00000800, + wxCONTROL_FLAGS_MASK = 0x000000ff, // this is a pseudo flag not used directly by wxRenderer but rather by some diff --git a/src/common/combocmn.cpp b/src/common/combocmn.cpp index 26a083b7b0..82345122b8 100644 --- a/src/common/combocmn.cpp +++ b/src/common/combocmn.cpp @@ -1347,6 +1347,11 @@ void wxComboCtrlBase::DrawButton( wxDC& dc, const wxRect& rect, int paintBg ) } // Draw standard button + if (GetParent()->GetWindowVariant() == wxWINDOW_VARIANT_SMALL) + drawState |= wxCONTROL_SIZE_SMALL; + else if (GetParent()->GetWindowVariant() == wxWINDOW_VARIANT_MINI) + drawState |= wxCONTROL_SIZE_MINI; + wxRendererNative::Get().DrawComboBoxDropButton(this, dc, drawRect, @@ -1380,6 +1385,11 @@ void wxComboCtrlBase::DrawButton( wxDC& dc, const wxRect& rect, int paintBg ) dc.DrawRectangle(rect); } + if (GetParent()->GetWindowVariant() == wxWINDOW_VARIANT_SMALL) + drawState |= wxCONTROL_SIZE_SMALL; + else if (GetParent()->GetWindowVariant() == wxWINDOW_VARIANT_MINI) + drawState |= wxCONTROL_SIZE_MINI; + wxRendererNative::Get().DrawPushButton(this, dc, drawRect, diff --git a/src/mac/carbon/renderer.cpp b/src/mac/carbon/renderer.cpp index 15d9ef20b1..2c390637b2 100644 --- a/src/mac/carbon/renderer.cpp +++ b/src/mac/carbon/renderer.cpp @@ -473,8 +473,16 @@ wxRendererMac::DrawComboBoxDropButton(wxWindow *win, const wxRect& rect, int flags) { + int kind; + if (flags & wxCONTROL_SIZE_SMALL) + kind = kThemeArrowButtonSmall; + else if (flags & wxCONTROL_SIZE_MINI) + kind = kThemeArrowButtonMini; + else + kind = kThemeArrowButton; + DrawMacThemeButton(win, dc, rect, flags, - kThemeArrowButton, kThemeAdornmentArrowDownArrow); + kind, kThemeAdornmentArrowDownArrow); } void @@ -483,7 +491,13 @@ wxRendererMac::DrawPushButton(wxWindow *win, const wxRect& rect, int flags) { + int kind; + if (flags & wxCONTROL_SIZE_SMALL) + kind = kThemeBevelButtonSmall; + else + kind = kThemeBevelButton; + DrawMacThemeButton(win, dc, rect, flags, - kThemeBevelButton, kThemeAdornmentNone); + kind, kThemeAdornmentNone); }