function LinkZOrderAtPoint(X, Y: Double): Integer;
| X, Y | Double. Punt in PDF-pagina-eenheden, met de oorsprong in de linkerbenedenhoek van de pagina |
| Result | Integer. De z-orde van de link die het punt bedekt, zoals de native hit-test die rapporteert, of -1 wanneer geen link het punt bedekt |
Tegenhanger van LinkAtPoint: in plaats van een simpel ja/nee-antwoord geeft de native hit-test (FPDFLink_GetLinkZOrderAtPoint) de z-orde van de link terug die op de coördinaat is gevonden. Wanneer meerdere links overlappen, geeft de z-orde aan op welke de viewer op die positie moet reageren
De test draait binnen PDFium en houdt daardoor rekening met de werkelijke quadpoint-geometrie van linkannotaties in plaats van met de bounding boxes die LinkAnnotation toont — een link die overlopende tekst volgt, wordt gematcht op zijn echte vorm
Een resultaat van -1 betekent dat het punt op geen enkele link ligt. De aanroep vereist dat de huidige pagina actief is. Zet een muispositie eerst met DeviceToPage om naar pagina-eenheden
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;