PDFium Component Docs

LinkZOrderAtPoint Metoda

Component: TPdf  ·  Unit: PDFium
Wykonuje hit-test współrzędnej w przestrzeni strony względem natywnych adnotacji łączy i zwraca z-order łącza pokrywającego ten punkt

Syntax

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

X, YDouble. Punkt w jednostkach strony PDF, z początkiem układu w lewym dolnym rogu strony
ResultInteger. Z-order łącza pokrywającego punkt według raportu natywnego hit-testu lub -1, gdy żadne łącze go nie pokrywa

Description

Uzupełnienie LinkAtPoint: zamiast prostej odpowiedzi tak/nie natywny hit-test (FPDFLink_GetLinkZOrderAtPoint) zwraca z-order łącza znalezionego we wskazanej współrzędnej. Gdy kilka łączy się nakłada, z-order mówi, które z nich przeglądarka powinna obsłużyć w tym miejscu

Test wykonuje się wewnątrz PDFium, więc honoruje on rzeczywistą geometrię quad-point adnotacji łączy, a nie prostokąty otaczające udostępniane przez LinkAnnotation — łącze obejmujące łamany tekst jest dopasowywane według swojego rzeczywistego kształtu

Wynik -1 oznacza, że punkt nie leży na żadnym łączu. Wywołanie wymaga aktywnej bieżącej strony. Pozycję myszy przelicz najpierw na jednostki strony przez 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