vcl/source/control/edit.cxx | 30 ++++++++++++++++-------------- vcl/source/control/listbox.cxx | 8 ++++---- 2 files changed, 20 insertions(+), 18 deletions(-)
New commits: commit 628a21e7e4dad565f676252fdd50cd7423e12f6f Author: Caolán McNamara <[email protected]> Date: Thu Aug 4 15:46:48 2016 +0100 like listbox put margins on both sides of an edit too Change-Id: I425b1005297b20ace85181edce72ab5829006a0e diff --git a/vcl/source/control/edit.cxx b/vcl/source/control/edit.cxx index 8e41d0e..d4d9936 100644 --- a/vcl/source/control/edit.cxx +++ b/vcl/source/control/edit.cxx @@ -1819,15 +1819,12 @@ void Edit::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawF if ( GetStyle() & WB_CENTER ) nTextStyle |= DrawTextFlags::Center; else if ( GetStyle() & WB_RIGHT ) - { nTextStyle |= DrawTextFlags::Right; - aTextRect.Left() += nOffX; - } else - { nTextStyle |= DrawTextFlags::Left; - aTextRect.Right() -= nOffX; - } + + aTextRect.Left() += nOffX; + aTextRect.Right() -= nOffX; OUString aText = ImplGetText(); long nTextHeight = pDev->GetTextHeight(); commit cc62d87d5f1abcff2affd56f1077114289c68c7e Author: Caolán McNamara <[email protected]> Date: Thu Aug 4 15:43:37 2016 +0100 use same scheme in Edit and ListBox for rendering text in ::Draw Change-Id: I5b17103e838f221cf3815002979c6b8c9c443300 diff --git a/vcl/source/control/edit.cxx b/vcl/source/control/edit.cxx index b6a4989..8e41d0e 100644 --- a/vcl/source/control/edit.cxx +++ b/vcl/source/control/edit.cxx @@ -1811,11 +1811,27 @@ void Edit::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawF } } + const long nOnePixel = GetDrawPixel( pDev, 1 ); + const long nOffX = 3*nOnePixel; + DrawTextFlags nTextStyle = DrawTextFlags::VCenter; + Rectangle aTextRect( aPos, aSize ); + + if ( GetStyle() & WB_CENTER ) + nTextStyle |= DrawTextFlags::Center; + else if ( GetStyle() & WB_RIGHT ) + { + nTextStyle |= DrawTextFlags::Right; + aTextRect.Left() += nOffX; + } + else + { + nTextStyle |= DrawTextFlags::Left; + aTextRect.Right() -= nOffX; + } + OUString aText = ImplGetText(); long nTextHeight = pDev->GetTextHeight(); long nTextWidth = pDev->GetTextWidth( aText ); - long nOnePixel = GetDrawPixel( pDev, 1 ); - long nOffX = 3*nOnePixel; long nOffY = (aSize.Height() - nTextHeight) / 2; // Clipping? @@ -1829,18 +1845,7 @@ void Edit::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, DrawF pDev->IntersectClipRegion( aClip ); } - if ( GetStyle() & WB_CENTER ) - { - aPos.X() += (aSize.Width() - nTextWidth) / 2; - nOffX = 0; - } - else if ( GetStyle() & WB_RIGHT ) - { - aPos.X() += aSize.Width() - nTextWidth; - nOffX = -nOffX; - } - - pDev->DrawText( Point( aPos.X() + nOffX, aPos.Y() + nOffY ), aText ); + pDev->DrawText( aTextRect, aText, nTextStyle ); pDev->Pop(); if ( GetSubEdit() ) diff --git a/vcl/source/control/listbox.cxx b/vcl/source/control/listbox.cxx index 5b35044..b95c1dc 100644 --- a/vcl/source/control/listbox.cxx +++ b/vcl/source/control/listbox.cxx @@ -412,7 +412,8 @@ void ListBox::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, Dr } } - long nOnePixel = GetDrawPixel( pDev, 1 ); + const long nOnePixel = GetDrawPixel( pDev, 1 ); + const long nOffX = 3*nOnePixel; DrawTextFlags nTextStyle = DrawTextFlags::VCenter; Rectangle aTextRect( aPos, aSize ); @@ -423,15 +424,14 @@ void ListBox::Draw( OutputDevice* pDev, const Point& rPos, const Size& rSize, Dr else nTextStyle |= DrawTextFlags::Left; - aTextRect.Left() += 3*nOnePixel; - aTextRect.Right() -= 3*nOnePixel; + aTextRect.Left() += nOffX; + aTextRect.Right() -= nOffX; if ( IsDropDownBox() ) { OUString aText = GetSelectEntry(); long nTextHeight = pDev->GetTextHeight(); long nTextWidth = pDev->GetTextWidth( aText ); - long nOffX = 3*nOnePixel; long nOffY = (aSize.Height()-nTextHeight) / 2; // Clipping?
_______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
