function LinkZOrderAtPoint(X, Y: Double): Integer;
| X, Y | Double. نقطة بوحدات صفحة PDF، والأصل في الركن السفلي الأيسر من الصفحة |
| Result | Integer. ترتيب z للرابط الذي يغطي النقطة كما يُبلِّغ اختبار الإصابة الأصلي، أو -1 عندما لا يغطيها أي رابط |
ندّ LinkAtPoint: بدل جواب نعم/لا بسيط، يعيد اختبار الإصابة الأصلي (FPDFLink_GetLinkZOrderAtPoint) ترتيب z للرابط الموجود عند الإحداثي. وعندما تتداخل روابط عدة يحدد ترتيب z أيّها ينبغي للعارض أن يتعامل معها عند ذلك الموضع
يجري الاختبار داخل PDFium، فهو يراعي هندسة النقاط الرباعية الفعلية لتعليقات الروابط بدلًا من الصناديق المحيطة التي يكشفها LinkAnnotation، فالرابط الذي يلتف مع نص مكسور يُطابق على شكله الحقيقي
نتيجة -1 تعني أن النقطة لا تقع على أي رابط. ويتطلب الاستدعاء أن تكون الصفحة الحالية نشطة. حوّل موضع الفأرة إلى وحدات الصفحة عبر DeviceToPage أولًا
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;