PDFium Delphi Component Docs

LinkZOrderAtPoint metod

Component: TPdf  ·  Unit: PDFium
Träfftestar en koordinat i sidutrymme mot de inbyggda länkannoteringarna och returnerar z-ordningen för länken som täcker punkten

Syntax

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

X, YDouble. Punkt i PDF-sidenheter, med origo i sidans nedre vänstra hörn
ResultInteger. Z-ordningen för länken som täcker punkten enligt det inbyggda träfftestet, eller -1 när ingen länk täcker den

Description

Kamrat till LinkAtPoint: i stället för ett blott ja/nej-svar returnerar det inbyggda träfftestet (FPDFLink_GetLinkZOrderAtPoint) z-ordningen för länken som påträffades vid koordinaten. När flera länkar överlappar identifierar z-ordningen vilken som visaren ska agera på vid den positionen

Testet körs inuti PDFium, så det respekterar länkannoteringarnas verkliga quad-point-geometri i stället för de begränsningsrutor som LinkAnnotation exponerar — en länk som följer bruten text matchas på sin verkliga form

Resultatet -1 betyder att punkten inte ligger på någon länk. Anropet kräver att den aktuella sidan är aktiv. Konvertera en musposition till sidenheter med DeviceToPage först

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