[Libreoffice-commits] core.git: include/vcl vcl/source
Michael Weghorn (via logerrit)
logerrit at kemper.freedesktop.org
Thu Nov 19 17:11:24 UTC 2020
include/vcl/layout.hxx | 1 +
vcl/source/window/layout.cxx | 30 ++++++++++++++++--------------
2 files changed, 17 insertions(+), 14 deletions(-)
New commits:
commit 411063bc99f7339afae2c2a25a146c7c5efeb2da
Author: Michael Weghorn <m.weghorn at posteo.de>
AuthorDate: Thu Nov 19 11:42:54 2020 +0100
Commit: Michael Weghorn <m.weghorn at posteo.de>
CommitDate: Thu Nov 19 18:10:44 2020 +0100
tdf#138010 (III) Extract VclScrolledWindow border width to var
commit 1fe4a1a76da8fd3c196ccd9529b01ee093516b25
Date: Fri Mar 30 13:30:38 2018 +0100
draw a border around scrolled window
had added a 1 pixel border for scrolled windows.
Extract the value for the border width (currently hard-coded
to 1) to a variable.
This will be extended to take into account the actual width
of natively drawn frames in a follow-up commit.
Change-Id: I2503105c42fae9eae66ec931d54c9d6883f83bf0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106156
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn at posteo.de>
diff --git a/include/vcl/layout.hxx b/include/vcl/layout.hxx
index 663dea045784..9824078fa612 100644
--- a/include/vcl/layout.hxx
+++ b/include/vcl/layout.hxx
@@ -523,6 +523,7 @@ private:
void InitScrollBars(const Size &rRequest);
virtual bool EventNotify(NotifyEvent& rNEvt) override;
bool m_bUserManagedScrolling;
+ const static tools::Long m_nBorderWidth;
DrawFrameStyle m_eDrawFrameStyle;
DrawFrameFlags m_eDrawFrameFlags;
VclPtr<ScrollBar> m_pVScroll;
diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx
index 245befc2c3a7..9069d1aa7132 100644
--- a/vcl/source/window/layout.cxx
+++ b/vcl/source/window/layout.cxx
@@ -1803,6 +1803,8 @@ IMPL_LINK( VclExpander, ClickHdl, CheckBox&, rBtn, void )
maExpandedHdl.Call(*this);
}
+const tools::Long VclScrolledWindow::m_nBorderWidth = 1;
+
VclScrolledWindow::VclScrolledWindow(vcl::Window *pParent)
: VclBin(pParent, WB_HIDE | WB_CLIPCHILDREN | WB_AUTOHSCROLL | WB_AUTOVSCROLL | WB_TABSTOP)
, m_bUserManagedScrolling(false)
@@ -1876,8 +1878,8 @@ Size VclScrolledWindow::calculateRequisition() const
if (GetStyle() & WB_HSCROLL)
aRet.AdjustHeight(getLayoutRequisition(*m_pHScroll).Height() );
- aRet.AdjustHeight(2);
- aRet.AdjustWidth(2);
+ aRet.AdjustHeight(2 * m_nBorderWidth);
+ aRet.AdjustWidth(2 * m_nBorderWidth);
return aRet;
}
@@ -1910,8 +1912,8 @@ void VclScrolledWindow::doSetAllocation(const Size &rAllocation, bool bRetryOnFa
if (pChild && pChild->IsVisible())
aChildReq = getLayoutRequisition(*pChild);
- tools::Long nAvailHeight = rAllocation.Height() - 2;
- tools::Long nAvailWidth = rAllocation.Width() - 2;
+ tools::Long nAvailHeight = rAllocation.Height() - 2 * m_nBorderWidth;
+ tools::Long nAvailWidth = rAllocation.Width() - 2 * m_nBorderWidth;
// vert. ScrollBar
if (GetStyle() & WB_AUTOVSCROLL)
{
@@ -1939,8 +1941,8 @@ void VclScrolledWindow::doSetAllocation(const Size &rAllocation, bool bRetryOnFa
m_pHScroll->Show((GetStyle() & WB_HSCROLL) != 0);
Size aInnerSize(rAllocation);
- aInnerSize.AdjustWidth(-2);
- aInnerSize.AdjustHeight(-2);
+ aInnerSize.AdjustWidth(-2 * m_nBorderWidth);
+ aInnerSize.AdjustHeight(-2 * m_nBorderWidth);
bool bBothVisible = m_pVScroll->IsVisible() && m_pHScroll->IsVisible();
auto nScrollBarWidth = getLayoutRequisition(*m_pVScroll).Width();
@@ -1948,8 +1950,8 @@ void VclScrolledWindow::doSetAllocation(const Size &rAllocation, bool bRetryOnFa
if (m_pVScroll->IsVisible())
{
- Point aScrollPos(rAllocation.Width() - nScrollBarWidth - 1, 1);
- Size aScrollSize(nScrollBarWidth, rAllocation.Height() - 2);
+ Point aScrollPos(rAllocation.Width() - nScrollBarWidth - m_nBorderWidth, m_nBorderWidth);
+ Size aScrollSize(nScrollBarWidth, rAllocation.Height() - 2 * m_nBorderWidth);
if (bBothVisible)
aScrollSize.AdjustHeight(-nScrollBarHeight);
setLayoutAllocation(*m_pVScroll, aScrollPos, aScrollSize);
@@ -1958,8 +1960,8 @@ void VclScrolledWindow::doSetAllocation(const Size &rAllocation, bool bRetryOnFa
if (m_pHScroll->IsVisible())
{
- Point aScrollPos(1, rAllocation.Height() - nScrollBarHeight);
- Size aScrollSize(rAllocation.Width() - 2, nScrollBarHeight);
+ Point aScrollPos(m_nBorderWidth, rAllocation.Height() - nScrollBarHeight);
+ Size aScrollSize(rAllocation.Width() - 2 * m_nBorderWidth, nScrollBarHeight);
if (bBothVisible)
aScrollSize.AdjustWidth(-nScrollBarWidth);
setLayoutAllocation(*m_pHScroll, aScrollPos, aScrollSize);
@@ -1968,7 +1970,7 @@ void VclScrolledWindow::doSetAllocation(const Size &rAllocation, bool bRetryOnFa
if (bBothVisible)
{
- Point aBoxPos(aInnerSize.Width() + 1, aInnerSize.Height() + 1);
+ Point aBoxPos(aInnerSize.Width() + m_nBorderWidth, aInnerSize.Height() + m_nBorderWidth);
m_aScrollBarBox->SetPosSizePixel(aBoxPos, Size(nScrollBarWidth, nScrollBarHeight));
m_aScrollBarBox->Show();
}
@@ -1983,7 +1985,7 @@ void VclScrolledWindow::doSetAllocation(const Size &rAllocation, bool bRetryOnFa
WinBits nOldBits = (GetStyle() & (WB_AUTOVSCROLL | WB_VSCROLL | WB_AUTOHSCROLL | WB_HSCROLL));
- setLayoutAllocation(*pChild, Point(1, 1), aInnerSize);
+ setLayoutAllocation(*pChild, Point(m_nBorderWidth, m_nBorderWidth), aInnerSize);
// tdf#128758 if the layout allocation triggered some callback that
// immediately invalidates the layout by adding scrollbars then
@@ -2014,8 +2016,8 @@ Size VclScrolledWindow::getVisibleChildSize() const
aRet.AdjustWidth( -(m_pVScroll->GetSizePixel().Width()) );
if (m_pHScroll->IsVisible())
aRet.AdjustHeight( -(m_pHScroll->GetSizePixel().Height()) );
- aRet.AdjustHeight(-2);
- aRet.AdjustWidth(-2);
+ aRet.AdjustHeight(-2 * m_nBorderWidth);
+ aRet.AdjustWidth(-2 * m_nBorderWidth);
return aRet;
}
More information about the Libreoffice-commits
mailing list