mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-09 21:39:19 +02:00
Qt: keep QPen in sync when setting it out of device context. Issue #0027620
git-svn-id: branches/fixes_1_4@48363 -
This commit is contained in:
parent
22c85e3f3f
commit
d6b635037f
@ -1225,7 +1225,6 @@ end;
|
||||
|
||||
procedure TQtWidgetSet.DCSetPixel(CanvasHandle: HDC; X, Y: integer; AColor: TGraphicsColor);
|
||||
var
|
||||
ASavedColor: TQColor;
|
||||
Color: TQColor;
|
||||
ColorRef: TColorRef;
|
||||
Pen: QPenH;
|
||||
@ -1235,13 +1234,18 @@ begin
|
||||
begin
|
||||
// WriteLn('TQtWidgetSet.DCSetPixel X=',X,' Y=',Y, ' AColor=',dbghex(AColor),' rgb ? ',dbgHex(ColorToRGB(AColor)));
|
||||
Painter := TQtDeviceContext(CanvasHandle).Widget;
|
||||
Pen := QPainter_pen(Painter);
|
||||
QPen_color(Pen, @ASavedColor);
|
||||
ColorRef := TColorRef(ColorToRGB(AColor));
|
||||
QColor_fromRgb(@Color, Red(ColorRef), Green(ColorRef), Blue(ColorRef));
|
||||
QPainter_setPen(Painter, @Color);
|
||||
QPainter_drawPoint(Painter, X,Y);
|
||||
QPainter_setPen(Painter, @ASavedColor);
|
||||
{Save current pen.Better save copy of pen instead of
|
||||
using painter save/restore, or saved Pen in devicecontext which
|
||||
may be null. Issue #27620}
|
||||
Pen := QPen_create(QPainter_pen(Painter));
|
||||
try
|
||||
ColorRef := TColorRef(ColorToRGB(AColor));
|
||||
QColor_fromRgb(@Color, Red(ColorRef), Green(ColorRef), Blue(ColorRef));
|
||||
QPainter_setPen(Painter, @Color);
|
||||
QPainter_drawPoint(Painter, X,Y);
|
||||
finally
|
||||
QPainter_setPen(Painter, Pen);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user