From 4eb124f5bd8fd682440dc76a58869cc79f934f17 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Tue, 26 Sep 2006 13:58:54 +0000 Subject: [PATCH] fix client area computations and borders rendering if the scrollbars are not inside the border rect git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/univ/winuniv.cpp | 39 +++++---------------------------------- 1 file changed, 5 insertions(+), 34 deletions(-) diff --git a/src/univ/winuniv.cpp b/src/univ/winuniv.cpp index 631b7e8800..b114729174 100644 --- a/src/univ/winuniv.cpp +++ b/src/univ/winuniv.cpp @@ -720,8 +720,6 @@ void wxWindow::DoGetClientSize(int *width, int *height) const if ( m_renderer ) rectBorder = m_renderer->GetBorderDimensions(GetBorder()); - bool inside = m_renderer->AreScrollbarsInsideBorder(); - if ( width ) { #if wxUSE_SCROLLBAR @@ -730,17 +728,8 @@ void wxWindow::DoGetClientSize(int *width, int *height) const w -= m_scrollbarVert->GetSize().x; #endif // wxUSE_SCROLLBAR - // if we don't have scrollbar or if it is outside the border (and not - // blended into it), take account of the right border as well - if ( -#if wxUSE_SCROLLBAR - !m_scrollbarVert || -#endif // wxUSE_SCROLLBAR - inside ) - w -= rectBorder.width; - - // and always account for the left border - *width = w - rectBorder.x; + // account for the left and right borders + *width = w - rectBorder.x - rectBorder.width; // we shouldn't return invalid width if ( *width < 0 ) @@ -754,14 +743,7 @@ void wxWindow::DoGetClientSize(int *width, int *height) const h -= m_scrollbarHorz->GetSize().y; #endif // wxUSE_SCROLLBAR - if ( -#if wxUSE_SCROLLBAR - !m_scrollbarHorz || -#endif // wxUSE_SCROLLBAR - inside ) - h -= rectBorder.height; - - *height = h - rectBorder.y; + *height = h - rectBorder.y - rectBorder.height; // we shouldn't return invalid height if ( *height < 0 ) @@ -779,29 +761,18 @@ void wxWindow::DoSetClientSize(int width, int height) // and the scrollbars (as they may be offset into the border, use the // scrollbar position, not size - this supposes that PositionScrollbars() // had been called before) - bool inside = m_renderer->AreScrollbarsInsideBorder(); wxSize size = GetSize(); #if wxUSE_SCROLLBAR if ( m_scrollbarVert ) width += size.x - m_scrollbarVert->GetPosition().x; #endif // wxUSE_SCROLLBAR - if ( -#if wxUSE_SCROLLBAR - !m_scrollbarVert || -#endif // wxUSE_SCROLLBAR - inside ) - width += rectBorder.width; + width += rectBorder.width; #if wxUSE_SCROLLBAR if ( m_scrollbarHorz ) height += size.y - m_scrollbarHorz->GetPosition().y; #endif // wxUSE_SCROLLBAR - if ( -#if wxUSE_SCROLLBAR - !m_scrollbarHorz || -#endif // wxUSE_SCROLLBAR - inside ) - height += rectBorder.height; + height += rectBorder.height; wxWindowNative::DoSetClientSize(width, height); } -- 2.47.2