summaryrefslogtreecommitdiffstats
path: root/src/kernel/qpainter_x11.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <[email protected]>2012-03-05 16:48:22 -0600
committerTimothy Pearson <[email protected]>2012-03-05 16:48:22 -0600
commitb4eece7cc6ded028251408312d7b7f2aa69fe10a (patch)
tree7b7da484f62e1bed527771eadc9226ce6ca3da1d /src/kernel/qpainter_x11.cpp
parent9a75b154bf0732aa3a501b6e31e566e06c5f8a31 (diff)
downloadqt3-b4eece7cc6ded028251408312d7b7f2aa69fe10a.tar.gz
qt3-b4eece7cc6ded028251408312d7b7f2aa69fe10a.zip
Fix TQPainter::drawWinFocusRect
This patch brings the behaviour on external paint devices in line with the documentation at http://trinitydesktop.org/docs/qt3/qpainter.html#drawWinFocusRect
Diffstat (limited to 'src/kernel/qpainter_x11.cpp')
-rw-r--r--src/kernel/qpainter_x11.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/kernel/qpainter_x11.cpp b/src/kernel/qpainter_x11.cpp
index 206bffc..126c0d6 100644
--- a/src/kernel/qpainter_x11.cpp
+++ b/src/kernel/qpainter_x11.cpp
@@ -786,6 +786,13 @@ void QPainter::updatePen()
dashes[5] = dot;
dash_len = 6;
allow_zero_lw = FALSE;
+ break;
+ case FineDotLine:
+ dot = 1;
+ dashes[0] = dot;
+ dashes[1] = dot;
+ dash_len = 2;
+ allow_zero_lw = FALSE;
}
Q_ASSERT( dash_len <= (int) sizeof(dashes) );
@@ -1836,21 +1843,21 @@ void QPainter::drawWinFocusRect( int x, int y, int w, int h,
if ( xorPaint ) {
if ( QColor::numBitPlanes() <= 8 )
- setPen( color1 );
+ setPen( QPen(color1, 0, Qt::FineDotLine) );
else
- setPen( white );
+ setPen( QPen(white, 0, Qt::FineDotLine) );
setRasterOp( XorROP );
} else {
if ( qGray( bgColor.rgb() ) < 128 )
- setPen( white );
+ setPen( QPen(white, 0, Qt::FineDotLine) );
else
- setPen( black );
+ setPen( QPen(black, 0, Qt::FineDotLine) );
}
if ( testf(ExtDev|VxF|WxF) ) {
if ( testf(ExtDev) ) {
QPDevCmdParam param[1];
- QRect r( x, y, w, h );
+ QRect r( x, y, w-1, h-1 );
param[0].rect = &r;
if ( !pdev->cmd( QPaintDevice::PdcDrawRect, this, param ) || !hd) {
setRasterOp( old_rop );