ImageEn, unit iexPdfiumCore

TPdfAnnotationList.FindAnnotationAt

TPdfAnnotationList.FindAnnotationAt


Declaration

function FindAnnotationAt(Pt: TDPoint): Integer; overload;
function FindAnnotationAt(Pt: TPoint): Integer; overload;


Description

Returns the index of any annotation found on the page at the specified position (in terms of PDF points).
Result will be -1 if no annotations are found.



PDF Page Points

Objects on a PDF page are specified in points that originate in the bottom-left, i.e. X,Y = (0,0). The top-left of the page is specified by (PageWidth, PageHeight).
To convert PDF points to screen values, use PageToScr.



Example

// Select the clicked Annotation
procedure TfrmMain.ImageEnView1MouseDown(Sender: TObject; Button: TMouseButton;
    Shift: TShiftState; X, Y: Integer);
var
  idx: Integer;
  pt: TDPoint;
begin
  pt  := ImageEnView1.PdfViewer.ScrToPage( X, Y, True );
  idx := ImageEnView1.PdfViewer.Annotations.FindAnnotationAt( pt );
  if idx > -1 then
  begin
    ImageEnView1.PdfViewer.Annotations.HighlightedIndex := idx;
    ImageEnView1.Invalidate();
  end;
end;