39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
|
|
function MapWindowPoints(hWndFrom, hWndTo: HWND; var lpPoints; cPoints: UINT): Integer;
|
|
var
|
|
i: Integer;
|
|
XOffset, YOffset: SmallInt;
|
|
FromPoint, ToPoint: TPoint;
|
|
begin
|
|
FromPoint := Point(0, 0);
|
|
ToPoint := Point(0, 0);
|
|
if hWndFrom <> 0 then
|
|
ClientToScreen(hWndFrom, FromPoint);
|
|
if hWndTo <> 0 then
|
|
ClientToScreen(hWndTo, ToPoint);
|
|
XOffset := (FromPoint.X - ToPoint.X);
|
|
YOffset := (FromPoint.Y - ToPoint.Y);
|
|
for i := 0 to cPoints - 1 do
|
|
begin
|
|
PPoint(@lpPoints)[i].x := XOffset + PPoint(@lpPoints)[i].x;
|
|
PPoint(@lpPoints)[i].y := YOffset + PPoint(@lpPoints)[i].y;
|
|
end;
|
|
Result := MakeLong(XOffset, YOffset);
|
|
end;
|
|
|
|
{$ifndef HAS_GETDOUBLECLICKTIME}
|
|
function GetDoubleClickTime: UINT;
|
|
begin
|
|
//todo: see if gtk has a value. Use Windows default for now
|
|
Result := 500;
|
|
end;
|
|
{$endif}
|
|
|
|
{$ifndef HAS_REDRAWWINDOW}
|
|
function RedrawWindow(hWnd:THandle; lprcUpdate:PRECT; hrgnUpdate:HRGN; flags:LongWord):BOOLEAN;
|
|
begin
|
|
//todo: see if there's a better way of doing this
|
|
Result := LCLIntf.InvalidateRect(hWnd, lprcUpdate, (RDW_ERASE and flags) > 0);
|
|
end;
|
|
{$endif}
|