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:
parent
e9601e4ee3
commit
7a6a008128
@ -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
|
||||
|
@ -2,7 +2,7 @@
|
||||
"UpdateLazPackages" : [
|
||||
{
|
||||
"ForceNotify" : true,
|
||||
"InternalVersion" : 93,
|
||||
"InternalVersion" : 94,
|
||||
"Name" : "cef4delphi_lazarus.lpk",
|
||||
"Version" : "79.1.36.0"
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user