mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-12 12:36:15 +02:00
lazVirtualTreeView Qt: implemented AlphaBlend selection for 64bit
git-svn-id: trunk@63055 -
This commit is contained in:
parent
52ffe2120d
commit
2e6e76f73a
@ -758,6 +758,13 @@ var
|
||||
SourceHeight,
|
||||
DestWidth,
|
||||
DestHeight: Integer;
|
||||
{$ifdef CPU64}
|
||||
ATransform: QTransformH;
|
||||
DX, DY: QReal;
|
||||
AColor: QColorH;
|
||||
ADst: TQtDeviceContext absolute Destination;
|
||||
AFillColor: TQColor;
|
||||
{$endif}
|
||||
|
||||
//BlendColor: TQColor;
|
||||
begin
|
||||
@ -838,6 +845,22 @@ begin
|
||||
}
|
||||
// Source is ignored since there is a constant color value.
|
||||
|
||||
{$IFDEF CPU64}
|
||||
if ADst <> nil then
|
||||
begin
|
||||
ATransform := QPainter_transform(ADst.Widget);
|
||||
DX := QTransform_dx(ATransform);
|
||||
DY := QTransform_dy(ATransform);
|
||||
ADst.translate(-DX, -DY);
|
||||
AColor := QColor_create((Bias and $000000FF), ((Bias shr 8) and $000000FF), ((Bias shr 16) and $000000FF), ConstantAlpha);
|
||||
QColor_convertTo(AColor, @AFillColor, QColorRgb);
|
||||
QPainter_fillRect(ADst.Widget, R.Left + Target.x, R.Top + Target.y,
|
||||
R.Right - R.Left, R.Bottom - R.Top, PQColor(@AFillColor));
|
||||
ADst.translate(DX, DY);
|
||||
QColor_destroy(AColor);
|
||||
end;
|
||||
{$ELSE}
|
||||
|
||||
DestBits := GetBitmapBitsFromDeviceContext(Destination, DestWidth, DestHeight);
|
||||
if Assigned(DestBits) then
|
||||
begin
|
||||
@ -849,6 +872,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
EMMS;
|
||||
{$ENDIF}
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
@ -786,11 +786,11 @@ var
|
||||
DestWidth,
|
||||
DestHeight: Integer;
|
||||
{$IFDEF CPU64}
|
||||
ATransform: QTransformH;
|
||||
DX, DY: QReal;
|
||||
AColor: QColorH;
|
||||
ADst: TQtDeviceContext absolute Destination;
|
||||
AFillColor: TQColor;
|
||||
ATransform: QTransformH;
|
||||
DX, DY: QReal;
|
||||
{$ENDIF}
|
||||
|
||||
//BlendColor: TQColor;
|
||||
|
Loading…
Reference in New Issue
Block a user