PDFium Delphi Component Docs

LinkZOrderAtPoint 메서드

컴포넌트: TPdf  ·  유닛: PDFium
페이지 공간 좌표를 네이티브 링크 주석에 hit-test하고 그 점을 덮는 링크의 z-order를 반환합니다

Syntax

function LinkZOrderAtPoint(X, Y: Double): Integer;

X, YDouble. PDF 페이지 단위의 점이며 원점은 페이지 왼쪽 아래 모서리입니다
ResultInteger. 네이티브 hit-test가 보고한, 그 점을 덮는 링크의 z-order이며 링크가 없으면 -1입니다

Description

LinkAtPoint의 짝입니다. 단순 예/아니오 답 대신 네이티브 hit-test(FPDFLink_GetLinkZOrderAtPoint)가 좌표에서 발견된 링크의 z-order를 반환합니다. 여러 링크가 겹칠 때 z-order는 그 위치에서 뷰어가 어떤 링크에 반응해야 하는지 알려줍니다

테스트는 PDFium 안에서 돌기 때문에 LinkAnnotation이 노출하는 경계 상자가 아니라 링크 주석의 실제 quad-point 지오메트리를 존중합니다. 줄바꿈된 텍스트를 따라가는 링크도 실제 모양으로 매칭됩니다

결과가 -1이면 그 점은 어떤 링크 위에도 있지 않다는 뜻입니다. 이 호출에는 현재 페이지가 활성 상태여야 합니다. 마우스 위치는 먼저 DeviceToPage로 페이지 단위로 변환하세요

Remarks

Example

var PX, PY: Double;
begin
  if Pdf1.DeviceToPage(MouseX, MouseY, 0, 0, W, H, ro0, PX, PY) then
  begin
    Memo1.Lines.Add('Link z-order: ' + IntToStr(Pdf1.LinkZOrderAtPoint(PX, PY)));
    // -1 means the point is not covered by any link
  end;
end;

See Also

LinkAtPoint, LinkAnnotation, LinkAnnotationCount, FormFieldZOrderAtPoint, DeviceToPage