PDFium Delphi Component Docs

LinkZOrderAtPoint Metodo

Componente: TPdf  ·  Unità: PDFium
Esegue un hit-test di una coordinata nello spazio pagina sulle annotazioni di collegamento native e restituisce lo z-order del collegamento che copre quel punto

Syntax

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

X, YDouble. Punto in unità di pagina PDF, con l'origine nell'angolo in basso a sinistra della pagina
ResultInteger. Lo z-order del collegamento che copre il punto come riportato dall'hit-test nativo, oppure -1 quando nessun collegamento lo copre

Description

Complemento di LinkAtPoint: invece di una semplice risposta sì/no, l'hit-test nativo (FPDFLink_GetLinkZOrderAtPoint) restituisce lo z-order del collegamento trovato alla coordinata. Quando più collegamenti si sovrappongono, lo z-order identifica su quale il visualizzatore deve intervenire in quella posizione

Il test viene eseguito all'interno di PDFium, quindi onora la reale geometria a quad point delle annotazioni di collegamento anziché i bounding box esposti da LinkAnnotation — un collegamento che segue testo con a-capo viene confrontato sulla sua forma reale

Un risultato di -1 significa che il punto non giace su alcun collegamento. La chiamata richiede che la pagina corrente sia attiva. Convertire prima la posizione del mouse in unità di pagina con 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