svtools/source/control/tabbar.cxx | 42 +++++++++++++++++++++++++++----------- 1 file changed, 30 insertions(+), 12 deletions(-)
New commits: commit 9bfeeee0aac88d8215525a2a18280b5183b03b7f Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Sun Dec 28 23:52:39 2014 +0900 Rework TabBar D&D tab move triangles and make them HiDPI aware Change-Id: Ia4165880b0b08b5ca26fe7004f961cd17b3d3e27 diff --git a/svtools/source/control/tabbar.cxx b/svtools/source/control/tabbar.cxx index 0cdd494..d55a3cb 100644 --- a/svtools/source/control/tabbar.cxx +++ b/svtools/source/control/tabbar.cxx @@ -2577,9 +2577,13 @@ sal_uInt16 TabBar::ShowDropPos( const Point& rPos ) long nY = (maWinSize.Height()/2)-1; sal_uInt16 nCurPos = GetPagePos( mnCurPageId ); - SetLineColor( aBlackColor ); + sal_Int32 nTriangleWidth = 3 * GetDPIScaleFactor(); + if ( mnDropPos < nItemCount ) { + SetLineColor(aBlackColor); + SetFillColor(aBlackColor); + pItem = (*mpItemList)[ mnDropPos ]; nX = pItem->maRect.Left(); if ( mnDropPos == nCurPos ) @@ -2587,23 +2591,36 @@ sal_uInt16 TabBar::ShowDropPos( const Point& rPos ) else nX++; if ( !pItem->IsDefaultTabBgColor() && !pItem->mbSelect) - SetLineColor( pItem->maTabTextColor ); - DrawLine( Point( nX, nY ), Point( nX, nY ) ); - DrawLine( Point( nX+1, nY-1 ), Point( nX+1, nY+1 ) ); - DrawLine( Point( nX+2, nY-2 ), Point( nX+2, nY+2 ) ); - SetLineColor( aBlackColor ); + { + SetLineColor(pItem->maTabTextColor); + SetFillColor(pItem->maTabTextColor); + } + + Polygon aPoly(3); + aPoly.SetPoint(Point(nX, nY), 0); + aPoly.SetPoint(Point(nX + nTriangleWidth, nY - nTriangleWidth), 1); + aPoly.SetPoint(Point(nX + nTriangleWidth, nY + nTriangleWidth), 2); + DrawPolygon(aPoly); } if ( (mnDropPos > 0) && (mnDropPos < nItemCount+1) ) { + SetLineColor(aBlackColor); + SetFillColor(aBlackColor); + pItem = (*mpItemList)[ mnDropPos-1 ]; nX = pItem->maRect.Right(); if ( mnDropPos == nCurPos ) nX++; if ( !pItem->IsDefaultTabBgColor() && !pItem->mbSelect) - SetLineColor( pItem->maTabTextColor ); - DrawLine( Point( nX, nY ), Point( nX, nY ) ); - DrawLine( Point( nX-1, nY-1 ), Point( nX-1, nY+1 ) ); - DrawLine( Point( nX-2, nY-2 ), Point( nX-2, nY+2 ) ); + { + SetLineColor(pItem->maTabTextColor); + SetFillColor(pItem->maTabTextColor); + } + Polygon aPoly(3); + aPoly.SetPoint(Point(nX, nY ), 0); + aPoly.SetPoint(Point(nX - nTriangleWidth, nY - nTriangleWidth), 1); + aPoly.SetPoint(Point(nX - nTriangleWidth, nY + nTriangleWidth), 2); + DrawPolygon(aPoly); } return mnDropPos; commit 37fa4e781dd0a0edccb59eaf5d8b624f15ef469a Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> Date: Sun Dec 28 22:38:28 2014 +0900 HiDPI: TabBar resizer changes size depending on DPI scale factor Change-Id: I36a6d22f87b0d96cdbdadd683cd3abeb12e28c77 diff --git a/svtools/source/control/tabbar.cxx b/svtools/source/control/tabbar.cxx index 4cf4e9a..0cdd494 100644 --- a/svtools/source/control/tabbar.cxx +++ b/svtools/source/control/tabbar.cxx @@ -167,8 +167,9 @@ ImplTabSizer::ImplTabSizer( TabBar* pParent, WinBits nWinStyle ) : Window( pParent, nWinStyle & WB_3DLOOK ) , mnStartWidth(0) { - SetPointer( Pointer( POINTER_HSIZEBAR ) ); - SetSizePixel( Size( 7, 0 ) ); + sal_Int32 nScaleFactor = GetDPIScaleFactor(); + SetPointer(Pointer(POINTER_HSIZEBAR)); + SetSizePixel(Size(7 * nScaleFactor, 0)); }
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits