1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-04-07 06:50:04 +02:00

Clip drawing area for Firemonkey browsers in OSR mode using TFMXBufferPanel

This commit is contained in:
Salvador Díaz Fau 2020-02-05 18:52:32 +01:00
parent e9601e4ee3
commit 7a6a008128
2 changed files with 16 additions and 9 deletions

View File

@ -275,24 +275,31 @@ end;
function TFMXBufferPanel.CopyBuffer : boolean;
var
TempSrc, TempDst : TRectF;
TempSrc, TempDst, TempClip : TRectF;
TempState : TCanvasSaveState;
begin
Result := False;
if Canvas.BeginScene then
try
if BeginBufferDraw then
begin
try
if (FBuffer <> nil) then
begin
TempSrc := TRectF.Create(0, 0, FBuffer.Width, FBuffer.Height);
TempDst := TRectF.Create(0, 0, FBuffer.Width / ScreenScale, FBuffer.Height / ScreenScale);
TempSrc := TRectF.Create(0, 0, FBuffer.Width, FBuffer.Height);
TempDst := TRectF.Create(0, 0, FBuffer.Width / ScreenScale, FBuffer.Height / ScreenScale);
TempClip := TRectF.Create(0, 0, Width, Height);
Canvas.DrawBitmap(FBuffer, TempSrc, TempDst, 1, FHighSpeedDrawing);
Result := True;
TempState := Canvas.SaveState;
try
CAnvas.IntersectClipRect(TempClip);
Canvas.DrawBitmap(FBuffer, TempSrc, TempDst, 1, FHighSpeedDrawing);
Result := True;
finally
Canvas.RestoreState(TempState);
end;
end;
finally
EndBufferDraw;
end;
finally

View File

@ -2,7 +2,7 @@
"UpdateLazPackages" : [
{
"ForceNotify" : true,
"InternalVersion" : 93,
"InternalVersion" : 94,
"Name" : "cef4delphi_lazarus.lpk",
"Version" : "79.1.36.0"
}